From 3cc08a20048ba329f2f271ee085830510cd06221 Mon Sep 17 00:00:00 2001 From: Dirk Zechnall Date: Sun, 5 Jan 2025 21:22:02 +0100 Subject: [PATCH] =?UTF-8?q?Subtrees=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Quellcodes/Alg_DS_Baumalgorithmen/.gitignore | 7 + .../01_baumalgorithmen_roh/BaumTester.java | 2811 ++++ .../Baumalgorithmen.java | 120 + .../01_baumalgorithmen_roh/Binaerbaum.java | 63 + .../01_baumalgorithmen_roh/README.TXT | Bin 0 -> 370 bytes .../01_baumalgorithmen_roh/Testbaeume.java | 75 + .../01_baumalgorithmen_roh/package.bluej | 65 + .../01_baumalgorithmen_roh/testfaelle.txt | 100 + .../02_baumalgorithmen_loes/BaumTester.java | 2811 ++++ .../Baumalgorithmen.java | 130 + .../02_baumalgorithmen_loes/Binaerbaum.java | 63 + .../02_baumalgorithmen_loes/README.TXT | Bin 0 -> 370 bytes .../02_baumalgorithmen_loes/Testbaeume.java | 75 + .../02_baumalgorithmen_loes/package.bluej | 65 + .../02_baumalgorithmen_loes/testfaelle.txt | 100 + .../BaumTester.java | 2811 ++++ .../Baumalgorithmen.java | 119 + .../Binaerbaum.java | 63 + .../README.TXT | Bin 0 -> 370 bytes .../Testbaeume.java | 75 + .../package.bluej | 65 + .../testfaelle.txt | 100 + .../04_tiefer_baum_roh/Baumalgorithmen.java | 130 + .../04_tiefer_baum_roh/Binaerbaum.java | 63 + .../04_tiefer_baum_roh/README.TXT | 9 + .../04_tiefer_baum_roh/TieferBaum.java | 30 + .../04_tiefer_baum_roh/package.bluej | 52 + Quellcodes/Alg_DS_Baumalgorithmen/readme.adoc | 11 + .../Alg_DS_Entscheidungsbaum/.gitignore | 7 + .../01_entscheidungsbaum_roh/Binaerbaum.java | 11 + .../EntscheidungsFrame.java | 73 + .../EntscheidungsFrameBase.java | 94 + .../Entscheidungsbaum.pdf | Bin 0 -> 24606 bytes .../01_entscheidungsbaum_roh/README.TXT | 5 + .../01_entscheidungsbaum_roh/package.bluej | 49 + .../02_entscheidungsbaum_loes/Binaerbaum.java | 63 + .../EntscheidungsFrame.java | Bin 0 -> 2424 bytes .../EntscheidungsFrameBase.java | 94 + .../02_entscheidungsbaum_loes/README.TXT | 5 + .../02_entscheidungsbaum_loes/package.bluej | 49 + .../Alg_DS_Entscheidungsbaum/readme.adoc | 11 + Quellcodes/Alg_DS_Freecell/.gitignore | 7 + .../01_freecell_roh/FreecellFrame.java | 257 + .../01_freecell_roh/FreecellGame.java | 191 + .../01_freecell_roh/Karte.java | 122 + .../01_freecell_roh/README.TXT | 8 + .../01_freecell_roh/Stack.java | 32 + .../01_freecell_roh/img/01_of_clubs.png | Bin 0 -> 5402 bytes .../01_freecell_roh/img/01_of_diamonds.png | Bin 0 -> 6666 bytes .../01_freecell_roh/img/01_of_hearts.png | Bin 0 -> 7293 bytes .../01_freecell_roh/img/01_of_spades.png | Bin 0 -> 5327 bytes .../01_freecell_roh/img/02_of_clubs.png | Bin 0 -> 6163 bytes .../01_freecell_roh/img/02_of_diamonds.png | Bin 0 -> 7130 bytes .../01_freecell_roh/img/02_of_hearts.png | Bin 0 -> 7891 bytes .../01_freecell_roh/img/02_of_spades.png | Bin 0 -> 5961 bytes .../01_freecell_roh/img/03_of_clubs.png | Bin 0 -> 7074 bytes .../01_freecell_roh/img/03_of_diamonds.png | Bin 0 -> 8015 bytes .../01_freecell_roh/img/03_of_hearts.png | Bin 0 -> 9049 bytes .../01_freecell_roh/img/03_of_spades.png | Bin 0 -> 6854 bytes .../01_freecell_roh/img/04_of_clubs.png | Bin 0 -> 6185 bytes .../01_freecell_roh/img/04_of_diamonds.png | Bin 0 -> 6833 bytes .../01_freecell_roh/img/04_of_hearts.png | Bin 0 -> 7698 bytes .../01_freecell_roh/img/04_of_spades.png | Bin 0 -> 5998 bytes .../01_freecell_roh/img/05_of_clubs.png | Bin 0 -> 7236 bytes .../01_freecell_roh/img/05_of_diamonds.png | Bin 0 -> 8427 bytes .../01_freecell_roh/img/05_of_hearts.png | Bin 0 -> 8928 bytes .../01_freecell_roh/img/05_of_spades.png | Bin 0 -> 7004 bytes .../01_freecell_roh/img/06_of_clubs.png | Bin 0 -> 7580 bytes .../01_freecell_roh/img/06_of_diamonds.png | Bin 0 -> 8316 bytes .../01_freecell_roh/img/06_of_hearts.png | Bin 0 -> 9485 bytes .../01_freecell_roh/img/06_of_spades.png | Bin 0 -> 7338 bytes .../01_freecell_roh/img/07_of_clubs.png | Bin 0 -> 8429 bytes .../01_freecell_roh/img/07_of_diamonds.png | Bin 0 -> 8840 bytes .../01_freecell_roh/img/07_of_hearts.png | Bin 0 -> 10321 bytes .../01_freecell_roh/img/07_of_spades.png | Bin 0 -> 8100 bytes .../01_freecell_roh/img/08_of_clubs.png | Bin 0 -> 9604 bytes .../01_freecell_roh/img/08_of_diamonds.png | Bin 0 -> 10222 bytes .../01_freecell_roh/img/08_of_hearts.png | Bin 0 -> 11909 bytes .../01_freecell_roh/img/08_of_spades.png | Bin 0 -> 9177 bytes .../01_freecell_roh/img/09_of_clubs.png | Bin 0 -> 9291 bytes .../01_freecell_roh/img/09_of_diamonds.png | Bin 0 -> 10073 bytes .../01_freecell_roh/img/09_of_hearts.png | Bin 0 -> 11770 bytes .../01_freecell_roh/img/09_of_spades.png | Bin 0 -> 8944 bytes .../01_freecell_roh/img/10_of_clubs.png | Bin 0 -> 10661 bytes .../01_freecell_roh/img/10_of_diamonds.png | Bin 0 -> 10877 bytes .../01_freecell_roh/img/10_of_hearts.png | Bin 0 -> 13023 bytes .../01_freecell_roh/img/10_of_spades.png | Bin 0 -> 10194 bytes .../01_freecell_roh/img/11_of_clubs.png | Bin 0 -> 99047 bytes .../01_freecell_roh/img/11_of_diamonds.png | Bin 0 -> 95611 bytes .../01_freecell_roh/img/11_of_hearts.png | Bin 0 -> 97869 bytes .../01_freecell_roh/img/11_of_spades.png | Bin 0 -> 90987 bytes .../01_freecell_roh/img/12_of_clubs.png | Bin 0 -> 103025 bytes .../01_freecell_roh/img/12_of_diamonds.png | Bin 0 -> 95548 bytes .../01_freecell_roh/img/12_of_hearts.png | Bin 0 -> 104761 bytes .../01_freecell_roh/img/12_of_spades.png | Bin 0 -> 104459 bytes .../01_freecell_roh/img/13_of_clubs.png | Bin 0 -> 95316 bytes .../01_freecell_roh/img/13_of_diamonds.png | Bin 0 -> 98444 bytes .../01_freecell_roh/img/13_of_hearts.png | Bin 0 -> 101666 bytes .../01_freecell_roh/img/13_of_spades.png | Bin 0 -> 97963 bytes .../01_freecell_roh/img/license.txt | 3 + .../01_freecell_roh/package.bluej | 68 + .../02_freecell_loes/ArrayStack.java | 101 + .../02_freecell_loes/FreecellFrame.java | 257 + .../02_freecell_loes/FreecellGame.java | 378 + .../02_freecell_loes/Karte.java | 116 + .../02_freecell_loes/README.TXT | 8 + .../02_freecell_loes/Stack.java | 32 + .../02_freecell_loes/img/01_of_clubs.png | Bin 0 -> 5402 bytes .../02_freecell_loes/img/01_of_diamonds.png | Bin 0 -> 6666 bytes .../02_freecell_loes/img/01_of_hearts.png | Bin 0 -> 7293 bytes .../02_freecell_loes/img/01_of_spades.png | Bin 0 -> 5327 bytes .../02_freecell_loes/img/02_of_clubs.png | Bin 0 -> 6163 bytes .../02_freecell_loes/img/02_of_diamonds.png | Bin 0 -> 7130 bytes .../02_freecell_loes/img/02_of_hearts.png | Bin 0 -> 7891 bytes .../02_freecell_loes/img/02_of_spades.png | Bin 0 -> 5961 bytes .../02_freecell_loes/img/03_of_clubs.png | Bin 0 -> 7074 bytes .../02_freecell_loes/img/03_of_diamonds.png | Bin 0 -> 8015 bytes .../02_freecell_loes/img/03_of_hearts.png | Bin 0 -> 9049 bytes .../02_freecell_loes/img/03_of_spades.png | Bin 0 -> 6854 bytes .../02_freecell_loes/img/04_of_clubs.png | Bin 0 -> 6185 bytes .../02_freecell_loes/img/04_of_diamonds.png | Bin 0 -> 6833 bytes .../02_freecell_loes/img/04_of_hearts.png | Bin 0 -> 7698 bytes .../02_freecell_loes/img/04_of_spades.png | Bin 0 -> 5998 bytes .../02_freecell_loes/img/05_of_clubs.png | Bin 0 -> 7236 bytes .../02_freecell_loes/img/05_of_diamonds.png | Bin 0 -> 8427 bytes .../02_freecell_loes/img/05_of_hearts.png | Bin 0 -> 8928 bytes .../02_freecell_loes/img/05_of_spades.png | Bin 0 -> 7004 bytes .../02_freecell_loes/img/06_of_clubs.png | Bin 0 -> 7580 bytes .../02_freecell_loes/img/06_of_diamonds.png | Bin 0 -> 8316 bytes .../02_freecell_loes/img/06_of_hearts.png | Bin 0 -> 9485 bytes .../02_freecell_loes/img/06_of_spades.png | Bin 0 -> 7338 bytes .../02_freecell_loes/img/07_of_clubs.png | Bin 0 -> 8429 bytes .../02_freecell_loes/img/07_of_diamonds.png | Bin 0 -> 8840 bytes .../02_freecell_loes/img/07_of_hearts.png | Bin 0 -> 10321 bytes .../02_freecell_loes/img/07_of_spades.png | Bin 0 -> 8100 bytes .../02_freecell_loes/img/08_of_clubs.png | Bin 0 -> 9604 bytes .../02_freecell_loes/img/08_of_diamonds.png | Bin 0 -> 10222 bytes .../02_freecell_loes/img/08_of_hearts.png | Bin 0 -> 11909 bytes .../02_freecell_loes/img/08_of_spades.png | Bin 0 -> 9177 bytes .../02_freecell_loes/img/09_of_clubs.png | Bin 0 -> 9291 bytes .../02_freecell_loes/img/09_of_diamonds.png | Bin 0 -> 10073 bytes .../02_freecell_loes/img/09_of_hearts.png | Bin 0 -> 11770 bytes .../02_freecell_loes/img/09_of_spades.png | Bin 0 -> 8944 bytes .../02_freecell_loes/img/10_of_clubs.png | Bin 0 -> 10661 bytes .../02_freecell_loes/img/10_of_diamonds.png | Bin 0 -> 10877 bytes .../02_freecell_loes/img/10_of_hearts.png | Bin 0 -> 13023 bytes .../02_freecell_loes/img/10_of_spades.png | Bin 0 -> 10194 bytes .../02_freecell_loes/img/11_of_clubs.png | Bin 0 -> 99047 bytes .../02_freecell_loes/img/11_of_diamonds.png | Bin 0 -> 95611 bytes .../02_freecell_loes/img/11_of_hearts.png | Bin 0 -> 97869 bytes .../02_freecell_loes/img/11_of_spades.png | Bin 0 -> 90987 bytes .../02_freecell_loes/img/12_of_clubs.png | Bin 0 -> 103025 bytes .../02_freecell_loes/img/12_of_diamonds.png | Bin 0 -> 95548 bytes .../02_freecell_loes/img/12_of_hearts.png | Bin 0 -> 104761 bytes .../02_freecell_loes/img/12_of_spades.png | Bin 0 -> 104459 bytes .../02_freecell_loes/img/13_of_clubs.png | Bin 0 -> 95316 bytes .../02_freecell_loes/img/13_of_diamonds.png | Bin 0 -> 98444 bytes .../02_freecell_loes/img/13_of_hearts.png | Bin 0 -> 101666 bytes .../02_freecell_loes/img/13_of_spades.png | Bin 0 -> 97963 bytes .../02_freecell_loes/img/license.txt | 3 + .../02_freecell_loes/package.bluej | 78 + Quellcodes/Alg_DS_Freecell/readme.adoc | 11 + Quellcodes/Alg_DS_Hanoi/.gitignore | 7 + .../Alg_DS_Hanoi/01_hanoi_roh/HanoiFrame.java | 141 + .../Alg_DS_Hanoi/01_hanoi_roh/HanoiGame.java | 93 + .../Alg_DS_Hanoi/01_hanoi_roh/README.TXT | 5 + .../Alg_DS_Hanoi/01_hanoi_roh/Scheibe.java | 55 + .../Alg_DS_Hanoi/01_hanoi_roh/Stack.java | 32 + .../Alg_DS_Hanoi/01_hanoi_roh/package.bluej | 68 + .../02_hanoi_loes/ArrayStack.java | 101 + .../02_hanoi_loes/HanoiFrame.java | 141 + .../Alg_DS_Hanoi/02_hanoi_loes/HanoiGame.java | 116 + .../Alg_DS_Hanoi/02_hanoi_loes/README.TXT | 5 + .../Alg_DS_Hanoi/02_hanoi_loes/Scheibe.java | 55 + .../Alg_DS_Hanoi/02_hanoi_loes/Stack.java | 32 + .../Alg_DS_Hanoi/02_hanoi_loes/package.bluej | 78 + .../03_hanoi_automatisch_loes/ArrayStack.java | 101 + .../03_hanoi_automatisch_loes/HanoiFrame.java | 141 + .../03_hanoi_automatisch_loes/HanoiGame.java | 154 + .../03_hanoi_automatisch_loes/README.TXT | 5 + .../03_hanoi_automatisch_loes/Scheibe.java | 55 + .../03_hanoi_automatisch_loes/Stack.java | 32 + .../03_hanoi_automatisch_loes/package.bluej | 78 + Quellcodes/Alg_DS_Hanoi/readme.adoc | 11 + Quellcodes/Alg_DS_Listenvarianten/.gitignore | 7 + .../+libs/SizeOf.jar | Bin 0 -> 8049 bytes .../+libs/license.txt | 3 + .../Benchmark.java | 241 + .../InsertionSort.java | 50 + .../MergeSort.java | 74 + .../README.TXT | 5 + .../SelectionSort.java | 55 + .../SortierenMitBenchmark.java | 68 + .../SortiererTest.java | 57 + .../liste/Liste.java | 59 + .../liste/ListeIterativ.java | 154 + .../liste/ListeMitArray.java | 146 + .../liste/ListeMitEnde.java | 126 + .../liste/ListeMitVerkettung.java | 32 + .../liste/ListeRekursiv.java | 183 + .../liste/Listenknoten.java | 33 + .../liste/package.bluej | 81 + .../package.bluej | 85 + Quellcodes/Alg_DS_Listenvarianten/readme.adoc | 11 + Quellcodes/Alg_DS_Queue/.gitignore | 7 + .../Alg_DS_Queue/01_queue_roh/ArrayQueue.java | 53 + .../01_queue_roh/ArrayQueueTester.java | 16 + .../01_queue_roh/LinkedQueue.java | 52 + .../01_queue_roh/LinkedQueueTester.java | 16 + .../Alg_DS_Queue/01_queue_roh/Queue.java | 32 + .../01_queue_roh/QueueTester.java | 5004 ++++++ .../Alg_DS_Queue/01_queue_roh/README.TXT | Bin 0 -> 318 bytes .../Alg_DS_Queue/01_queue_roh/package.bluej | 76 + .../02_queue_loes/ArrayQueue.java | 124 + .../02_queue_loes/ArrayQueueTester.java | 16 + .../02_queue_loes/LinkedQueue.java | 137 + .../02_queue_loes/LinkedQueueTester.java | 16 + .../Alg_DS_Queue/02_queue_loes/Queue.java | 32 + .../02_queue_loes/QueueTester.java | 5004 ++++++ .../Alg_DS_Queue/02_queue_loes/README.TXT | 5 + .../Alg_DS_Queue/02_queue_loes/package.bluej | 76 + Quellcodes/Alg_DS_Queue/readme.adoc | 11 + Quellcodes/Alg_DS_Set/.gitignore | 7 + .../Alg_DS_Set/01_set_roh/+libs/SizeOf.jar | Bin 0 -> 8049 bytes .../Alg_DS_Set/01_set_roh/+libs/license.txt | 3 + .../Alg_DS_Set/01_set_roh/BenchmarkBase.java | 124 + .../Alg_DS_Set/01_set_roh/MeinBenchmark.java | 59 + Quellcodes/Alg_DS_Set/01_set_roh/README.TXT | 5 + .../01_set_roh/doc/BenchmarkBase.html | 307 + .../01_set_roh/doc/MeinBenchmark.html | 230 + Quellcodes/Alg_DS_Set/01_set_roh/doc/Set.html | 410 + .../01_set_roh/doc/SetVarianteA.html | 401 + .../01_set_roh/doc/SetVarianteB.html | 401 + .../01_set_roh/doc/SetVarianteC.html | 426 + .../Alg_DS_Set/01_set_roh/doc/allclasses.html | 20 + .../01_set_roh/doc/constant-values.html | 35 + .../Alg_DS_Set/01_set_roh/doc/element-list | 1 + .../Alg_DS_Set/01_set_roh/doc/index.html | 23 + .../Alg_DS_Set/01_set_roh/doc/logfile.txt | 40 + .../01_set_roh/doc/package-summary.html | 53 + .../Alg_DS_Set/01_set_roh/doc/script.js | 139 + .../Alg_DS_Set/01_set_roh/doc/stylesheet.css | 906 ++ .../Alg_DS_Set/01_set_roh/package.bluej | 73 + .../+libs/SizeOf.jar | Bin 0 -> 8049 bytes .../+libs/license.txt | 3 + .../BenchmarkBase.java | 124 + .../MeinBenchmark.java | 60 + .../02_set_mit Sourcecode_roh/README.TXT | 5 + .../02_set_mit Sourcecode_roh/Set.java | 107 + .../SetVarianteA.java | 240 + .../SetVarianteB.java | 151 + .../SetVarianteC.java | 294 + .../doc/BenchmarkBase.html | 307 + .../doc/MeinBenchmark.html | 230 + .../doc/allclasses.html | 20 + .../doc/constant-values.html | 35 + .../doc/element-list | 1 + .../02_set_mit Sourcecode_roh/doc/index.html | 23 + .../02_set_mit Sourcecode_roh/doc/logfile.txt | 36 + .../doc/package-summary.html | 53 + .../02_set_mit Sourcecode_roh/doc/script.js | 139 + .../doc/stylesheet.css | 906 ++ .../02_set_mit Sourcecode_roh/package.bluej | 73 + .../Alg_DS_Set/03_set_loes/+libs/SizeOf.jar | Bin 0 -> 8049 bytes .../Alg_DS_Set/03_set_loes/+libs/license.txt | 3 + .../Alg_DS_Set/03_set_loes/BenchmarkBase.java | 124 + .../Alg_DS_Set/03_set_loes/MeinBenchmark.java | Bin 0 -> 3445 bytes Quellcodes/Alg_DS_Set/03_set_loes/README.TXT | 5 + .../03_set_loes/doc/BenchmarkBase.html | 307 + .../03_set_loes/doc/MeinBenchmark.html | 230 + .../Alg_DS_Set/03_set_loes/doc/Set.html | 410 + .../03_set_loes/doc/SetVarianteA.html | 401 + .../03_set_loes/doc/SetVarianteB.html | 401 + .../03_set_loes/doc/SetVarianteC.html | 426 + .../03_set_loes/doc/allclasses.html | 20 + .../03_set_loes/doc/constant-values.html | 35 + .../Alg_DS_Set/03_set_loes/doc/element-list | 1 + .../Alg_DS_Set/03_set_loes/doc/index.html | 23 + .../Alg_DS_Set/03_set_loes/doc/logfile.txt | 40 + .../03_set_loes/doc/package-summary.html | 53 + .../Alg_DS_Set/03_set_loes/doc/script.js | 139 + .../Alg_DS_Set/03_set_loes/doc/stylesheet.css | 906 ++ .../Alg_DS_Set/03_set_loes/package.bluej | 73 + .../+libs/SizeOf.jar | Bin 0 -> 8049 bytes .../+libs/license.txt | 3 + .../BenchmarkBase.java | 124 + .../MeinBenchmark.java | Bin 0 -> 3444 bytes .../04_set_mitSourcecode_loes/README.TXT | 5 + .../04_set_mitSourcecode_loes/Set.java | 107 + .../SetVarianteA.java | 240 + .../SetVarianteB.java | 151 + .../SetVarianteC.java | 294 + .../04_set_mitSourcecode_loes/package.bluej | 73 + Quellcodes/Alg_DS_Set/readme.adoc | 11 + Quellcodes/Alg_DS_Snake/.gitignore | 7 + .../Alg_DS_Snake/01_snake_roh/Apple.java | 12 + .../Alg_DS_Snake/01_snake_roh/Queue.java | 32 + .../Alg_DS_Snake/01_snake_roh/README.TXT | 7 + .../Alg_DS_Snake/01_snake_roh/Snake.java | 102 + .../01_snake_roh/SnakeElement.java | 12 + .../Alg_DS_Snake/01_snake_roh/SnakeWorld.java | 71 + .../01_snake_roh/images/apple1.png | Bin 0 -> 680 bytes .../Alg_DS_Snake/01_snake_roh/images/ball.png | Bin 0 -> 1823 bytes .../01_snake_roh/images/transparent.png | Bin 0 -> 177 bytes .../01_snake_roh/project.greenfoot | 83 + .../Alg_DS_Snake/02_snake_loes/Apple.java | 12 + .../02_snake_loes/ArrayQueue.java | 124 + .../Alg_DS_Snake/02_snake_loes/Queue.java | 32 + .../Alg_DS_Snake/02_snake_loes/README.TXT | 7 + .../Alg_DS_Snake/02_snake_loes/Snake.java | 131 + .../02_snake_loes/SnakeElement.java | 12 + .../02_snake_loes/SnakeWorld.java | 71 + .../02_snake_loes/images/apple1.png | Bin 0 -> 680 bytes .../02_snake_loes/images/ball.png | Bin 0 -> 1823 bytes .../02_snake_loes/images/transparent.png | Bin 0 -> 177 bytes .../02_snake_loes/project.greenfoot | 96 + Quellcodes/Alg_DS_Snake/readme.adoc | 11 + Quellcodes/Alg_DS_Stack/.gitignore | 7 + .../Alg_DS_Stack/01_stack_roh/ArrayStack.java | 48 + .../01_stack_roh/ArrayStackTester.java | 16 + .../01_stack_roh/LinkedStack.java | 48 + .../01_stack_roh/LinkedStackTester.java | 16 + .../Alg_DS_Stack/01_stack_roh/README.TXT | 5 + .../Alg_DS_Stack/01_stack_roh/Stack.java | 32 + .../01_stack_roh/StackTester.java | 4978 ++++++ .../Alg_DS_Stack/01_stack_roh/package.bluej | 76 + .../02_stack_loes/ArrayStack.java | 101 + .../02_stack_loes/ArrayStackTester.java | 16 + .../02_stack_loes/CantorStack.java | 121 + .../02_stack_loes/CantorStackTester.java | 16 + .../02_stack_loes/LinkedStack.java | 115 + .../02_stack_loes/LinkedStackTester.java | 16 + .../Alg_DS_Stack/02_stack_loes/README.TXT | 5 + .../Alg_DS_Stack/02_stack_loes/Stack.java | 32 + .../02_stack_loes/StackTester.java | Bin 0 -> 192748 bytes .../Alg_DS_Stack/02_stack_loes/package.bluej | 93 + Quellcodes/Alg_DS_Stack/readme.adoc | 11 + Quellcodes/Alg_DS_Sudoku/.gitignore | 7 + .../01_sudoku_roh/BekannteZahl.java | 59 + .../Alg_DS_Sudoku/01_sudoku_roh/BitSet.java | 294 + .../Alg_DS_Sudoku/01_sudoku_roh/Eintrag.java | 16 + .../01_sudoku_roh/Kandidatenmenge.java | 56 + .../Alg_DS_Sudoku/01_sudoku_roh/README.TXT | 5 + .../Alg_DS_Sudoku/01_sudoku_roh/Set.java | 107 + .../01_sudoku_roh/SudokuFrame.java | 194 + .../01_sudoku_roh/SudokuGitter.java | 327 + .../01_sudoku_roh/SudokuPanel.java | 99 + .../01_sudoku_roh/SudokuRaetselDB.java | 444 + .../Alg_DS_Sudoku/01_sudoku_roh/package.bluej | 124 + .../02_sudoku_loes/BekannteZahl.java | 59 + .../Alg_DS_Sudoku/02_sudoku_loes/BitSet.java | 294 + .../Alg_DS_Sudoku/02_sudoku_loes/Eintrag.java | 16 + .../02_sudoku_loes/Kandidatenmenge.java | 56 + .../Alg_DS_Sudoku/02_sudoku_loes/README.TXT | 5 + .../Alg_DS_Sudoku/02_sudoku_loes/Set.java | 107 + .../02_sudoku_loes/SudokuFrame.java | 194 + .../02_sudoku_loes/SudokuGitter.java | 504 + .../02_sudoku_loes/SudokuPanel.java | 99 + .../02_sudoku_loes/SudokuRaetselDB.java | 444 + .../02_sudoku_loes/package.bluej | 127 + Quellcodes/Alg_DS_Sudoku/readme.adoc | 11 + Quellcodes/Alg_DS_Terme/.gitignore | 7 + .../01_terme_roh/AlsStringTest.java | 77 + .../01_terme_roh/AuswertungsTest.java | 77 + .../Alg_DS_Terme/01_terme_roh/Binaerbaum.java | 63 + .../Alg_DS_Terme/01_terme_roh/README.TXT | 5 + .../Alg_DS_Terme/01_terme_roh/Symbol.java | 110 + .../01_terme_roh/TermAuswerter.java | 31 + .../Alg_DS_Terme/01_terme_roh/TermFrame.java | 142 + .../Alg_DS_Terme/01_terme_roh/TermParser.java | 164 + .../Alg_DS_Terme/01_terme_roh/package.bluej | 122 + .../02_terme_loes/AlsStringTest.java | 77 + .../02_terme_loes/AuswertungsTest.java | 77 + .../02_terme_loes/Binaerbaum.java | 63 + .../Alg_DS_Terme/02_terme_loes/README.TXT | 5 + .../Alg_DS_Terme/02_terme_loes/Symbol.java | 110 + .../02_terme_loes/TermAuswerter.java | 103 + .../Alg_DS_Terme/02_terme_loes/TermFrame.java | 142 + .../02_terme_loes/TermParser.java | 164 + .../Alg_DS_Terme/02_terme_loes/package.bluej | 122 + Quellcodes/Alg_DS_Terme/readme.adoc | 11 + .../Alg_DS_Tiefen_Breitensuche/.gitignore | 7 + .../BaumTester2.java | 13201 ++++++++++++++++ .../Baumalgorithmen2.java | 41 + .../ArrayQueue.java | 124 + .../ArrayStack.java | 101 + .../BaumTester.java | 2819 ++++ .../BaumTester2.java | 13201 ++++++++++++++++ .../Baumalgorithmen.java | 130 + .../Baumalgorithmen2.java | 47 + .../Binaerbaum.java | 63 + .../Container.java | 32 + .../Queue.java | 59 + .../README.TXT | Bin 0 -> 350 bytes .../Stack.java | 59 + .../Testbaeume.java | 75 + .../package.bluej | 135 + .../testfaelle.txt | 100 + .../Alg_DS_Tiefen_Breitensuche/readme.adoc | 11 + Quellcodes/Alg_DS_Verkettete_Liste/.gitignore | 7 + .../01_verkettete_liste_roh/README.TXT | 5 + .../TesterIterativ.java | 24 + .../TesterRekursiv.java | 24 + .../01_verkettete_liste_roh/liste/Liste.java | 59 + .../liste/ListeIterativ.java | 98 + .../liste/ListeRekursiv.java | 97 + .../liste/Listenknoten.java | 32 + .../liste/package.bluej | 48 + .../01_verkettete_liste_roh/package.bluej | 51 + .../tests/SubTest1.java | 2108 +++ .../tests/SubTest10.java | 2733 ++++ .../tests/SubTest2.java | 2033 +++ .../tests/SubTest3.java | 2095 +++ .../tests/SubTest4.java | 2427 +++ .../tests/SubTest5.java | 2397 +++ .../tests/SubTest6.java | 2762 ++++ .../tests/SubTest7.java | 2841 ++++ .../tests/SubTest8.java | 2821 ++++ .../tests/SubTest9.java | 2773 ++++ .../01_verkettete_liste_roh/tests/Tester.java | 530 + .../tests/package.bluej | 157 + .../02_verkettete_liste_loes/README.TXT | 5 + .../TesterIterativ.java | 24 + .../TesterRekursiv.java | 24 + .../02_verkettete_liste_loes/liste/Liste.java | 71 + .../liste/ListeIterativ.java | 172 + .../liste/ListeRekursiv.java | 196 + .../liste/Listenknoten.java | 32 + .../liste/package.bluej | 57 + .../02_verkettete_liste_loes/package.bluej | 51 + .../tests/SubTest1.java | 2108 +++ .../tests/SubTest10.java | 2733 ++++ .../tests/SubTest2.java | 2033 +++ .../tests/SubTest3.java | 2095 +++ .../tests/SubTest4.java | 2427 +++ .../tests/SubTest5.java | 2397 +++ .../tests/SubTest6.java | 2762 ++++ .../tests/SubTest7.java | 2841 ++++ .../tests/SubTest8.java | 2821 ++++ .../tests/SubTest9.java | 2773 ++++ .../tests/Tester.java | 530 + .../tests/package.bluej | 157 + .../Alg_DS_Verkettete_Liste/readme.adoc | 11 + 443 files changed, 131415 insertions(+) create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/.gitignore create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/BaumTester.java create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/Baumalgorithmen.java create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/Binaerbaum.java create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/README.TXT create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/Testbaeume.java create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/package.bluej create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/testfaelle.txt create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/BaumTester.java create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/Baumalgorithmen.java create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/Binaerbaum.java create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/README.TXT create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/Testbaeume.java create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/package.bluej create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/testfaelle.txt create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/BaumTester.java create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/Baumalgorithmen.java create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/Binaerbaum.java create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/README.TXT create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/Testbaeume.java create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/package.bluej create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/testfaelle.txt create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/Baumalgorithmen.java create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/Binaerbaum.java create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/README.TXT create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/TieferBaum.java create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/package.bluej create mode 100644 Quellcodes/Alg_DS_Baumalgorithmen/readme.adoc create mode 100644 Quellcodes/Alg_DS_Entscheidungsbaum/.gitignore create mode 100644 Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/Binaerbaum.java create mode 100644 Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/EntscheidungsFrame.java create mode 100644 Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/EntscheidungsFrameBase.java create mode 100644 Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/Entscheidungsbaum.pdf create mode 100644 Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/README.TXT create mode 100644 Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/package.bluej create mode 100644 Quellcodes/Alg_DS_Entscheidungsbaum/02_entscheidungsbaum_loes/Binaerbaum.java create mode 100644 Quellcodes/Alg_DS_Entscheidungsbaum/02_entscheidungsbaum_loes/EntscheidungsFrame.java create mode 100644 Quellcodes/Alg_DS_Entscheidungsbaum/02_entscheidungsbaum_loes/EntscheidungsFrameBase.java create mode 100644 Quellcodes/Alg_DS_Entscheidungsbaum/02_entscheidungsbaum_loes/README.TXT create mode 100644 Quellcodes/Alg_DS_Entscheidungsbaum/02_entscheidungsbaum_loes/package.bluej create mode 100644 Quellcodes/Alg_DS_Entscheidungsbaum/readme.adoc create mode 100644 Quellcodes/Alg_DS_Freecell/.gitignore create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/FreecellFrame.java create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/FreecellGame.java create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/Karte.java create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/README.TXT create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/Stack.java create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/01_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/01_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/01_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/01_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/02_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/02_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/02_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/02_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/03_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/03_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/03_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/03_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/04_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/04_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/04_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/04_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/05_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/05_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/05_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/05_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/06_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/06_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/06_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/06_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/07_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/07_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/07_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/07_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/08_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/08_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/08_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/08_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/09_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/09_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/09_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/09_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/10_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/10_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/10_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/10_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/11_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/11_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/11_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/11_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/12_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/12_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/12_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/12_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/13_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/13_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/13_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/13_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/license.txt create mode 100644 Quellcodes/Alg_DS_Freecell/01_freecell_roh/package.bluej create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/ArrayStack.java create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/FreecellFrame.java create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/FreecellGame.java create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/Karte.java create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/README.TXT create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/Stack.java create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/01_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/01_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/01_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/01_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/02_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/02_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/02_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/02_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/03_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/03_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/03_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/03_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/04_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/04_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/04_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/04_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/05_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/05_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/05_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/05_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/06_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/06_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/06_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/06_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/07_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/07_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/07_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/07_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/08_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/08_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/08_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/08_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/09_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/09_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/09_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/09_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/10_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/10_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/10_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/10_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/11_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/11_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/11_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/11_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/12_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/12_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/12_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/12_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/13_of_clubs.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/13_of_diamonds.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/13_of_hearts.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/13_of_spades.png create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/license.txt create mode 100644 Quellcodes/Alg_DS_Freecell/02_freecell_loes/package.bluej create mode 100644 Quellcodes/Alg_DS_Freecell/readme.adoc create mode 100644 Quellcodes/Alg_DS_Hanoi/.gitignore create mode 100644 Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/HanoiFrame.java create mode 100644 Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/HanoiGame.java create mode 100644 Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/README.TXT create mode 100644 Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/Scheibe.java create mode 100644 Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/Stack.java create mode 100644 Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/package.bluej create mode 100644 Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/ArrayStack.java create mode 100644 Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/HanoiFrame.java create mode 100644 Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/HanoiGame.java create mode 100644 Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/README.TXT create mode 100644 Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/Scheibe.java create mode 100644 Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/Stack.java create mode 100644 Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/package.bluej create mode 100644 Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/ArrayStack.java create mode 100644 Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/HanoiFrame.java create mode 100644 Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/HanoiGame.java create mode 100644 Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/README.TXT create mode 100644 Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/Scheibe.java create mode 100644 Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/Stack.java create mode 100644 Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/package.bluej create mode 100644 Quellcodes/Alg_DS_Hanoi/readme.adoc create mode 100644 Quellcodes/Alg_DS_Listenvarianten/.gitignore create mode 100644 Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/+libs/SizeOf.jar create mode 100644 Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/+libs/license.txt create mode 100644 Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/Benchmark.java create mode 100644 Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/InsertionSort.java create mode 100644 Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/MergeSort.java create mode 100644 Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/README.TXT create mode 100644 Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/SelectionSort.java create mode 100644 Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/SortierenMitBenchmark.java create mode 100644 Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/SortiererTest.java create mode 100644 Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/Liste.java create mode 100644 Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeIterativ.java create mode 100644 Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeMitArray.java create mode 100644 Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeMitEnde.java create mode 100644 Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeMitVerkettung.java create mode 100644 Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeRekursiv.java create mode 100644 Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/Listenknoten.java create mode 100644 Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/package.bluej create mode 100644 Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/package.bluej create mode 100644 Quellcodes/Alg_DS_Listenvarianten/readme.adoc create mode 100644 Quellcodes/Alg_DS_Queue/.gitignore create mode 100644 Quellcodes/Alg_DS_Queue/01_queue_roh/ArrayQueue.java create mode 100644 Quellcodes/Alg_DS_Queue/01_queue_roh/ArrayQueueTester.java create mode 100644 Quellcodes/Alg_DS_Queue/01_queue_roh/LinkedQueue.java create mode 100644 Quellcodes/Alg_DS_Queue/01_queue_roh/LinkedQueueTester.java create mode 100644 Quellcodes/Alg_DS_Queue/01_queue_roh/Queue.java create mode 100644 Quellcodes/Alg_DS_Queue/01_queue_roh/QueueTester.java create mode 100644 Quellcodes/Alg_DS_Queue/01_queue_roh/README.TXT create mode 100644 Quellcodes/Alg_DS_Queue/01_queue_roh/package.bluej create mode 100644 Quellcodes/Alg_DS_Queue/02_queue_loes/ArrayQueue.java create mode 100644 Quellcodes/Alg_DS_Queue/02_queue_loes/ArrayQueueTester.java create mode 100644 Quellcodes/Alg_DS_Queue/02_queue_loes/LinkedQueue.java create mode 100644 Quellcodes/Alg_DS_Queue/02_queue_loes/LinkedQueueTester.java create mode 100644 Quellcodes/Alg_DS_Queue/02_queue_loes/Queue.java create mode 100644 Quellcodes/Alg_DS_Queue/02_queue_loes/QueueTester.java create mode 100644 Quellcodes/Alg_DS_Queue/02_queue_loes/README.TXT create mode 100644 Quellcodes/Alg_DS_Queue/02_queue_loes/package.bluej create mode 100644 Quellcodes/Alg_DS_Queue/readme.adoc create mode 100644 Quellcodes/Alg_DS_Set/.gitignore create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/+libs/SizeOf.jar create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/+libs/license.txt create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/BenchmarkBase.java create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/MeinBenchmark.java create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/README.TXT create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/doc/BenchmarkBase.html create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/doc/MeinBenchmark.html create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/doc/Set.html create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/doc/SetVarianteA.html create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/doc/SetVarianteB.html create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/doc/SetVarianteC.html create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/doc/allclasses.html create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/doc/constant-values.html create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/doc/element-list create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/doc/index.html create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/doc/logfile.txt create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/doc/package-summary.html create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/doc/script.js create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/doc/stylesheet.css create mode 100644 Quellcodes/Alg_DS_Set/01_set_roh/package.bluej create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/+libs/SizeOf.jar create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/+libs/license.txt create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/BenchmarkBase.java create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/MeinBenchmark.java create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/README.TXT create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/Set.java create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/SetVarianteA.java create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/SetVarianteB.java create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/SetVarianteC.java create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/BenchmarkBase.html create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/MeinBenchmark.html create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/allclasses.html create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/constant-values.html create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/element-list create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/index.html create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/logfile.txt create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/package-summary.html create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/script.js create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/stylesheet.css create mode 100644 Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/package.bluej create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/+libs/SizeOf.jar create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/+libs/license.txt create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/BenchmarkBase.java create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/MeinBenchmark.java create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/README.TXT create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/doc/BenchmarkBase.html create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/doc/MeinBenchmark.html create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/doc/Set.html create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/doc/SetVarianteA.html create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/doc/SetVarianteB.html create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/doc/SetVarianteC.html create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/doc/allclasses.html create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/doc/constant-values.html create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/doc/element-list create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/doc/index.html create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/doc/logfile.txt create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/doc/package-summary.html create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/doc/script.js create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/doc/stylesheet.css create mode 100644 Quellcodes/Alg_DS_Set/03_set_loes/package.bluej create mode 100644 Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/+libs/SizeOf.jar create mode 100644 Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/+libs/license.txt create mode 100644 Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/BenchmarkBase.java create mode 100644 Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/MeinBenchmark.java create mode 100644 Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/README.TXT create mode 100644 Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/Set.java create mode 100644 Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/SetVarianteA.java create mode 100644 Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/SetVarianteB.java create mode 100644 Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/SetVarianteC.java create mode 100644 Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/package.bluej create mode 100644 Quellcodes/Alg_DS_Set/readme.adoc create mode 100644 Quellcodes/Alg_DS_Snake/.gitignore create mode 100644 Quellcodes/Alg_DS_Snake/01_snake_roh/Apple.java create mode 100644 Quellcodes/Alg_DS_Snake/01_snake_roh/Queue.java create mode 100644 Quellcodes/Alg_DS_Snake/01_snake_roh/README.TXT create mode 100644 Quellcodes/Alg_DS_Snake/01_snake_roh/Snake.java create mode 100644 Quellcodes/Alg_DS_Snake/01_snake_roh/SnakeElement.java create mode 100644 Quellcodes/Alg_DS_Snake/01_snake_roh/SnakeWorld.java create mode 100644 Quellcodes/Alg_DS_Snake/01_snake_roh/images/apple1.png create mode 100644 Quellcodes/Alg_DS_Snake/01_snake_roh/images/ball.png create mode 100644 Quellcodes/Alg_DS_Snake/01_snake_roh/images/transparent.png create mode 100644 Quellcodes/Alg_DS_Snake/01_snake_roh/project.greenfoot create mode 100644 Quellcodes/Alg_DS_Snake/02_snake_loes/Apple.java create mode 100644 Quellcodes/Alg_DS_Snake/02_snake_loes/ArrayQueue.java create mode 100644 Quellcodes/Alg_DS_Snake/02_snake_loes/Queue.java create mode 100644 Quellcodes/Alg_DS_Snake/02_snake_loes/README.TXT create mode 100644 Quellcodes/Alg_DS_Snake/02_snake_loes/Snake.java create mode 100644 Quellcodes/Alg_DS_Snake/02_snake_loes/SnakeElement.java create mode 100644 Quellcodes/Alg_DS_Snake/02_snake_loes/SnakeWorld.java create mode 100644 Quellcodes/Alg_DS_Snake/02_snake_loes/images/apple1.png create mode 100644 Quellcodes/Alg_DS_Snake/02_snake_loes/images/ball.png create mode 100644 Quellcodes/Alg_DS_Snake/02_snake_loes/images/transparent.png create mode 100644 Quellcodes/Alg_DS_Snake/02_snake_loes/project.greenfoot create mode 100644 Quellcodes/Alg_DS_Snake/readme.adoc create mode 100644 Quellcodes/Alg_DS_Stack/.gitignore create mode 100644 Quellcodes/Alg_DS_Stack/01_stack_roh/ArrayStack.java create mode 100644 Quellcodes/Alg_DS_Stack/01_stack_roh/ArrayStackTester.java create mode 100644 Quellcodes/Alg_DS_Stack/01_stack_roh/LinkedStack.java create mode 100644 Quellcodes/Alg_DS_Stack/01_stack_roh/LinkedStackTester.java create mode 100644 Quellcodes/Alg_DS_Stack/01_stack_roh/README.TXT create mode 100644 Quellcodes/Alg_DS_Stack/01_stack_roh/Stack.java create mode 100644 Quellcodes/Alg_DS_Stack/01_stack_roh/StackTester.java create mode 100644 Quellcodes/Alg_DS_Stack/01_stack_roh/package.bluej create mode 100644 Quellcodes/Alg_DS_Stack/02_stack_loes/ArrayStack.java create mode 100644 Quellcodes/Alg_DS_Stack/02_stack_loes/ArrayStackTester.java create mode 100644 Quellcodes/Alg_DS_Stack/02_stack_loes/CantorStack.java create mode 100644 Quellcodes/Alg_DS_Stack/02_stack_loes/CantorStackTester.java create mode 100644 Quellcodes/Alg_DS_Stack/02_stack_loes/LinkedStack.java create mode 100644 Quellcodes/Alg_DS_Stack/02_stack_loes/LinkedStackTester.java create mode 100644 Quellcodes/Alg_DS_Stack/02_stack_loes/README.TXT create mode 100644 Quellcodes/Alg_DS_Stack/02_stack_loes/Stack.java create mode 100644 Quellcodes/Alg_DS_Stack/02_stack_loes/StackTester.java create mode 100644 Quellcodes/Alg_DS_Stack/02_stack_loes/package.bluej create mode 100644 Quellcodes/Alg_DS_Stack/readme.adoc create mode 100644 Quellcodes/Alg_DS_Sudoku/.gitignore create mode 100644 Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/BekannteZahl.java create mode 100644 Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/BitSet.java create mode 100644 Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/Eintrag.java create mode 100644 Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/Kandidatenmenge.java create mode 100644 Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/README.TXT create mode 100644 Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/Set.java create mode 100644 Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/SudokuFrame.java create mode 100644 Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/SudokuGitter.java create mode 100644 Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/SudokuPanel.java create mode 100644 Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/SudokuRaetselDB.java create mode 100644 Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/package.bluej create mode 100644 Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/BekannteZahl.java create mode 100644 Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/BitSet.java create mode 100644 Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/Eintrag.java create mode 100644 Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/Kandidatenmenge.java create mode 100644 Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/README.TXT create mode 100644 Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/Set.java create mode 100644 Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/SudokuFrame.java create mode 100644 Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/SudokuGitter.java create mode 100644 Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/SudokuPanel.java create mode 100644 Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/SudokuRaetselDB.java create mode 100644 Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/package.bluej create mode 100644 Quellcodes/Alg_DS_Sudoku/readme.adoc create mode 100644 Quellcodes/Alg_DS_Terme/.gitignore create mode 100644 Quellcodes/Alg_DS_Terme/01_terme_roh/AlsStringTest.java create mode 100644 Quellcodes/Alg_DS_Terme/01_terme_roh/AuswertungsTest.java create mode 100644 Quellcodes/Alg_DS_Terme/01_terme_roh/Binaerbaum.java create mode 100644 Quellcodes/Alg_DS_Terme/01_terme_roh/README.TXT create mode 100644 Quellcodes/Alg_DS_Terme/01_terme_roh/Symbol.java create mode 100644 Quellcodes/Alg_DS_Terme/01_terme_roh/TermAuswerter.java create mode 100644 Quellcodes/Alg_DS_Terme/01_terme_roh/TermFrame.java create mode 100644 Quellcodes/Alg_DS_Terme/01_terme_roh/TermParser.java create mode 100644 Quellcodes/Alg_DS_Terme/01_terme_roh/package.bluej create mode 100644 Quellcodes/Alg_DS_Terme/02_terme_loes/AlsStringTest.java create mode 100644 Quellcodes/Alg_DS_Terme/02_terme_loes/AuswertungsTest.java create mode 100644 Quellcodes/Alg_DS_Terme/02_terme_loes/Binaerbaum.java create mode 100644 Quellcodes/Alg_DS_Terme/02_terme_loes/README.TXT create mode 100644 Quellcodes/Alg_DS_Terme/02_terme_loes/Symbol.java create mode 100644 Quellcodes/Alg_DS_Terme/02_terme_loes/TermAuswerter.java create mode 100644 Quellcodes/Alg_DS_Terme/02_terme_loes/TermFrame.java create mode 100644 Quellcodes/Alg_DS_Terme/02_terme_loes/TermParser.java create mode 100644 Quellcodes/Alg_DS_Terme/02_terme_loes/package.bluej create mode 100644 Quellcodes/Alg_DS_Terme/readme.adoc create mode 100644 Quellcodes/Alg_DS_Tiefen_Breitensuche/.gitignore create mode 100644 Quellcodes/Alg_DS_Tiefen_Breitensuche/01_tiefen_und_breitensuche_roh/BaumTester2.java create mode 100644 Quellcodes/Alg_DS_Tiefen_Breitensuche/01_tiefen_und_breitensuche_roh/Baumalgorithmen2.java create mode 100644 Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/ArrayQueue.java create mode 100644 Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/ArrayStack.java create mode 100644 Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/BaumTester.java create mode 100644 Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/BaumTester2.java create mode 100644 Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Baumalgorithmen.java create mode 100644 Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Baumalgorithmen2.java create mode 100644 Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Binaerbaum.java create mode 100644 Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Container.java create mode 100644 Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Queue.java create mode 100644 Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/README.TXT create mode 100644 Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Stack.java create mode 100644 Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Testbaeume.java create mode 100644 Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/package.bluej create mode 100644 Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/testfaelle.txt create mode 100644 Quellcodes/Alg_DS_Tiefen_Breitensuche/readme.adoc create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/.gitignore create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/README.TXT create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/TesterIterativ.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/TesterRekursiv.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/Liste.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/ListeIterativ.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/ListeRekursiv.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/Listenknoten.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/package.bluej create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/package.bluej create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest1.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest10.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest2.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest3.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest4.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest5.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest6.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest7.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest8.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest9.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/Tester.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/package.bluej create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/README.TXT create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/TesterIterativ.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/TesterRekursiv.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/Liste.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/ListeIterativ.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/ListeRekursiv.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/Listenknoten.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/package.bluej create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/package.bluej create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest1.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest10.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest2.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest3.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest4.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest5.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest6.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest7.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest8.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest9.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/Tester.java create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/package.bluej create mode 100644 Quellcodes/Alg_DS_Verkettete_Liste/readme.adoc diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/.gitignore b/Quellcodes/Alg_DS_Baumalgorithmen/.gitignore new file mode 100644 index 0000000..2cc0cb6 --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/.gitignore @@ -0,0 +1,7 @@ +**/*.sh +**/*.class +**/*.ctxt +repo.adoc +repo_subtree.adoc +/alt +/hide diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/BaumTester.java b/Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/BaumTester.java new file mode 100644 index 0000000..8cc0446 --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/BaumTester.java @@ -0,0 +1,2811 @@ +import static org.junit.Assert.*; +import org.junit.Test; + +/** + * Eine Testklasse für Baumalgorithmen + * + * @author Rainer Helfrich + * @version 02.11.2020 + */ +public class BaumTester +{ + @Test + public void test001() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(0)); + assertEquals(481,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(512)); + assertTrue(ba.enthaelt(596)); + assertFalse(ba.enthaelt(70)); + assertFalse(ba.enthaelt(1008)); + assertFalse(ba.enthaelt(510)); + assertFalse(ba.enthaelt(554)); + assertFalse(ba.enthaelt(287)); + assertFalse(ba.enthaelt(99)); + assertTrue(ba.enthaelt(598)); + assertTrue(ba.enthaelt(875)); + assertFalse(ba.enthaelt(949)); + assertFalse(ba.enthaelt(974)); + assertFalse(ba.enthaelt(917)); + assertFalse(ba.enthaelt(146)); + assertTrue(ba.enthaelt(366)); + assertTrue(ba.enthaelt(367)); + assertTrue(ba.enthaelt(411)); + assertTrue(ba.enthaelt(900)); + assertTrue(ba.enthaelt(430)); + assertTrue(ba.enthaelt(175)); + } + + @Test + public void test002() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(1)); + assertEquals(183,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(711)); + assertFalse(ba.enthaelt(835)); + assertFalse(ba.enthaelt(637)); + assertFalse(ba.enthaelt(888)); + assertFalse(ba.enthaelt(962)); + assertTrue(ba.enthaelt(692)); + assertTrue(ba.enthaelt(731)); + assertFalse(ba.enthaelt(2)); + assertFalse(ba.enthaelt(417)); + assertFalse(ba.enthaelt(667)); + assertFalse(ba.enthaelt(549)); + assertTrue(ba.enthaelt(277)); + assertTrue(ba.enthaelt(934)); + assertFalse(ba.enthaelt(641)); + assertTrue(ba.enthaelt(825)); + assertTrue(ba.enthaelt(592)); + assertTrue(ba.enthaelt(958)); + assertTrue(ba.enthaelt(416)); + assertTrue(ba.enthaelt(680)); + assertTrue(ba.enthaelt(388)); + } + + @Test + public void test003() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(2)); + assertEquals(105,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertTrue(ba.enthaelt(985)); + assertFalse(ba.enthaelt(224)); + assertFalse(ba.enthaelt(374)); + assertFalse(ba.enthaelt(304)); + assertFalse(ba.enthaelt(814)); + assertFalse(ba.enthaelt(67)); + assertFalse(ba.enthaelt(972)); + assertFalse(ba.enthaelt(384)); + assertFalse(ba.enthaelt(845)); + assertFalse(ba.enthaelt(762)); + assertFalse(ba.enthaelt(353)); + assertTrue(ba.enthaelt(656)); + assertTrue(ba.enthaelt(207)); + assertTrue(ba.enthaelt(954)); + assertTrue(ba.enthaelt(423)); + assertTrue(ba.enthaelt(163)); + assertTrue(ba.enthaelt(968)); + assertTrue(ba.enthaelt(69)); + assertTrue(ba.enthaelt(589)); + assertTrue(ba.enthaelt(189)); + } + + @Test + public void test004() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(3)); + assertEquals(203,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(37)); + assertFalse(ba.enthaelt(132)); + assertFalse(ba.enthaelt(921)); + assertFalse(ba.enthaelt(936)); + assertFalse(ba.enthaelt(793)); + assertFalse(ba.enthaelt(296)); + assertFalse(ba.enthaelt(603)); + assertFalse(ba.enthaelt(395)); + assertFalse(ba.enthaelt(681)); + assertFalse(ba.enthaelt(141)); + assertTrue(ba.enthaelt(523)); + assertTrue(ba.enthaelt(305)); + assertTrue(ba.enthaelt(315)); + assertTrue(ba.enthaelt(849)); + assertTrue(ba.enthaelt(567)); + assertTrue(ba.enthaelt(666)); + assertTrue(ba.enthaelt(73)); + assertTrue(ba.enthaelt(76)); + assertTrue(ba.enthaelt(814)); + assertTrue(ba.enthaelt(585)); + } + + @Test + public void test005() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(4)); + assertEquals(133,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(207)); + assertFalse(ba.enthaelt(370)); + assertFalse(ba.enthaelt(13)); + assertFalse(ba.enthaelt(703)); + assertFalse(ba.enthaelt(161)); + assertFalse(ba.enthaelt(966)); + assertFalse(ba.enthaelt(565)); + assertFalse(ba.enthaelt(236)); + assertFalse(ba.enthaelt(468)); + assertTrue(ba.enthaelt(428)); + assertFalse(ba.enthaelt(312)); + assertTrue(ba.enthaelt(715)); + assertTrue(ba.enthaelt(205)); + assertTrue(ba.enthaelt(854)); + assertTrue(ba.enthaelt(657)); + assertTrue(ba.enthaelt(232)); + assertTrue(ba.enthaelt(659)); + assertTrue(ba.enthaelt(55)); + assertTrue(ba.enthaelt(598)); + assertTrue(ba.enthaelt(127)); + } + + @Test + public void test006() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(5)); + assertEquals(159,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(243)); + assertFalse(ba.enthaelt(248)); + assertFalse(ba.enthaelt(810)); + assertFalse(ba.enthaelt(206)); + assertFalse(ba.enthaelt(285)); + assertFalse(ba.enthaelt(743)); + assertFalse(ba.enthaelt(187)); + assertTrue(ba.enthaelt(4)); + assertFalse(ba.enthaelt(497)); + assertTrue(ba.enthaelt(983)); + assertFalse(ba.enthaelt(1007)); + assertFalse(ba.enthaelt(47)); + assertTrue(ba.enthaelt(83)); + assertTrue(ba.enthaelt(116)); + assertTrue(ba.enthaelt(287)); + assertTrue(ba.enthaelt(423)); + assertTrue(ba.enthaelt(165)); + assertTrue(ba.enthaelt(905)); + assertTrue(ba.enthaelt(760)); + assertTrue(ba.enthaelt(985)); + } + + @Test + public void test007() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(6)); + assertEquals(165,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(467)); + assertFalse(ba.enthaelt(452)); + assertTrue(ba.enthaelt(737)); + assertFalse(ba.enthaelt(849)); + assertFalse(ba.enthaelt(213)); + assertFalse(ba.enthaelt(610)); + assertFalse(ba.enthaelt(73)); + assertTrue(ba.enthaelt(472)); + assertFalse(ba.enthaelt(603)); + assertFalse(ba.enthaelt(739)); + assertFalse(ba.enthaelt(193)); + assertFalse(ba.enthaelt(704)); + assertTrue(ba.enthaelt(828)); + assertTrue(ba.enthaelt(178)); + assertTrue(ba.enthaelt(702)); + assertTrue(ba.enthaelt(341)); + assertTrue(ba.enthaelt(78)); + assertTrue(ba.enthaelt(640)); + assertTrue(ba.enthaelt(916)); + assertTrue(ba.enthaelt(227)); + } + + @Test + public void test008() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(7)); + assertEquals(389,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(772)); + assertFalse(ba.enthaelt(426)); + assertFalse(ba.enthaelt(953)); + assertTrue(ba.enthaelt(319)); + assertFalse(ba.enthaelt(467)); + assertFalse(ba.enthaelt(417)); + assertTrue(ba.enthaelt(883)); + assertTrue(ba.enthaelt(657)); + assertFalse(ba.enthaelt(1006)); + assertFalse(ba.enthaelt(30)); + assertFalse(ba.enthaelt(80)); + assertFalse(ba.enthaelt(183)); + assertFalse(ba.enthaelt(318)); + assertTrue(ba.enthaelt(219)); + assertTrue(ba.enthaelt(438)); + assertTrue(ba.enthaelt(412)); + assertFalse(ba.enthaelt(145)); + assertTrue(ba.enthaelt(326)); + assertTrue(ba.enthaelt(572)); + assertTrue(ba.enthaelt(208)); + } + + @Test + public void test009() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(8)); + assertEquals(159,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(746)); + assertFalse(ba.enthaelt(288)); + assertFalse(ba.enthaelt(752)); + assertFalse(ba.enthaelt(651)); + assertFalse(ba.enthaelt(850)); + assertFalse(ba.enthaelt(267)); + assertTrue(ba.enthaelt(197)); + assertFalse(ba.enthaelt(264)); + assertFalse(ba.enthaelt(1009)); + assertFalse(ba.enthaelt(19)); + assertFalse(ba.enthaelt(166)); + assertTrue(ba.enthaelt(182)); + assertTrue(ba.enthaelt(623)); + assertTrue(ba.enthaelt(25)); + assertTrue(ba.enthaelt(900)); + assertTrue(ba.enthaelt(709)); + assertTrue(ba.enthaelt(658)); + assertTrue(ba.enthaelt(853)); + assertTrue(ba.enthaelt(628)); + assertTrue(ba.enthaelt(202)); + } + + @Test + public void test010() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(9)); + assertEquals(137,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(856)); + assertFalse(ba.enthaelt(402)); + assertFalse(ba.enthaelt(165)); + assertFalse(ba.enthaelt(993)); + assertTrue(ba.enthaelt(904)); + assertFalse(ba.enthaelt(211)); + assertTrue(ba.enthaelt(845)); + assertFalse(ba.enthaelt(259)); + assertFalse(ba.enthaelt(544)); + assertFalse(ba.enthaelt(498)); + assertFalse(ba.enthaelt(852)); + assertFalse(ba.enthaelt(65)); + assertTrue(ba.enthaelt(805)); + assertTrue(ba.enthaelt(224)); + assertTrue(ba.enthaelt(213)); + assertTrue(ba.enthaelt(604)); + assertTrue(ba.enthaelt(273)); + assertTrue(ba.enthaelt(161)); + assertTrue(ba.enthaelt(437)); + assertTrue(ba.enthaelt(590)); + } + + @Test + public void test011() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(10)); + assertEquals(313,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(895)); + assertTrue(ba.enthaelt(344)); + assertFalse(ba.enthaelt(966)); + assertFalse(ba.enthaelt(258)); + assertFalse(ba.enthaelt(1002)); + assertFalse(ba.enthaelt(181)); + assertFalse(ba.enthaelt(661)); + assertFalse(ba.enthaelt(217)); + assertFalse(ba.enthaelt(54)); + assertTrue(ba.enthaelt(36)); + assertTrue(ba.enthaelt(690)); + assertTrue(ba.enthaelt(703)); + assertTrue(ba.enthaelt(185)); + assertFalse(ba.enthaelt(657)); + assertTrue(ba.enthaelt(934)); + assertFalse(ba.enthaelt(854)); + assertTrue(ba.enthaelt(49)); + assertTrue(ba.enthaelt(907)); + assertTrue(ba.enthaelt(861)); + assertTrue(ba.enthaelt(348)); + } + + @Test + public void test012() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(11)); + assertEquals(313,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(42)); + assertTrue(ba.enthaelt(282)); + assertFalse(ba.enthaelt(733)); + assertTrue(ba.enthaelt(650)); + assertTrue(ba.enthaelt(61)); + assertFalse(ba.enthaelt(780)); + assertFalse(ba.enthaelt(1013)); + assertFalse(ba.enthaelt(368)); + assertFalse(ba.enthaelt(703)); + assertFalse(ba.enthaelt(362)); + assertFalse(ba.enthaelt(559)); + assertFalse(ba.enthaelt(1001)); + assertFalse(ba.enthaelt(987)); + assertTrue(ba.enthaelt(582)); + assertTrue(ba.enthaelt(845)); + assertTrue(ba.enthaelt(538)); + assertTrue(ba.enthaelt(477)); + assertTrue(ba.enthaelt(176)); + assertTrue(ba.enthaelt(237)); + assertTrue(ba.enthaelt(656)); + } + + @Test + public void test013() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(12)); + assertEquals(171,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(367)); + assertFalse(ba.enthaelt(6)); + assertFalse(ba.enthaelt(146)); + assertFalse(ba.enthaelt(896)); + assertFalse(ba.enthaelt(114)); + assertFalse(ba.enthaelt(542)); + assertFalse(ba.enthaelt(447)); + assertTrue(ba.enthaelt(51)); + assertFalse(ba.enthaelt(399)); + assertFalse(ba.enthaelt(43)); + assertTrue(ba.enthaelt(595)); + assertTrue(ba.enthaelt(831)); + assertFalse(ba.enthaelt(259)); + assertTrue(ba.enthaelt(960)); + assertTrue(ba.enthaelt(919)); + assertTrue(ba.enthaelt(755)); + assertTrue(ba.enthaelt(394)); + assertTrue(ba.enthaelt(466)); + assertTrue(ba.enthaelt(459)); + assertTrue(ba.enthaelt(539)); + } + + @Test + public void test014() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(13)); + assertEquals(135,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(898)); + assertFalse(ba.enthaelt(204)); + assertFalse(ba.enthaelt(870)); + assertFalse(ba.enthaelt(978)); + assertFalse(ba.enthaelt(871)); + assertFalse(ba.enthaelt(669)); + assertFalse(ba.enthaelt(793)); + assertFalse(ba.enthaelt(795)); + assertFalse(ba.enthaelt(480)); + assertTrue(ba.enthaelt(449)); + assertFalse(ba.enthaelt(380)); + assertTrue(ba.enthaelt(328)); + assertTrue(ba.enthaelt(436)); + assertTrue(ba.enthaelt(120)); + assertTrue(ba.enthaelt(433)); + assertTrue(ba.enthaelt(999)); + assertTrue(ba.enthaelt(879)); + assertTrue(ba.enthaelt(802)); + assertTrue(ba.enthaelt(517)); + assertTrue(ba.enthaelt(993)); + } + + @Test + public void test015() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(14)); + assertEquals(101,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(583)); + assertFalse(ba.enthaelt(693)); + assertFalse(ba.enthaelt(229)); + assertFalse(ba.enthaelt(157)); + assertFalse(ba.enthaelt(170)); + assertFalse(ba.enthaelt(651)); + assertFalse(ba.enthaelt(749)); + assertFalse(ba.enthaelt(996)); + assertFalse(ba.enthaelt(489)); + assertFalse(ba.enthaelt(116)); + assertTrue(ba.enthaelt(458)); + assertTrue(ba.enthaelt(99)); + assertTrue(ba.enthaelt(687)); + assertTrue(ba.enthaelt(727)); + assertTrue(ba.enthaelt(329)); + assertTrue(ba.enthaelt(420)); + assertTrue(ba.enthaelt(954)); + assertTrue(ba.enthaelt(155)); + assertTrue(ba.enthaelt(973)); + assertTrue(ba.enthaelt(103)); + } + + @Test + public void test016() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(15)); + assertEquals(105,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(796)); + assertFalse(ba.enthaelt(842)); + assertFalse(ba.enthaelt(853)); + assertFalse(ba.enthaelt(217)); + assertFalse(ba.enthaelt(795)); + assertFalse(ba.enthaelt(736)); + assertFalse(ba.enthaelt(76)); + assertFalse(ba.enthaelt(325)); + assertFalse(ba.enthaelt(258)); + assertFalse(ba.enthaelt(483)); + assertTrue(ba.enthaelt(190)); + assertTrue(ba.enthaelt(590)); + assertTrue(ba.enthaelt(16)); + assertTrue(ba.enthaelt(534)); + assertTrue(ba.enthaelt(762)); + assertTrue(ba.enthaelt(567)); + assertTrue(ba.enthaelt(169)); + assertTrue(ba.enthaelt(775)); + assertTrue(ba.enthaelt(85)); + assertTrue(ba.enthaelt(760)); + } + + @Test + public void test017() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(16)); + assertEquals(95,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(745)); + assertTrue(ba.enthaelt(293)); + assertFalse(ba.enthaelt(572)); + assertFalse(ba.enthaelt(19)); + assertFalse(ba.enthaelt(472)); + assertFalse(ba.enthaelt(180)); + assertFalse(ba.enthaelt(188)); + assertTrue(ba.enthaelt(902)); + assertFalse(ba.enthaelt(944)); + assertFalse(ba.enthaelt(118)); + assertFalse(ba.enthaelt(356)); + assertFalse(ba.enthaelt(973)); + assertTrue(ba.enthaelt(316)); + assertTrue(ba.enthaelt(53)); + assertTrue(ba.enthaelt(54)); + assertTrue(ba.enthaelt(807)); + assertTrue(ba.enthaelt(520)); + assertTrue(ba.enthaelt(429)); + assertTrue(ba.enthaelt(220)); + assertTrue(ba.enthaelt(194)); + } + + @Test + public void test018() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(17)); + assertEquals(315,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(646)); + assertFalse(ba.enthaelt(837)); + assertTrue(ba.enthaelt(543)); + assertFalse(ba.enthaelt(696)); + assertFalse(ba.enthaelt(307)); + assertTrue(ba.enthaelt(140)); + assertFalse(ba.enthaelt(835)); + assertFalse(ba.enthaelt(169)); + assertFalse(ba.enthaelt(498)); + assertFalse(ba.enthaelt(729)); + assertFalse(ba.enthaelt(405)); + assertFalse(ba.enthaelt(178)); + assertTrue(ba.enthaelt(97)); + assertTrue(ba.enthaelt(764)); + assertTrue(ba.enthaelt(743)); + assertTrue(ba.enthaelt(418)); + assertTrue(ba.enthaelt(954)); + assertTrue(ba.enthaelt(381)); + assertTrue(ba.enthaelt(997)); + assertTrue(ba.enthaelt(534)); + } + + @Test + public void test019() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(18)); + assertEquals(301,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(709)); + assertFalse(ba.enthaelt(22)); + assertFalse(ba.enthaelt(454)); + assertFalse(ba.enthaelt(64)); + assertFalse(ba.enthaelt(892)); + assertFalse(ba.enthaelt(176)); + assertFalse(ba.enthaelt(680)); + assertFalse(ba.enthaelt(729)); + assertFalse(ba.enthaelt(103)); + assertFalse(ba.enthaelt(198)); + assertTrue(ba.enthaelt(618)); + assertTrue(ba.enthaelt(877)); + assertTrue(ba.enthaelt(917)); + assertTrue(ba.enthaelt(810)); + assertTrue(ba.enthaelt(640)); + assertTrue(ba.enthaelt(98)); + assertTrue(ba.enthaelt(521)); + assertTrue(ba.enthaelt(586)); + assertTrue(ba.enthaelt(525)); + assertTrue(ba.enthaelt(197)); + } + + @Test + public void test020() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(19)); + assertEquals(115,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(719)); + assertFalse(ba.enthaelt(375)); + assertFalse(ba.enthaelt(471)); + assertFalse(ba.enthaelt(742)); + assertFalse(ba.enthaelt(362)); + assertFalse(ba.enthaelt(402)); + assertFalse(ba.enthaelt(682)); + assertFalse(ba.enthaelt(336)); + assertFalse(ba.enthaelt(759)); + assertFalse(ba.enthaelt(677)); + assertTrue(ba.enthaelt(75)); + assertTrue(ba.enthaelt(895)); + assertTrue(ba.enthaelt(669)); + assertTrue(ba.enthaelt(495)); + assertTrue(ba.enthaelt(925)); + assertTrue(ba.enthaelt(322)); + assertTrue(ba.enthaelt(600)); + assertTrue(ba.enthaelt(875)); + assertTrue(ba.enthaelt(807)); + assertTrue(ba.enthaelt(853)); + } + + @Test + public void test021() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(20)); + assertEquals(279,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(439)); + assertTrue(ba.enthaelt(687)); + assertFalse(ba.enthaelt(216)); + assertFalse(ba.enthaelt(621)); + assertFalse(ba.enthaelt(874)); + assertFalse(ba.enthaelt(516)); + assertTrue(ba.enthaelt(335)); + assertFalse(ba.enthaelt(703)); + assertTrue(ba.enthaelt(132)); + assertTrue(ba.enthaelt(630)); + assertFalse(ba.enthaelt(679)); + assertFalse(ba.enthaelt(269)); + assertFalse(ba.enthaelt(606)); + assertTrue(ba.enthaelt(212)); + assertTrue(ba.enthaelt(422)); + assertFalse(ba.enthaelt(43)); + assertFalse(ba.enthaelt(272)); + assertTrue(ba.enthaelt(410)); + assertTrue(ba.enthaelt(235)); + assertTrue(ba.enthaelt(103)); + } + + @Test + public void test022() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(21)); + assertEquals(215,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(310)); + assertFalse(ba.enthaelt(292)); + assertFalse(ba.enthaelt(474)); + assertFalse(ba.enthaelt(123)); + assertTrue(ba.enthaelt(824)); + assertFalse(ba.enthaelt(756)); + assertFalse(ba.enthaelt(829)); + assertFalse(ba.enthaelt(201)); + assertFalse(ba.enthaelt(755)); + assertFalse(ba.enthaelt(393)); + assertFalse(ba.enthaelt(1015)); + assertFalse(ba.enthaelt(3)); + assertTrue(ba.enthaelt(19)); + assertTrue(ba.enthaelt(343)); + assertTrue(ba.enthaelt(715)); + assertTrue(ba.enthaelt(662)); + assertTrue(ba.enthaelt(73)); + assertTrue(ba.enthaelt(195)); + assertTrue(ba.enthaelt(365)); + assertTrue(ba.enthaelt(889)); + } + + @Test + public void test023() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(22)); + assertEquals(107,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(821)); + assertFalse(ba.enthaelt(165)); + assertFalse(ba.enthaelt(884)); + assertFalse(ba.enthaelt(133)); + assertFalse(ba.enthaelt(545)); + assertFalse(ba.enthaelt(188)); + assertFalse(ba.enthaelt(435)); + assertFalse(ba.enthaelt(493)); + assertFalse(ba.enthaelt(823)); + assertFalse(ba.enthaelt(355)); + assertTrue(ba.enthaelt(276)); + assertTrue(ba.enthaelt(84)); + assertTrue(ba.enthaelt(265)); + assertTrue(ba.enthaelt(140)); + assertTrue(ba.enthaelt(529)); + assertTrue(ba.enthaelt(877)); + assertTrue(ba.enthaelt(767)); + assertTrue(ba.enthaelt(879)); + assertTrue(ba.enthaelt(724)); + assertTrue(ba.enthaelt(352)); + } + + @Test + public void test024() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(23)); + assertEquals(207,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(402)); + assertFalse(ba.enthaelt(268)); + assertFalse(ba.enthaelt(332)); + assertFalse(ba.enthaelt(818)); + assertFalse(ba.enthaelt(666)); + assertTrue(ba.enthaelt(36)); + assertFalse(ba.enthaelt(172)); + assertFalse(ba.enthaelt(537)); + assertFalse(ba.enthaelt(1015)); + assertFalse(ba.enthaelt(944)); + assertFalse(ba.enthaelt(941)); + assertTrue(ba.enthaelt(665)); + assertTrue(ba.enthaelt(967)); + assertTrue(ba.enthaelt(667)); + assertTrue(ba.enthaelt(684)); + assertTrue(ba.enthaelt(125)); + assertTrue(ba.enthaelt(29)); + assertTrue(ba.enthaelt(597)); + assertTrue(ba.enthaelt(446)); + assertTrue(ba.enthaelt(800)); + } + + @Test + public void test025() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(24)); + assertEquals(119,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(694)); + assertFalse(ba.enthaelt(872)); + assertFalse(ba.enthaelt(197)); + assertFalse(ba.enthaelt(983)); + assertFalse(ba.enthaelt(470)); + assertFalse(ba.enthaelt(487)); + assertTrue(ba.enthaelt(44)); + assertFalse(ba.enthaelt(552)); + assertFalse(ba.enthaelt(961)); + assertFalse(ba.enthaelt(714)); + assertFalse(ba.enthaelt(623)); + assertTrue(ba.enthaelt(18)); + assertTrue(ba.enthaelt(444)); + assertTrue(ba.enthaelt(277)); + assertTrue(ba.enthaelt(243)); + assertTrue(ba.enthaelt(852)); + assertTrue(ba.enthaelt(864)); + assertTrue(ba.enthaelt(765)); + assertTrue(ba.enthaelt(999)); + assertTrue(ba.enthaelt(488)); + } + + @Test + public void test026() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(25)); + assertEquals(247,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(782)); + assertFalse(ba.enthaelt(999)); + assertTrue(ba.enthaelt(173)); + assertFalse(ba.enthaelt(261)); + assertFalse(ba.enthaelt(892)); + assertTrue(ba.enthaelt(271)); + assertFalse(ba.enthaelt(420)); + assertTrue(ba.enthaelt(263)); + assertTrue(ba.enthaelt(919)); + assertFalse(ba.enthaelt(70)); + assertFalse(ba.enthaelt(4)); + assertFalse(ba.enthaelt(462)); + assertFalse(ba.enthaelt(877)); + assertFalse(ba.enthaelt(568)); + assertTrue(ba.enthaelt(834)); + assertTrue(ba.enthaelt(382)); + assertTrue(ba.enthaelt(861)); + assertTrue(ba.enthaelt(575)); + assertTrue(ba.enthaelt(19)); + assertTrue(ba.enthaelt(528)); + } + + @Test + public void test027() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(26)); + assertEquals(179,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(626)); + assertFalse(ba.enthaelt(340)); + assertFalse(ba.enthaelt(365)); + assertFalse(ba.enthaelt(954)); + assertFalse(ba.enthaelt(366)); + assertFalse(ba.enthaelt(814)); + assertFalse(ba.enthaelt(900)); + assertTrue(ba.enthaelt(496)); + assertFalse(ba.enthaelt(133)); + assertFalse(ba.enthaelt(107)); + assertTrue(ba.enthaelt(391)); + assertFalse(ba.enthaelt(801)); + assertFalse(ba.enthaelt(420)); + assertTrue(ba.enthaelt(310)); + assertTrue(ba.enthaelt(277)); + assertTrue(ba.enthaelt(262)); + assertTrue(ba.enthaelt(513)); + assertTrue(ba.enthaelt(378)); + assertTrue(ba.enthaelt(740)); + assertTrue(ba.enthaelt(403)); + } + + @Test + public void test028() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(27)); + assertEquals(209,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(627)); + assertFalse(ba.enthaelt(681)); + assertFalse(ba.enthaelt(521)); + assertFalse(ba.enthaelt(393)); + assertFalse(ba.enthaelt(201)); + assertFalse(ba.enthaelt(364)); + assertFalse(ba.enthaelt(198)); + assertFalse(ba.enthaelt(173)); + assertFalse(ba.enthaelt(257)); + assertFalse(ba.enthaelt(277)); + assertTrue(ba.enthaelt(36)); + assertTrue(ba.enthaelt(829)); + assertTrue(ba.enthaelt(896)); + assertTrue(ba.enthaelt(899)); + assertTrue(ba.enthaelt(706)); + assertTrue(ba.enthaelt(381)); + assertTrue(ba.enthaelt(480)); + assertTrue(ba.enthaelt(926)); + assertTrue(ba.enthaelt(832)); + assertTrue(ba.enthaelt(271)); + } + + @Test + public void test029() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(28)); + assertEquals(357,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(700)); + assertFalse(ba.enthaelt(942)); + assertTrue(ba.enthaelt(924)); + assertTrue(ba.enthaelt(271)); + assertFalse(ba.enthaelt(766)); + assertFalse(ba.enthaelt(528)); + assertFalse(ba.enthaelt(495)); + assertFalse(ba.enthaelt(262)); + assertFalse(ba.enthaelt(413)); + assertTrue(ba.enthaelt(704)); + assertTrue(ba.enthaelt(230)); + assertFalse(ba.enthaelt(752)); + assertFalse(ba.enthaelt(810)); + assertFalse(ba.enthaelt(823)); + assertTrue(ba.enthaelt(846)); + assertTrue(ba.enthaelt(758)); + assertTrue(ba.enthaelt(91)); + assertTrue(ba.enthaelt(995)); + assertTrue(ba.enthaelt(988)); + assertTrue(ba.enthaelt(62)); + } + + @Test + public void test030() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(29)); + assertEquals(71,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(846)); + assertFalse(ba.enthaelt(828)); + assertFalse(ba.enthaelt(444)); + assertFalse(ba.enthaelt(456)); + assertFalse(ba.enthaelt(424)); + assertFalse(ba.enthaelt(454)); + assertFalse(ba.enthaelt(908)); + assertFalse(ba.enthaelt(200)); + assertFalse(ba.enthaelt(463)); + assertFalse(ba.enthaelt(246)); + assertTrue(ba.enthaelt(274)); + assertTrue(ba.enthaelt(553)); + assertTrue(ba.enthaelt(223)); + assertTrue(ba.enthaelt(237)); + assertTrue(ba.enthaelt(557)); + assertTrue(ba.enthaelt(222)); + assertTrue(ba.enthaelt(806)); + assertTrue(ba.enthaelt(516)); + assertTrue(ba.enthaelt(813)); + assertTrue(ba.enthaelt(10)); + } + + @Test + public void test031() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(30)); + assertEquals(109,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(154)); + assertFalse(ba.enthaelt(1000)); + assertTrue(ba.enthaelt(355)); + assertFalse(ba.enthaelt(960)); + assertFalse(ba.enthaelt(301)); + assertFalse(ba.enthaelt(94)); + assertTrue(ba.enthaelt(580)); + assertFalse(ba.enthaelt(440)); + assertFalse(ba.enthaelt(690)); + assertFalse(ba.enthaelt(342)); + assertFalse(ba.enthaelt(71)); + assertFalse(ba.enthaelt(44)); + assertTrue(ba.enthaelt(731)); + assertTrue(ba.enthaelt(617)); + assertTrue(ba.enthaelt(752)); + assertTrue(ba.enthaelt(538)); + assertTrue(ba.enthaelt(122)); + assertTrue(ba.enthaelt(517)); + assertTrue(ba.enthaelt(923)); + assertTrue(ba.enthaelt(689)); + } + + @Test + public void test032() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(31)); + assertEquals(87,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(372)); + assertTrue(ba.enthaelt(866)); + assertTrue(ba.enthaelt(304)); + assertFalse(ba.enthaelt(623)); + assertFalse(ba.enthaelt(261)); + assertFalse(ba.enthaelt(761)); + assertTrue(ba.enthaelt(206)); + assertFalse(ba.enthaelt(459)); + assertFalse(ba.enthaelt(100)); + assertFalse(ba.enthaelt(769)); + assertFalse(ba.enthaelt(134)); + assertFalse(ba.enthaelt(37)); + assertFalse(ba.enthaelt(622)); + assertTrue(ba.enthaelt(61)); + assertTrue(ba.enthaelt(409)); + assertTrue(ba.enthaelt(274)); + assertTrue(ba.enthaelt(30)); + assertTrue(ba.enthaelt(448)); + assertTrue(ba.enthaelt(868)); + assertTrue(ba.enthaelt(36)); + } + + @Test + public void test033() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(32)); + assertEquals(521,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(211)); + assertFalse(ba.enthaelt(231)); + assertTrue(ba.enthaelt(658)); + assertTrue(ba.enthaelt(546)); + assertTrue(ba.enthaelt(53)); + assertTrue(ba.enthaelt(764)); + assertTrue(ba.enthaelt(324)); + assertTrue(ba.enthaelt(851)); + assertFalse(ba.enthaelt(856)); + assertFalse(ba.enthaelt(442)); + assertTrue(ba.enthaelt(15)); + assertFalse(ba.enthaelt(223)); + assertTrue(ba.enthaelt(553)); + assertFalse(ba.enthaelt(782)); + assertFalse(ba.enthaelt(419)); + assertFalse(ba.enthaelt(90)); + assertFalse(ba.enthaelt(221)); + assertFalse(ba.enthaelt(670)); + assertTrue(ba.enthaelt(876)); + assertFalse(ba.enthaelt(902)); + } + + @Test + public void test034() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(33)); + assertEquals(59,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(854)); + assertFalse(ba.enthaelt(673)); + assertFalse(ba.enthaelt(617)); + assertFalse(ba.enthaelt(253)); + assertFalse(ba.enthaelt(298)); + assertTrue(ba.enthaelt(190)); + assertFalse(ba.enthaelt(779)); + assertFalse(ba.enthaelt(994)); + assertFalse(ba.enthaelt(941)); + assertFalse(ba.enthaelt(100)); + assertFalse(ba.enthaelt(351)); + assertTrue(ba.enthaelt(192)); + assertTrue(ba.enthaelt(385)); + assertTrue(ba.enthaelt(581)); + assertTrue(ba.enthaelt(205)); + assertTrue(ba.enthaelt(731)); + assertTrue(ba.enthaelt(230)); + assertTrue(ba.enthaelt(589)); + assertTrue(ba.enthaelt(769)); + assertTrue(ba.enthaelt(705)); + } + + @Test + public void test035() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(34)); + assertEquals(107,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(103)); + assertFalse(ba.enthaelt(238)); + assertFalse(ba.enthaelt(35)); + assertFalse(ba.enthaelt(658)); + assertFalse(ba.enthaelt(134)); + assertFalse(ba.enthaelt(499)); + assertFalse(ba.enthaelt(137)); + assertTrue(ba.enthaelt(243)); + assertFalse(ba.enthaelt(780)); + assertFalse(ba.enthaelt(422)); + assertFalse(ba.enthaelt(930)); + assertTrue(ba.enthaelt(437)); + assertTrue(ba.enthaelt(251)); + assertTrue(ba.enthaelt(802)); + assertTrue(ba.enthaelt(206)); + assertTrue(ba.enthaelt(404)); + assertTrue(ba.enthaelt(79)); + assertTrue(ba.enthaelt(821)); + assertTrue(ba.enthaelt(384)); + assertTrue(ba.enthaelt(665)); + } + + @Test + public void test036() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(35)); + assertEquals(93,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(119)); + assertFalse(ba.enthaelt(413)); + assertFalse(ba.enthaelt(246)); + assertFalse(ba.enthaelt(427)); + assertFalse(ba.enthaelt(660)); + assertFalse(ba.enthaelt(54)); + assertFalse(ba.enthaelt(30)); + assertFalse(ba.enthaelt(417)); + assertFalse(ba.enthaelt(781)); + assertFalse(ba.enthaelt(191)); + assertTrue(ba.enthaelt(93)); + assertTrue(ba.enthaelt(326)); + assertTrue(ba.enthaelt(700)); + assertTrue(ba.enthaelt(339)); + assertTrue(ba.enthaelt(608)); + assertTrue(ba.enthaelt(31)); + assertTrue(ba.enthaelt(576)); + assertTrue(ba.enthaelt(546)); + assertTrue(ba.enthaelt(815)); + assertTrue(ba.enthaelt(196)); + } + + @Test + public void test037() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(36)); + assertEquals(175,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(833)); + assertFalse(ba.enthaelt(408)); + assertFalse(ba.enthaelt(720)); + assertTrue(ba.enthaelt(559)); + assertFalse(ba.enthaelt(839)); + assertFalse(ba.enthaelt(281)); + assertTrue(ba.enthaelt(477)); + assertTrue(ba.enthaelt(920)); + assertFalse(ba.enthaelt(628)); + assertFalse(ba.enthaelt(726)); + assertFalse(ba.enthaelt(659)); + assertFalse(ba.enthaelt(786)); + assertFalse(ba.enthaelt(876)); + assertTrue(ba.enthaelt(33)); + assertTrue(ba.enthaelt(74)); + assertTrue(ba.enthaelt(826)); + assertTrue(ba.enthaelt(901)); + assertTrue(ba.enthaelt(260)); + assertTrue(ba.enthaelt(378)); + assertTrue(ba.enthaelt(782)); + } + + @Test + public void test038() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(37)); + assertEquals(349,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(916)); + assertFalse(ba.enthaelt(947)); + assertFalse(ba.enthaelt(201)); + assertFalse(ba.enthaelt(185)); + assertTrue(ba.enthaelt(255)); + assertFalse(ba.enthaelt(684)); + assertTrue(ba.enthaelt(393)); + assertTrue(ba.enthaelt(88)); + assertFalse(ba.enthaelt(633)); + assertFalse(ba.enthaelt(220)); + assertFalse(ba.enthaelt(334)); + assertFalse(ba.enthaelt(810)); + assertFalse(ba.enthaelt(686)); + assertFalse(ba.enthaelt(579)); + assertTrue(ba.enthaelt(501)); + assertTrue(ba.enthaelt(616)); + assertTrue(ba.enthaelt(389)); + assertTrue(ba.enthaelt(285)); + assertTrue(ba.enthaelt(704)); + assertTrue(ba.enthaelt(253)); + } + + @Test + public void test039() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(38)); + assertEquals(129,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(572)); + assertFalse(ba.enthaelt(391)); + assertFalse(ba.enthaelt(116)); + assertFalse(ba.enthaelt(524)); + assertFalse(ba.enthaelt(569)); + assertFalse(ba.enthaelt(1)); + assertFalse(ba.enthaelt(794)); + assertFalse(ba.enthaelt(300)); + assertFalse(ba.enthaelt(865)); + assertFalse(ba.enthaelt(209)); + assertFalse(ba.enthaelt(408)); + assertTrue(ba.enthaelt(99)); + assertTrue(ba.enthaelt(154)); + assertTrue(ba.enthaelt(734)); + assertTrue(ba.enthaelt(177)); + assertTrue(ba.enthaelt(100)); + assertTrue(ba.enthaelt(536)); + assertTrue(ba.enthaelt(999)); + assertTrue(ba.enthaelt(284)); + assertTrue(ba.enthaelt(628)); + } + + @Test + public void test040() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(39)); + assertEquals(281,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(562)); + assertFalse(ba.enthaelt(19)); + assertFalse(ba.enthaelt(848)); + assertFalse(ba.enthaelt(681)); + assertFalse(ba.enthaelt(878)); + assertFalse(ba.enthaelt(407)); + assertTrue(ba.enthaelt(38)); + assertFalse(ba.enthaelt(641)); + assertTrue(ba.enthaelt(634)); + assertFalse(ba.enthaelt(577)); + assertFalse(ba.enthaelt(976)); + assertFalse(ba.enthaelt(300)); + assertTrue(ba.enthaelt(760)); + assertTrue(ba.enthaelt(476)); + assertTrue(ba.enthaelt(899)); + assertTrue(ba.enthaelt(851)); + assertTrue(ba.enthaelt(618)); + assertTrue(ba.enthaelt(808)); + assertTrue(ba.enthaelt(244)); + assertTrue(ba.enthaelt(401)); + } + + @Test + public void test041() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(40)); + assertEquals(117,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(517)); + assertFalse(ba.enthaelt(883)); + assertFalse(ba.enthaelt(382)); + assertFalse(ba.enthaelt(1008)); + assertFalse(ba.enthaelt(949)); + assertFalse(ba.enthaelt(24)); + assertFalse(ba.enthaelt(207)); + assertFalse(ba.enthaelt(147)); + assertTrue(ba.enthaelt(733)); + assertTrue(ba.enthaelt(847)); + assertFalse(ba.enthaelt(741)); + assertFalse(ba.enthaelt(868)); + assertFalse(ba.enthaelt(785)); + assertTrue(ba.enthaelt(544)); + assertTrue(ba.enthaelt(302)); + assertTrue(ba.enthaelt(797)); + assertTrue(ba.enthaelt(449)); + assertTrue(ba.enthaelt(620)); + assertTrue(ba.enthaelt(465)); + assertTrue(ba.enthaelt(587)); + } + + @Test + public void test042() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(41)); + assertEquals(97,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(201)); + assertFalse(ba.enthaelt(293)); + assertFalse(ba.enthaelt(287)); + assertTrue(ba.enthaelt(627)); + assertTrue(ba.enthaelt(225)); + assertFalse(ba.enthaelt(224)); + assertTrue(ba.enthaelt(994)); + assertFalse(ba.enthaelt(177)); + assertFalse(ba.enthaelt(644)); + assertFalse(ba.enthaelt(935)); + assertFalse(ba.enthaelt(1006)); + assertFalse(ba.enthaelt(488)); + assertFalse(ba.enthaelt(746)); + assertTrue(ba.enthaelt(179)); + assertTrue(ba.enthaelt(1)); + assertTrue(ba.enthaelt(903)); + assertTrue(ba.enthaelt(522)); + assertTrue(ba.enthaelt(407)); + assertTrue(ba.enthaelt(313)); + assertTrue(ba.enthaelt(156)); + } + + @Test + public void test043() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(42)); + assertEquals(157,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(608)); + assertTrue(ba.enthaelt(375)); + assertFalse(ba.enthaelt(689)); + assertFalse(ba.enthaelt(856)); + assertTrue(ba.enthaelt(139)); + assertFalse(ba.enthaelt(693)); + assertFalse(ba.enthaelt(887)); + assertFalse(ba.enthaelt(481)); + assertFalse(ba.enthaelt(256)); + assertFalse(ba.enthaelt(182)); + assertFalse(ba.enthaelt(751)); + assertFalse(ba.enthaelt(114)); + assertTrue(ba.enthaelt(875)); + assertTrue(ba.enthaelt(516)); + assertTrue(ba.enthaelt(838)); + assertTrue(ba.enthaelt(744)); + assertTrue(ba.enthaelt(78)); + assertTrue(ba.enthaelt(797)); + assertTrue(ba.enthaelt(362)); + assertTrue(ba.enthaelt(755)); + } + + @Test + public void test044() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(43)); + assertEquals(347,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(357)); + assertFalse(ba.enthaelt(718)); + assertTrue(ba.enthaelt(756)); + assertTrue(ba.enthaelt(58)); + assertFalse(ba.enthaelt(313)); + assertFalse(ba.enthaelt(530)); + assertTrue(ba.enthaelt(902)); + assertFalse(ba.enthaelt(402)); + assertTrue(ba.enthaelt(197)); + assertFalse(ba.enthaelt(854)); + assertTrue(ba.enthaelt(751)); + assertFalse(ba.enthaelt(942)); + assertFalse(ba.enthaelt(450)); + assertFalse(ba.enthaelt(864)); + assertTrue(ba.enthaelt(220)); + assertFalse(ba.enthaelt(835)); + assertTrue(ba.enthaelt(191)); + assertTrue(ba.enthaelt(859)); + assertTrue(ba.enthaelt(793)); + assertTrue(ba.enthaelt(237)); + } + + @Test + public void test045() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(44)); + assertEquals(459,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(126)); + assertFalse(ba.enthaelt(328)); + assertTrue(ba.enthaelt(305)); + assertFalse(ba.enthaelt(597)); + assertFalse(ba.enthaelt(0)); + assertFalse(ba.enthaelt(747)); + assertFalse(ba.enthaelt(1019)); + assertFalse(ba.enthaelt(93)); + assertFalse(ba.enthaelt(866)); + assertTrue(ba.enthaelt(271)); + assertFalse(ba.enthaelt(81)); + assertFalse(ba.enthaelt(228)); + assertTrue(ba.enthaelt(241)); + assertTrue(ba.enthaelt(335)); + assertTrue(ba.enthaelt(257)); + assertTrue(ba.enthaelt(83)); + assertTrue(ba.enthaelt(885)); + assertTrue(ba.enthaelt(303)); + assertTrue(ba.enthaelt(498)); + assertTrue(ba.enthaelt(366)); + } + + @Test + public void test046() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(45)); + assertEquals(187,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(916)); + assertFalse(ba.enthaelt(489)); + assertFalse(ba.enthaelt(370)); + assertFalse(ba.enthaelt(361)); + assertFalse(ba.enthaelt(635)); + assertFalse(ba.enthaelt(991)); + assertTrue(ba.enthaelt(308)); + assertFalse(ba.enthaelt(677)); + assertTrue(ba.enthaelt(203)); + assertFalse(ba.enthaelt(818)); + assertFalse(ba.enthaelt(175)); + assertFalse(ba.enthaelt(992)); + assertTrue(ba.enthaelt(72)); + assertTrue(ba.enthaelt(516)); + assertTrue(ba.enthaelt(127)); + assertTrue(ba.enthaelt(357)); + assertTrue(ba.enthaelt(535)); + assertTrue(ba.enthaelt(623)); + assertTrue(ba.enthaelt(526)); + assertTrue(ba.enthaelt(483)); + } + + @Test + public void test047() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(46)); + assertEquals(119,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(174)); + assertFalse(ba.enthaelt(700)); + assertFalse(ba.enthaelt(172)); + assertFalse(ba.enthaelt(679)); + assertFalse(ba.enthaelt(459)); + assertFalse(ba.enthaelt(522)); + assertFalse(ba.enthaelt(552)); + assertFalse(ba.enthaelt(1001)); + assertFalse(ba.enthaelt(448)); + assertFalse(ba.enthaelt(578)); + assertTrue(ba.enthaelt(157)); + assertTrue(ba.enthaelt(830)); + assertTrue(ba.enthaelt(316)); + assertTrue(ba.enthaelt(504)); + assertTrue(ba.enthaelt(307)); + assertTrue(ba.enthaelt(516)); + assertTrue(ba.enthaelt(533)); + assertTrue(ba.enthaelt(378)); + assertTrue(ba.enthaelt(151)); + assertTrue(ba.enthaelt(23)); + } + + @Test + public void test048() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(47)); + assertEquals(81,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(763)); + assertFalse(ba.enthaelt(697)); + assertFalse(ba.enthaelt(24)); + assertFalse(ba.enthaelt(516)); + assertFalse(ba.enthaelt(997)); + assertFalse(ba.enthaelt(874)); + assertFalse(ba.enthaelt(331)); + assertFalse(ba.enthaelt(602)); + assertFalse(ba.enthaelt(952)); + assertFalse(ba.enthaelt(928)); + assertTrue(ba.enthaelt(794)); + assertTrue(ba.enthaelt(342)); + assertTrue(ba.enthaelt(551)); + assertTrue(ba.enthaelt(600)); + assertTrue(ba.enthaelt(532)); + assertTrue(ba.enthaelt(86)); + assertTrue(ba.enthaelt(217)); + assertTrue(ba.enthaelt(921)); + assertTrue(ba.enthaelt(115)); + assertTrue(ba.enthaelt(32)); + } + + @Test + public void test049() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(48)); + assertEquals(349,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(394)); + assertFalse(ba.enthaelt(690)); + assertFalse(ba.enthaelt(3)); + assertTrue(ba.enthaelt(400)); + assertFalse(ba.enthaelt(264)); + assertFalse(ba.enthaelt(823)); + assertTrue(ba.enthaelt(569)); + assertFalse(ba.enthaelt(140)); + assertFalse(ba.enthaelt(1008)); + assertTrue(ba.enthaelt(42)); + assertFalse(ba.enthaelt(818)); + assertFalse(ba.enthaelt(902)); + assertTrue(ba.enthaelt(41)); + assertFalse(ba.enthaelt(631)); + assertFalse(ba.enthaelt(927)); + assertTrue(ba.enthaelt(790)); + assertTrue(ba.enthaelt(464)); + assertTrue(ba.enthaelt(447)); + assertTrue(ba.enthaelt(203)); + assertTrue(ba.enthaelt(774)); + } + + @Test + public void test050() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(49)); + assertEquals(73,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertTrue(ba.enthaelt(942)); + assertFalse(ba.enthaelt(310)); + assertFalse(ba.enthaelt(44)); + assertFalse(ba.enthaelt(536)); + assertFalse(ba.enthaelt(512)); + assertTrue(ba.enthaelt(257)); + assertFalse(ba.enthaelt(219)); + assertFalse(ba.enthaelt(73)); + assertFalse(ba.enthaelt(474)); + assertTrue(ba.enthaelt(21)); + assertFalse(ba.enthaelt(820)); + assertFalse(ba.enthaelt(358)); + assertFalse(ba.enthaelt(651)); + assertTrue(ba.enthaelt(97)); + assertTrue(ba.enthaelt(309)); + assertTrue(ba.enthaelt(815)); + assertTrue(ba.enthaelt(914)); + assertTrue(ba.enthaelt(959)); + assertTrue(ba.enthaelt(183)); + assertTrue(ba.enthaelt(502)); + } + + @Test + public void test051() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(50)); + assertEquals(115,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(985)); + assertFalse(ba.enthaelt(199)); + assertFalse(ba.enthaelt(872)); + assertFalse(ba.enthaelt(721)); + assertFalse(ba.enthaelt(396)); + assertFalse(ba.enthaelt(318)); + assertFalse(ba.enthaelt(625)); + assertFalse(ba.enthaelt(762)); + assertFalse(ba.enthaelt(324)); + assertFalse(ba.enthaelt(913)); + assertTrue(ba.enthaelt(869)); + assertTrue(ba.enthaelt(541)); + assertTrue(ba.enthaelt(444)); + assertTrue(ba.enthaelt(937)); + assertTrue(ba.enthaelt(837)); + assertTrue(ba.enthaelt(898)); + assertTrue(ba.enthaelt(843)); + assertTrue(ba.enthaelt(236)); + assertTrue(ba.enthaelt(954)); + assertTrue(ba.enthaelt(752)); + } + + @Test + public void test052() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(51)); + assertEquals(437,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(352)); + assertTrue(ba.enthaelt(305)); + assertFalse(ba.enthaelt(708)); + assertTrue(ba.enthaelt(670)); + assertTrue(ba.enthaelt(281)); + assertFalse(ba.enthaelt(677)); + assertTrue(ba.enthaelt(410)); + assertFalse(ba.enthaelt(1015)); + assertFalse(ba.enthaelt(555)); + assertFalse(ba.enthaelt(1004)); + assertFalse(ba.enthaelt(768)); + assertFalse(ba.enthaelt(774)); + assertTrue(ba.enthaelt(491)); + assertTrue(ba.enthaelt(589)); + assertFalse(ba.enthaelt(360)); + assertFalse(ba.enthaelt(720)); + assertTrue(ba.enthaelt(779)); + assertTrue(ba.enthaelt(871)); + assertTrue(ba.enthaelt(538)); + assertTrue(ba.enthaelt(918)); + } + + @Test + public void test053() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(52)); + assertEquals(209,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(719)); + assertFalse(ba.enthaelt(933)); + assertFalse(ba.enthaelt(77)); + assertFalse(ba.enthaelt(844)); + assertFalse(ba.enthaelt(744)); + assertFalse(ba.enthaelt(1008)); + assertFalse(ba.enthaelt(208)); + assertFalse(ba.enthaelt(17)); + assertFalse(ba.enthaelt(171)); + assertFalse(ba.enthaelt(290)); + assertTrue(ba.enthaelt(44)); + assertTrue(ba.enthaelt(780)); + assertTrue(ba.enthaelt(303)); + assertTrue(ba.enthaelt(343)); + assertTrue(ba.enthaelt(177)); + assertTrue(ba.enthaelt(488)); + assertTrue(ba.enthaelt(85)); + assertTrue(ba.enthaelt(574)); + assertTrue(ba.enthaelt(765)); + assertTrue(ba.enthaelt(150)); + } + + @Test + public void test054() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(53)); + assertEquals(151,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(272)); + assertTrue(ba.enthaelt(254)); + assertFalse(ba.enthaelt(72)); + assertTrue(ba.enthaelt(739)); + assertTrue(ba.enthaelt(119)); + assertFalse(ba.enthaelt(605)); + assertFalse(ba.enthaelt(438)); + assertTrue(ba.enthaelt(738)); + assertFalse(ba.enthaelt(3)); + assertFalse(ba.enthaelt(27)); + assertFalse(ba.enthaelt(572)); + assertFalse(ba.enthaelt(1003)); + assertFalse(ba.enthaelt(971)); + assertFalse(ba.enthaelt(283)); + assertTrue(ba.enthaelt(566)); + assertTrue(ba.enthaelt(159)); + assertTrue(ba.enthaelt(505)); + assertTrue(ba.enthaelt(755)); + assertTrue(ba.enthaelt(540)); + assertTrue(ba.enthaelt(126)); + } + + @Test + public void test055() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(54)); + assertEquals(311,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(619)); + assertTrue(ba.enthaelt(583)); + assertTrue(ba.enthaelt(258)); + assertFalse(ba.enthaelt(855)); + assertFalse(ba.enthaelt(436)); + assertTrue(ba.enthaelt(182)); + assertTrue(ba.enthaelt(587)); + assertTrue(ba.enthaelt(880)); + assertFalse(ba.enthaelt(883)); + assertFalse(ba.enthaelt(225)); + assertFalse(ba.enthaelt(460)); + assertFalse(ba.enthaelt(501)); + assertFalse(ba.enthaelt(286)); + assertFalse(ba.enthaelt(727)); + assertFalse(ba.enthaelt(589)); + assertFalse(ba.enthaelt(773)); + assertTrue(ba.enthaelt(912)); + assertTrue(ba.enthaelt(671)); + assertTrue(ba.enthaelt(245)); + assertTrue(ba.enthaelt(145)); + } + + @Test + public void test056() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(55)); + assertEquals(93,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertTrue(ba.enthaelt(232)); + assertFalse(ba.enthaelt(504)); + assertFalse(ba.enthaelt(951)); + assertFalse(ba.enthaelt(628)); + assertFalse(ba.enthaelt(292)); + assertFalse(ba.enthaelt(575)); + assertFalse(ba.enthaelt(188)); + assertFalse(ba.enthaelt(255)); + assertFalse(ba.enthaelt(913)); + assertFalse(ba.enthaelt(592)); + assertFalse(ba.enthaelt(649)); + assertTrue(ba.enthaelt(897)); + assertTrue(ba.enthaelt(385)); + assertTrue(ba.enthaelt(128)); + assertTrue(ba.enthaelt(228)); + assertTrue(ba.enthaelt(430)); + assertTrue(ba.enthaelt(653)); + assertTrue(ba.enthaelt(497)); + assertTrue(ba.enthaelt(317)); + assertTrue(ba.enthaelt(269)); + } + + @Test + public void test057() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(56)); + assertEquals(499,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(83)); + assertFalse(ba.enthaelt(557)); + assertFalse(ba.enthaelt(863)); + assertTrue(ba.enthaelt(569)); + assertTrue(ba.enthaelt(116)); + assertFalse(ba.enthaelt(841)); + assertTrue(ba.enthaelt(683)); + assertFalse(ba.enthaelt(450)); + assertFalse(ba.enthaelt(783)); + assertTrue(ba.enthaelt(49)); + assertFalse(ba.enthaelt(87)); + assertTrue(ba.enthaelt(983)); + assertTrue(ba.enthaelt(810)); + assertTrue(ba.enthaelt(354)); + assertFalse(ba.enthaelt(155)); + assertFalse(ba.enthaelt(2)); + assertFalse(ba.enthaelt(725)); + assertTrue(ba.enthaelt(786)); + assertTrue(ba.enthaelt(916)); + assertFalse(ba.enthaelt(1009)); + } + + @Test + public void test058() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(57)); + assertEquals(243,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertTrue(ba.enthaelt(737)); + assertFalse(ba.enthaelt(969)); + assertFalse(ba.enthaelt(1004)); + assertTrue(ba.enthaelt(633)); + assertFalse(ba.enthaelt(993)); + assertFalse(ba.enthaelt(367)); + assertFalse(ba.enthaelt(743)); + assertFalse(ba.enthaelt(998)); + assertFalse(ba.enthaelt(841)); + assertFalse(ba.enthaelt(775)); + assertTrue(ba.enthaelt(365)); + assertFalse(ba.enthaelt(1018)); + assertFalse(ba.enthaelt(517)); + assertTrue(ba.enthaelt(242)); + assertTrue(ba.enthaelt(100)); + assertTrue(ba.enthaelt(404)); + assertTrue(ba.enthaelt(635)); + assertTrue(ba.enthaelt(337)); + assertTrue(ba.enthaelt(347)); + assertTrue(ba.enthaelt(133)); + } + + @Test + public void test059() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(58)); + assertEquals(875,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(665)); + assertFalse(ba.enthaelt(774)); + assertFalse(ba.enthaelt(855)); + assertFalse(ba.enthaelt(490)); + assertFalse(ba.enthaelt(690)); + assertFalse(ba.enthaelt(975)); + assertTrue(ba.enthaelt(385)); + assertTrue(ba.enthaelt(789)); + assertFalse(ba.enthaelt(625)); + assertTrue(ba.enthaelt(569)); + assertTrue(ba.enthaelt(818)); + assertFalse(ba.enthaelt(442)); + assertTrue(ba.enthaelt(826)); + assertTrue(ba.enthaelt(566)); + assertFalse(ba.enthaelt(1001)); + assertFalse(ba.enthaelt(886)); + assertTrue(ba.enthaelt(49)); + assertFalse(ba.enthaelt(463)); + assertTrue(ba.enthaelt(29)); + assertTrue(ba.enthaelt(84)); + } + + @Test + public void test060() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(59)); + assertEquals(251,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(81)); + assertFalse(ba.enthaelt(447)); + assertTrue(ba.enthaelt(998)); + assertFalse(ba.enthaelt(0)); + assertFalse(ba.enthaelt(1000)); + assertFalse(ba.enthaelt(118)); + assertFalse(ba.enthaelt(86)); + assertFalse(ba.enthaelt(570)); + assertFalse(ba.enthaelt(104)); + assertTrue(ba.enthaelt(495)); + assertFalse(ba.enthaelt(584)); + assertFalse(ba.enthaelt(560)); + assertTrue(ba.enthaelt(623)); + assertFalse(ba.enthaelt(1005)); + assertTrue(ba.enthaelt(740)); + assertTrue(ba.enthaelt(360)); + assertTrue(ba.enthaelt(630)); + assertTrue(ba.enthaelt(264)); + assertTrue(ba.enthaelt(220)); + assertTrue(ba.enthaelt(469)); + } + + @Test + public void test061() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(60)); + assertEquals(97,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(432)); + assertFalse(ba.enthaelt(345)); + assertFalse(ba.enthaelt(594)); + assertFalse(ba.enthaelt(752)); + assertFalse(ba.enthaelt(751)); + assertFalse(ba.enthaelt(998)); + assertTrue(ba.enthaelt(9)); + assertFalse(ba.enthaelt(940)); + assertFalse(ba.enthaelt(1002)); + assertFalse(ba.enthaelt(296)); + assertFalse(ba.enthaelt(951)); + assertTrue(ba.enthaelt(169)); + assertTrue(ba.enthaelt(392)); + assertTrue(ba.enthaelt(226)); + assertTrue(ba.enthaelt(885)); + assertTrue(ba.enthaelt(350)); + assertTrue(ba.enthaelt(799)); + assertTrue(ba.enthaelt(877)); + assertTrue(ba.enthaelt(180)); + assertTrue(ba.enthaelt(836)); + } + + @Test + public void test062() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(61)); + assertEquals(85,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(1019)); + assertFalse(ba.enthaelt(997)); + assertFalse(ba.enthaelt(340)); + assertFalse(ba.enthaelt(594)); + assertFalse(ba.enthaelt(996)); + assertFalse(ba.enthaelt(766)); + assertFalse(ba.enthaelt(241)); + assertFalse(ba.enthaelt(192)); + assertFalse(ba.enthaelt(740)); + assertFalse(ba.enthaelt(869)); + assertTrue(ba.enthaelt(75)); + assertTrue(ba.enthaelt(3)); + assertTrue(ba.enthaelt(634)); + assertTrue(ba.enthaelt(814)); + assertTrue(ba.enthaelt(438)); + assertTrue(ba.enthaelt(785)); + assertTrue(ba.enthaelt(755)); + assertTrue(ba.enthaelt(446)); + assertTrue(ba.enthaelt(414)); + assertTrue(ba.enthaelt(579)); + } + + @Test + public void test063() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(62)); + assertEquals(221,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(251)); + assertFalse(ba.enthaelt(138)); + assertTrue(ba.enthaelt(803)); + assertFalse(ba.enthaelt(280)); + assertFalse(ba.enthaelt(62)); + assertFalse(ba.enthaelt(665)); + assertFalse(ba.enthaelt(429)); + assertTrue(ba.enthaelt(524)); + assertFalse(ba.enthaelt(656)); + assertTrue(ba.enthaelt(463)); + assertFalse(ba.enthaelt(131)); + assertFalse(ba.enthaelt(759)); + assertFalse(ba.enthaelt(26)); + assertTrue(ba.enthaelt(303)); + assertTrue(ba.enthaelt(213)); + assertTrue(ba.enthaelt(167)); + assertTrue(ba.enthaelt(399)); + assertTrue(ba.enthaelt(264)); + assertTrue(ba.enthaelt(944)); + assertTrue(ba.enthaelt(625)); + } + + @Test + public void test064() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(63)); + assertEquals(115,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(690)); + assertFalse(ba.enthaelt(204)); + assertFalse(ba.enthaelt(525)); + assertFalse(ba.enthaelt(448)); + assertFalse(ba.enthaelt(658)); + assertFalse(ba.enthaelt(628)); + assertFalse(ba.enthaelt(444)); + assertFalse(ba.enthaelt(28)); + assertFalse(ba.enthaelt(622)); + assertFalse(ba.enthaelt(270)); + assertFalse(ba.enthaelt(731)); + assertTrue(ba.enthaelt(38)); + assertTrue(ba.enthaelt(479)); + assertTrue(ba.enthaelt(182)); + assertTrue(ba.enthaelt(24)); + assertTrue(ba.enthaelt(754)); + assertTrue(ba.enthaelt(308)); + assertTrue(ba.enthaelt(838)); + assertTrue(ba.enthaelt(85)); + assertTrue(ba.enthaelt(289)); + } + + @Test + public void test065() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(64)); + assertEquals(513,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(579)); + assertFalse(ba.enthaelt(140)); + assertFalse(ba.enthaelt(598)); + assertFalse(ba.enthaelt(303)); + assertTrue(ba.enthaelt(524)); + assertFalse(ba.enthaelt(776)); + assertFalse(ba.enthaelt(522)); + assertTrue(ba.enthaelt(323)); + assertFalse(ba.enthaelt(168)); + assertTrue(ba.enthaelt(787)); + assertFalse(ba.enthaelt(922)); + assertFalse(ba.enthaelt(3)); + assertFalse(ba.enthaelt(1007)); + assertTrue(ba.enthaelt(900)); + assertTrue(ba.enthaelt(988)); + assertTrue(ba.enthaelt(113)); + assertTrue(ba.enthaelt(274)); + assertTrue(ba.enthaelt(653)); + assertTrue(ba.enthaelt(958)); + assertTrue(ba.enthaelt(866)); + } + + @Test + public void test066() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(65)); + assertEquals(79,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(21)); + assertFalse(ba.enthaelt(658)); + assertFalse(ba.enthaelt(843)); + assertFalse(ba.enthaelt(441)); + assertTrue(ba.enthaelt(976)); + assertFalse(ba.enthaelt(797)); + assertFalse(ba.enthaelt(986)); + assertFalse(ba.enthaelt(159)); + assertFalse(ba.enthaelt(305)); + assertFalse(ba.enthaelt(486)); + assertFalse(ba.enthaelt(290)); + assertTrue(ba.enthaelt(221)); + assertTrue(ba.enthaelt(216)); + assertTrue(ba.enthaelt(696)); + assertTrue(ba.enthaelt(517)); + assertTrue(ba.enthaelt(898)); + assertTrue(ba.enthaelt(820)); + assertTrue(ba.enthaelt(243)); + assertTrue(ba.enthaelt(874)); + assertTrue(ba.enthaelt(225)); + } + + @Test + public void test067() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(66)); + assertEquals(145,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(588)); + assertFalse(ba.enthaelt(860)); + assertTrue(ba.enthaelt(451)); + assertFalse(ba.enthaelt(461)); + assertFalse(ba.enthaelt(634)); + assertFalse(ba.enthaelt(154)); + assertTrue(ba.enthaelt(146)); + assertFalse(ba.enthaelt(581)); + assertFalse(ba.enthaelt(778)); + assertFalse(ba.enthaelt(986)); + assertFalse(ba.enthaelt(580)); + assertFalse(ba.enthaelt(685)); + assertTrue(ba.enthaelt(305)); + assertTrue(ba.enthaelt(669)); + assertTrue(ba.enthaelt(106)); + assertTrue(ba.enthaelt(635)); + assertTrue(ba.enthaelt(173)); + assertTrue(ba.enthaelt(536)); + assertTrue(ba.enthaelt(249)); + assertTrue(ba.enthaelt(244)); + } + + @Test + public void test068() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(67)); + assertEquals(653,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(950)); + assertFalse(ba.enthaelt(762)); + assertFalse(ba.enthaelt(499)); + assertFalse(ba.enthaelt(543)); + assertTrue(ba.enthaelt(161)); + assertFalse(ba.enthaelt(288)); + assertFalse(ba.enthaelt(135)); + assertTrue(ba.enthaelt(119)); + assertTrue(ba.enthaelt(379)); + assertFalse(ba.enthaelt(9)); + assertFalse(ba.enthaelt(854)); + assertFalse(ba.enthaelt(634)); + assertTrue(ba.enthaelt(215)); + assertFalse(ba.enthaelt(345)); + assertTrue(ba.enthaelt(326)); + assertFalse(ba.enthaelt(948)); + assertTrue(ba.enthaelt(328)); + assertTrue(ba.enthaelt(803)); + assertTrue(ba.enthaelt(463)); + assertTrue(ba.enthaelt(212)); + } + + @Test + public void test069() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(68)); + assertEquals(231,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(450)); + assertFalse(ba.enthaelt(942)); + assertFalse(ba.enthaelt(343)); + assertFalse(ba.enthaelt(195)); + assertFalse(ba.enthaelt(521)); + assertFalse(ba.enthaelt(377)); + assertFalse(ba.enthaelt(839)); + assertFalse(ba.enthaelt(727)); + assertFalse(ba.enthaelt(643)); + assertFalse(ba.enthaelt(750)); + assertTrue(ba.enthaelt(422)); + assertTrue(ba.enthaelt(569)); + assertTrue(ba.enthaelt(852)); + assertTrue(ba.enthaelt(808)); + assertTrue(ba.enthaelt(771)); + assertTrue(ba.enthaelt(874)); + assertTrue(ba.enthaelt(49)); + assertTrue(ba.enthaelt(308)); + assertTrue(ba.enthaelt(176)); + assertTrue(ba.enthaelt(198)); + } + + @Test + public void test070() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(69)); + assertEquals(241,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(982)); + assertFalse(ba.enthaelt(326)); + assertTrue(ba.enthaelt(925)); + assertTrue(ba.enthaelt(680)); + assertTrue(ba.enthaelt(71)); + assertFalse(ba.enthaelt(494)); + assertFalse(ba.enthaelt(841)); + assertFalse(ba.enthaelt(915)); + assertTrue(ba.enthaelt(100)); + assertFalse(ba.enthaelt(215)); + assertFalse(ba.enthaelt(48)); + assertFalse(ba.enthaelt(5)); + assertFalse(ba.enthaelt(891)); + assertFalse(ba.enthaelt(372)); + assertTrue(ba.enthaelt(908)); + assertTrue(ba.enthaelt(451)); + assertTrue(ba.enthaelt(258)); + assertTrue(ba.enthaelt(473)); + assertTrue(ba.enthaelt(861)); + assertTrue(ba.enthaelt(734)); + } + + @Test + public void test071() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(70)); + assertEquals(147,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(803)); + assertFalse(ba.enthaelt(898)); + assertFalse(ba.enthaelt(464)); + assertFalse(ba.enthaelt(12)); + assertFalse(ba.enthaelt(439)); + assertFalse(ba.enthaelt(673)); + assertFalse(ba.enthaelt(750)); + assertTrue(ba.enthaelt(494)); + assertFalse(ba.enthaelt(1007)); + assertFalse(ba.enthaelt(119)); + assertFalse(ba.enthaelt(113)); + assertTrue(ba.enthaelt(588)); + assertTrue(ba.enthaelt(829)); + assertTrue(ba.enthaelt(617)); + assertTrue(ba.enthaelt(644)); + assertTrue(ba.enthaelt(537)); + assertTrue(ba.enthaelt(471)); + assertTrue(ba.enthaelt(70)); + assertTrue(ba.enthaelt(769)); + assertTrue(ba.enthaelt(581)); + } + + @Test + public void test072() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(71)); + assertEquals(165,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertTrue(ba.enthaelt(447)); + assertTrue(ba.enthaelt(675)); + assertFalse(ba.enthaelt(172)); + assertFalse(ba.enthaelt(438)); + assertTrue(ba.enthaelt(105)); + assertFalse(ba.enthaelt(198)); + assertFalse(ba.enthaelt(328)); + assertFalse(ba.enthaelt(86)); + assertFalse(ba.enthaelt(293)); + assertFalse(ba.enthaelt(441)); + assertFalse(ba.enthaelt(466)); + assertFalse(ba.enthaelt(572)); + assertTrue(ba.enthaelt(499)); + assertFalse(ba.enthaelt(218)); + assertTrue(ba.enthaelt(518)); + assertTrue(ba.enthaelt(813)); + assertTrue(ba.enthaelt(32)); + assertTrue(ba.enthaelt(554)); + assertTrue(ba.enthaelt(152)); + assertTrue(ba.enthaelt(19)); + } + + @Test + public void test073() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(72)); + assertEquals(231,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(891)); + assertFalse(ba.enthaelt(908)); + assertTrue(ba.enthaelt(138)); + assertFalse(ba.enthaelt(1012)); + assertFalse(ba.enthaelt(189)); + assertTrue(ba.enthaelt(745)); + assertFalse(ba.enthaelt(799)); + assertTrue(ba.enthaelt(922)); + assertTrue(ba.enthaelt(595)); + assertFalse(ba.enthaelt(391)); + assertFalse(ba.enthaelt(31)); + assertFalse(ba.enthaelt(177)); + assertFalse(ba.enthaelt(673)); + assertFalse(ba.enthaelt(348)); + assertTrue(ba.enthaelt(850)); + assertTrue(ba.enthaelt(162)); + assertTrue(ba.enthaelt(820)); + assertTrue(ba.enthaelt(219)); + assertTrue(ba.enthaelt(388)); + assertTrue(ba.enthaelt(694)); + } + + @Test + public void test074() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(73)); + assertEquals(191,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(92)); + assertFalse(ba.enthaelt(929)); + assertTrue(ba.enthaelt(312)); + assertFalse(ba.enthaelt(209)); + assertFalse(ba.enthaelt(843)); + assertFalse(ba.enthaelt(935)); + assertFalse(ba.enthaelt(6)); + assertFalse(ba.enthaelt(529)); + assertFalse(ba.enthaelt(567)); + assertFalse(ba.enthaelt(646)); + assertFalse(ba.enthaelt(116)); + assertTrue(ba.enthaelt(788)); + assertTrue(ba.enthaelt(487)); + assertTrue(ba.enthaelt(330)); + assertTrue(ba.enthaelt(813)); + assertTrue(ba.enthaelt(77)); + assertTrue(ba.enthaelt(624)); + assertTrue(ba.enthaelt(722)); + assertTrue(ba.enthaelt(566)); + assertTrue(ba.enthaelt(215)); + } + + @Test + public void test075() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(74)); + assertEquals(137,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(733)); + assertTrue(ba.enthaelt(561)); + assertFalse(ba.enthaelt(354)); + assertFalse(ba.enthaelt(820)); + assertFalse(ba.enthaelt(230)); + assertFalse(ba.enthaelt(40)); + assertFalse(ba.enthaelt(671)); + assertFalse(ba.enthaelt(624)); + assertFalse(ba.enthaelt(872)); + assertFalse(ba.enthaelt(375)); + assertFalse(ba.enthaelt(394)); + assertTrue(ba.enthaelt(151)); + assertTrue(ba.enthaelt(815)); + assertTrue(ba.enthaelt(951)); + assertTrue(ba.enthaelt(821)); + assertTrue(ba.enthaelt(364)); + assertTrue(ba.enthaelt(293)); + assertTrue(ba.enthaelt(58)); + assertTrue(ba.enthaelt(798)); + assertTrue(ba.enthaelt(51)); + } + + @Test + public void test076() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(75)); + assertEquals(63,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(259)); + assertFalse(ba.enthaelt(272)); + assertTrue(ba.enthaelt(251)); + assertFalse(ba.enthaelt(961)); + assertFalse(ba.enthaelt(214)); + assertFalse(ba.enthaelt(963)); + assertFalse(ba.enthaelt(921)); + assertTrue(ba.enthaelt(278)); + assertFalse(ba.enthaelt(521)); + assertFalse(ba.enthaelt(302)); + assertFalse(ba.enthaelt(621)); + assertFalse(ba.enthaelt(640)); + assertTrue(ba.enthaelt(655)); + assertTrue(ba.enthaelt(829)); + assertTrue(ba.enthaelt(557)); + assertTrue(ba.enthaelt(419)); + assertTrue(ba.enthaelt(566)); + assertTrue(ba.enthaelt(581)); + assertTrue(ba.enthaelt(627)); + assertTrue(ba.enthaelt(385)); + } + + @Test + public void test077() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(76)); + assertEquals(265,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(59)); + assertTrue(ba.enthaelt(384)); + assertFalse(ba.enthaelt(286)); + assertTrue(ba.enthaelt(195)); + assertFalse(ba.enthaelt(432)); + assertTrue(ba.enthaelt(591)); + assertFalse(ba.enthaelt(107)); + assertTrue(ba.enthaelt(867)); + assertFalse(ba.enthaelt(51)); + assertFalse(ba.enthaelt(883)); + assertFalse(ba.enthaelt(206)); + assertFalse(ba.enthaelt(981)); + assertFalse(ba.enthaelt(32)); + assertFalse(ba.enthaelt(782)); + assertTrue(ba.enthaelt(352)); + assertTrue(ba.enthaelt(804)); + assertTrue(ba.enthaelt(767)); + assertTrue(ba.enthaelt(129)); + assertTrue(ba.enthaelt(483)); + assertTrue(ba.enthaelt(372)); + } + + @Test + public void test078() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(77)); + assertEquals(211,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(520)); + assertFalse(ba.enthaelt(832)); + assertTrue(ba.enthaelt(98)); + assertFalse(ba.enthaelt(240)); + assertFalse(ba.enthaelt(1015)); + assertFalse(ba.enthaelt(367)); + assertFalse(ba.enthaelt(237)); + assertFalse(ba.enthaelt(873)); + assertFalse(ba.enthaelt(672)); + assertFalse(ba.enthaelt(269)); + assertTrue(ba.enthaelt(115)); + assertFalse(ba.enthaelt(493)); + assertTrue(ba.enthaelt(772)); + assertTrue(ba.enthaelt(36)); + assertTrue(ba.enthaelt(766)); + assertTrue(ba.enthaelt(329)); + assertTrue(ba.enthaelt(519)); + assertTrue(ba.enthaelt(566)); + assertTrue(ba.enthaelt(192)); + assertTrue(ba.enthaelt(114)); + } + + @Test + public void test079() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(78)); + assertEquals(77,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(774)); + assertFalse(ba.enthaelt(217)); + assertFalse(ba.enthaelt(274)); + assertFalse(ba.enthaelt(342)); + assertFalse(ba.enthaelt(175)); + assertTrue(ba.enthaelt(282)); + assertFalse(ba.enthaelt(191)); + assertFalse(ba.enthaelt(640)); + assertFalse(ba.enthaelt(373)); + assertFalse(ba.enthaelt(17)); + assertFalse(ba.enthaelt(950)); + assertTrue(ba.enthaelt(14)); + assertTrue(ba.enthaelt(391)); + assertTrue(ba.enthaelt(127)); + assertTrue(ba.enthaelt(402)); + assertTrue(ba.enthaelt(327)); + assertTrue(ba.enthaelt(420)); + assertTrue(ba.enthaelt(151)); + assertTrue(ba.enthaelt(313)); + assertTrue(ba.enthaelt(747)); + } + + @Test + public void test080() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(79)); + assertEquals(301,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(21)); + assertFalse(ba.enthaelt(562)); + assertFalse(ba.enthaelt(89)); + assertTrue(ba.enthaelt(366)); + assertFalse(ba.enthaelt(207)); + assertFalse(ba.enthaelt(825)); + assertFalse(ba.enthaelt(289)); + assertFalse(ba.enthaelt(1016)); + assertFalse(ba.enthaelt(213)); + assertFalse(ba.enthaelt(326)); + assertFalse(ba.enthaelt(407)); + assertTrue(ba.enthaelt(225)); + assertTrue(ba.enthaelt(576)); + assertTrue(ba.enthaelt(180)); + assertTrue(ba.enthaelt(504)); + assertTrue(ba.enthaelt(374)); + assertTrue(ba.enthaelt(239)); + assertTrue(ba.enthaelt(139)); + assertTrue(ba.enthaelt(327)); + assertTrue(ba.enthaelt(286)); + } + + @Test + public void test081() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(80)); + assertEquals(577,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(345)); + assertFalse(ba.enthaelt(461)); + assertFalse(ba.enthaelt(1007)); + assertTrue(ba.enthaelt(821)); + assertFalse(ba.enthaelt(446)); + assertTrue(ba.enthaelt(748)); + assertFalse(ba.enthaelt(400)); + assertTrue(ba.enthaelt(505)); + assertFalse(ba.enthaelt(898)); + assertTrue(ba.enthaelt(10)); + assertFalse(ba.enthaelt(72)); + assertTrue(ba.enthaelt(222)); + assertFalse(ba.enthaelt(977)); + assertTrue(ba.enthaelt(555)); + assertTrue(ba.enthaelt(870)); + assertFalse(ba.enthaelt(845)); + assertTrue(ba.enthaelt(795)); + assertTrue(ba.enthaelt(12)); + assertTrue(ba.enthaelt(233)); + assertFalse(ba.enthaelt(731)); + } + + @Test + public void test082() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(81)); + assertEquals(99,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(508)); + assertFalse(ba.enthaelt(542)); + assertFalse(ba.enthaelt(12)); + assertFalse(ba.enthaelt(739)); + assertFalse(ba.enthaelt(770)); + assertFalse(ba.enthaelt(1010)); + assertFalse(ba.enthaelt(1018)); + assertFalse(ba.enthaelt(15)); + assertTrue(ba.enthaelt(418)); + assertFalse(ba.enthaelt(969)); + assertFalse(ba.enthaelt(962)); + assertTrue(ba.enthaelt(191)); + assertTrue(ba.enthaelt(31)); + assertTrue(ba.enthaelt(299)); + assertTrue(ba.enthaelt(846)); + assertTrue(ba.enthaelt(768)); + assertTrue(ba.enthaelt(973)); + assertTrue(ba.enthaelt(772)); + assertTrue(ba.enthaelt(629)); + assertTrue(ba.enthaelt(844)); + } + + @Test + public void test083() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(82)); + assertEquals(393,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(762)); + assertFalse(ba.enthaelt(749)); + assertFalse(ba.enthaelt(560)); + assertFalse(ba.enthaelt(646)); + assertTrue(ba.enthaelt(558)); + assertFalse(ba.enthaelt(8)); + assertFalse(ba.enthaelt(683)); + assertFalse(ba.enthaelt(805)); + assertTrue(ba.enthaelt(668)); + assertTrue(ba.enthaelt(434)); + assertTrue(ba.enthaelt(483)); + assertFalse(ba.enthaelt(962)); + assertTrue(ba.enthaelt(137)); + assertTrue(ba.enthaelt(239)); + assertFalse(ba.enthaelt(747)); + assertTrue(ba.enthaelt(583)); + assertFalse(ba.enthaelt(298)); + assertTrue(ba.enthaelt(608)); + assertTrue(ba.enthaelt(914)); + assertTrue(ba.enthaelt(717)); + } + + @Test + public void test084() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(83)); + assertEquals(203,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(198)); + assertFalse(ba.enthaelt(805)); + assertFalse(ba.enthaelt(725)); + assertFalse(ba.enthaelt(434)); + assertTrue(ba.enthaelt(289)); + assertFalse(ba.enthaelt(330)); + assertTrue(ba.enthaelt(130)); + assertFalse(ba.enthaelt(876)); + assertFalse(ba.enthaelt(812)); + assertFalse(ba.enthaelt(989)); + assertFalse(ba.enthaelt(51)); + assertFalse(ba.enthaelt(594)); + assertTrue(ba.enthaelt(673)); + assertTrue(ba.enthaelt(988)); + assertTrue(ba.enthaelt(940)); + assertTrue(ba.enthaelt(352)); + assertTrue(ba.enthaelt(756)); + assertTrue(ba.enthaelt(435)); + assertTrue(ba.enthaelt(525)); + assertTrue(ba.enthaelt(196)); + } + + @Test + public void test085() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(84)); + assertEquals(123,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(332)); + assertTrue(ba.enthaelt(580)); + assertFalse(ba.enthaelt(197)); + assertTrue(ba.enthaelt(188)); + assertFalse(ba.enthaelt(175)); + assertFalse(ba.enthaelt(59)); + assertFalse(ba.enthaelt(402)); + assertFalse(ba.enthaelt(200)); + assertTrue(ba.enthaelt(265)); + assertFalse(ba.enthaelt(320)); + assertTrue(ba.enthaelt(969)); + assertFalse(ba.enthaelt(54)); + assertFalse(ba.enthaelt(190)); + assertTrue(ba.enthaelt(664)); + assertFalse(ba.enthaelt(1010)); + assertTrue(ba.enthaelt(340)); + assertTrue(ba.enthaelt(679)); + assertTrue(ba.enthaelt(909)); + assertTrue(ba.enthaelt(588)); + assertTrue(ba.enthaelt(416)); + } + + @Test + public void test086() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(85)); + assertEquals(425,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(406)); + assertFalse(ba.enthaelt(372)); + assertFalse(ba.enthaelt(429)); + assertFalse(ba.enthaelt(108)); + assertFalse(ba.enthaelt(158)); + assertFalse(ba.enthaelt(241)); + assertFalse(ba.enthaelt(24)); + assertFalse(ba.enthaelt(581)); + assertTrue(ba.enthaelt(258)); + assertFalse(ba.enthaelt(692)); + assertFalse(ba.enthaelt(127)); + assertTrue(ba.enthaelt(593)); + assertTrue(ba.enthaelt(212)); + assertTrue(ba.enthaelt(492)); + assertTrue(ba.enthaelt(767)); + assertTrue(ba.enthaelt(90)); + assertTrue(ba.enthaelt(457)); + assertTrue(ba.enthaelt(793)); + assertTrue(ba.enthaelt(209)); + assertTrue(ba.enthaelt(180)); + } + + @Test + public void test087() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(86)); + assertEquals(43,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(247)); + assertTrue(ba.enthaelt(787)); + assertFalse(ba.enthaelt(299)); + assertFalse(ba.enthaelt(117)); + assertFalse(ba.enthaelt(733)); + assertFalse(ba.enthaelt(565)); + assertFalse(ba.enthaelt(530)); + assertFalse(ba.enthaelt(363)); + assertFalse(ba.enthaelt(827)); + assertFalse(ba.enthaelt(995)); + assertFalse(ba.enthaelt(926)); + assertTrue(ba.enthaelt(294)); + assertTrue(ba.enthaelt(759)); + assertTrue(ba.enthaelt(972)); + assertTrue(ba.enthaelt(703)); + assertTrue(ba.enthaelt(739)); + assertTrue(ba.enthaelt(339)); + assertTrue(ba.enthaelt(589)); + assertTrue(ba.enthaelt(6)); + assertTrue(ba.enthaelt(450)); + } + + @Test + public void test088() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(87)); + assertEquals(579,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(1017)); + assertFalse(ba.enthaelt(557)); + assertTrue(ba.enthaelt(742)); + assertFalse(ba.enthaelt(95)); + assertFalse(ba.enthaelt(748)); + assertFalse(ba.enthaelt(839)); + assertFalse(ba.enthaelt(612)); + assertFalse(ba.enthaelt(131)); + assertTrue(ba.enthaelt(433)); + assertFalse(ba.enthaelt(64)); + assertFalse(ba.enthaelt(739)); + assertTrue(ba.enthaelt(831)); + assertTrue(ba.enthaelt(743)); + assertTrue(ba.enthaelt(368)); + assertFalse(ba.enthaelt(674)); + assertTrue(ba.enthaelt(889)); + assertTrue(ba.enthaelt(81)); + assertTrue(ba.enthaelt(435)); + assertTrue(ba.enthaelt(13)); + assertTrue(ba.enthaelt(350)); + } + + @Test + public void test089() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(88)); + assertEquals(229,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertTrue(ba.enthaelt(37)); + assertFalse(ba.enthaelt(73)); + assertFalse(ba.enthaelt(642)); + assertTrue(ba.enthaelt(83)); + assertFalse(ba.enthaelt(38)); + assertFalse(ba.enthaelt(859)); + assertTrue(ba.enthaelt(324)); + assertFalse(ba.enthaelt(475)); + assertTrue(ba.enthaelt(793)); + assertFalse(ba.enthaelt(472)); + assertFalse(ba.enthaelt(81)); + assertFalse(ba.enthaelt(480)); + assertFalse(ba.enthaelt(954)); + assertFalse(ba.enthaelt(466)); + assertTrue(ba.enthaelt(984)); + assertTrue(ba.enthaelt(540)); + assertTrue(ba.enthaelt(316)); + assertTrue(ba.enthaelt(721)); + assertTrue(ba.enthaelt(927)); + assertTrue(ba.enthaelt(517)); + } + + @Test + public void test090() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(89)); + assertEquals(159,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(686)); + assertFalse(ba.enthaelt(84)); + assertFalse(ba.enthaelt(210)); + assertFalse(ba.enthaelt(541)); + assertTrue(ba.enthaelt(775)); + assertFalse(ba.enthaelt(429)); + assertFalse(ba.enthaelt(781)); + assertFalse(ba.enthaelt(133)); + assertTrue(ba.enthaelt(578)); + assertFalse(ba.enthaelt(103)); + assertFalse(ba.enthaelt(750)); + assertFalse(ba.enthaelt(295)); + assertFalse(ba.enthaelt(19)); + assertTrue(ba.enthaelt(278)); + assertTrue(ba.enthaelt(189)); + assertTrue(ba.enthaelt(826)); + assertTrue(ba.enthaelt(511)); + assertTrue(ba.enthaelt(999)); + assertTrue(ba.enthaelt(731)); + assertTrue(ba.enthaelt(39)); + } + + @Test + public void test091() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(90)); + assertEquals(329,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(161)); + assertFalse(ba.enthaelt(698)); + assertFalse(ba.enthaelt(777)); + assertFalse(ba.enthaelt(204)); + assertFalse(ba.enthaelt(373)); + assertFalse(ba.enthaelt(467)); + assertTrue(ba.enthaelt(42)); + assertFalse(ba.enthaelt(897)); + assertTrue(ba.enthaelt(533)); + assertFalse(ba.enthaelt(864)); + assertTrue(ba.enthaelt(538)); + assertFalse(ba.enthaelt(142)); + assertFalse(ba.enthaelt(667)); + assertTrue(ba.enthaelt(783)); + assertTrue(ba.enthaelt(422)); + assertTrue(ba.enthaelt(48)); + assertTrue(ba.enthaelt(81)); + assertTrue(ba.enthaelt(478)); + assertTrue(ba.enthaelt(99)); + assertTrue(ba.enthaelt(834)); + } + + @Test + public void test092() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(91)); + assertEquals(87,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(77)); + assertTrue(ba.enthaelt(369)); + assertFalse(ba.enthaelt(596)); + assertFalse(ba.enthaelt(777)); + assertFalse(ba.enthaelt(899)); + assertFalse(ba.enthaelt(901)); + assertFalse(ba.enthaelt(985)); + assertFalse(ba.enthaelt(891)); + assertFalse(ba.enthaelt(785)); + assertFalse(ba.enthaelt(700)); + assertFalse(ba.enthaelt(98)); + assertTrue(ba.enthaelt(996)); + assertTrue(ba.enthaelt(356)); + assertTrue(ba.enthaelt(688)); + assertTrue(ba.enthaelt(746)); + assertTrue(ba.enthaelt(554)); + assertTrue(ba.enthaelt(92)); + assertTrue(ba.enthaelt(238)); + assertTrue(ba.enthaelt(779)); + assertTrue(ba.enthaelt(105)); + } + + @Test + public void test093() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(92)); + assertEquals(99,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(185)); + assertFalse(ba.enthaelt(447)); + assertFalse(ba.enthaelt(401)); + assertFalse(ba.enthaelt(86)); + assertFalse(ba.enthaelt(744)); + assertFalse(ba.enthaelt(535)); + assertFalse(ba.enthaelt(886)); + assertFalse(ba.enthaelt(775)); + assertFalse(ba.enthaelt(810)); + assertFalse(ba.enthaelt(988)); + assertTrue(ba.enthaelt(67)); + assertTrue(ba.enthaelt(678)); + assertTrue(ba.enthaelt(50)); + assertTrue(ba.enthaelt(144)); + assertTrue(ba.enthaelt(959)); + assertTrue(ba.enthaelt(448)); + assertTrue(ba.enthaelt(636)); + assertTrue(ba.enthaelt(633)); + assertTrue(ba.enthaelt(296)); + assertTrue(ba.enthaelt(947)); + } + + @Test + public void test094() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(93)); + assertEquals(137,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(965)); + assertFalse(ba.enthaelt(826)); + assertFalse(ba.enthaelt(551)); + assertFalse(ba.enthaelt(651)); + assertFalse(ba.enthaelt(740)); + assertFalse(ba.enthaelt(993)); + assertFalse(ba.enthaelt(11)); + assertFalse(ba.enthaelt(497)); + assertFalse(ba.enthaelt(700)); + assertFalse(ba.enthaelt(177)); + assertTrue(ba.enthaelt(125)); + assertTrue(ba.enthaelt(816)); + assertTrue(ba.enthaelt(26)); + assertTrue(ba.enthaelt(80)); + assertTrue(ba.enthaelt(824)); + assertTrue(ba.enthaelt(381)); + assertTrue(ba.enthaelt(687)); + assertTrue(ba.enthaelt(37)); + assertTrue(ba.enthaelt(943)); + assertTrue(ba.enthaelt(363)); + } + + @Test + public void test095() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(94)); + assertEquals(357,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(229)); + assertFalse(ba.enthaelt(313)); + assertTrue(ba.enthaelt(769)); + assertFalse(ba.enthaelt(74)); + assertFalse(ba.enthaelt(936)); + assertFalse(ba.enthaelt(373)); + assertFalse(ba.enthaelt(473)); + assertFalse(ba.enthaelt(694)); + assertFalse(ba.enthaelt(663)); + assertTrue(ba.enthaelt(391)); + assertTrue(ba.enthaelt(225)); + assertTrue(ba.enthaelt(783)); + assertFalse(ba.enthaelt(224)); + assertFalse(ba.enthaelt(531)); + assertTrue(ba.enthaelt(625)); + assertTrue(ba.enthaelt(186)); + assertTrue(ba.enthaelt(442)); + assertTrue(ba.enthaelt(374)); + assertTrue(ba.enthaelt(597)); + assertTrue(ba.enthaelt(999)); + } + + @Test + public void test096() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(95)); + assertEquals(79,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(630)); + assertFalse(ba.enthaelt(193)); + assertFalse(ba.enthaelt(100)); + assertFalse(ba.enthaelt(73)); + assertFalse(ba.enthaelt(926)); + assertFalse(ba.enthaelt(417)); + assertFalse(ba.enthaelt(214)); + assertTrue(ba.enthaelt(63)); + assertFalse(ba.enthaelt(329)); + assertFalse(ba.enthaelt(246)); + assertFalse(ba.enthaelt(934)); + assertTrue(ba.enthaelt(198)); + assertTrue(ba.enthaelt(256)); + assertTrue(ba.enthaelt(655)); + assertTrue(ba.enthaelt(441)); + assertTrue(ba.enthaelt(927)); + assertTrue(ba.enthaelt(74)); + assertTrue(ba.enthaelt(576)); + assertTrue(ba.enthaelt(702)); + assertTrue(ba.enthaelt(333)); + } + + @Test + public void test097() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(96)); + assertEquals(141,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(98)); + assertFalse(ba.enthaelt(259)); + assertFalse(ba.enthaelt(169)); + assertFalse(ba.enthaelt(917)); + assertFalse(ba.enthaelt(103)); + assertFalse(ba.enthaelt(15)); + assertFalse(ba.enthaelt(931)); + assertFalse(ba.enthaelt(265)); + assertFalse(ba.enthaelt(226)); + assertTrue(ba.enthaelt(639)); + assertFalse(ba.enthaelt(775)); + assertTrue(ba.enthaelt(150)); + assertTrue(ba.enthaelt(183)); + assertTrue(ba.enthaelt(281)); + assertTrue(ba.enthaelt(510)); + assertTrue(ba.enthaelt(428)); + assertTrue(ba.enthaelt(631)); + assertTrue(ba.enthaelt(221)); + assertTrue(ba.enthaelt(533)); + assertTrue(ba.enthaelt(12)); + } + + @Test + public void test098() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(97)); + assertEquals(139,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(889)); + assertFalse(ba.enthaelt(987)); + assertFalse(ba.enthaelt(441)); + assertFalse(ba.enthaelt(33)); + assertFalse(ba.enthaelt(485)); + assertFalse(ba.enthaelt(482)); + assertFalse(ba.enthaelt(946)); + assertFalse(ba.enthaelt(299)); + assertFalse(ba.enthaelt(227)); + assertFalse(ba.enthaelt(147)); + assertTrue(ba.enthaelt(763)); + assertTrue(ba.enthaelt(63)); + assertTrue(ba.enthaelt(169)); + assertTrue(ba.enthaelt(57)); + assertTrue(ba.enthaelt(100)); + assertTrue(ba.enthaelt(263)); + assertTrue(ba.enthaelt(401)); + assertTrue(ba.enthaelt(301)); + assertTrue(ba.enthaelt(214)); + assertTrue(ba.enthaelt(30)); + } + + @Test + public void test099() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(98)); + assertEquals(169,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(896)); + assertFalse(ba.enthaelt(714)); + assertTrue(ba.enthaelt(308)); + assertTrue(ba.enthaelt(597)); + assertFalse(ba.enthaelt(354)); + assertFalse(ba.enthaelt(760)); + assertTrue(ba.enthaelt(610)); + assertFalse(ba.enthaelt(411)); + assertFalse(ba.enthaelt(259)); + assertFalse(ba.enthaelt(127)); + assertFalse(ba.enthaelt(541)); + assertFalse(ba.enthaelt(269)); + assertFalse(ba.enthaelt(379)); + assertTrue(ba.enthaelt(322)); + assertTrue(ba.enthaelt(670)); + assertTrue(ba.enthaelt(568)); + assertTrue(ba.enthaelt(156)); + assertTrue(ba.enthaelt(882)); + assertTrue(ba.enthaelt(952)); + assertTrue(ba.enthaelt(102)); + } + + @Test + public void test100() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(99)); + assertEquals(119,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(334)); + assertFalse(ba.enthaelt(0)); + assertFalse(ba.enthaelt(307)); + assertFalse(ba.enthaelt(572)); + assertFalse(ba.enthaelt(273)); + assertFalse(ba.enthaelt(644)); + assertFalse(ba.enthaelt(671)); + assertFalse(ba.enthaelt(976)); + assertFalse(ba.enthaelt(1007)); + assertFalse(ba.enthaelt(697)); + assertTrue(ba.enthaelt(968)); + assertTrue(ba.enthaelt(33)); + assertTrue(ba.enthaelt(411)); + assertTrue(ba.enthaelt(780)); + assertTrue(ba.enthaelt(387)); + assertTrue(ba.enthaelt(263)); + assertTrue(ba.enthaelt(396)); + assertTrue(ba.enthaelt(198)); + assertTrue(ba.enthaelt(6)); + assertTrue(ba.enthaelt(28)); + } +} diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/Baumalgorithmen.java b/Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/Baumalgorithmen.java new file mode 100644 index 0000000..38fa9e7 --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/Baumalgorithmen.java @@ -0,0 +1,120 @@ + +/** + * Führt verschiedene Algorithmen auf Binärbäumen aus + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class Baumalgorithmen +{ + /** + * Die Wurzel des Baums, mit dem der Algorithmus durchgeführt werden soll + */ + protected Binaerbaum wurzel; + + /** + * Erzeugt ein neues Algorithmen-Objekt + * @param wurzel Die Wurzel des Baums, der verarbeitet werden soll + */ + public Baumalgorithmen(Binaerbaum wurzel) + { + this.wurzel = wurzel; + } + + /** + * Zeigt den Baum auf der Konsole an. + */ + public void baumAnzeigen() + { + if (wurzel != null) + { + System.out.println(wurzel.daten); + baumAnzeigen(wurzel.links, "", true); + baumAnzeigen(wurzel.rechts, "", false); + } + } + + private void baumAnzeigen(Binaerbaum b, String indent, boolean left) + { + System.out.print(indent); + System.out.print(left ? "\u251C " : "\u2514 "); + if (b != null) + { + System.out.println(b.daten); + if (b.links != null || b.rechts != null) + { + indent += (left ? "\u2502 " : " "); + baumAnzeigen(b.links, indent, true); + baumAnzeigen(b.rechts, indent, false); + } + } + else + { + System.out.println(""); + } + } + + /** + * Gibt die Tiefe des Baums zurück + * @return Die Tiefe des Baums, gezählt ab der Wurzel + */ + public int tiefe() + { + return tiefe(wurzel); + } + + /** + * Gibt die Tiefe eines Baums zurück + * @param b Der Baum, dessen Tiefe bestimmt werden soll + * @return Die Tiefe des Baums, gezählt ab b + */ + private int tiefe(Binaerbaum b) + { + //# TODO: Bestimmen Sie die Tiefe des Binärbaums b. + //# Ein leerer Baum hat nach Definition die Tiefe 0. + //# Ein Blatt hat die Tiefe 1. + return 0; + } + + /** + * Gibt die Anzahl der Knoten im Baums zurück + * @return Die Anzahl aller Knoten im Baum + */ + public int anzahl() + { + return anzahl(wurzel); + } + + /** + * Gibt die Anzahl der Knoten in einem Baums zurück + * @param b Der Baum, in dem die Knoten gezählt werden sollen + * @return Die Anzahl der Knoten, die sich von b an im Baum befinden (inklusive b) + */ + private int anzahl(Binaerbaum b) + { + //# TODO: Bestimmen Sie die Anzahl der Knoten des Binärbaums b mit seinen Unterbäumen. + return 0; + } + + /** + * Prüft, ob sich ein Wert im Baum befindet + * @param wert Der zu suchende Wert + * @return true, wenn ein Knoten den Wert enthält; false sonst + */ + public boolean enthaelt(T wert) + { + return enthaelt(wurzel, wert); + } + + /** + * Prüft, ob sich ein Wert in b oder darunter befindet + * @param b Der Baum, in dem der Wert gesucht werden soll + * @return true, wenn b oder einer seiner Kindknoten den Wert enthält; false sonst + */ + private boolean enthaelt(Binaerbaum b, T wert) + { + //# TODO: Bestimmen Sie, ob der Binärbaum b oder einer seiner Unterbäume den Wert wert enthält. + //# Achtung: Ein Vergleich muss mit equals durchgeführt werden. + return false; + } +} diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/Binaerbaum.java b/Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/Binaerbaum.java new file mode 100644 index 0000000..2f05bbc --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/Binaerbaum.java @@ -0,0 +1,63 @@ + +/** + * Ein Knoten eines Binärbaums + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class Binaerbaum +{ + /** + * Der Datenwert des Knotens + */ + public T daten; + + /** + * Der linke Kindbaum + */ + public Binaerbaum links; + + /** + * Der rechte Kindbaum + */ + public Binaerbaum rechts; + + /** + * Erzeugt einen Blattknoten mit leerem Datenwert + */ + public Binaerbaum() + { + this(null, null, null); + } + + /** + * Erzeugt einen Knoten mit Datenwert und Kindern + * @param daten Der Datenwert + * @param links Der linke Kindbaum + * @param rechts Der rechte Kindbaum + */ + public Binaerbaum(T daten, Binaerbaum links, Binaerbaum rechts) + { + this.daten = daten; + this.links = links; + this.rechts = rechts; + } + + /** + * Erzeugt einen Blattknoten mit Datenwert + * @param daten Der Datenwert + */ + public Binaerbaum(T daten) + { + this(daten, null, null); + } + + /** + * Gibt zurück, ob der Knoten ein Blatt ist + * @return true, wenn der Knoten ein Blatt ist; false sonst + */ + public boolean istBlatt() + { + return links == null && rechts == null; + } +} diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/README.TXT b/Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/README.TXT new file mode 100644 index 0000000000000000000000000000000000000000..ee5db68148783a073467d5ec8da02bd3dbb914d4 GIT binary patch literal 370 zcmZutK~BRk5bQax81)2F6;(avmKM{73O7m|D&^*oO=ICW$ZmJD)5s4XeP zzZ;NagS9f#*;dne^x_CYQ9}#F=3TZLqp6YF>C%kmv_M~hl);g#gEwxacHUVHE)1Sn zmL~^}z9x&iSQL*Dc>hLS> baeume; + + private static void readFile() + { + try + { + FileReader fileReader = new FileReader("testfaelle.txt"); + BufferedReader bufferedReader = new BufferedReader(fileReader); + baeume = new ArrayList>(); + String line = null; + while ((line = bufferedReader.readLine()) != null) { + AtomicInteger ai = new AtomicInteger(0); + Binaerbaum b = parse(line.toCharArray(), ai); + baeume.add(b); + } + bufferedReader.close(); + } + catch(Exception x) + { + System.out.println(x.getMessage()); + baeume = null; + } + } + + private static Binaerbaum parse(char[] c, AtomicInteger s) + { + int anfang = s.incrementAndGet(); + while(c[s.get()] != '(' && c[s.get()] != ')') + { + s.incrementAndGet(); + } + String tmp = new String(c, anfang, s.get()-anfang); + int value = Integer.parseInt(tmp); + Binaerbaum ergebnis = new Binaerbaum(value); + if (c[s.get()] == '(') + { + ergebnis.links = parse(c, s); + s.incrementAndGet(); + ergebnis.rechts = parse(c, s); + s.incrementAndGet(); + } + return ergebnis; + } + + /** + * Gibt einen der Testbäume aus der Datei zurück + * @param nummer Die Nummer des Baums + * @return Den gewünschten Baum, wenn die Nummer gültig ist; null sonst + */ + public static Binaerbaum getTestBaum(int nummer) + { + if (baeume == null) + readFile(); + if (nummer >= 0 && nummer < baeume.size()) + return baeume.get(nummer); + return null; + } +} diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/package.bluej b/Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/package.bluej new file mode 100644 index 0000000..89cde6b --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/package.bluej @@ -0,0 +1,65 @@ +#BlueJ package file +dependency1.from=Baumalgorithmen +dependency1.to=Binaerbaum +dependency1.type=UsesDependency +dependency2.from=BaumTester +dependency2.to=Baumalgorithmen +dependency2.type=UsesDependency +dependency3.from=BaumTester +dependency3.to=Testbaeume +dependency3.type=UsesDependency +dependency4.from=Testbaeume +dependency4.to=Binaerbaum +dependency4.type=UsesDependency +editor.fx.0.height=0 +editor.fx.0.width=0 +editor.fx.0.x=0 +editor.fx.0.y=0 +objectbench.height=93 +objectbench.width=760 +package.divider.horizontal=0.6 +package.divider.vertical=0.8 +package.editor.height=393 +package.editor.width=649 +package.editor.x=62 +package.editor.y=344 +package.frame.height=600 +package.frame.width=800 +package.numDependencies=4 +package.numTargets=4 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=Binaerbaum +target1.showInterface=false +target1.type=ClassTarget +target1.width=130 +target1.x=170 +target1.y=60 +target2.height=50 +target2.name=Baumalgorithmen +target2.showInterface=false +target2.type=ClassTarget +target2.width=160 +target2.x=300 +target2.y=130 +target3.height=50 +target3.name=BaumTester +target3.showInterface=false +target3.type=UnitTestTargetJunit4 +target3.width=100 +target3.x=460 +target3.y=210 +target4.height=50 +target4.name=Testbaeume +target4.showInterface=false +target4.type=ClassTarget +target4.width=100 +target4.x=80 +target4.y=260 diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/testfaelle.txt b/Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/testfaelle.txt new file mode 100644 index 0000000..7c0595c --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/01_baumalgorithmen_roh/testfaelle.txt @@ -0,0 +1,100 @@ +(366(518(665(284(101(853(360(314(190(465(386(162)(241))(459(197)(861)))(654(427(528)(255))(351(835)(533))))(445(394)(717(311)(530(253)(429)))))(756))(749(236(53(339(469(265)(695))(642(837)(192)))(860))(215))(618(340)(547(201(410)(811(37)(331)))(567)))))(130))(685(76(105(293(837)(262))(3(766)(875(161)(773(65(505)(939))(351(33)(379))))))(94))(301(90(820(166(63(931(73)(590))(936(439)(190)))(990(270(240)(807))(795)))(194(919(694)(244(430)(243)))(924)))(468(420(668)(282(73(966)(860))(270(400)(608))))(914(467)(402(915(547)(648))(96(715)(255))))))(259(870(672(733)(854(327(778)(811))(150)))(629(398(837)(333(203)(270)))(104(749(730)(534))(59(668)(940)))))(769(130)(366(408)(674)))))))(512(869(507(359(823(542)(799(713(910(693)(435))(319(663)(736)))(198)))(992))(682))(73(49)(872)))(715(628)(297))))(274(532(581(418(844)(325))(747(420(97(426(902)(991(682(440)(307))(361(493)(173))))(82(739)(645)))(493(837(182)(720(245)(817(498)(968))))(831(302)(939(429(907)(473))(914)))))(859(111(802(413(303)(291))(432(883(20)(891))(560(263)(932))))(874(85(679(130)(79))(2(761)(596)))(959(675(66)(894))(847(899)(364)))))(448))))(844(446)(690(377)(561))))(615(266)(757(612)(509(374)(641(998(367(40(223(598)(359))(129(700)(312)))(539(534(127)(583))(351(551)(108))))(276))(111(860(406(706(561)(854))(298))(680))(919))))))))(830(154(760(719(29)(9(395(471(575(625)(960(743(939)(344))(499)))(413(186(60(224)(691))(951(821)(906)))(320)))(640(555(914)(820))(910(657(725(105)(879))(896(538)(806)))(572(13(175)(254))(362(276)(664))))))(118(129(973(588)(843(20)(212(115)(2))))(300))(215(15(322)(317(144(646)(549))(411)))(50(274(452(129)(879))(454(473)(758)))(568(13(766)(542))(981(129)(211))))))))(170))(900(132(614(589(526)(550))(379(947(268(789(787(255)(889))(234))(258(112(9)(669))(593(871)(191))))(248))(451(474(35(112(436)(165))(930(550)(739)))(339(271)(745(56)(905))))(790(981)(562(33(737)(533))(648(530)(140)))))))(488))(136)))(123(832(708(637(395)(156))(360))(71(498(989(10(571)(964(248(460)(751(848)(925)))(626)))(758))(190(357(999(155)(944(210(223)(239))(687(125)(817))))(395))(593(170(119)(73(269(614)(685))(84)))(185(672)(587(80)(633))))))(198(495(107)(91(487(163(178)(628(935)(376)))(977(513)(648)))(925)))(546(595)(908(440)(557(74)(328(318(304)(292))(883(209)(198)))))))))(459(108)(358(450(817)(161))(233(503(321)(365(295)(392(811)(18(807(785)(268))(821)))))(757))))))) +(796(145(612(934(49(576)(126(436(825(199)(657))(983(245)(286)))(942(105)(545))))(42(514(577)(575(8(157)(275))(617(534)(266))))(714(783(935(907)(964))(88(376)(912)))(653(24(199)(221))(244(526)(50))))))(829(186(24(829(855(529)(692))(429(635)(202)))(932(306)(120)))(368(495)(41(566)(512(591)(478)))))(4(650(339(8(605)(714))(203(926)(92)))(480(778(367)(273))(414(4)(191))))(102(889(558(413)(379))(159(931)(866)))(514)))))(743(286(669)(277(800(656)(842))(576(680(913(429)(355))(445(51)(681)))(311))))(194)))(273(760(978(506)(240(273(592(409(521)(731))(937(463)(941)))(284))(839(932)(502(996(396)(90))(444)))))(56(620(37(872)(131(377(950)(185))(416)))(170(22(834(726)(208))(247(839)(205)))(597(103(154)(349))(810))))(109)))(886(39)(9(499(597(217)(763(530(174)(699))(257(904)(185))))(54(556(310(258)(475))(382(66)(187)))(995(958)(993(604)(14)))))(502(827)(808(131)(428(580(983)(342))(388)))))))) +(683(388(163(757)(113(798(174)(612(46(595)(66))(674(828)(41))))(837(948)(258(646(887)(334))(441(959)(15))))))(744(332(589)(551(671(661)(186(43)(947)))(681(301(229)(228))(419(887)(865)))))(207)))(954(649(258(654(185(288)(577(9)(344)))(661))(251))(435(410(565(15(469)(812))(665))(33))(917)))(770(69(985(916)(629(968)(719)))(656(628(39(481)(590))(210(705)(518)))(785(914)(995(221)(913)))))(861(435(98(150(51)(562))(343(706)(189)))(607))(219(404(741(216)(249))(423(258)(347)))(904(417(770)(210))(691(104)(997)))))))) +(163(852(819(592(619(567(235(402)(879(960)(406(195)(948))))(669(976(604(382)(740))(284))(611(837)(69(328)(239)))))(271))(870(664(295)(145(255)(36)))(876(194)(712(318(31)(915))(351)))))(475(45)(991)))(335(743(755)(441))(814(763(950(321(350)(387(947(374)(845))(38)))(849(23(344)(652(250)(120)))(988(691(304)(951))(110))))(705(909(916(751)(189))(747(450(764)(834))(394(517)(35))))(585(864)(9(673(898)(179))(76(160)(447))))))(731(392(446)(381))(540(656(864(0)(367(693)(629)))(305(0(125)(838))(535(938)(768))))(178(488(744(415)(328))(595))(422(371(6)(235))(884(7)(398)))))))))(946(361(346)(711(14(616(523(666(232(648)(755))(728))(870(901(690)(411))(864(527)(334))))(349(958)(27(805(192)(926))(986))))(311))(105(73(250)(466))(829(43(210(547(955)(206))(842(637)(520)))(690(984(704)(385))(715)))(277)))))(192(118)(909(177)(488(363(453(752(711(252)(343))(616(279)(315)))(62(250(718)(464))(853)))(280))(86(183(905)(319))(545(502(153(524)(28))(234(654)(538)))(207(202(196)(925))(751(611)(540)))))))))) +(428(369(333(668(626(728(715(766(113)(716))(358(119)(581)))(792(313(214)(593))(205)))(32(858(988(487)(810))(621(586)(659)))(252(958(882)(514))(464(532)(840)))))(290(185(646(134(972)(477))(24(20)(865)))(399))(639(98(814)(127))(285))))(598(719)(631(631(694(304(356)(372))(964))(295(295(351)(625))(950(934)(653))))(471))))(956(283)(918(849(594(297(774(27)(354))(217(657)(825)))(77(634(185)(308))(111(4)(151))))(944(344)(375(186(396)(331))(177(727)(9)))))(133))))(99(272(200(740(632)(544(484)(958(464(67)(779))(948(915)(280)))))(477(421(114)(232))(67(277)(374))))(481))(441(952)(513(805(383)(271(610(991(943)(145))(439))(614(404(885)(884))(854))))(55))))) +(954(577(3(685(175(779)(365))(287(144)(836(706(119(312)(761))(557(73)(706)))(131(270(116)(381))(780)))))(216))(325(688(803(795(820)(525(572(4)(406))(757(601)(139))))(398))(528(589(176)(624(174(924)(770))(665)))(175(131)(373(254(835)(548))(110)))))(695(329(432)(136(60(100(202)(814))(507(520)(797)))(760(51)(834(867)(706)))))(568))))(734(449(453(865(372(14(423(909)(290))(489(357)(387)))(769))(131(165(83(3)(125))(62(892)(339)))(984(948(401)(423))(211(174)(525)))))(881))(491(850(4)(984(661)(297(312(741)(482))(326))))(141(768(319)(362(514)(961(78)(74))))(429(163(214(626)(417))(955(995)(411)))(774(262(570)(615))(701(753)(589)))))))(429(438(800(925)(168(983(992(905)(385))(362))(985)))(787))(675(764)(437(426(113)(38(884(13)(940))(752(625)(850))))(754(404)(45(677)(371)))))))) +(606(112(79(954)(960(122(347)(738(153(282(599)(182(702)(486)))(625(947(281)(667))(908(737)(30))))(547(894(892(645)(443))(909(3)(250)))(382(510(87)(553))(527(891)(916))))))(513(122(687(590(644)(378(496)(371)))(384(990(33)(526))(245(28)(810))))(466))(867))))(368(44(945)(632))(609(491(319(623(672)(43(292(275)(338))(40(268)(814))))(227))(936))(438))))(230(982(227)(924))(472(274(834(642)(916(266)(910)))(39))(379(505(863(557(492(353(564)(821))(33))(903(916(976)(447))(866)))(181(461(472)(769))(471)))(831(557(779)(836))(791(595(552)(443))(424))))(409(157(449(833(371(734)(276))(253(14)(773)))(981(853(792)(647))(0)))(999(660(110)(106(904)(231)))(178(126(941)(259))(369))))(69(263(565(454(473)(83))(828(438)(494)))(249(889(822)(405))(732(470)(264))))(453(200(341)(829(952)(810)))(381(78)(822(640)(995)))))))))) +(911(409(461(415)(644(343(732(308)(141))(219))(897(809(70)(642(978(138(879(224)(511(639)(526)))(744(799(189)(993))(976(946)(792))))(723(388)(125(744)(850))))(427(56(117(402)(708(547)(664)))(179(572(615)(248))(13(590)(296))))(645(413(742(584)(789))(208(771)(254)))(601(84(191)(813))(955(871)(166)))))))(313))))(599(187)(279)))(988(300(428(234(90(964(998)(707))(383(586(754(413(130)(204))(204))(439(53)(481(369(761)(90))(790(7)(27)))))(797(651(371)(490(543(735)(681))(298)))(982))))(848(301)(195)))(320))(178(776(474(407(794)(926(766(991(543(883)(3))(452(725)(134)))(14(79)(254(189)(389))))(479(847(752(427)(229))(131(866)(13)))(56))))(159(760(980(696)(107(54)(624(247)(944))))(6(637)(641)))(699)))(993(188(93(854(51)(217(980(791)(542))(501)))(143(398(439(871)(102))(615(983)(268)))(651(17)(754))))(784(781(482(163)(568(233)(416)))(392(982(892)(797))(377(648)(516))))(920(691(654(685)(75))(539))(134(47)(334(398)(829))))))(829(174(509(692(882)(18(581)(772)))(68))(699(836(792)(243))(558(831)(935(435)(193)))))(712))))(42(677(447(116(976(326)(840(354)(300(677)(729))))(736(383(184(317)(823))(408(89)(806)))(175(556)(922))))(875(196(931)(848(286(175)(274))(428(625)(905))))(103(661(574(713)(900))(394(562)(583)))(915))))(84(940(153)(482))(561(775(890(539(164)(416))(290(763)(984)))(5))(888))))(270(52(788(412(179)(201(388)(480(585)(231))))(259(463)(542(918)(412(453)(615)))))(313))(139)))))(389(964(60(636)(456(688(33)(293(946)(310(872(915(749)(657))(544(40)(984)))(851(557(258)(322))(271(63)(619))))))(632(64(959(615(501)(760(716)(853)))(666(360(427)(5))(566(120)(108))))(234(7(834)(320(781)(838)))(169(144(798)(625))(129(969)(647)))))(154))))(378(99)(287(198(565(105(960(865(851)(354))(342))(638(742(229)(493))(731)))(165(331(317(449)(192))(838))(421(585(669)(552))(233(938)(966)))))(630))(937))))(984(785(202)(192(319(370(663)(14))(438(704(702)(299(991(474)(591))(792(27)(188))))(596)))(803)))(811))))) +(789(549(347(66)(232(216)(334(182)(771(733)(213)))))(807(391(900(181)(983(290(105)(717(802)(875(18)(266(832)(179)))))(944(487(168(221(36)(79))(513(531)(955)))(532))(397(834(826(216)(937))(761))(667(441(870)(464))(67(457)(623)))))))(403(134)(698)))(592(222(425(952)(111))(483(626(25(202)(359(735(95)(950))(428(898)(334))))(495))(239)))(21(768)(224(122(958(980(480(333)(265))(191(7)(974)))(197))(643))(900(552(454(628(925)(864))(422(345)(883)))(459))(639)))))))(215(987(991)(473))(699(657(369(69(666(555(907(220(94)(769))(765(878)(666)))(866(516(874)(942))(955(75)(348))))(117(621(193(670)(94))(343(388)(950)))(269(272(667)(787))(87(684)(161)))))(997(613)(658(853)(680(801(479)(117))(381(100)(866))))))(298))(29(993)(268(135(115(994(554)(787))(709))(56))(889))))(582(343)(698))))) +(78(894(236(464)(309(794(437(372)(581))(604(967(426(157)(869))(411(808)(462)))(361(500(698)(610))(711(184)(755)))))(623(224(102)(360(572(35)(492))(698)))(781(916(150(750)(434))(296))(33(562)(293(286)(7)))))))(334(974(756)(757(272)(867(866(772)(881(776)(845)))(470(147)(950(939)(295))))))(52(64(783(689)(848(710)(702(315)(234))))(659))(553(261(355(730)(375(945)(477)))(391(974(579)(747))(257(662)(578))))(472)))))(781(562(312(370(643(904(223)(218(273)(576)))(933(151(110)(185))(418(680)(805))))(213(766(980)(479(976)(952)))(860)))(303(383(994)(744))(117)))(477))(88(709(182)(224(431)(514)))(205(445(684(593(864)(920(184)(590)))(714(664(890)(466))(70)))(578))(161(686)(43)))))) +(625(138(24(127)(87(799(704(45(53(762(592)(632(920)(338)))(26(134(8)(482))(441)))(133))(520(326(508(762(997)(197))(209(870)(273)))(890(275(700)(789))(9)))(712(325)(968(46(210)(645))(815(185)(127))))))(711(121(742)(591(675(143(800)(138))(633))(558(157)(651))))(758(642(309(430)(276(967)(339)))(425))(295(230)(158(642(98)(146))(353))))))(917)))(792(49(249(953(481(183(753(150)(154(551)(29)))(448(589(229)(760))(83(749)(860))))(131))(91(797(135(888(470)(964))(922(762)(823)))(971))(964)))(223(152)(352(83(590(300)(861))(933(331(640)(817))(502(56)(884))))(825))))(955(767(435(343(249(170(20)(367))(27(428)(907)))(913))(87(929)(328)))(74(116(441(3(877)(146))(835(74)(135)))(829(932(263)(64))(944)))(639(794)(613(27)(815(728)(666))))))(361(184(365)(996(632(20)(69(13)(949)))(922(489(471)(348))(866(337)(627)))))(425(180(438(219)(566))(414(66(811)(674))(397)))(894(551(529(603)(462))(821(710)(544)))(900(698)(43(356)(687))))))))(321(377(200(215)(144))(784(301)(350(349)(100(725(438(366)(154))(839))(866(197(390)(902))(564))))))(729(883(737)(490(409)(118)))(366(420)(444(311(936(629(348)(205))(256(52)(904)))(461(616(47)(111))(471)))(347)))))))(460(721(848(335)(198(972(362)(934))(484(157)(656))))(431(351)(808)))(211(597(996(486(888)(429(937(139)(372(951)(951)))(500(525(954(527)(733))(888(383)(247)))(849(662)(900(941)(344))))))(903))(664))(681(250(557(681(886(694)(57(99)(660(972)(981))))(755(453(786(263)(257))(666))(818)))(62))(36(690)(721)))(27(598(478)(739))(62(968(284(954(699(592)(703))(654(816)(279)))(791))(238))(909))))))) +(406(829(52(802(122(453)(306(227)(255(601(917(640(648)(92))(878))(878))(163(343)(710)))))(830(642(812(899(875(418)(308(739)(436)))(3(186(176)(964))(937)))(829))(893(199(62)(92(388(999)(153))(114(282)(164))))(664)))(186(897(306(926)(268(369(203)(793))(454(691)(749))))(986(702(875)(414(738)(868)))(112(427(61)(334))(587))))(480(534(307(401(489)(415))(641))(37))(743(148(491)(646(38)(947)))(267(889(91)(82))(421)))))))(316))(219(235(770(183)(525(870)(447)))(134(190(796)(215))(887)))(149)))(129(934(774(646(189(430)(181(746)(163)))(750(966(411(761)(48))(151(678(459)(898(200)(87)))(122(144(821)(563))(197))))(663(710)(455(990(778(924)(343))(141(528)(67)))(810(76(888)(887))(776(111)(724)))))))(236(294(494(515(366(793(506)(851))(977(319)(577)))(394))(542))(477(15(133(492(969)(554))(313))(543(367(969)(279))(719(658)(617))))(621(0(49)(845(422)(441)))(153))))(33(115(859(18)(642(274)(48(538)(237))))(628(598)(158(745(461)(599))(696))))(650))))(876(406(931(501(274)(32(370(850(399)(724))(431(810)(376)))(441(103(918)(580))(627(259)(688)))))(444(74(643)(577(2)(799)))(572(71)(27))))(971))(856(83(110)(838(69(804)(94))(897)))(582(322(364(665)(671))(849))(364(840(485(840(185)(242))(801))(231(965(857)(670))(475(888)(381))))(961(822(762(764)(838))(519(723)(402)))(634(434(39)(742))(43(84)(110)))))))))(289(571(177(274)(823))(984(118(921)(884(408(38)(685(48(172)(393))(571(64)(434))))(47(310)(237))))(484(693(207(487(582(867)(93))(855))(56))(755))(934(665(364(600)(852(620)(625)))(393(203(734)(525))(935(470)(656))))(872)))))(899)))) +(219(539(56(513(197(904(65)(576))(252(473)(757(720(869)(574))(908))))(69))(901(115(307(671(429)(897(919)(326)))(91(452(891)(898))(993(179)(950))))(835(925(586)(838(88)(934)))(419(965)(643(70)(83)))))(247(658(866)(281(36(257)(978))(865(753)(27))))(990(262(853)(17(294)(917)))(651(866(365)(998))(419(249)(595)))))))(237(822)(470(394(606)(886(579(243(296)(255))(579))(956)))(953))))(344(508(343(515)(792(283(647(124)(611))(81(548(85)(194))(837(938)(785))))(477(265)(185(499(232)(585))(459(419)(215))))))(156(242)(966)))(117(513(107(798(603(207(759)(129))(120(650)(279)))(85(402)(907)))(911(45(208(960)(14))(732(891)(220)))(927)))(798(240(980(325)(434(223)(205)))(227(813(595)(354))(983(498)(782))))(226(51)(437(873)(255(959)(310))))))(469(545)(172(618(273)(466(808)(205(328)(755))))(835(124(286)(419))(243(742(831)(801))(417(10)(860))))))))) +(869(433(663(632(826(438)(568(22(292(183)(384))(135))(717)))(10))(618(60(291(623)(46(243(208)(665))(298)))(27(25)(563)))(493)))(956(20)(384(720(804(50)(802(214(817)(561))(865(895)(517))))(399(971(715)(872(417)(2)))(902)))(484(11(86)(130))(768(583(95(377)(465))(590))(357(943)(463)))))))(907(32(120(412(227)(138(893)(15(728(436)(300))(940(140)(668)))))(718(401)(777(106(120(940)(508))(912(753)(223)))(698(936(150)(742))(297(993)(701))))))(448(41)(357)))(742(246)(657(697(510(239(289(879)(456))(474))(631(971(970)(958))(733)))(541(449)(736(328(283)(394))(482(293)(788)))))(611(630(206)(713(999)(695(948)(401))))(723(827(919(584)(541))(286(985)(797)))(179))))))) +(784(843(954(100(546(420(21(286)(257))(488(49)(207)))(194))(523(869)(748(106(373)(657))(781))))(599))(948(961(332(105(159(884)(174))(985(759)(407)))(857(329(678)(33))(161(410)(716))))(972))(145(79(73(60)(945))(155(255)(123(518)(103))))(459))))(888(601(356(219)(59))(110(563)(102)))(983(826(727(979(862(776)(148))(807(663)(469)))(447))(926(152(613)(31))(255)))(842(662(965(401)(20(973)(888)))(667(149(774)(844))(519(332)(99))))(142(92(142(860)(526))(657(458)(557)))(128(591)(364(687)(943)))))))) +(216(85(100(562(557(730(989(657)(342))(704(985)(723)))(772(636)(203)))(655))(237(644)(917(839(676)(52(229)(412)))(486(567(128)(484))(757(531)(84))))))(16(169(545)(259))(813(970(894(29(238)(971))(313(426)(855)))(721(335)(586(609)(687))))(213(591(744(856)(18))(489))(708(355(551)(826))(210(515)(890)))))))(231(291(199(970(121(882(800)(652))(719))(953))(590(152)(229(928(200)(677))(776(211)(384)))))(902(775)(200(425)(199(543(117)(197))(762(390)(639))))))(410(953)(190(230)(310(141(534(283)(702))(760(647)(359)))(872)))))) +(285(23(900(846(994(378)(147(430(630(890)(890))(644(855)(887)))(902(522)(846(194)(193)))))(335))(812))(851(466(612(869)(534(750(115)(22))(418)))(53(54(783(862(696)(398))(103(386)(73)))(236(776(164)(213))(293(474)(774))))(828(105)(366(357(920)(322))(732(229)(80))))))(650)))(441(287(729(153(398(761)(597(565(741)(729))(136(526)(316))))(807))(516(461)(85)))(429(561)(767(641(520)(204(833)(100)))(107(370(110)(186(872)(220)))(785(122)(422(751)(293)))))))(358(806)(312)))) +(942(681(997(799)(615(618(595(78(677)(753(948(851)(552(885)(209(355)(502))))(315)))(440(85)(111)))(223(899(616(97)(174(260)(811)))(128(311(789)(974(474(519)(80))(870(596)(899))))(697)))(503(739(263(163)(586(762)(470(342)(207))))(355(282(786(693)(933))(90(160)(36)))(234)))(275(774)(444(83(431(381)(543))(458(42)(969)))(146(2)(995)))))))(244(66)(878(398(216)(273))(300(248(743)(64(549(148)(625))(304(699(801)(993))(1(734)(863)))))(509(676(316)(622(136(828)(140))(910)))(149(551(966)(693(794)(235)))(146))))))))(505(931(116(59(337(69(232(190)(936(702(146)(584))(297)))(84))(705))(346))(990))(86(7(999(637(255)(531(966(39(657)(309))(475(946)(290)))(921(137)(207(365)(190)))))(606(510)(494)))(736))(290(231(957)(441))(973))))(947(28)(438(605(487)(720(510(521(32)(73))(452))(333(810(343)(149(90(700)(275))(846(129)(279))))(102(332(717(180)(289))(598))(90)))))(731(825(815)(958))(952(566(37)(250(464(824(982)(941))(906(821)(258)))(421(2)(426(804)(763)))))(567)))))))(860(328(737)(572(891(418(869(988)(777(759(442(243)(618(777)(555)))(743))(436)))(380(200(38)(859(681(763(339)(232))(150(19)(79)))(655(623(270)(906))(988(478)(208)))))(279(50)(725))))(922(78(713(205)(769(378)(523)))(174))(533(780(251(614)(11))(152))(817(270(639)(996(773(671)(201))(648(582)(764))))(203(902)(367(313(692)(707))(767(24)(277))))))))(271(954(460)(166))(536(496(30)(68))(795(97(212(209(114(66)(378))(592(258)(304)))(344))(651(220(176(202)(27))(132(295)(14)))(995(534(284)(640))(474))))(533(471(473(860(422)(549))(357(675)(914)))(834))(515)))))))(103(569)(42)))) +(911(832(222(261(538(20(900(227)(332))(215(547(586(585(955(900)(107))(194(855)(294)))(885))(253(966(330(142)(130))(822))(246(272(242)(618))(61))))(490)))(679(725(978)(817(118)(444)))(12(290)(448))))(38))(803))(502(222(238(520)(628))(747(496(195(669(3)(656(593(846(559)(521))(142(755)(276)))(647(714(281)(761))(401))))(989(349)(381(673)(213))))(458))(308(913)(224(940(425(347)(668(638)(917(27)(243))))(68))(358)))))(797(989(85(372(278)(645))(737(917)(640(428(980)(338(551(172)(20))(609(642)(452))))(637(113(864(299)(366))(796(935)(336)))(944)))))(607(451(525)(739(110)(489(994)(44(563)(821(983)(719))))))(606(855)(804(245(335(886(154)(154))(383))(592(308(590)(837))(231(719)(358))))(749(0(686(862)(307))(921))(402(574(110)(375))(270(102)(888))))))))(803(753(47(746)(936(620(568(701(659)(466))(98))(644(807(375)(8))(309(666)(577))))(23(263)(80))))(67(990(934(731(736(657)(98))(325(260)(8)))(679(355(718)(823))(285)))(207(625)(666(568)(913))))(329(128)(890(266)(642)))))(169(717)(534))))))(61(105(610)(577(26(410(364)(261(866(803)(429(571)(658(906(117)(752))(880))))(262(376)(836(283(189(576)(492))(331(419)(421)))(129(92(256)(684))(337))))))(332(741(627(73)(612(411(275(485)(603))(808))(63(645(972)(263))(737(613)(297)))))(867(21)(903(9(32)(965(496)(197)))(805(60(350)(584))(858(799)(314))))))(940(411(174(807(33)(854(224)(429)))(999(431(853)(91))(429(533)(958))))(161(810(672(896)(158))(592))(290)))(790))))(276(96)(983))))(548(431)(877(810)(437(939(732)(420))(208)))))) +(322(40(406(697)(653(334(763(814(289)(135))(293))(102))(58(294(533(727)(347))(712(881)(953)))(257))))(161(385(597(437)(342(580)(748(296)(560))))(165(522(366(863)(552))(77))(423)))(485(11)(515(970(778)(931(923)(111)))(257(524)(176))))))(480(14(765(513(988(88(236)(387))(349))(810))(570(515(962(395)(197))(888(642)(66)))(718(438(816)(561))(738(884)(490)))))(687(687(230(953(84)(526))(925))(520))(918(543(19(850)(226))(222(388)(723)))(294))))(440(758(576(807(696(75)(573))(791))(187(888(598)(934))(166(545)(284))))(528))(144(666)(895(586)(669(853(875)(600))(495))))))) +(367(144(971(360(303)(884(12(481(748)(36(196(29)(545(549)(407)))(850(529)(425(628)(291)))))(449(386(428)(545(75(267)(378))(924(207)(683))))(994(865(72)(701(333)(46)))(520(229(399)(545))(633(893)(317))))))(367(808)(317(742(273(711(569)(733))(529))(54(164(505)(707))(206(745)(449))))(159)))))(250(722(335(395)(251(297(544(918)(929))(787(405)(648(520)(132))))(834)))(774(534(549(96(738(766)(586))(825))(768(160(984)(680))(931(793)(235))))(506))(94(802(446(93(799)(359))(891(916)(806)))(597(257(188)(940))(951(613)(750))))(687(878(384)(705(235)(812)))(312(195(379)(196))(131))))))(189(829(353(126(193)(852))(625(675)(160(584(174)(616))(612(752)(848)))))(252))(103(288(752(108(38(630)(212))(539(382)(751)))(99(936(569)(271))(262)))(185(844(118(411)(700))(217))(247(734)(6(253)(650)))))(821(829(197(370(390)(887))(386))(480(249(149)(77))(127(213)(385))))(449(370(217(892)(452))(368(65)(677)))(2(865(809)(643))(439))))))))(353(478(506(614(438(646(142(675)(959(422)(194)))(482(353(795)(660))(486(842)(622))))(400(793)(192(393)(689))))(961))(797))(175))(727)))(552(379(762)(386))(184(283(759(522(854(431(7(951(815)(410))(190))(464))(456(527(810(467)(354))(421))(619(423(947)(361))(130))))(753))(771))(144(753(15(322(754(487(589)(211))(961(34)(340)))(567(840)(712(315)(793))))(487))(730))(485(641)(83(407(730(407)(491(642)(473)))(590(125(688)(787))(347(567)(833))))(850)))))(953)))) +(320(876(21(68(322)(964(724(72(115(177)(985))(721(460)(126)))(726(73(505)(83))(32)))(48(713(749(403)(703))(313))(71(180(385)(210))(736(4)(588))))))(435(182(803(311(715(456)(552))(364(142)(273)))(600(261(195)(824))(883(275)(975))))(644(790(410(88)(651))(414))(161(897(315)(899))(646(967)(442)))))(148(559(21(168(932)(659))(889(124)(505)))(168(682(19)(613))(182)))(381(365(692(449)(764))(225(545)(204)))(979(960(380)(449))(360))))))(815(693(658)(793(649(390(14(260)(685))(370))(624))(22(8(492)(429))(715(451(556)(724))(800(294)(455))))))(377(674(221(524)(207))(329(678)(164(928(822)(934))(222(929)(590)))))(354))))(750(338(806)(482(518(943(337)(843(203(804)(965))(294(964)(156))))(791(495)(373(375(460)(228))(334(681)(163)))))(537(233(931)(501(291(249)(436))(802)))(872(649(358(954)(219))(364))(588(301)(310))))))(831(217(471(825(24(856)(286))(613(21)(450(773)(453))))(382))(100))(343(666(6(93(550)(867(622)(999)))(962(267)(454(878)(698))))(549(816(302)(317(619)(115)))(746)))(692(173(897)(632(367(662)(622))(552)))(18(211(301)(436(995)(804)))(281))))))) +(592(880(594(847(551(266)(120(574)(864(677(801)(662))(577(897)(84)))))(724))(738(983)(106(779(592)(784(141)(716(841)(504))))(848))))(434(752)(265(34(352(413(877(529)(879))(163(658)(71)))(138))(969(278(382)(300(671)(602)))(410(181(198)(767))(847))))(580(888)(2)))))(240(977(609(257(46)(855(254(59)(39))(877(646(604)(919))(839(913)(533)))))(496))(84))(786(667(55)(749(47(250)(891))(260(994(277(862)(138))(439(816)(938)))(544(481(140)(950))(374)))))(864(693(988)(676))(334(79)(959(217)(877(190(178)(276))(869(704)(124))))))))) +(294(453(659(644)(625(75(687(802(311(562(830(80)(262))(805(512)(649)))(156))(43))(122(675(428(119(24)(667))(519(704)(777)))(430(185)(56(839)(684))))(814(223(931(634)(490))(987))(719))))(220))(504)))(863(446(366)(319(140)(453)))(1(922(226(744)(260(496)(288(269(639(248)(496))(940(820)(82)))(708(501)(331(341)(558))))))(698(967(864)(386(759(225(868)(953))(381))(727)))(822)))(604(182(667)(411(35(474)(138(205(64)(783))(495)))(995(300(103)(691(101)(524)))(451))))(644(125)(760(429(615(42(754)(595))(571))(526))(486(439)(700))))))))(912(761(407)(337(999)(896(206)(656))))(151(675(400(119(784(634)(800(673)(675(541(889)(282))(883(206)(884)))))(796(372(384(424(622)(397))(279(314)(36)))(24(474)(961(942)(409))))(343(683(17)(931(75)(284)))(328(29(525)(133))(5(236)(222))))))(882(697(466(727)(844(932)(555(87)(430))))(155(424(551(219)(924))(460(117)(245)))(321)))(35(665(249(6(482)(24))(454))(319(690(802)(430))(946(78)(338))))(67(597(787(162)(675))(653))(678)))))(784))(607(636(561)(505(630)(805)))(743(256)(87)))))) +(346(966(18(883(832(888)(759(549(782(505)(828))(571(341)(645)))(886(375(950)(506))(335(875)(949)))))(22))(357(44)(553(510(856)(488))(587(830(736(408)(864))(114))(864(354(635)(747))(667(774)(211)))))))(725(969)(166(970)(702(747(226)(340(830(371)(296))(496)))(139(765(688)(910(574)(298)))(739(830(817)(798))(809(359)(500))))))))(125(428(389(987(169)(738(678(422(414)(999))(941(852)(303)))(108(942(281)(277))(773))))(401(999)(559)))(655))(73(471(450(836)(18(253(124)(399(105)(736)))(532(510(243)(699))(575(444)(66)))))(834(784(2(345)(22(469)(6)))(752))(258(692(398)(311))(507))))(952)))) +(667(914(684(859)(730(220)(948)))(910(271)(191(644)(433))))(519(915(45(762(253)(94(314)(576)))(652(233)(73(916(511(682)(135(648)(428)))(598))(744(555)(28(516)(19(69(838(575)(40))(792(657)(600)))(210)))))))(998(729(308(520(698)(442(905(398(117(361)(809))(161))(119))(975(273(576)(919))(432(65)(95(264)(770))))))(560))(717(337)(761(491)(366(96(662(754(619)(579))(144))(679(597(724)(594))(876(522)(288))))(436(688(711(115)(861))(134(708)(170)))(533(546)(821(870)(672))))))))(745(109)(633(895(860(614)(735(256(112)(764))(796(237(390)(368))(917(834)(250)))))(184))(844(887)(346(789)(717(854(173(45)(943))(150))(941))))))))(791(669(799(419(874)(732(362)(225)))(981))(185(844(185(474(192(741)(722))(650(981(130(196)(307))(377))(774)))(33(848)(507(532)(33(328(407)(276))(153)))))(809))(189(393)(528(180(328(571(791)(36(154)(896)))(212(632)(153)))(167))(594(184(440(766(727)(683))(508(810)(675)))(966(537(188)(977))(888(65)(80))))(60(618(105)(290(312)(996)))(441)))))))(35(516)(883(805(920(240(382(684)(762(87(743)(5))(936(19)(190))))(697(321(41)(929(905)(934)))(776(919(957)(276))(267(900)(350)))))(136(431(822(272)(708(426)(653)))(592(743(778)(378))(758(689)(302))))(125(816(308)(332(18)(515)))(263))))(775))(501)))))) +(261(541(634(380)(941(594(171(633)(277(387(550)(52))(443(391)(261))))(510(608)(269)))(349)))(835(610(279(127(977(650(378)(442))(75(496)(891)))(298(95)(268(78)(687))))(403(883(529(346)(934))(497(487)(782)))(119(67)(868))))(890(783(160(620)(450(284)(239)))(16(636(194)(139))(207(535)(599))))(699(188)(901(570(774)(770))(554(144)(555))))))(457)))(701(605(235)(856(681(935(763(941(904)(584))(909))(68(409(832)(111))(823(860)(779))))(516))(83(370(831(471(906)(294))(788(673)(824)))(662(772(59)(624))(825(641)(135))))(762(131(644(280)(83))(603(328)(626)))(153(719(667)(451))(770(422)(245)))))))(984(912)(367(540(428(262(926)(65(505)(442)))(955(833(52)(62))(88(720)(865))))(718(442(65(310)(255))(418))(765(179(745)(43))(329(2)(667)))))(118(780(145(38(577)(460))(476))(281(606(957)(833))(984(262)(581))))(492(40(797(343)(98))(146(513)(642)))(577(730(740)(205))(725(997)(546))))))))) +(410(55(51(490(832)(240(429(150)(916(745(204(691)(932))(548(499)(124)))(155)))(90(638(720)(837(827)(600(792)(321))))(603))))(362))(540(88)(459(935(926)(791(128(868(480(402)(255))(51))(478(753(309)(195))(109)))(423(976(621(769)(842))(94))(875(230(42)(772))(483(706)(492))))))(48))))(634(200(825(804(990(978(896)(979(258)(380(380)(498))))(485(54(314)(410))(470)))(686(381(689)(608(937)(192(134)(591))))(952(363(936(169)(486))(771(251)(16)))(122(849(49)(931))(892(996)(97))))))(749(55(497(839)(774(27(648)(343))(46(53)(730))))(711))(569)))(20(358(833(164(857(612(578)(598))(523(440)(769)))(363))(398(111(719(394)(271))(703(912)(463)))(518)))(215(108(467(567(744)(829))(727(77)(723)))(788(57(741)(186))(226(774)(484))))(946(361)(966(29)(29(589)(534))))))(586(238(482(422(894)(261))(315(435(155)(578))(221(864)(622))))(429(398)(255(468(36)(989))(988(560)(926)))))(534))))(729(258(693(145(707(319(674(921)(194))(944(407)(268)))(837(131)(243(616)(881))))(107(899)(348(596(356)(108))(81(131)(66)))))(683))(996))(111(846)(582))))) +(99(760(785(571(577)(217(137(82)(937(453(48(930(388)(227(302)(687)))(848(99(689)(298))(253(856)(179))))(573(644)(695(244)(892))))(838(618(932(807)(896))(107(379)(228)))(367(692)(359(954(973)(794))(890))))))(329(159(633)(654(342(832(930(670)(194))(743))(641(418)(787)))(170(866(94(307)(173))(924(592)(277)))(82(22(460)(239))(333(965)(726))))))(921(995(895(836(212(176)(801))(637))(206(427(476)(738))(330(984)(470))))(647(837(313(892)(182))(524(176)(613)))(265(258(549)(482))(962(846)(519)))))(145(241(290(130(857)(538))(871(325)(7)))(680(140(205)(38))(97(381)(898))))(460(352)(601)))))))(277(857)(137(476(325(243(156(228(916(764)(602))(968(393)(220)))(805))(362))(875(947)(272(350(984(815)(762))(971(593)(691)))(272))))(799(595)(839)))(422))))(665(894(461)(544(880(888(719)(631(215)(829(714(488(129)(941))(628(169)(722)))(830))))(601(934(958(479)(614))(570(988(223)(503(104)(479)))(522)))(575(580(324(873)(158(81)(855)))(549))(701(113(767(545)(454))(164(282)(49)))(807)))))(238)))(91)))(115(46(641)(825(196(418(307(173(550)(152))(400(48(954(18)(965(485)(576)))(271(355(334)(549))(177)))(335(435)(472(94(932)(155))(215(523)(230))))))(473))(885))(635(365(341(835)(774(707(499)(144(757(691)(704))(534(106)(815))))(912(59(101)(301))(636(144(882)(103))(385(10)(687))))))(868))(516(395(321(472(104)(716(639(4)(497))(993)))(838(114)(131(217(588)(944))(780(889)(449)))))(471(927(76(505(729)(58))(929))(749(748(566)(729))(647(758)(285))))(300)))(733)))))(877(978(308(818(493(884(803(97)(62(395)(940)))(312))(461(526(77(520(48)(590))(906))(456(365(901)(264))(65)))(968)))(273(659(782(281(152(65)(953))(944(772)(75)))(976(55(925)(508))(526)))(827(134(673(309)(518))(696(629)(905)))(251)))(307)))(263))(471(447)(5(97(308)(729))(282))))(966(890)(86(977)(32)))))) +(252(556(259(58)(553))(252(553)(232(286(10(126)(654))(949(515(557)(242))(697(346)(638))))(430(704(806(516)(222))(70))(910(287)(865(848)(419)))))))(687(3(95(405)(888))(14(14(223(573)(551(689)(5)))(542(702)(22(211)(237))))(723)))(262(266(274(700(62)(493(640)(496)))(528(397(40)(245))(954)))(87(474)(427(813(916)(650))(916(841)(575)))))(750)))) +(734(442(130(617(578(626)(752(449(907)(888))(610(118)(316))))(538(231(597)(897(537)(299)))(731(776)(41(672)(511)))))(13))(398(303(972(266)(556(660(351)(638))(458)))(767(887)(353(133(152)(801))(997(856)(957)))))(6(427)(351(902(788)(27(105)(580)))(908(953(689)(465))(312))))))(517(963(20(792(287(566(423)(378))(73(727)(642)))(98(685(171)(69))(923(661)(989))))(436(355)(272)))(744))(91(667(164)(665))(473(70(610(431(127)(902))(84(177)(801)))(115(877(472)(927))(187)))(891(48(694(322)(821))(715))(216(509(513)(17))(896(619)(122)))))))) +(655(558(864(315(611(210)(547))(76(24)(409)))(596))(60(797(274(702(902)(307(800(642)(275))(494(625)(30))))(726))(949))(542)))(564(203(155(11(306)(992))(946(509(813)(645))(918(350(866)(815(357)(867)))(234(443(452)(253))(589(587)(407))))))(148(82(829)(878(61(110)(241))(763)))(198)))(485(111(829)(706(36(448(25)(781(963)(304)))(643(514(128)(709))(791(500)(161))))(460(202(250)(96(206)(405)))(736(65)(553(868)(296))))))(447)))) +(728(760(302(553(753(145)(709(773(337(932)(761))(456(991(317)(912(929(589)(132))(136(893)(192))))(511)))(935(817)(493(546(950)(37(841(811)(936))(355)))(356)))))(849))(991(398(963(324(547(382)(655(704(696(471)(166))(483(795)(146)))(517(462)(665(324)(880)))))(456))(628))(659(7)(669(347(921(653)(660(509(183)(903))(55(697)(251))))(575(318)(830)))(332))))(372(932(994(810(431)(683(137(700)(770(147)(52)))(946)))(336(580(43(954(517)(29))(568))(318(185(677)(107))(586(318)(926))))(108(412(802(33)(128))(173))(834))))(764))(603(60(877(248(613(571(833)(126))(357(290)(333)))(617))(671(384(12(39)(452))(752(137)(561)))(181(288(684)(929))(730(693)(961)))))(866(22(883(312(867)(159))(114))(901(37(956)(619))(190(436)(152))))(504(620)(538(686)(417(31)(758))))))(864)))))(891(369(935(818(949(141(258)(82(98)(99(385)(157(860)(651)))))(997(677(205(959(35)(78))(145(919)(470)))(121))(465)))(946(26(815)(607(298(971(615)(851))(685(892)(541)))(827(956(253)(784))(833(657)(389)))))(352(966(314(53(346)(468))(141(957)(208)))(170(32(873)(985))(511)))(94))))(780(353(609(87(365)(421(103(836)(15))(894(665)(214))))(171(201(441)(682(857)(312)))(259(291)(668(176)(592)))))(269(244(927(672(642)(333))(32))(877))(562(325(62)(875(68)(796)))(530(933)(259(756)(690))))))(595(895(456(543(919(226)(578))(890(158)(379)))(117))(907))(308(202(34(150(807)(241))(590(100)(877)))(980(137)(955(826)(732))))(106(650(929(326)(631))(780))(940))))))(19(1)(998(893(516(140(24(28(900)(149))(926(387)(913)))(484))(106))(789))(689(953)(679)))))(141(718)(500(603(801)(285))(781)))))(376(250(810)(68))(659(99(184)(776(822(553(548(345(181)(571(169(224)(644))(790(575)(939))))(62))(598))(718(283(711(929(678)(519))(628))(762(146(421)(514(289)(602)))(347(135(126)(683))(764(653)(588)))))(804(486(872(523(70)(247))(693))(230(33)(767(629)(956))))(430(48)(13)))))(59(717)(249(211(94(581(26)(424(568)(890)))(162(980(738)(64))(892(563)(879))))(10(623(450(87)(53))(836(981)(705)))(375(658(481)(49))(887))))(798)))))(617(178(728(646)(543(454(95(131)(377(152(406)(54))(654(155)(835))))(787(731(61)(785(354)(215)))(100(10)(692))))(399(569(790(330(351)(218))(868))(681(622)(66)))(443(993(524)(876(741)(557)))(59)))))(388(680(988)(167))(255(761(181(195(250)(903(457)(290)))(374))(352(194(911(972)(331))(2(746)(139)))(914(750(312)(991))(594(744)(773)))))(380))))(730(867)(241(745(933(904(916)(616(398(0)(95))(10(158)(642))))(816))(120(267(931)(466(821(528)(222))(567(376)(668))))(200)))(811(285(1(894)(719(972(379)(650))(422(994)(10))))(239))(120(259)(748(61(521(426)(755))(344(181)(600)))(640)))))))))) +(502(740(856(332(132(113)(964(502(925)(22))(195(997)(705))))(771))(385))(107(790(771(677)(639))(663))(861)))(728(986(362(559(524(720)(458(853)(589)))(450))(21))(993(230(581)(157(206(957)(270))(190(686)(205))))(327(374(769(571)(776))(143))(754(192(215)(393))(827(307)(951))))))(159(731)(924)))) +(79(999(151(586)(56))(631(606)(400(276(881)(748))(952(641(701)(249(281(821)(661))(554)))(881)))))(829(963(946(373)(604(377(805)(372))(828(243(665)(373(342(72)(998))(979(68)(247))))(938(98(802(105)(597))(570))(550)))))(667(468(442)(626(444)(580(337)(553))))(830(597)(151))))(898(58(404(235(325(888(251(574)(961))(687))(28(845(313)(977))(297(638)(240))))(868))(712(410(699)(447))(577(462(786)(870))(423))))(206(437(129(905(711(407)(298))(14))(635(201)(627(226)(135))))(781(646(384)(263))(590(454(77)(235))(145))))(996)))(6)))) +(896(250(11(658(389(504)(159(576(920)(836))(608)))(617(31(997(648)(647))(392(859)(846)))(855(513)(326))))(321(715(446)(929(908)(839(815)(337))))(590(338)(743(7)(446(28)(385))))))(439(838(14(736(256(177)(398))(866(653)(23)))(395))(953))(51)))(229(970(93(380)(999(251(339)(711(915)(300)))(428(472)(810))))(379(392(551)(86(700(593)(546))(788(897)(477))))(385)))(253(98(648)(717(642(196(749)(213))(736(395)(250)))(814(44(223)(990))(249(894)(338)))))(516)))) +(29(594(488(63)(746))(997(110(76(330)(579))(730(965(779(201(95)(14))(80(551)(760)))(577(329)(780)))(616)))(505(784(610(481)(452))(472(533(782)(961))(777)))(623(301(677)(803))(706(261(703)(718))(303(503)(556(618)(747))))))))(612(840(65(588(991(385)(203))(848))(571(301(224(260(518)(321))(222(237)(881)))(763(41(927)(59))(826(16)(249))))(816(209(912(74)(57))(18(343)(378)))(399(694(784)(523))(525(825)(903))))))(901))(729(749(4(329(515(382(80)(183))(25))(495(884(167)(284))(413(151)(864))))(477(603(144)(188(631)(341)))(790(897(334)(473))(1(163)(818)))))(500(299(749(922(601)(775))(751(832)(830)))(405(83)(222)))(33(167(664(340)(920))(163(824)(126)))(581(709)(861(373)(559))))))(568(94(697(229(785(497)(393))(214))(704))(121(969(28(444)(583))(870(254)(618)))(685(159)(284))))(194(22)(26(996(70(122)(769))(987))(464(598(601)(319))(192(912)(166))))))))) +(662(884(946(656(795(367)(60(626(56(704(241(740)(45))(465(122)(207)))(260(708(589)(916))(245)))(593(465(322(753)(630))(448(285)(451)))(481(321(78)(746))(413(145)(477)))))(602(942(217(176(456)(666))(2(503)(253)))(670))(948(510)(587(432(335)(533))(451(743)(224)))))))(376))(40))(868(453(680(795(788(284)(422(1(109)(805(750)(298)))(427)))(674(350(364(613(881)(33))(629))(812(891(135)(886))(263(625)(482))))(740(482)(520(591(821)(224))(774(670)(78))))))(379(101(743(867(548)(429(315)(984)))(267))(767))(827(724(212(516)(8))(229(980)(260(239)(229))))(383(883)(888(12(479)(527))(666))))))(751))(716(573(997(926)(67))(554(461)(3(12(974(840(997)(788))(907))(363))(604(787)(435)))))(550(958(475(968(866)(704(702(357)(59))(313)))(51(355)(119(352(669)(423))(673(389)(56)))))(255(484(316(545(468)(112))(501(649)(513)))(83(33)(542)))(754(343)(950(390)(393(659)(163))))))(736)))))(771(765(521(11)(16(437(352(570(461(608(433)(476))(907(805)(167)))(674))(453))(959(389(861(22)(685(23)(76)))(807(955)(438(32)(133))))(401)))(229(919(152(942)(673(393(391)(330))(213)))(274(408(447(491)(581))(324(26)(526)))(425(88(315)(420))(427))))(838(613(728(584(122)(435))(693(621)(393)))(809))(750(309)(332(772(922)(127))(436(238)(229))))))))(50(350)(312(609)(925(389(781(451(935(311)(368))(377(896)(777)))(811(641)(66)))(437(828)(420(48)(42(853)(938)))))(337(787)(288(487(313)(544))(68(394)(685))))))))(817(496(397(594(930)(119(720(49(785(418)(298))(826(508)(605)))(912(444(16)(411))(227)))(304)))(970))(14(176)(959)))(145(81)(161(895(378)(5(58(839(10)(508(542)(227)))(85))(261)))(616(861)(958(245(934(570(895)(102))(721(125)(311)))(631(544(51)(699))(191(290)(948))))(765(287(411)(202(241)(876)))(62(104)(238(654)(993))))))))))) +(801(628(263(35(303(401(417(942(141)(222))(426(527)(124)))(836(913(853)(773))(688(908)(220))))(430))(306(572(505)(183(888)(880)))(208(92(154)(137(0)(600)))(736(206(888)(450))(326(789)(114))))))(735))(304(942(393(892(984)(507(588(516)(99))(734(784)(999))))(925(446(612(752)(353))(339(730)(676)))(89(231)(685(461)(609)))))(828(268)(76(686(557(499)(177))(77(917)(18)))(266(24(934)(910))(837(226)(895))))))(948(666)(748(198(100)(994(592(637)(434))(253(858)(804))))(433(532(357(83)(145))(635(371)(995)))(144))))))(137(597(929(62(422(717(816)(301(638)(25)))(123))(132))(404))(843))(471(146)(536(896(822)(959(769(172)(284))(853)))(156))))) +(704(294(634(743(365(112(182)(488))(675(586)(822(968)(278))))(809(481(679(389)(765(73(810(782)(989))(286(445)(390)))(51(327(509)(350))(208))))(854(85(760(375(915)(954))(626(168)(243)))(61(83(786)(785))(709)))(73)))(133)))(178))(318(177(501)(316(621(364(447(980)(24))(546))(383(799(854(790(130)(963))(775(657)(30)))(30(222)(614(789)(874))))(630)))(371(710)(792(144(883(273(497)(162))(257(992)(463)))(767(614(324)(371))(566(43)(219))))(992(649(282(900)(797))(844))(462(53)(617(527)(139))))))))(698(272)(177))))(304(197(683(442(533(947(664)(253(212(679(858)(74))(158))(269)))(862(678(177(631(90)(180))(956(748)(755)))(322(373)(451(838)(371))))(792(851(715(302)(179))(609(732)(161)))(213(524(563)(746))(710)))))(264(106(251)(130))(774(285(24)(55(685)(618(783)(621))))(40(329)(244)))))(661(219(615)(808(314)(899(749(933(595)(432))(855(799)(882)))(706(231)(345(614)(238))))))(520)))(986))(997(730)(806(911(495)(292(255(29(379)(243))(473(319(740(719)(49))(697(820)(419)))(173(526)(251(513)(817)))))(13(284(83(602(470)(421))(752(432)(0)))(276(495(536)(675))(150(124)(534))))(510(857(502(721)(476))(649))(922(784)(440(721)(991)))))))(354(938(736(750(196(804(315)(124))(203(502)(810)))(838(416)(346)))(627(401(618(717)(468))(213(703)(163)))(637(101)(428(622)(153)))))(284(972(11(917(902)(317))(561(50)(289)))(597(663(742)(687))(772(688)(32))))(563(618)(38(9(236)(225))(905)))))(22)))))) +(503(796(915(843(514)(392(618(218)(289(733(709)(229))(408)))(206(25(93(680)(891))(391(268)(964)))(66))))(265(889)(157)))(808(302)(727)))(824(403(31(16(314)(465(474(604(6)(414))(294(246)(728)))(718(326)(51))))(832(910(174)(181(38(750)(199))(762(760)(980))))(864(229)(333(493)(391)))))(960(798)(336(437(587(299(294)(41))(349(227)(906)))(371(517(965)(226))(449(500)(51))))(807))))(544(194)(642(620(325(743(829(151)(700))(802(619)(173)))(345(689)(572(540)(28))))(290(675(515(309)(124))(330(847)(385)))(626)))(730(826)(413(797(807)(170(185)(885)))(217(851)(531(548)(493))))))))) +(840(452(552(6(903(632(381)(113(399)(353)))(180(504(121)(825))(605(57)(407))))(840(651)(1(387(358)(755))(520(647)(962)))))(837))(356(759(533(731(160(228)(548))(522(225)(461)))(379(156(667)(777))(438(200)(572))))(211(19(184)(863(928)(237)))(326(221(829)(867))(765(709)(743)))))(446)))(994(332(763(683)(957(821)(313)))(223(362(645(270)(921(232)(281)))(926))(133)))(957(736(851(236(848)(741(706)(90)))(378))(405(989(696)(884(995)(991)))(179(805(420)(464))(49(627)(88)))))(362)))) +(179(734(868(218(212(776(704(477)(639))(237(325)(127)))(821))(449(449(502)(362(680)(613)))(998)))(170))(648(331(736(47(325)(215))(375(134(607)(384))(273)))(517(570(665(93)(752))(826(230)(480)))(814(952(960)(644))(632(139)(675)))))(797(918(761(658(273)(628))(993(585)(874)))(307))(862(680)(138(596)(705))))))(904(144(251(620(467(185(431)(795))(668(398)(398)))(134(929(539)(451))(236(724)(555))))(989(824(562(471)(601))(101(210)(14)))(444(301)(755(127)(384)))))(684(524(676(95(460)(605))(323(717)(269)))(99(243(31)(875))(634)))(977(738(92(828)(581))(478))(340))))(534(584(838(641(516(405)(334))(220))(423(913(140)(593))(271(269)(499))))(594(534(646(475)(358))(252(94)(385)))(697(771)(542(353)(108)))))(744(867(396(225(788)(433))(933(406)(416)))(16(933)(52(78)(290))))(327))))) +(568(749(107(784(197(580(979(980(336)(392))(597(80(101)(315(188)(179)))(941(482)(821(112)(546)))))(745(316(209)(308(582(665)(745))(253(177)(756))))(797(487(403(234)(640))(190))(296))))(632))(537(879(442(236)(58(303(947(684)(262))(704(31)(990)))(543)))(269(276)(632(578(127(319)(409))(113(311)(284)))(964(572(811)(170))(573(932)(446))))))(305(789(70(96(401(592)(151))(76(832)(759)))(352(663(7)(144))(768)))(14(34(457(618)(808))(75(956)(915)))(178(370(189)(409))(938(947)(920)))))(258))))(642(876)(902(735)(710(761(318(236(504(974)(113))(222(96)(616)))(982(577(761)(920))(940(420)(725))))(622(863(578)(291(806)(307)))(527(711)(978(860)(220)))))(191(228(758(745(221)(774))(57(85)(400)))(40))(509(979(28(93)(60))(868))(26)))))))(650(237)(47(502(956(563(630)(48))(30(764(652(327)(282(412)(817)))(456(96(400)(395))(685)))(608(732)(96(659(268)(696))(329)))))(499))(121(392(495(681(759(330(214)(297))(42(826)(18)))(462(939(25)(442))(13(879)(859))))(640(751)(442(855(234)(468))(512(474)(408)))))(51(282)(68)))(730)))))(822(176(180)(691(521(676(830)(81))(897(889(898(10(691(236)(482))(468(304)(218)))(517))(725))(87)))(833(84(456(79(656(101)(293(433)(880)))(0(91(915)(280))(118)))(213(696(816(385)(582))(955(460)(622)))(298(667(868)(590))(859(984)(301)))))(932(621(69(543(89)(959))(678))(932(995)(367(585)(912))))(243(768)(970(890(397)(50))(175(463)(858))))))(870(987(902)(793(245(598)(181(556)(741)))(794(566(606)(23))(144(974)(113)))))(616)))))(138(294)(817(682(23(686)(621(57(469(0(165)(458))(939))(744))(679(359)(520))))(951(20)(720(919(382(346(227)(563))(581(75)(737)))(526(492)(988(338)(481))))(173(801(534(421)(997))(908(513)(767)))(85(837(577)(754))(705(300)(246)))))))(622(93)(794)))))) +(266(36(732(651(967(999(294(444)(272(901(19)(737))(594(832(563)(42(679)(909)))(148(118(773)(289))(526)))))(414(771)(927(577)(635(596(874)(466(507)(186)))(346(474(418)(696))(971))))))(260(379)(173(984(25(366(498(711)(978))(364(704)(854)))(762(23(32)(186))(917(149)(719))))(72(512(995(492)(156))(14(495)(633)))(998)))(605))))(495(699(164(979(526(591(250(153)(373))(546))(846))(426(550(788)(463(224)(467)))(969(398(940)(166))(613))))(36(335)(595)))(587(490(34(161(73(888)(542))(470))(130(181(193)(24))(161(893)(422))))(752(518(71)(23(578)(863)))(533)))(122)))(296(278)(615(942(85)(441(16)(697(318(947)(602))(831(979)(926)))))(261(121)(291))))))(819(241(391(454)(879(5)(324(237(914(760)(805(885)(486)))(980(85(457)(481))(938)))(48(765(928)(240(394)(904)))(266(783(956)(362))(685(376)(530)))))))(683(640(334(300(772(941(271)(847))(415(314)(412)))(263))(843(180)(911)))(540))(883(879)(819(430(396(526)(335))(846(605)(538(620)(83))))(713)))))(33(614(141(577)(590(375(538)(974(784(190)(123))(995(274)(790))))(650(631(541(891)(107))(8(885)(327)))(539(508(933)(962))(217(890)(312))))))(375(520)(6)))(871(99(711(314)(153))(296(390(479(924(23)(284))(148(766)(244)))(1(366(838)(291))(854(911)(781))))(848(436(802(268)(956))(960))(330(145)(443(353)(67))))))(586)))))(74(417)(74(376(879)(784(271(992(843(220(184(444)(568))(36))(741))(557))(150(125(825)(281(40(20)(389))(913)))(46)))(834)))(405(321(937(729)(288))(445(388)(273(256(13(792(38)(649))(661(257)(329)))(174(899(701)(264))(47(350)(452))))(251))))(534)))))(224(431(869(877(17)(95(83)(695)))(718))(276(647(181(41(120(209(119(472(305)(496))(843))(483(171(657)(179))(448)))(390))(352(671(628(805)(454(927)(952)))(210))(262(800(565(702)(260))(664(510)(486)))(317(364)(34(303)(396))))))(622(778)(546)))(279(356(613(947(910(626(806)(708))(59(769)(630)))(984))(996(1(739(449)(386))(986(917)(915)))(204(680(921)(507))(868(468)(661)))))(576(965(935(727)(26(447)(89)))(321(976)(119)))(519(877(779(687)(322))(25(993)(430)))(356(903(109)(181))(189(220)(490))))))(78(404(644(271(682(417)(470))(405(327)(430)))(265))(444))(123))))(622(691(292(881(549(561)(496(198)(654)))(744))(541(7(580)(671(313)(426(679)(687))))(735(399(351(321)(671))(82))(487(690(811)(847))(377(638)(860))))))(817))(319))))(766(841)(499)))) +(626(134(15(117(906(278(110(566(407)(722))(589(365)(624)))(369(320(87)(483))(48(751)(540))))(950))(838(545(505(280(807)(853))(205(216)(880)))(676(457)(302(892)(608))))(49(195(357(477)(32))(999(846)(699)))(257))))(286(981(205(616(990)(21(578)(527)))(545(297(93)(389))(811(516)(875))))(257(880(741(736)(861))(236(64)(430)))(823(767(687)(308))(9(748)(879)))))(487)))(297(102(157(10)(105(433(254)(90(304)(472)))(687(456)(72(32)(180)))))(378(25(328(109(616)(959))(443))(918(732(581)(984))(66)))(517(655)(110))))(977(16(516(631(217(501)(201))(976))(985(866(571)(698))(176(351)(764))))(336))(93(759)(623)))))(718(274(97)(88(626)(107)))(165(127(78)(167(282(76(584)(294))(906(993(55)(526))(840)))(182(671)(753(535)(946(22)(895))))))(340(190(669(411(464(848)(239))(647(706)(187)))(772(41(64)(756))(849(239)(747))))(840))(224(614(36(233)(326(721)(879)))(344(62(284)(203))(614)))(504(247)(386(995)(110(167)(203))))))))) +(594(992(560(64(251(42(7)(36(23(104)(603))(433)))(369(715)(178(37(261)(975))(837))))(286(953(606(312(5)(284))(957(26)(138)))(808))(321)))(759(516(658)(464(898)(363)))(22(23(446(268)(784(31)(954)))(184(830(267)(797))(857(194)(426))))(670(474)(140(636(726)(787))(333))))))(924(299)(704(447)(316(215)(866(642(828(382)(151))(562(66)(570)))(418(719)(688(575)(748))))))))(348(533(241)(860))(307(908)(199(876(317)(465(426(630(378)(349))(528(21)(912)))(599(267(847)(809))(76(10)(98)))))(441(913(175(466(268)(953))(790))(157(862(974)(809))(925(888)(863))))(504(746)(500(982)(350)))))))) +(642(19(981(379)(316(85(903(548(115(551)(876))(664))(352(794(137)(88))(772(668)(719))))(63(691(694(741)(9))(149(573)(921)))(258)))(573)))(283(776)(59(392)(955(240(754(601(272)(194))(822(217)(944)))(998(646)(219)))(342)))))(18(532(86(215(289)(413(226(484(569)(835))(922))(589(728)(0))))(480))(263))(511(11)(32(406(519)(788(221(22(940)(577))(541))(772(247(721)(991))(785(600)(751)))))(526))))) +(178(616(609(309)(215(292)(626)))(359(579(620(220(904)(225(461(859(351(80)(187))(535(511)(72)))(568(118(733)(817))(334(284)(875))))(283(862(486(210)(510))(877(137)(991)))(652(382(576)(674))(0)))))(185(665(824)(819(939(803)(937(650)(400)))(510)))(179(790(394)(622(174(417)(421))(774(689)(888))))(434(38(138)(771(360)(641)))(893(798(539)(613))(298(866)(381)))))))(559(769(524(529)(290))(57(808(141)(365(780(563)(279))(543(504)(11))))(751(904(367)(20(380)(620)))(743(705)(347)))))(886(620(908(473)(936))(170(924(569)(243(447)(569)))(161)))(575))))(933)))(942(519(24(641(38)(687(672(43(811(859(595)(531))(716(930)(414)))(622(864(164)(754))(174(308)(767))))(533(626)(429)))(829(688(634(716(391)(950))(944))(798(63(912)(955))(558(155)(26))))(878(952)(973(409)(885))))))(691))(287(836(912)(492))(627(819)(41(738(808(777(696(203)(801))(18(126)(882)))(583(433(695)(57))(430(905)(841))))(882(301)(829(425(909)(710))(903(86)(454)))))(661)))))(378(575(329(634(341(401(108(409)(918(314)(866)))(40(436)(841)))(940(409)(832)))(741(817(481)(563(464(210)(163))(19(651)(653))))(212)))(484))(396(701(600(967(812(858)(762))(753))(13(834(386(632)(272))(523))(695(400(316)(316))(748(845)(442)))))(240(7(910(636(942)(862))(582(110)(696)))(523(951)(725(782)(751))))(12(971)(390(11(650)(996))(834)))))(665(363(322(246(666)(544(356)(317)))(233(122)(245(176)(101))))(820))(809(626(933(0(570)(762))(892(180)(72)))(294(28(863)(135))(305(552)(965))))(465)))))(777(810(172(436)(847(828(385(838(836)(379))(987(692)(580)))(149))(66)))(362(474(436(581)(549))(360(347(199)(956(898)(53)))(700(299)(830(926)(525)))))(441(713)(946))))(317(42(378)(226(789(806(451(198)(859))(570(233)(468)))(508))(596(114(95)(233))(865(454)(444(252)(674))))))(940)))))) +(921(84(278(331(133)(942))(173(139(406(314(510)(656))(963(307)(503)))(370))(815(143(4)(168(123)(613)))(62))))(203(857(641(309(868(773)(697))(475(183)(97)))(316(767(256)(959))(319(475)(27))))(192(49(733(155)(755))(142(568)(654)))(841)))(572)))(914(311(813)(148))(55(545(880(480(257)(567(94)(150)))(779))(502))(731(988(21(644(298)(105))(164))(179))(676))))) +(444(439(690(270(836(864(967)(763(222)(329)))(213))(797))(257(709(12(937(555)(544))(442(236)(649)))(264(878(843)(689))(869)))(911)))(622(313(737(337(254(264)(645))(561(40)(891)))(966(742)(892(967)(14))))(979))(772(646(650(451(368)(983))(479))(25))(907(837(368(326)(446))(715))(962)))))(639(589(860)(180(72)(680(231)(120(445(607)(613))(121(840)(90))))))(160(984(669(288(898)(191))(989(572)(889(232)(867))))(301(969)(623(541(815)(624))(252(316)(879)))))(560(702(38(97(980)(394))(958))(204(583(659)(402))(39(752)(412))))(416(756(252(49)(837))(954(640)(605)))(731)))))) +(193(527(973(446(167)(603(268)(451(599(412(24(368)(885))(568))(215(647(523(393(105)(404))(354(539)(911)))(378(752(46)(581))(827)))(942(504)(154(802)(635(464)(350))))))(170(830(269)(312(857(76)(734(378)(158)))(256)))(580)))))(267(14(264(906(760(207(897(421(335)(523))(633(687)(481)))(966))(485))(918(826(914(343(962)(503))(47))(550(228)(243(944)(993))))(50(407)(608(433)(903)))))(413(651(939)(48(385(128)(583))(218(188)(900))))(920(960(589(434(464)(281))(573(542)(672)))(807(62(280)(129))(770)))(361(645)(962(403)(562(193)(894)))))))(990))(529(305(560)(623(935(36)(711))(221(322(969)(161(405(534)(603))(869(966)(249))))(185))))(497(410(689)(642))(316(749)(534(149(306)(678(935(278)(890))(155(923)(724))))(869(210)(734(511(637)(147))(220(606)(871))))))))))(866(379(198(422)(589(197(156)(569))(770(689(474(600(312(382)(477))(534))(155(84(313)(343))(890(445)(313))))(808))(879))))(435))(613(579)(120(432(14(714)(491))(868))(861(844)(93))))))(535(657(983(508(158(630)(970))(455(100)(168(676(890)(353(986(401(658)(935))(213(672)(265)))(201(472(553)(536))(476(397)(793)))))(368))))(277(418)(354(897)(779(267(762(700)(305(758(183)(611))(152(567)(653))))(680))(304(395(622(26)(425(792)(148)))(307(50(378)(212))(582)))(508))))))(993))(210(681(23(536)(811(445(152(671(22(896(856)(73))(594(538)(80)))(948(36)(842(220)(411))))(251(135(395)(86(201)(137)))(107(665(935)(305))(445(174)(915)))))(611(145(406)(713(181(558)(258))(339(736)(794))))(783(54(427(674)(640))(404))(776))))(670(422)(935(422(331(433)(24(654)(549)))(394))(669(754(656)(801(512)(248)))(666(904)(299)))))))(733(48(986(260(205)(362(950(590(896)(901))(773(142)(382)))(517(755)(766(795)(340)))))(137(690)(367(955)(680))))(868))(869(18)(666(342(804(806(339)(292))(482(232(420)(276))(764(949)(455))))(28(43(374(142)(542))(202(158)(62)))(570(811(330)(105))(304))))(375(209(464(737(669)(457))(311))(505(514)(586)))(322(338)(535(843(157)(824))(801(342)(497)))))))))(485(346)(882(801)(250(638(316(4(849)(288(241)(757)))(169))(572(308(502(254)(558(744)(699)))(972))(55)))(738(154(89(736)(997))(983(884)(448(498(885)(454))(840(187)(49)))))(276(791)(107(112(550(24)(109))(889))(199(888)(679(917)(585)))))))))))) +(150(648(364(555(790(992(428(668(860)(521))(80(317)(177)))(143(871(753)(617))(760)))(707(782(739(605)(358))(213))(293)))(888))(357(79)(486(546(774(596(984)(73))(655(494)(0)))(232))(845(626(85)(673(526)(423)))(234)))))(677(471)(157(898(135(764)(913))(684(303)(711(687)(94(465)(755)))))(416(585)(215(156)(196(964(54)(268))(227(901)(815))))))))(667(295(574(535(609(969(843(901)(978))(85(551)(696)))(467(971(263)(585))(910)))(958(64(514(956)(91))(967))(343(820(388)(733))(672(811)(411)))))(594(827(705(658(740)(415))(220(438)(821)))(372))(380)))(995(950(887(468(794)(644(81)(393)))(743(918(64)(297))(615(737)(662))))(714(646(160(22)(477))(238(595)(934)))(655(419(995)(494))(275))))(19(934(287(350(995)(526))(815(287)(700)))(657))(217(258(548(492)(234))(0(609)(129)))(623(910(407)(90))(819))))))(448(210(802)(488))(763(93(194(276(440)(39(349)(137)))(683(561)(286(765)(324))))(968(196(849(282)(451))(803(247)(949)))(201(163(554)(469))(641))))(92(687(281)(193(780)(745(44)(376))))(894(337)(547(632(400)(108))(132(564)(903))))))))) +(920(126(443(750)(378(337)(148(226)(226(407(233(152)(557))(819))(773(248(714)(832(63(210)(589))(326)))(755(739)(391(658(225)(996))(54))))))))(225(662)(943)))(241(922(95)(547(359)(326(390)(577(291(138(16(235(155)(230))(536(81)(825)))(157))(285(827(345)(560(492)(887)))(788(286(922)(519))(433(990)(977)))))(181(540(810)(899(539(9)(152))(996)))(59))))))(346(949(18(872(207(714(633(564(809)(501))(505(529)(861)))(385(406(966)(776))(669)))(601(305)(422(119(459)(789))(441(219)(293)))))(637(795)(898(96(264(220)(681))(712))(793(198(96)(100))(204(566)(668))))))(969(880(853(858(101(44)(884))(840(265)(513)))(613(841)(950(672)(254))))(972(112)(793(16(834)(984))(625(837)(139)))))(140(215)(497(868)(530(898(775)(679))(738(73)(963)))))))(159))(98)))) +(231(604(477(11(561)(237(719(224(373(84(982(340)(583))(667(433(369)(560))(235(363)(315))))(60(213(794(663)(349))(908))(483)))(586(693)(607(430)(918(800)(84(326)(310))))))(348(328)(56(59(630(828(654)(590))(66(643)(368)))(261(583(671)(999))(155(637)(482))))(87))))(824(772(472(616(71(50(753)(496))(86))(545(446(543)(639))(979(82)(272))))(884(554)(672(48(634)(128))(356(245)(564)))))(792(769(461(199)(848(82)(961)))(446))(100(830(269(451)(304))(507(966)(62)))(665(323(168)(986))(65)))))(157))))(138))(738(619)(573(543)(643(991)(565(619(81(406(655(412(923)(626))(216))(806(585(702)(793))(152(541)(302))))(51(287)(122(861)(753(806)(682)))))(490(311(724(104(311)(240))(922))(933))(847(252)(240(294(418)(495))(659)))))(915))))))(416(822(299)(343))(665(987)(599(13(713(708(986(172(697(150(510)(255))(398(176)(315)))(12(187(483)(932))(943(831)(587))))(637(361(782(613)(399))(150(234)(753)))(162(133(155)(114))(943(579)(880)))))(619))(791))(504(554(202)(118(458(940(410(597)(464))(136(640)(463)))(686))(145(360)(666))))(599(705)(912(560)(896)))))(158(107(467(649(894(872)(402(190(732)(553))(924)))(243(686(865(679)(486))(237(101)(100)))(742(607(540)(258))(353))))(829(521(372(915)(933(613)(425)))(146))(27)))(482(543)(397)))(545(979(268(356)(695(9(554(795)(609))(879(246)(567)))(388)))(829(508(635(837)(97(994)(564)))(751(634(998)(880))(6(279)(317))))(710(20(173(27)(182))(520))(935(977)(680)))))(854(990(423(1(367)(152))(503(794)(143)))(605(602(170(788)(829))(899(244)(778)))(886)))(253(195(336)(123(90)(905(734)(111))))(298))))))))) +(430(653(443(105)(232(443)(42)))(720(69)(892(555(236(236(980)(424(469)(333)))(228(829)(355(657(816)(411))(562(54)(807)))))(385(785(31)(114))(731(103(730)(486(757)(770)))(503(497(323)(219))(689(763)(502))))))(372(788(972)(269(793(698)(859))(965)))(765(418(334(663(588)(399))(244))(373(614(897)(232))(488)))(476(723)(568(426(284)(818))(739))))))))(883(715(61)(760(128)(767)))(475(210(447(99(681)(66(942(563)(806))(545(541(975)(226))(549))))(317))(742))(384)))) +(352(389(685(369)(593(172(379(229(63(402(852(181)(832))(254(856)(917)))(105(86(732)(753))(896(39)(955))))(821(464)(58(475(779)(454))(567(152)(941)))))(24(640(873(124)(53))(133))(479(444(887(776)(733))(709(892)(564)))(1(872(756)(95))(834)))))(259(140)(920)))(130(834(312)(311(211(171(919(417)(990))(845))(353(877(718)(877))(483(413)(637))))(862(258(820)(61(820)(381)))(817(15)(156(613)(245))))))(506(762)(431(479(161(815(394)(90))(255))(191(300)(327(647)(268))))(461(397(548(465)(935))(513(736)(150)))(941(700(569)(788))(440))))))))(72(26(193(891(685(428(267(187(165)(175))(296))(440(659(408)(974))(826(365)(204))))(690(309(531(559)(333))(375(21)(529)))(357)))(837(106(729)(227(684)(357(257)(340))))(683(981(240(758)(494))(184))(550(250(438)(428))(161)))))(960(717(379)(94))(116(750(873(947)(195(130)(605)))(945))(194(806(633)(487(667)(607)))(790(897)(588(472)(873)))))))(959(975(691)(515(145(896)(917(688(384)(958))(109(503)(752))))(905(139)(826(880(748)(789))(202(76)(0))))))(541(705(249)(165))(703(580(959(950(607)(756))(909(208)(648)))(337(749(550)(167))(555)))(225)))))(36(607(941(821(926)(438))(951(523)(268(878(448(300)(917))(942))(678(364)(37(438)(650))))))(286(204(978(35(726)(229(615)(151)))(94(384(482)(625))(792(621)(535))))(370(377(925)(109))(887)))(726(935)(535(20)(736)))))(140(782(755(626)(319(834(461)(547(348)(824)))(531(671(692)(45))(504(663)(858)))))(913(933(72(774)(897(82)(106)))(636(179(749)(526))(24(869)(801))))(738)))(513)))))(735(739(276(620(147(78(148)(941(336(190(475)(408))(489(902)(249)))(293(749)(522))))(232(916(498(703)(983))(408(659(533)(54))(986)))(899(272(948(829)(595))(627))(892(153)(534(339)(421))))))(887))(484))(157(328(120(516)(517(108(321(930)(883(902)(752)))(273(474(612)(204))(419(175)(199))))(756(907(195(296)(582))(309(943)(787)))(946))))(780(339(328(371(289(330)(232))(602(508)(420)))(36(271(563)(440))(593(692)(809))))(909(831(64)(961(509)(409)))(77(672(822)(750))(111(952)(397)))))(974(850(481(872(264)(975))(435(255)(791)))(786(823(696)(180))(235(636)(437))))(486))))(391(270)(732(870(810(665(338(55)(387))(20))(755(131)(876(585)(385))))(528(157(153(816)(48))(717(158)(755)))(752(804(112)(198))(208(592)(593)))))(23(368(82)(61(107)(756(603)(49))))(418))))))(822(294)(495(158(214(764(626)(426(327(657(29)(219))(668(153)(885)))(619(985(693)(923))(976(216)(261)))))(778))(932))(415(50(224)(348(688(384(893(99)(249))(188))(513(739)(173(870)(919))))(352(83)(693(815)(896(354)(706))))))(137(283)(247))))))) +(386(254(927(22)(509(232(22(538)(664(938(400(493)(687))(410(971)(401)))(12(736(513)(770))(11))))(365(24(162)(127(784)(214(340)(447))))(118(163(637(140)(487))(626(437)(361)))(357(108(100)(391))(919(193)(400))))))(851)))(635(477(784(468(473(475)(436(594(668)(40))(445(615)(760))))(934(709(987(115)(59))(7(620)(234)))(76(425(122)(219))(661(945)(169)))))(275(854(286)(434(915(845)(111))(527(627)(491))))(639)))(32))(977(157(727(959)(923(912(702(636)(512))(537(811)(622)))(509(904(619)(831))(260))))(287(102(275(472(292)(395))(277(805)(264)))(979(869(595)(842))(315(827)(425))))(12(522)(377(942)(208(418)(232))))))(923(216(403)(849(533(768(467)(926))(847))(762(82)(316))))(349)))))(133(728(783)(70(924(975(995(983(285(623)(181))(288(284)(205)))(389(131(192)(115))(303)))(75(571(828(500)(307))(467(442)(846)))(183(103(44)(647))(419(204)(180)))))(287(656(394)(990(584(693)(759))(108)))(616(883(31(854)(323))(633(589)(887)))(706(223(586)(474))(404)))))(767(472(851)(351(270(970)(82(548)(128)))(347)))(242(588(58(961)(30))(275))(737(437)(101))))))(55(266(252)(149(36(9(262(861(8)(350))(910(337)(513)))(660(900(338)(740))(291(31)(269))))(744(704)(502(842(740)(110))(193(608)(975)))))(465)))(933)))) +(437(610(409(875)(468(741(136(542)(641(978(972)(426(664(906(465)(739))(550(261)(104)))(869(712(274)(550))(600))))(256(360(910(406)(724(30)(686)))(204(673(684)(467))(35(156)(397))))(807(417)(200)))))(866(793(351(891(403(332(681)(146))(708))(679(581(501)(2))(620(9)(389))))(841(854)(533(49(300)(226))(56))))(560))(416(879(387(824)(646))(417))(728(829)(291(887(349(965)(549))(628(226)(903)))(660(76)(108(595)(26))))))))(869(484(813(138(197(497(723(641)(739))(382(670)(363)))(806(968)(260(876)(867))))(71))(259(289)(578)))(423(90(683(816(171(545)(8))(264))(134(832(310)(539))(822)))(981(621(343(431)(78))(512))(341(145(862)(487))(683))))(670(429)(461(672(27(55)(393))(263(464)(654)))(986)))))(587(103(203(68(521(39(183)(954))(779))(331))(360))(895))(145)))))(883(420(581(639(522(73(225(103(925(622)(543))(398))(771(37(469)(20))(472(215)(532))))(891(187)(640(321(387)(69))(183(881)(396)))))(833))(572))(241(918(770)(411(912(516(14(205)(586))(919(541)(543)))(420(711(813)(314))(478(747)(773))))(322)))(601(193)(740))))(531))(550(809(942(38)(608(699)(827(114)(502(937(84(725)(31))(831(275)(531)))(836(614)(350(926)(28)))))))(488(911(868)(439(53)(323(151(970(331)(29))(13(82)(708)))(198))))(489(64(489(788(202(841)(924))(564))(600))(759(515(397(941)(945))(416(419)(784)))(11(253(173)(933))(51(604)(140)))))(657(248(277(40(243)(240))(48))(696))(445(493(177(646)(120))(764(59)(261)))(590(60(733)(385))(673)))))))(518(873)(289(353(294)(939))(643(515(461(702(164(910)(857))(777(131)(576)))(299))(345(457(349(876)(544))(607(873)(413)))(330(820(875)(248))(240(185)(874)))))(959(189(164(324(304)(413))(845(154)(698)))(462(513(776)(97))(566(152)(256))))(153))))))))(331(26(671(101(994(136)(145(680)(389(813(724(102(569)(85))(62(845)(127)))(315(286)(224)))(271(845(666(416)(789))(781))(18(936(464)(742))(242(76)(233)))))))(661(597(934(335(673(493)(501))(329))(761))(464(284(212)(993(190(643)(692))(393)))(853)))(869(608)(610))))(726(895(85(494)(961(865)(140(794(507)(683(487)(963)))(560))))(230))(542(570(140)(485))(952(301(100(559(621)(388(290)(283)))(471(213(967)(503))(304(341)(153))))(710(159(875(909)(213))(356(651)(726)))(226(474)(620(923)(209)))))(259(759)(96(411(399(68)(891))(340(150)(890)))(552(472)(429(27)(647)))))))))(594(885(42(513(634)(430(722(874(930(298)(493))(888(124)(509)))(134(483)(835(42)(227))))(158)))(900))(161(138(674(39(277)(919))(642(871(81(775)(601))(850))(994)))(909(552)(846(935)(655(628)(530(932)(787))))))(437(6(237)(892(363(352)(792(667)(17)))(754(243)(11(843)(764)))))(196))))(214(749(722(480(46(129(227(682)(361))(531(95)(701)))(684(880(779)(884))(826(137)(723))))(782(809(887(419)(727))(562(767)(316)))(177(660)(164(823)(889)))))(876(269(968(957(754)(220))(273(219)(139)))(158))(304(477(638(601)(727))(280))(686))))(896(232(267(836(139)(394))(580(653)(394)))(683))(662(223(857)(491))(270(380)(909(138)(85(553)(701)))))))(943(608(326(69)(437(114(562)(724(235)(946)))(786(629(624)(64))(918(148)(632)))))(867(600)(319(894)(118(66(508)(942))(753(43)(90))))))(142)))))(227(739(957(778(958(637(604)(521(323(681)(406(536)(283)))(911(789(798)(450))(195))))(359))(393(619(663(938)(113(69(270)(947))(665(657)(558))))(964(275(959(815)(724))(568))(225)))(845(247)(425(896)(367(917)(197(475)(139)))))))(817(215)(63(528(280(459)(873(158(593)(661))(862(12)(514))))(86(412)(183)))(680(125)(834(619(769)(382(899)(273)))(484(145(633)(989))(47)))))))(817(341(233(232(104)(563(938)(365(20(387)(134))(638(424)(450)))))(720(378)(593(807)(800(390)(91(915)(987))))))(673(536(696(180)(876(861)(963)))(509(103(409(61)(341))(639(931)(187)))(134(83(615)(933))(859))))(373(61(709(612(141)(118))(982))(902(913(747)(565))(755)))(193))))(524(132(754(78)(194(785(156)(481))(769(894(732)(25))(278(826)(480)))))(511(9(301(866)(987))(976))(433(781(433(216)(797))(925(670)(128)))(868(847)(299(468)(530))))))(712(468(482(15(38(818)(333))(629(857)(979)))(132(276)(685(563)(590))))(525))(918(44(261(180)(935(329)(892)))(263))(895))))))(64(366(892(954(932(660)(664))(825(98(163(330(23)(164))(160(126)(720)))(481(529(421)(959))(285)))(161)))(883(755(139(232(241(422)(536))(653(754)(643)))(980(417)(865)))(170(65(689(240)(962))(485))(784(964(339)(788))(15))))(444(766(894(729(234)(723))(55(544)(537)))(566(493(821)(677))(77(756)(32))))(584(682)(525(173)(16(913)(125)))))))(223(303(110)(481))(893)))(67))))) +(414(317(558(596(895)(972(651(698(229(857(482(170)(799))(929(77)(890)))(368(487)(324(812)(731))))(50))(312(98)(513(678(275)(171(430)(943)))(771(685(238)(843))(29(360)(759))))))(900(511(452)(536))(15(998(352(183(828)(415))(391(488)(705)))(586))(119(793(701)(81(408)(793)))(887(614(511)(456))(441(867)(910))))))))(458))(269(641)(181(158)(956))))(526(636(343(943)(105(786(324(650)(775(780(200(819)(818))(641(389)(246)))(561(221(148)(695))(358))))(740))(98(783)(89(495(705(630(869)(426))(734))(221(731(178)(968))(623(565)(233))))(569)))))(397(787(317(462(29(57(698)(752(669)(105)))(166(14(384)(612))(714(586)(717))))(227(452)(656(504(100)(222))(191))))(271))(975(930(686)(353(784(453(288)(214))(598))(725)))(779(294)(450(264(682(360)(36))(563(867)(578)))(998(836(99)(542))(499(52)(342)))))))(624(866(501(51(58)(916(908(341)(833))(165(139)(333))))(503(278)(646(787)(668(664)(783)))))(380(643(949(529(350)(390))(753))(94(992)(151)))(181(269(301)(755(683)(307)))(719(235(710)(677))(88(345)(168))))))(735(780(245(454(701(220)(299))(520(332)(732)))(114(530(11)(477))(754(208)(652))))(469))(226(742)(169))))))(490(202(971(770(338(538)(256(195)(757(740(282)(152))(226(796)(423)))))(462(437(368)(875(243)(8)))(275)))(594))(246(152)(684)))(148)))) +(226(770(234(350(271(866(603(770)(728))(62(659)(52)))(425(685(836)(716))(515)))(965(414)(914(192(628)(92))(279))))(937(993(268(13(81)(958))(169(878)(203)))(169(911(711)(4))(370(58)(352))))(517(494(283(988)(9))(785(680)(379)))(725(298(639)(416))(50(265)(167))))))(757(921(180(97)(690(717(984)(312))(877(248)(964))))(213))(37(671(376(391(845)(557))(468(201)(491)))(392(592(31)(565))(544(171)(569))))(228(246)(799(106)(149(885)(290)))))))(181(849(630)(959))(361(824)(307)))) +(174(201(356(540)(797(158(446(853)(734(573)(265)))(326))(288(205)(579(261(162)(623))(382)))))(814(343)(862(841)(681))))(554(169(416)(3(417(144(260(317)(916))(70(791)(109)))(272(128(333)(414))(755(634)(697))))(556(75(438(809)(857))(164(550)(576)))(298))))(330(753(137)(300(294(343)(896(959)(706)))(818(32(386)(80))(202(95)(785)))))(497(407(822(318(344)(197))(319(777)(113)))(836))(989(703(691)(164(165)(498)))(175)))))) +(396(724(264(500)(455))(328(15(925)(274(524(427)(509(164)(400)))(380(845(545)(369(845(278(184(37)(850))(769(552)(647)))(729))(96(191)(573(803(970)(526))(21(295)(844))))))(484(239(28(979(557(805)(153))(951))(646(358(50)(890))(374(522)(289))))(478))(755)))))(376(615(589)(799))(811(93(51(815(83(836(958)(376))(455(197(975)(653))(367(654)(945))))(968(399(347(94)(187))(567(12)(809)))(515)))(72))(281(839)(449)))(857(583(135(93(183)(589(625)(617)))(538(847(940(191)(619))(726(240)(167)))(67(667(650)(944))(839(750)(238)))))(9))(463(912)(104)))))))(427(490(126)(405))(27(579(454(260)(550(395(878)(278(811)(311(97(14)(257(342)(399)))(478(213(763)(510))(927)))))(749)))(820))(744(864)(159(932(266(123(743(753)(491(481(725)(472))(830(564)(241))))(133(133(116)(453))(312(627(299)(190))(114(813)(347)))))(662(773(853)(440(688(297)(268))(511(137)(795))))(779(373(816(705)(702))(924))(713(738(436)(303))(28)))))(57(782(367(726(528(347)(357))(281(746)(892)))(87))(548(673(18(544)(41))(766(489)(496)))(935)))(792(417(34)(77(228(640)(148))(634(811)(990))))(184))))(83(682)(46(520)(914)))))))) +(812(323(627(316(479(971(438(688)(333))(422))(646))(914))(102(662(772(43)(681(862(35)(729))(830(24)(926))))(509(38)(844(833(627)(80))(655(803)(389)))))(327)))(178(678(626)(182(176)(294(484(346)(161(814)(308)))(824))))(814(310)(226(800(76)(785))(62(649)(946))))))(210(144(274(179(932)(437(754(242(78)(154))(250))(838)))(306))(309(289(895(916(850(962)(971))(452))(512(132(64)(845))(780)))(374(85(761(428)(223))(804(425)(339)))(523(912(690)(733))(441(112)(833)))))(463(408(318(807(334)(162))(911(256)(841)))(529(607)(334(116)(13))))(239))))(203(161(534)(602))(353)))) +(529(760(402(704(675(10(513(363(340(934(195(916)(190))(369(989)(160)))(65(725(236)(49))(404(454)(220))))(933))(205(727(481(580)(191(285)(120)))(47(607(151)(619))(661(821)(740))))(551(463(635)(380(267)(667)))(676(395(496)(510))(91(495)(824))))))(803(445)(675(773(217)(173(331(823)(234))(20(311)(289))))(951))))(682(901)(504(415(677)(679(985)(38)))(380(331(294)(371))(23)))))(752(341(66)(6(413(854(585(691(853)(295))(343(494)(831)))(997(359(156)(114))(137)))(923(116)(733)))(389(723(815)(956(498(933)(659))(406(167)(199))))(771(180(96(673)(701))(667))(857)))))(615(609(993(822(594)(450(606(208)(422))(564(866)(486))))(447(193(196(582)(765))(840(842)(614)))(615)))(899(595)(67)))(661(285(98(718)(726(414)(509(630)(184))))(164(619)(710)))(390)))))(342(468(60(437)(15(233(843(863(980)(324))(982(649(947)(683))(593(601)(330))))(269))(838(759(968(750(841)(653))(435(727)(913)))(241(94)(670)))(555))))(936(718(573(925(734)(537))(542(228(424(387)(315))(426(795)(781)))(67)))(680))(933(107(472(355(218(193)(270))(623(394)(818)))(181))(701(870(542(111)(554))(419))(310(933(726)(117))(255))))(123(813(749(352(404)(990))(766(113)(7)))(5))(825)))))(545)))(616(338(541(34(916(172(382)(921(114)(773)))(704(448)(980(927)(108(737(367)(28))(608)))))(865(591)(499(949(592(431)(765))(20(309(726)(502))(712)))(148(173(257(159)(117))(135))(900)))))(874(628(960)(676(531(334(438(469)(846))(230(725)(585)))(735(53)(628)))(684(850(63)(950(673)(274)))(544(12)(988)))))(33)))(122))(343)))(52(226(251)(375(507(538)(940))(608(315(400)(300(460)(782(802(148(779(358)(959))(829(333)(525)))(429(921(686)(402))(146)))(678))))(659))))(99(669(111(66(742)(777(944(343(411(683(839)(322))(118))(684))(838(311(352(50)(362))(634(573)(323)))(775(4(654)(233))(162(449)(909)))))(528(130(110(469)(116(923)(663)))(524(958(887)(814))(654(69)(59))))(903(310(138(290)(752))(100(508)(513)))(950(678(19)(512))(898(908)(968)))))))(56(730(756(786(46)(827))(775(28)(772(836)(607(883)(120)))))(438(821)(612(258(247(539)(771))(318(581)(427)))(159(483(159)(66))(304(791)(807))))))(397(211(496)(444(342(237(816)(723))(995))(508(822)(549(275)(604)))))(252(515(718)(525))(898(630)(992(378)(701(451)(738))))))))(197(92(243(214(743)(72(32)(309(205(94)(778))(774(508)(252)))))(50(197(789)(261(918(894)(916))(761(138)(820))))(107)))(477))(463(499(213(452(805(158)(885(120)(892)))(990(860(336)(760))(352(818)(734))))(546(729)(813(621(707)(441))(661(36)(827)))))(658))(705(787)(623(51(386(360(800)(253))(502))(702(912(386)(632))(170(648)(869))))(195(426)(804(434)(446))))))))(684)))) +(212(454(677(225(655(101(997(203)(529))(976(769)(58)))(800(500(517)(747))(665)))(874))(581(189)(215(89(838(367)(820))(614(107)(320)))(475(399(110)(997))(223)))))(245(855)(869(885(813)(388(243(338)(188))(221(898)(482))))(7))))(153(228(330(448(181(26(287)(246))(855(193)(404)))(472))(146))(41(696(432)(798))(514(235(779)(884(71)(503)))(941(509(575)(216))(521(827)(234))))))(649(937)(778)))) +(629(269(370(416)(444))(951(570)(665(782(695(691(931)(813))(315))(60(616)(12(181(945(261)(669))(525(487)(907)))(983(75)(503(592)(360))))))(501))))(310(186(101(736(472(857(451)(842(473(429)(420))(255(348)(309))))(783(356(881(598)(22))(884(504)(125)))(64(94)(525))))(905))(314(286)(696)))(3(454(85(2(292(126(568)(172))(833))(515(881(360)(773))(694(276)(91))))(387(896(266(610)(815))(726))(507)))(352(865)(244)))(106(146(829)(419(130)(393(249)(278(736)(294)))))(716))))(206(53(604(693(635(646(690(759)(493))(27))(980))(376(770(790)(277))(936(829(971)(234))(946(82)(374)))))(351))(678(204)(423(215)(963(11(13(602)(734))(305(196)(671)))(442(317(340)(705))(173))))))(393(32(174(436)(334))(536(147)(324)))(991))))) +(366(957(843(140(214(755)(408(487)(162(452(225(281(863)(484(68)(68)))(309))(428(59(752(29)(49))(786(515)(321)))(78)))(882(125(279)(983(141)(503(129)(777))))(688)))))(939))(148(869(249(302(563)(28(597(505)(616(597)(685)))(215)))(382(553(790(416(950)(433(507)(276)))(28(798(905)(20))(789(934)(213))))(889(888(623(13)(47))(838(861)(296)))(604(544(382)(580))(18(371)(605)))))(572(380(602(37(955)(885))(720))(452(232(275)(1))(999(383)(338))))(100(724(617(900)(719))(658(560)(790)))(632(750)(98))))))(886(691(96)(504(112(453(611(124)(792))(620(850)(228)))(313(128(230)(326))(195)))(50(853)(41(459(856)(317))(4)))))(380)))(955(790(670(706(37(725(635)(336(690)(909)))(215))(983(977(258)(865(438)(688)))(414(206(921)(850))(77(384)(913)))))(973(700(202(395(908)(308))(266(836)(326)))(909(11)(873(986)(262))))(797(421(968(794)(755))(235(13)(53)))(336(195(938)(140))(637(257)(609))))))(979))(379(144)(445(825)(128(710(990(606(896)(992))(238(845)(804)))(942(547(901)(911))(913(865)(26))))(25(728)(603))))))))(33(880)(5(597(277)(347))(240(374(119(609(69(496)(354(5(689)(927))(553(2)(902))))(743(711)(929(792)(897(560)(348)))))(570(48(434(107(519)(310))(182))(704(621(759)(64))(841)))(204(448)(525))))(618(645)(877)))(468(852)(527))))))(629(75(638(587(475(847)(337(861)(157(769)(31(28)(900)))))(161(780(299(700(189(566)(779(517)(536)))(517))(893(784(2(25)(277))(548))(519(388)(318(441)(185)))))(813(197)(503(577(597(806)(341))(240))(354))))(540(857)(444))))(863))(837(719(189)(796(778(401(79(663(492(947)(970))(575(586)(577)))(52(592(352)(46))(160)))(416(274(898(448)(846))(983(73)(381)))(90(874)(924(254)(244)))))(402(925)(295(149)(537(195(632)(820))(25(151)(734))))))(614(299(449(431)(534(787(548)(262))(821(622)(657))))(711))(478(564(988)(44(752(65)(969))(245(769)(390))))(705(613(596)(941))(326))))))(128(647(353(303(587)(212(556(674)(276))(657(67(405)(496))(886))))(917(544)(723(531(794(97)(337))(587))(879(532(858)(257))(381(567)(612))))))(6(386(599(323(772)(287(449)(323)))(642))(73(463(222(813)(637))(14(880)(303)))(19(458(231)(527))(612(638)(799)))))(389)))(182(291(132(352(700(170)(496))(158(931)(489(788)(104))))(312(7)(843)))(279))(654(397(729(6)(188(459(187)(646))(851(963)(328))))(488(614(117)(668))(243(259(999)(468))(779(198)(752)))))(670(553(445(392(191)(557))(207(119)(96)))(181))(190(767(898(1)(588))(504))(462(661(546)(40))(593(49)(876))))))))))(92(629(253(115)(327(441(737(778(393(865(387)(977))(663(468)(881)))(123(170(273)(117))(55(89)(2))))(469(912(869(676)(960))(290(21)(139)))(817)))(257(5)(484(978)(707(896(74)(967))(902)))))(136(603(381(691(230(108)(293))(497(2)(302)))(186(198(184)(901))(788)))(344(429(798)(80(626)(45)))(254)))(206(33)(18(547(293)(733(555)(834)))(70(509)(352)))))))(80))(283(851)(366(412(26(118(67(946(883)(510(303)(716)))(474))(746))(156(610(67(749(524)(376))(801(246)(982)))(919(626)(630(829)(396))))(858(612(157(285)(201))(868))(579))))(955(467)(974(296(545)(587))(451(594(99(483)(313))(359(323)(228)))(375(150(69)(958))(388(660)(995)))))))(372(785)(496(684(207(791)(196))(93(156(803)(649(706)(323)))(573(902(558)(742))(824(829)(775)))))(235(659(57(222(519)(237))(952(682)(329)))(487(929)(805)))(95(115(18)(518))(985(403)(793))))))))))) +(365(425(1(856)(393))(741(830)(219(688)(615(33(619)(964(346(686(668)(209))(223))(256(928(94(799(619)(18))(48))(114))(110(393(722)(557))(628(609(476)(582))(158))))))(308(755(419)(160(389(653(673(126)(340))(264))(561(185)(861(231)(726))))(674(771(648(642)(483))(569))(628(502(822)(625))(916(168)(596))))))(733))))))(364(49(346(165(938(721)(951(618)(741(323(244(285(532)(936))(647(422)(855)))(665(198(28)(352))(952(115)(922))))(721))))(608(779)(856(193(681)(794))(629(635)(506(342)(953(179(399)(189))(617)))))))(94))(739))(884(604)(581(49(189)(653(576(734(415)(682))(291(52(494(798(401)(928))(613(181)(151)))(956(807(119)(992))(151(458)(580))))(293(877(986(725)(342))(47))(701(300(809)(477))(63)))))(250(300(671(73(431(866)(323))(563(480)(79)))(384(291(881)(609))(24(736)(946))))(60(52(560)(222))(921(834(570)(807))(579(944)(394)))))(934))))(775(972(919(23(95(852(874)(305(457)(808)))(589))(324(122)(991(990)(324))))(618(814)(551(442(364(868)(963))(531(36)(475)))(551(176(276)(496))(802(749)(115))))))(939(531)(686(779(466(733(708)(15))(167(26)(582)))(742))(227(698(795)(224(73)(198)))(484(364(36)(286))(510(466)(548)))))))(251)))))) +(963(87(648(755(191)(334(790(853)(584(434)(84(13(549(699)(53))(429))(871))))(71)))(51(823)(977(2(252(316(345(142)(594(198)(697)))(934(992(916)(817))(600(337)(603))))(867))(344))(262(914(241(32(52(95)(174))(381(384)(158)))(110))(733(200(273)(211))(844(536(625)(167))(293(61)(283)))))(808(189(617(742(924)(812))(508(217)(394)))(100))(908(330)(754(499)(585(354)(129)))))))))(461(950)(520)))(261(831(276(290(641)(101(343(566(278)(367(618(47)(595))(358(328)(537))))(149(684)(612(805)(769(816)(578)))))(280(258(825(926(879)(606))(193))(564))(71(630(293(732)(946))(712(473)(625)))(374(67(218)(854))(895(862)(220)))))))(957))(861))(661(64(880(162(868)(654(251(465)(650(708(567)(669))(480(629)(825))))(734)))(743(413)(776(282(374(680(629)(384))(651(574)(174)))(357(835)(514(434)(570))))(904(994(219(989)(679))(977(539)(365)))(804(255(405)(986))(76(170)(185)))))))(457(230(341)(892(678(70(654(201)(978))(422))(502(312(773)(106))(857(770)(750))))(824(52(654(397)(186))(862(907)(82)))(960(239)(298(551)(854))))))(116)))(352(929(110(132(637)(12))(114))(565(540(413)(314))(39(287(826(757)(642))(398(916(351)(451))(925(909)(727))))(521(751(437(18)(293))(611))(23(665(487)(873))(609))))))(603))))) +(991(212(432(0(746)(924))(617(505)(327(629)(597(321)(836)))))(389(984(521)(38))(514)))(310(341(782)(246(222(564(951(759(323(682)(259))(532(407(680)(494))(754)))(83(634(232(70)(72))(515(588)(644)))(968(267(985)(86))(239(335)(637)))))(437))(751(53(581)(353(191(675(402)(120))(189))(787(559(285)(474))(765))))(126(168)(235(777)(264(685)(968))))))(39)))(804(817(424(512(887)(134(603(807(360(348)(254))(468(10)(352)))(829))(445(471(447(45)(637))(669))(720(938(560)(221))(510(609)(510))))))(204))(706(528(498)(769(667(915)(36(332(635)(584))(626(599)(888))))(690(287)(173(412(571)(630))(273(434)(874))))))(775)))(354(269(109(379(258(542(754(774)(853))(537))(502))(713(582)(605(662(755)(36))(575(172)(227)))))(292))(147))(130))))) +(507(30(140(749(204)(234(249(554(539(836)(9(663)(437)))(722))(768(160(624(127)(783))(865(41)(793)))(310(742)(694))))(153(715(887(272)(525(627)(399)))(612(627(65)(560))(680)))(237))))(378(222(49(196(434)(118(675(755)(719))(498)))(401(105(363(19)(548))(569(352)(715)))(657)))(378(957(613(395)(518(133)(545)))(967(570)(607(961)(245))))(530(625)(75(76)(901)))))(174)))(762(847(530(373)(55(480(32(554)(387))(161))(563)))(501(3)(109(769(251)(323))(833))))(152(928(233(535(161(838(913)(61))(816))(673(375)(131(451)(543))))(121))(10))(827))))(989(850(965(986)(894))(674))(157(71(400(659(794(17(703(544)(549))(732(707)(499)))(529(939(253)(588))(986(920)(589))))(146(317)(939)))(364(881)(801)))(919(589)(344(827(329(206(812)(910))(238(627)(182)))(488))(113(867(813(457)(886))(74))(352(447)(246(590)(707)))))))(148)))) +(494(696(54(206(236(544(467)(226))(932(327(332(425)(940))(751))(463(571)(768(860(652)(778))(423(87)(479))))))(916(850)(271)))(404(929(457(922)(187(394(176)(46(899)(232)))(208(753(644)(718))(746))))(841))(789(659(902(481(964)(767(273)(745)))(988(808)(188(529)(545))))(656))(545(953)(512(638(273)(200(915)(751)))(960(255(752)(880))(794(593)(953))))))))(250(534(470(889(676)(268(654(520(730)(156))(506))(721(991(574)(253))(495(93)(766)))))(132(282(138(973(731)(1))(795(312)(496)))(292(371(909)(322))(423)))(54(789)(388))))(730(343(332(395)(694(586(468)(344))(282(335)(64))))(427(515(500)(221(958)(465)))(597)))(427)))(554(581(59)(569(50)(88)))(359))))(839(328(939(877(699(624(810(551(635)(239))(914(691)(577)))(933))(710(225(187)(353))(23(352(375)(186))(731(1)(277)))))(735(917(439(619(979)(311))(820(210)(117)))(484))(425)))(239(593(210(986(716)(381(860)(732)))(741(3(661)(971))(968)))(526(264(532(364)(340))(740))(324)))(202(272(125(388(418)(162))(333))(130(12(428)(185))(284)))(0(219(632)(812))(632)))))(808))(662(13)(410(443)(375(635(816(757(769(636)(739))(629(988)(248)))(476))(719(224)(728(329)(386(706)(693)))))(181(366)(595))))))) +(420(450(527(243(482)(130(199)(34(648(718(993)(215(748)(563)))(290))(303(698(917(854)(324))(966(37)(947)))(471)))))(552))(487(216(910(604(465)(982(813(831)(788(115)(31)))(572(470(43)(315))(330(991)(688)))))(635(974)(389)))(910))(439(640(836(95(130(410(757)(649))(229(659)(705)))(675(477(505)(424))(752(130)(509))))(26))(691))(718(7(58(953)(840(530(594)(301))(243(955)(791))))(77))(55)))))(682(380(558(469(455(449(205)(757))(164))(439(358(104(781(962)(717))(938(624)(758)))(102))(778(841(607)(972(880)(945)))(156(948)(841(541)(423))))))(631))(241(346)(958(741(917)(949(97)(813(627(72)(872))(297(287)(312)))))(17(87(780)(636(515)(139(820)(616))))(890(921(246)(343))(111(599)(850)))))))(983(322(398(608)(801(479(700(448)(488(958)(783)))(30(334)(895)))(104(2)(620(333(722)(524))(470(73)(312))))))(402(860(82)(62(805)(158(286)(23(217)(376)))))(1(566)(976(254(112(77)(834))(75(626)(307)))(763(226(484)(362))(328(566)(758)))))))(406)))) +(443(975(318(463(260)(832))(968(854)(292(691(177(32)(79))(959(580)(51(293)(155))))(890))))(723(209(659(95(266)(684(903)(635(684)(170))))(403))(697(626(731(944(550)(454))(466(83)(755)))(272(455(879)(596))(752)))(377(492(973(823)(302))(173))(699(748)(776(48)(215))))))(443(812)(485(34)(120(456(633(357)(818))(777(500)(912)))(811))))))(144(595(370(489(847(151(607(959)(938))(364))(783))(680(228(339(983)(734))(554))(815(445)(798(669)(544)))))(146(830)(601)))(746))(553(279(72(742)(79(225(58)(146(672)(450)))(212(127(511)(916))(34(561)(148)))))(172(306(258)(8(532(374)(524))(951(381)(269))))(284(408(267)(821(129)(692)))(177(848(10)(944))(885(855)(510))))))(783(807)(271))))) +(455(339(734(839)(929(695(655(650(560)(829))(600(92)(660)))(997(442(697)(627))(664(471)(557))))(474(823(208(344)(744))(471(209)(566)))(947(999)(581(614)(767))))))(839(536(747)(881))(460(524)(252(829)(278)))))(228(853(925)(288(203(216(960(443)(160))(55))(993(385(170)(251))(419(390)(434))))(964)))(802(512)(956)))) +(73(767(422(408(82(896)(362(23)(82(839(488(228(339)(739))(891(977)(483)))(487(531(817)(36))(584(20)(773))))(437(89(372)(765(166)(72)))(376(824(195)(867))(397(225)(785)))))))(651(626(375(30(27(563)(960))(194))(92(937)(42(491(921)(302))(775(998)(930)))))(565(419)(441(992)(751(292)(517(436)(769))))))(807)))(1))(900(806)(189(650(16)(863(22)(339(845(46)(67(52)(389(641)(411))))(153(362(461(524)(310))(207(465)(275)))(311(17)(974(857)(716)))))))(683(618(381)(749(598(979(604(556)(698))(352(394)(913)))(36))(195)))(140)))))(478(532(738(352)(522(209)(627(837(624)(81(869(508(149)(313))(449(953)(683)))(40(833)(575(89)(307)))))(798(406(784(278)(671(275)(458)))(989))(644)))))(58(252(86(930(739(357)(846(626)(334)))(672(550)(754(796(868)(41))(316(331)(324)))))(164(148(310(169)(913))(804(824(859)(920))(243(67)(735))))(876(381(344(354)(15))(571(877)(29)))(419(282)(135(490)(581))))))(530(251(410(175(892(989)(834))(593(558)(235)))(811))(52(226)(511(646(443)(706))(704(217)(968)))))(984(443)(923(792(129(60)(420))(194(705)(291)))(409)))))(803(209(21(604(494(53(232)(704))(924(338)(746)))(891(87(133)(384))(669(195)(358))))(550(853(291(482)(815))(755(740)(7)))(490(104(201)(466))(303))))(602))(779(557)(86(677(524(636(579)(84))(96(173)(520)))(109))(168))))))(591(556(598(27)(457))(851))(542)))) +(65(232(525(329(183(74)(953(331(995(8)(128))(257(699(151)(934))(705)))(878(622(758)(327(246)(101)))(680))))(9(12(776)(174))(77(541(432(604(363)(98))(615))(586(266)(390(30)(372))))(785))))(199(20(593(884(271)(589))(609(519)(516(300(328)(211))(307(263)(359)))))(203(947(838)(42))(828(517(407)(485(886)(849)))(666(464(353)(684))(644(995)(720))))))(845)))(386(85(512(245(724(405(348(552)(382))(913))(669))(571))(834(781(185)(836))(843(909(36(65)(610))(142(505)(838)))(214(697(573)(881))(720)))))(507(553(159)(258))(847(122)(840(115(868(206)(662))(17(771)(982)))(572(290(24)(746))(666(783)(986)))))))(405)))(45(87(707(530(711(613(585)(947(823(635)(742))(315(82)(988))))(291(495)(433(749(570)(474))(592(823)(432)))))(712(629)(419(338(114(965)(419))(107(19)(335)))(674(720(910)(769))(25(210)(569))))))(711(78)(498(715)(674))))(721(187)(942(965(621)(433(57)(772)))(345))))(566(848(192(160(483)(390))(870(596(42(120)(366(485)(275)))(235(963(446)(869))(62(37)(354))))(603(457(678)(745(947)(28)))(614(495)(681(766)(588))))))(138))(617)))) +(475(409(68(109(84)(634(702(945(49)(477))(147))(287)))(356))(994(313(788)(151))(32(594(420(384(938)(491))(831(52)(196)))(338(402)(281)))(290(286(294(364)(927))(603(797)(200)))(348)))))(675(497(397(726(127)(444(891(993)(623))(327)))(586(8(118(300)(946))(716))(952)))(567))(326(805(989(391)(796(319)(436)))(747(802(189(416)(594))(772(951)(952)))(282(14)(97(830)(415)))))(977)))) +(131(145(274(990)(612))(201(139(655)(119(730(229)(803(80(312(811(374(959)(863))(180(867)(703)))(46(385)(79(181)(218))))(188(223)(956(487)(435))))(327)))(661)))(316(883(534)(315(803(248(251(84(788)(945(978)(483)))(309(321(656)(3))(49(464)(40))))(438(810(9(688)(994))(340(718)(852)))(28(175(949)(455))(559(609)(367)))))(225(828)(294)))(798(424(69(453(84(526)(852))(577))(811))(620))(789(560)(511(81)(324))))))(500(832(378(537(3)(156(942(768(149)(699))(286(917)(914)))(763)))(823(716(381(322(812)(237))(586(618)(644)))(222(479(446)(293))(306)))(850(379(563(383)(519))(371(752)(934)))(76))))(13(480(91(107(431(576)(52))(515(99)(812)))(237(68)(671(891)(809))))(69(255)(504)))(501(764(790)(687(246)(2(66)(306))))(682(560(31)(174(860)(794)))(922(533(593)(294))(870))))))(98(239)(857(491(684)(788(254(723(704)(180))(212))(167)))(54(404)(404(599(127(980)(956))(56))(801(569(267)(733))(841(871)(272)))))))))))(265(823(681)(373(261(54(471)(635(463(506(941)(860(184)(431)))(851))(435(741(26(790(871)(733))(944(526)(498)))(938))(1(211(92(981)(690))(534(499)(975)))(279(987)(129(195)(434)))))))(139))(587)))(608(72)(45(716(229(30(347)(773(265)(539(602)(912))))(455(907(859)(775(56(270(805)(884))(523(45)(342)))(219(215)(194))))(186(821(828)(978(555(971)(116))(106(575)(597))))(295))))(107(792)(237(451(219(517(252(114)(963))(374))(535(85(726)(941))(366)))(758(61(25(923)(539))(28))(76)))(843(382(584(813(123)(105))(712(953)(328)))(798(108(186)(828))(917)))(255)))))(418))))) +(642(524(376(111(612)(962(336(157(56(738)(252(164(990)(656(271)(12)))(262(406(250)(455))(478(42)(537)))))(822(408(51(318)(392(48)(402)))(995))(270(524(975(727)(246))(437))(86(369(747)(755))(909(697)(685))))))(982(492(787(914(671(617)(327))(512(365)(814)))(412))(534))(467)))(32(187)(103(343(605(727(330)(559(266)(489)))(889(901(248)(945))(212(393)(474))))(256))(361)))))(470(629)(738(786(518)(724(233(779(711(854(444)(615))(768))(765(607)(7)))(253))(220(979(350(21)(501(949)(739)))(662))(949(620(700(767)(294))(972(28)(892)))(784)))))(376(729(695)(476(683)(540(410)(646))))(142(398(241)(877(77)(539)))(133(930)(821(222(84)(554(120)(433)))(573))))))))(352(538(789(466(254(834)(778(295(698(428(103)(234))(736(107)(546)))(270))(47(262)(599(6(791)(409))(879(191)(795))))))(770))(830(172(671(405)(416(897(174(122)(680))(23(971)(498)))(702(422(17)(297))(44(368)(130)))))(918(540(154(576(86)(505))(397(116)(311)))(727(393(17)(25))(769(187)(675))))(311(222(381)(850(308)(584)))(396(557(609)(786))(471)))))(325)))(908(156)(506(640(283(270)(321(462(958(85)(914))(323))(978(502(59)(218))(971))))(614(626)(850(466(794(228)(720))(636(81)(636)))(657(628)(115)))))(173))))(851(127(444(242)(631(854)(803)))(458(956(354(217(377(363(688)(183))(745(722)(828)))(408))(831))(584(410(567(737(557)(575))(110(93)(779)))(143(620(853)(381))(505(313)(870))))(266)))(821)))(751(183(206(990(352(550)(926(883)(15(750)(654))))(336(869)(572)))(121(146(714(385(380)(320))(253))(578(671)(350(481)(50))))(849(555)(973))))(752))(478(587(951(117(521(175(525)(117))(929(64)(905)))(206(49)(611(312)(487))))(560(248(222)(543(880)(379)))(120(758(168)(492))(903(145)(161)))))(539))(789))))))(14(99(473)(822(49(960(325(628(511(515(738)(88))(49(765(549)(395))(932)))(227(565)(278(897(538)(991))(482(601)(112)))))(115(916(231(281(427)(360))(238(138)(172)))(797(83(422)(646))(680(365)(50))))(294)))(648))(64(7(52(684)(369(356(991(59)(748))(589))(924)))(24(401(293(470(417)(580))(435(640)(516)))(243(412)(222)))(342(849(557(962)(552))(89(707)(667)))(528(942(953)(49))(568)))))(143)))(222(564(438)(0))(352(947(593(508(73(712)(947))(422(445)(361(297)(141))))(180))(770(83(263(770(175)(137))(302))(849(102(115)(415))(688(553)(476))))(666(931(218)(60(411)(711)))(784))))(776)))))(694(519(226(181(19)(394(803(576(6)(284(915(177)(127))(326(132)(146))))(166(972)(996)))(437(920(652)(530))(397(38)(473)))))(324(683(726)(524(605)(1(866(967(955)(6))(21(278)(638)))(551(348(604)(628))(926(857)(758))))))(113)))(113(36(367(371)(810(859(312(908(95)(410))(892(248)(630)))(660(476(286)(727))(463)))(860(979(93)(358(10)(186)))(746(608(152)(391))(382(742)(606))))))(618))(85)))(387(861(385(498(101(91(949)(820))(728))(568(502(99)(723(322(530)(223))(698(610)(944))))(286(11(955(795)(607))(68(227)(138)))(520(786(945)(652))(944(174)(290))))))(984(954)(712)))(753))(826(632)(990)))))) +(856(996(876(525)(973(564(607)(316(599)(529)))(622)))(786(486(674(358(719(429)(742))(261))(161(73(586)(841))(772(653)(408))))(586(786(695)(126(280)(629)))(388(14(665)(143))(85(945)(797)))))(592)))(910(208(767(404(290)(386(813(29)(174))(849(265)(424))))(864))(432(381(689(684(299)(846))(205(911)(111)))(702(524(484)(236))(142(156)(705))))(985(63(450(144)(31))(841))(205(706)(597(685)(768))))))(862(332(227(563)(531(446)(844(191)(406))))(509))(992(560(921)(644(418)(519(178)(64))))(84))))) +(176(101(948(912)(486))(928(57(356)(199(755)(211(569(605(596(954)(618(319)(393)))(146))(890(855(688(129)(106))(982))(46)))(828(549(717(775)(460(58)(452)))(370))(708(506(313(442)(200))(521(62)(352)))(149))))))(64(150(4)(96))(944(30(619(77(587(701)(11(478)(837)))(984(547(148)(696))(773(262)(270))))(668))(802(166)(789(148(721(917)(265))(20(330)(271)))(155(608)(29(109)(950))))))(848(530(11(620(288(440)(906))(18(692)(294)))(296(335(256)(353))(499)))(872))(949))))))(819(68(181(382(370(295(681)(117(662(946(994)(184))(961(875)(933)))(221(242(919)(615))(197(155)(622)))))(587(718(490(708(555)(878))(635(316)(218)))(884))(231(280(186(96)(483))(828))(688(155(87)(185))(289(928)(929))))))(422))(968(809(918(289(663)(326))(453(20(518)(744))(96(267(972)(243))(239))))(738))(672(337(59(844(404)(403(572)(174)))(102))(675(832(699)(755(660)(825)))(345)))(401(226)(17)))))(25(120(102(301(260(830)(305(979(689)(549))(586(897)(364))))(579(177)(476(946(956)(947))(626(520)(711)))))(216))(692(457(731)(264))(372(846(4)(868(78(433)(303))(0(310)(211))))(311(790(151(876)(99))(181))(356(536(445)(745))(781))))))(919(736)(659(591(118(150(448(608)(362))(405))(991(485(84)(53))(964)))(611(758)(183(961(302)(811))(932(660)(977)))))(774(841)(995(332(10)(291))(963(387)(791(604)(888)))))))))(336(632(785(158)(771(554)(230(12)(510(528(812(803)(30))(504(577)(129)))(950(84)(521(626)(149)))))))(454))(226(380(215(777(654(50(965(970)(799))(556(859)(637)))(896(539(125)(419))(518(323)(687))))(504(59(674(743)(547))(490))(526(904(158)(916))(980(100)(389)))))(101(291(70(939(804)(239))(107(16)(310)))(914(364(583)(966))(333(593)(867))))(956)))(213(260)(568(407(697(761)(215(87)(576)))(598(467(555)(464))(940)))(137(613(562(256)(380))(973(194)(463)))(38(97(235)(534))(370(103)(831)))))))(779(877(268(508(434(316(812)(716))(631(905)(478)))(203))(700))(167(236)(524(846(117(676)(501))(402(71)(558)))(159(310(967)(491))(635(870)(178))))))(494(583)(54))))))) +(852(666(196(965(46(969)(50(560)(653(736(977(174)(799))(579(610)(187)))(535(224(319)(905))(659)))))(16))(823))(166(432(547(118(22(308)(222(604(187)(673))(810(780)(109))))(598(435(31)(945))(291(95(217)(110))(277(11)(311)))))(704(456(508(118(85)(886))(29))(614(497)(156(232)(940))))(768(756(268(535)(592))(302(651)(89)))(656(136(606)(255))(337)))))(5(615(988(615)(257))(289(279)(652)))(459(207(213(506(469)(919))(312(955)(974)))(210(94(775)(751))(114(374)(289))))(970))))(823(677(631)(111(23(70(252(833)(937))(96(627)(806)))(429))(849(810(700(99)(288))(809(712)(245)))(175))))(150(496(107)(967(247(953)(779(238)(795)))(707(186)(458(789)(128)))))(722(937)(694(205(529(73)(285))(608(130)(689)))(230(640(404)(451))(397(610)(485)))))))))(817(111(479)(493(640)(976)))(968(787(853(363)(810(352(620(800(398)(118))(63))(12))(35(515(828(570)(819))(866(586)(853)))(525(661(770)(93))(10(747)(545))))))(336(535(871(826)(918))(174(983)(152)))(551(175(758)(786(348(667)(264))(736(80)(377))))(471))))(338)))) +(159(588(648(580(809(334)(867))(720(992)(823(948(191(789)(447))(11(359)(278)))(932(524)(721(60)(137))))))(699(706(432)(424))(611(268(284)(505))(732))))(77(634)(587(495(920(97)(858(188(258)(356))(183(499)(877))))(374))(268(602)(266(32(176(989)(520))(615(969)(852)))(864(507)(112)))))))(141(659(312(679)(919(995)(909)))(188(274(613(941(33(898)(115))(664(417)(577)))(380(811(344)(209))(909(275)(408))))(103(817)(477)))(524)))(265(696(0(31)(444(296(920)(416(933)(798)))(235(869(622)(274))(401(169)(71)))))(611(515)(179)))(725(444)(536(990(419)(543(369)(498)))(141(984(858(914)(322))(340))(469(623)(285)))))))) +(336(864(658(181(900(275(751(471)(226(569)(643)))(648))(425(374(862(656(527(498(55)(653))(346(235)(476)))(438(714(588)(255))(411(829)(304))))(841(825)(327)))(210(639(586(677(84)(344))(593(334)(397)))(480))(555(30(7(941)(522))(320(862)(219)))(444(70(5)(734))(385)))))(7(553(547(466(45(793)(99))(982))(649))(244(382(782(140)(514))(664(584)(980)))(871(627)(457(816)(985)))))(705(612)(465)))))(859(44)(481(103(25)(283))(767(652)(772)))))(187(874(904)(407(225(368(745(743(32(334)(573))(337(243)(16)))(287))(380(80)(694)))(307(471(214(186(343)(653))(357(46)(263)))(845(250(20)(404))(814)))(492)))(318(602)(184(78(508(755(237)(697))(300))(12(269(860)(437))(35(952)(395))))(292(59)(173))))))(778(520)(61(146(876(761(700)(860))(525(179(275)(726(905)(322)))(438(198(574)(622))(228))))(858(365(670(485)(409(64)(234)))(213(582)(672)))(129)))(796(703(103)(49(599(219)(677(685)(280)))(210(881(922)(470))(38(421)(210)))))(266(95)(119)))))))(778(858(717)(534))(80(141(544(254(690(614(507(629)(10(300)(952)))(667(144(301)(209))(53)))(434(13(344(404)(324))(460(81)(926)))(711)))(875(51(112)(744))(875(164(686(561)(754))(866(448)(165)))(395(118(713)(700))(905(476)(590))))))(990(8(118(265(379)(543(7)(953)))(49(166(588)(695))(446)))(616(877(854(645)(206))(842(910)(94)))(9(440(734)(949))(873(555)(141)))))(532(934)(143))))(229(380)(642)))(568(820(462(665(264)(144))(840(671)(174)))(629))(731)))))(237(896(502(564(870)(392))(655(91)(821)))(448(51(63(690(471(562(296)(75(803(55)(176))(811)))(285))(837(105)(697(147)(32(984(270)(942))(180)))))(922))(922))(535(309)(421(420)(547(340(778(333(342(682)(773))(104))(684(410(822)(239))(851(768)(114))))(229(309(154(258)(459))(122))(88(661)(146(603)(508)))))(945(12(185)(792))(580(191)(396(399(728)(640))(496)))))))))(754(978(819)(263(522)(970(857(736(971)(961(126)(219(491(237)(736))(884(6)(52)))))(443(588)(973(328)(4(295)(922(5)(690))))))(466(464(223)(193))(665(940)(607(771(566(60)(804))(764(805)(19)))(31(826(212)(502))(735))))))))(335(216(662)(84(675)(410(987(823)(90))(768(625(375)(982(623(730)(312))(274)))(182)))))(375(892)(883)))))) +(577(685(6(618)(759(796)(450(498(2)(339(178)(280(991)(469))))(855(524)(759(916(197)(616))(787))))))(589(294)(184)))(930(157(636)(101(799)(349)))(703(983)(449(371(93)(739))(590(735(820(620)(972))(31))(523)))))) +(803(725(134(693(276(173(744)(147(680)(339)))(865(417(509(912)(113(923(505(82)(883))(176))(669)))(831))(922(388(330)(424(452(795(836)(21))(619(315)(562)))(104(455(168)(335))(569))))(697))))(722(896(266)(831(164(913(244(152(186)(342))(767(837)(285)))(764(655(924)(283))(707(306)(297))))(175(705(463)(177(871)(291)))(233(653)(60(706)(698)))))(601)))(339(615(626(368(682(485(608)(294))(638(458)(944)))(584(753)(754(690)(658))))(273(169)(548(205)(387))))(866))(999(620)(734(56)(269(139)(187)))))))(65))(418(8)(699(181)(343(846(769(306(78)(371(685(476)(573(435)(981)))(829)))(392))(110(763(638)(711(326(608(680)(30))(681))(205(257(337)(275))(260))))(702(133(103)(628))(610(59(971(323)(883))(368(741)(660)))(20(39)(637(424)(523)))))))(551(729(833(353(689)(263))(482))(544(498)(898(394(429(310)(93))(224(68)(996)))(773(410(321)(206))(382(854)(689))))))(961(477(987)(948(714(157(528)(742))(442(392)(673)))(378)))(319(964(947(923(811)(231))(78))(216(34(561)(536))(691)))(749(989)(793)))))))))(845(423(802(247(372(222(754)(822(238(538(820(148)(569))(83(14)(749)))(820(987(24)(795))(475)))(333(500(697(743)(402))(13))(977(894(744)(831))(728(286)(3))))))(356))(309(252(234)(69(689(813)(340))(701(153)(143(259)(422(48)(799))))))(102(103(496(30(453(291)(959))(377(533)(174)))(422(397(67)(719))(590(332)(260))))(957))(892(400(498(280(476)(834))(162))(125(467(630)(843))(221(604)(446))))(561)))))(922))(764(689(15(120(946)(743(330(596)(527))(779)))(306(947(412(717(787)(490))(906(497(849)(893))(3(433)(378))))(559(717(99(837)(414))(495))(319(623)(760))))(61(680(454(453(479)(206))(567(378)(718)))(669(193(223)(863))(188)))(332(727(577(518)(699))(866(56)(869)))(566)))))(800(860(985(205(148(141(644)(70))(35))(669(808)(191)))(440(648(384(870)(773))(217))(606)))(189(888(618(671(395)(223))(245(624)(662)))(458))(977(172)(500(340(837)(404))(848(189)(800))))))(619)))(625(424(2(876(229)(460))(243(186(741(201(218)(371))(218(473)(249)))(408(581(359)(788))(957)))(435)))(81(993(808)(983))(350)))(889(465(505(461)(670(462)(84(426(806)(377))(53))))(941(956)(551(823)(169(645(359)(643))(661)))))(544(644)(220(699(848(656)(672(163)(964)))(991))(794)))))))(67(500(240(344(375(288(923(979)(467))(191))(49))(328(451)(426)))(162(96(615)(78))(429)))(97))(512(387(310(138(735(1(749(227(983)(201))(828(691)(893)))(1(202(979)(25))(137(56)(497))))(332))(234(383(40(117)(686))(188(763(680)(955))(442)))(553(668(232(699)(219))(136(761)(530)))(81))))(618(959)(440)))(35(734(848)(641(796(503(133(290)(873))(172))(274(570(232)(809))(208(474)(588))))(871)))(486(146(694(82(655(89)(126))(222(268)(721)))(166(286(832)(166))(528(274)(860))))(609(951(420(665)(813))(841(783)(587)))(388)))(861))))(643(925(143(71)(704(542)(137(977(54)(602(103)(293)))(166(997)(327)))))(461(783)(466(545(772(584(890)(726))(462(654)(911)))(876))(251(330(776(291)(578))(545(295)(16)))(176)))))(640)))))) +(573(195(565(887(553)(947(759)(624(744)(995))))(460))(827(479(69)(436(220)(224)))(613(962)(235(134(395(96)(650(2(215)(389))(790(144)(392))))(390))(889(273)(811(124(627(832)(85))(193(540)(579)))(178(176(749)(716))(757(920)(935)))))))))(461(797(233(779(229(535(501(905(894)(663))(493(342)(123)))(266))(443(588(996(376)(964))(712))(11(735)(907(536)(937)))))(369(561(661(123(311)(172))(327))(313(107(545)(357))(701(283)(927))))(700(211)(281(378(496)(83))(719)))))(905(502(215(96)(45(651(418)(169))(846(950)(222))))(653))(499(512(177)(247))(286(309(437)(306(610)(659)))(681(21(603)(88))(336))))))(306(328(984(453)(693(975(540(857)(489))(117(735)(843)))(414(721(827)(250))(134))))(44(577)(168)))(454(999(662)(685))(745(905(977(286(648)(219))(433(105)(526)))(35(564)(112)))(368(809)(450(407)(849(82)(105))))))))(554(880(779(460(181(953(439(964)(897))(59))(929(302)(793(322)(757))))(29(947(324(921)(986))(241(237)(30)))(957(155(629)(455))(183(263)(773)))))(313(884(328)(487(151(246)(136))(316(567)(517))))(707(439)(37))))(522))(777(295(932)(649(223(699(651(542)(980))(46))(363(873(643)(427))(811(219)(314))))(970(188)(802))))(94))))) +(148(110(756(559(287)(578))(66(113(415)(320(364(636(995)(663))(101(538)(479)))(691(916(147)(404))(346))))(610(815(815(775(678)(598))(486(61)(340)))(154(578)(476)))(316(29(286(138)(871))(252(134)(609)))(116(415(708)(0))(511(213)(189)))))))(216(67)(466(999)(637(628)(83(367(636(225)(748))(779(908)(257)))(131))))))(64(826(945(229(308)(123(876(477(308)(319))(226(593)(597)))(290)))(935(931(149)(278(569(219)(357))(390(786)(615))))(151)))(957(25(950(877(90(855)(906))(692))(788(686(969)(182))(293(388)(32))))(662(63(582(900)(917))(256))(552(829(835)(955))(89))))(640(122(501(684)(152(372)(688)))(898))(9(52(528)(731))(946(26)(336(988)(581)))))))(839(307(660)(516(144(711)(605(39(489)(291))(763(359)(54))))(717(942(685)(892(52)(643)))(690(709(776)(996))(990(943)(962))))))(89)))) +(899(768(452(126)(211(769(533(767(835(530)(452(724)(998)))(473(609)(199)))(658(720(295(949(214)(990))(742))(658(361(14)(221))(739(147)(956))))(961(833(353(13)(682))(382))(505(306(5)(294))(293)))))(88(5)(60(164(151(611(920)(883))(302(478)(721)))(50(128(980)(267))(106(797)(814))))(952(524)(959(315)(595(469)(799)))))))(963)))(526(989(940(405(229(306)(310(349(38(828)(601))(887(621)(163)))(269(506(43)(386))(972))))(145(663)(545(406(682(645)(843))(48(286)(85)))(626(569(363)(994))(159(898)(324))))))(718(630(320(874)(703))(214(593(508(448)(695))(808))(945(606(725)(246))(446(949)(81)))))(246(18(695(384(595)(623))(505(772)(457)))(707(82(478)(886))(971)))(985(661)(741)))))(992))(834(313(446)(196))(325(993)(380)))))(853(668(806(258(427(645(35(568(76(935)(273))(690))(687(433(472)(548))(563(155)(118))))(597(70)(868(690)(749))))(562(124(508(43)(205))(14))(888(602(78(93)(914))(742(571)(985)))(476(663)(279(630)(219))))))(434(896(306(585(544)(862(498)(148)))(253))(719))(576(508(670(511)(939(466)(830)))(284))(138(740(646(624)(574))(29(144)(807)))(796(42(784)(264))(500(960)(447)))))))(49(713)(378(732(650)(702(783(320(538)(577))(249))(966(824(870)(272))(740(50)(339)))))(541(449)(521)))))(315))(556(330(759(648(924)(419))(968(332(146(872(999)(201))(351))(908))(253(479(863)(872(926(616)(418))(47(781)(609))))(276(570(772(137)(3))(493(137)(318)))(659(397(45)(440))(941(423)(311)))))))(3(302)(934(6(350(707(265)(372(954)(769)))(406(895)(832(274)(503))))(409(3(124)(399(223)(422)))(107(553(559)(930))(191))))(150(99(744)(784(713(291)(799))(68(905)(760))))(521(491(338(331)(519))(689(160)(261)))(471))))))(978)))) +(149(134(341(476(80(139(817)(642))(458(996(160)(784))(523)))(651(759)(412(819)(770(21)(488)))))(854(707(446(472)(722(765)(275)))(418(80(50)(193))(746(726)(241))))(430(369(450(763)(443))(737(914)(420)))(388))))(238(790)(295(554)(356))))(414(130(492(239(779(975)(105(992)(808)))(292))(89(773(468(99)(723))(688))(334)))(910(938)(650(947(266)(745(92)(143)))(344))))(82(446)(750(545(726)(275))(438(990(374)(571(418)(27)))(380)))))) +(227(232(166(722(506(717(947(527)(500))(563(67)(382)))(63(892)(954)))(665(44(330)(942(691)(618)))(465(593)(104(115)(202)))))(805(14(666)(659(256(927)(575))(536(33)(118))))(405(384(712(514)(50))(678(636)(563)))(133(938(191)(935))(246(572)(501))))))(625(942)(633(201(359(876)(296(672)(961)))(935))(772(478)(339(518)(257(119)(531)))))))(39(482(830)(738))(552(574)(230(52(396(596)(852(144)(702)))(959(35)(448(84)(280))))(478(82(764(856)(325))(235(639)(241)))(935(102)(955(903)(969)))))))) +(80(120(323(691)(921))(672(677(37(216(266(214(530)(786))(522))(440(892(374)(552))(874(459)(699))))(526(113(726)(612(381)(679)))(58(26(401)(490))(956(877)(154)))))(950(197(71)(253(687(573)(853))(873)))(94(936(179(383)(118))(916))(715(161(43)(708))(426(940)(855))))))(671(406(145(970(705(808)(61))(773))(27))(363(857(18(621)(646))(956(402)(553)))(244(997(851)(779))(877))))(229(540(684(512(98)(824))(270(0)(207)))(125))(849(489(255(375)(852))(749(328)(789)))(695))))))(943(462(816)(679(232)(737)))(83(813(553(973)(793(912)(111(744(68)(17))(751(319)(155)))))(421))(205(877(587(145(606(658)(119))(106(939)(254)))(342))(31(912(916(207)(170))(721(501)(219)))(876)))(242))))) +(361(590(696(221)(901(281(6)(151(879(581(678(61(910)(335(883)(850)))(594(951(207)(791))(305(765)(268))))(415))(620(147(147(77(408)(290))(964))(312))(306(160(401)(303(295)(310)))(623(240(822)(16))(954)))))(707(932(749(524)(421(347(502)(426))(391(359)(283))))(251(460)(422)))(152))))(901(26(82(374(22(937(669)(934(988)(456)))(849(320(362)(301))(994(929)(920))))(43(442(219)(621(470)(784)))(382)))(940(771(428)(419(888(604)(459))(545)))(262)))(103(98)(568)))(934(502(826(666)(149(746(544(937)(546))(970))(719)))(164(795(304(963)(331))(675(11(788)(417))(498(575)(876))))(785(290(137(190)(577))(282(759)(196)))(930(697(981)(532))(689(712)(899))))))(304(999(356(178)(95(356(607)(462))(949)))(970(474(38(75)(782))(665(296)(579)))(897(851(296)(235))(244(197)(831)))))(612))))))(522(581)(695(640(493(899)(657))(638(24)(186(128(325(356)(242))(271(415)(765(535(426)(625))(250))))(584(211)(876(82(51)(372(573)(200)))(54(423(34)(578))(669(121)(241))))))))(603(748(52(54)(73(322(931(897(481)(530))(872(314)(551)))(286(825(563)(898))(385(104)(872))))(949(256(34(829)(529))(310))(623))))(309(503(418(136)(331(218(926)(990))(879)))(649))(277(574(277)(762))(225(154(749(899)(415))(187(732)(587)))(713)))))(227)))))(308(903(529(654)(964(711(858)(739(417)(641(120(262(70(430)(586))(405(106)(981)))(185(198)(164(866)(279))))(196(594(708(898)(575))(955(359)(122)))(285(277(356)(940))(638(660)(861)))))))(457(717)(681(437)(199)))))(138))(858(54(193(612(808(544(865(733)(597))(598(215)(666)))(835(934)(450(103(601(482)(443))(881))(186(846)(518)))))(307(466(985(845(772(290)(104))(794))(453(986(870)(695))(367(769)(791))))(236(642(306)(411))(772(696)(198))))(783(156(744(841)(319(929)(303)))(868(711)(693)))(826(518)(49(422(71)(582))(281))))))(972))(146(808(483)(29))(51)))(18)))) +(788(640(948(971)(766))(483(209)(827)))(163(441(655)(638))(812(548(820)(913(798(680)(360(74(823(514)(470))(351(976)(887)))(576)))(537(935)(333(820(900)(256(766)(702)))(650)))))(722(234)(530(865(919(862(46(507)(813))(448))(661(946(721)(811))(927(61)(747))))(253(147(27(892)(843))(63(474)(603)))(198(279(811)(734))(85))))(378(717)(685(726(739(803)(243))(850))(995(140(902)(524))(757))))))))) +(857(510(140(224(959(282)(868(631(4(101)(627))(736(877)(858)))(358(67(502)(189))(352(957)(127)))))(261(463(110(448(380)(708))(877(11)(659)))(138(221(12)(707))(222(313)(983))))(351(42)(3))))(791(533(71)(178(246(996(22)(848))(6(160)(354)))(347(867)(633(333)(67)))))(410(963(372(274(162)(734))(401(130)(638)))(846(28)(872)))(589(341(910(158)(263))(365(715)(77)))(500(859)(746))))))(553(485(71)(463))(99(281)(522(921(683(516(461)(233))(978(908)(702)))(550))(47(364(982(725)(183))(905(14)(340)))(717))))))(520(285(761)(249(827)(526)))(723(918(371(236(158(831(846)(376))(457))(301))(150(542)(428(68(639)(471))(58(948)(370)))))(748))(811(807(284)(433(905)(870)))(517(861)(334(621)(241))))))) +(238(539(118(169(357(407(684)(763(960)(830(201)(670))))(150(34)(592(628(34)(637))(856(801)(263)))))(769(412(827(41(203)(401))(633(308)(456)))(36))(964)))(668(158)(365(60)(57))))(814(492(496)(991(669)(2(7(92(369)(446))(30(749)(636)))(732(745)(825(188)(927))))))(468(453(535(594)(918(622(444)(977))(970(912)(542))))(802))(301(993)(106(416(81(627)(262))(325(512)(341)))(570(402)(611(61)(443))))))))(837(258(572(790)(868))(369(153)(353(496(100(656)(928(951)(670)))(895))(284(447(981)(178))(815(738(46)(329))(316(533)(400)))))))(444(214)(608(972(493)(888(261(945(106)(362))(7))(541(822)(169(743)(852)))))(585(326)(986(411(863(623)(543))(406))(786(1(63)(161))(380(555)(700))))))))) +(671(793(527(312(836)(718(695(194)(835(728)(229(397(357)(551))(492(215)(707)))))(540(9(30)(333(543(393)(966))(842(319)(355))))(328(218)(830)))))(721(779)(410(234)(792(885)(268)))))(104(853)(120(439)(544))))(56(119(489(636(610(319)(963(970(490)(905))(657)))(498))(738))(138(147(514(288(913(358(868)(993))(106(753)(200)))(502(34(253)(667))(901(472)(257))))(373(191(927(249)(960))(769(976)(650)))(995(929(142)(156))(6))))(968(322(115(616)(670(469)(795)))(692))(327(892(967(882)(952))(102(796)(489)))(21(2(720)(425))(907(436)(994))))))(998(405(183(477(640(381)(485))(238(263)(417)))(490(207(900)(880))(959)))(350(707)(839(834)(350(164)(213)))))(899(401(520(759(658)(295))(952(568)(862)))(487(17(474)(87))(40)))(692)))))(594(632(489)(296))(597(233(589(461)(473(735(490)(17(566)(720)))(527(767(322)(719))(308(895)(138)))))(730))(37))))) +(33(822(142(902(619)(919(27(798(998(535)(995))(711(121)(302)))(173))(752(490)(820(139(529)(643))(780(402)(231))))))(122))(17(627(830(744)(581(387(417(758)(582))(579(522)(5)))(818(815)(351(510)(757)))))(687))(824)))(186(104(350(263(319(601(366(6)(213))(651))(328(211)(28)))(198(603)(846)))(629))(808(164)(750(461(945(968(230)(519))(1))(951))(492(939(811(611)(392))(559(952)(719)))(743(675(51)(595))(411(282)(300)))))))(724(840(440)(840(638(689(20(523)(193))(258(999)(221)))(629))(675(513)(856(904(650)(986))(564)))))(588(95)(396(476)(37(424(804(772)(698))(86(719)(158)))(96))))))) \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/BaumTester.java b/Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/BaumTester.java new file mode 100644 index 0000000..8cc0446 --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/BaumTester.java @@ -0,0 +1,2811 @@ +import static org.junit.Assert.*; +import org.junit.Test; + +/** + * Eine Testklasse für Baumalgorithmen + * + * @author Rainer Helfrich + * @version 02.11.2020 + */ +public class BaumTester +{ + @Test + public void test001() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(0)); + assertEquals(481,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(512)); + assertTrue(ba.enthaelt(596)); + assertFalse(ba.enthaelt(70)); + assertFalse(ba.enthaelt(1008)); + assertFalse(ba.enthaelt(510)); + assertFalse(ba.enthaelt(554)); + assertFalse(ba.enthaelt(287)); + assertFalse(ba.enthaelt(99)); + assertTrue(ba.enthaelt(598)); + assertTrue(ba.enthaelt(875)); + assertFalse(ba.enthaelt(949)); + assertFalse(ba.enthaelt(974)); + assertFalse(ba.enthaelt(917)); + assertFalse(ba.enthaelt(146)); + assertTrue(ba.enthaelt(366)); + assertTrue(ba.enthaelt(367)); + assertTrue(ba.enthaelt(411)); + assertTrue(ba.enthaelt(900)); + assertTrue(ba.enthaelt(430)); + assertTrue(ba.enthaelt(175)); + } + + @Test + public void test002() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(1)); + assertEquals(183,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(711)); + assertFalse(ba.enthaelt(835)); + assertFalse(ba.enthaelt(637)); + assertFalse(ba.enthaelt(888)); + assertFalse(ba.enthaelt(962)); + assertTrue(ba.enthaelt(692)); + assertTrue(ba.enthaelt(731)); + assertFalse(ba.enthaelt(2)); + assertFalse(ba.enthaelt(417)); + assertFalse(ba.enthaelt(667)); + assertFalse(ba.enthaelt(549)); + assertTrue(ba.enthaelt(277)); + assertTrue(ba.enthaelt(934)); + assertFalse(ba.enthaelt(641)); + assertTrue(ba.enthaelt(825)); + assertTrue(ba.enthaelt(592)); + assertTrue(ba.enthaelt(958)); + assertTrue(ba.enthaelt(416)); + assertTrue(ba.enthaelt(680)); + assertTrue(ba.enthaelt(388)); + } + + @Test + public void test003() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(2)); + assertEquals(105,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertTrue(ba.enthaelt(985)); + assertFalse(ba.enthaelt(224)); + assertFalse(ba.enthaelt(374)); + assertFalse(ba.enthaelt(304)); + assertFalse(ba.enthaelt(814)); + assertFalse(ba.enthaelt(67)); + assertFalse(ba.enthaelt(972)); + assertFalse(ba.enthaelt(384)); + assertFalse(ba.enthaelt(845)); + assertFalse(ba.enthaelt(762)); + assertFalse(ba.enthaelt(353)); + assertTrue(ba.enthaelt(656)); + assertTrue(ba.enthaelt(207)); + assertTrue(ba.enthaelt(954)); + assertTrue(ba.enthaelt(423)); + assertTrue(ba.enthaelt(163)); + assertTrue(ba.enthaelt(968)); + assertTrue(ba.enthaelt(69)); + assertTrue(ba.enthaelt(589)); + assertTrue(ba.enthaelt(189)); + } + + @Test + public void test004() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(3)); + assertEquals(203,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(37)); + assertFalse(ba.enthaelt(132)); + assertFalse(ba.enthaelt(921)); + assertFalse(ba.enthaelt(936)); + assertFalse(ba.enthaelt(793)); + assertFalse(ba.enthaelt(296)); + assertFalse(ba.enthaelt(603)); + assertFalse(ba.enthaelt(395)); + assertFalse(ba.enthaelt(681)); + assertFalse(ba.enthaelt(141)); + assertTrue(ba.enthaelt(523)); + assertTrue(ba.enthaelt(305)); + assertTrue(ba.enthaelt(315)); + assertTrue(ba.enthaelt(849)); + assertTrue(ba.enthaelt(567)); + assertTrue(ba.enthaelt(666)); + assertTrue(ba.enthaelt(73)); + assertTrue(ba.enthaelt(76)); + assertTrue(ba.enthaelt(814)); + assertTrue(ba.enthaelt(585)); + } + + @Test + public void test005() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(4)); + assertEquals(133,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(207)); + assertFalse(ba.enthaelt(370)); + assertFalse(ba.enthaelt(13)); + assertFalse(ba.enthaelt(703)); + assertFalse(ba.enthaelt(161)); + assertFalse(ba.enthaelt(966)); + assertFalse(ba.enthaelt(565)); + assertFalse(ba.enthaelt(236)); + assertFalse(ba.enthaelt(468)); + assertTrue(ba.enthaelt(428)); + assertFalse(ba.enthaelt(312)); + assertTrue(ba.enthaelt(715)); + assertTrue(ba.enthaelt(205)); + assertTrue(ba.enthaelt(854)); + assertTrue(ba.enthaelt(657)); + assertTrue(ba.enthaelt(232)); + assertTrue(ba.enthaelt(659)); + assertTrue(ba.enthaelt(55)); + assertTrue(ba.enthaelt(598)); + assertTrue(ba.enthaelt(127)); + } + + @Test + public void test006() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(5)); + assertEquals(159,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(243)); + assertFalse(ba.enthaelt(248)); + assertFalse(ba.enthaelt(810)); + assertFalse(ba.enthaelt(206)); + assertFalse(ba.enthaelt(285)); + assertFalse(ba.enthaelt(743)); + assertFalse(ba.enthaelt(187)); + assertTrue(ba.enthaelt(4)); + assertFalse(ba.enthaelt(497)); + assertTrue(ba.enthaelt(983)); + assertFalse(ba.enthaelt(1007)); + assertFalse(ba.enthaelt(47)); + assertTrue(ba.enthaelt(83)); + assertTrue(ba.enthaelt(116)); + assertTrue(ba.enthaelt(287)); + assertTrue(ba.enthaelt(423)); + assertTrue(ba.enthaelt(165)); + assertTrue(ba.enthaelt(905)); + assertTrue(ba.enthaelt(760)); + assertTrue(ba.enthaelt(985)); + } + + @Test + public void test007() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(6)); + assertEquals(165,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(467)); + assertFalse(ba.enthaelt(452)); + assertTrue(ba.enthaelt(737)); + assertFalse(ba.enthaelt(849)); + assertFalse(ba.enthaelt(213)); + assertFalse(ba.enthaelt(610)); + assertFalse(ba.enthaelt(73)); + assertTrue(ba.enthaelt(472)); + assertFalse(ba.enthaelt(603)); + assertFalse(ba.enthaelt(739)); + assertFalse(ba.enthaelt(193)); + assertFalse(ba.enthaelt(704)); + assertTrue(ba.enthaelt(828)); + assertTrue(ba.enthaelt(178)); + assertTrue(ba.enthaelt(702)); + assertTrue(ba.enthaelt(341)); + assertTrue(ba.enthaelt(78)); + assertTrue(ba.enthaelt(640)); + assertTrue(ba.enthaelt(916)); + assertTrue(ba.enthaelt(227)); + } + + @Test + public void test008() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(7)); + assertEquals(389,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(772)); + assertFalse(ba.enthaelt(426)); + assertFalse(ba.enthaelt(953)); + assertTrue(ba.enthaelt(319)); + assertFalse(ba.enthaelt(467)); + assertFalse(ba.enthaelt(417)); + assertTrue(ba.enthaelt(883)); + assertTrue(ba.enthaelt(657)); + assertFalse(ba.enthaelt(1006)); + assertFalse(ba.enthaelt(30)); + assertFalse(ba.enthaelt(80)); + assertFalse(ba.enthaelt(183)); + assertFalse(ba.enthaelt(318)); + assertTrue(ba.enthaelt(219)); + assertTrue(ba.enthaelt(438)); + assertTrue(ba.enthaelt(412)); + assertFalse(ba.enthaelt(145)); + assertTrue(ba.enthaelt(326)); + assertTrue(ba.enthaelt(572)); + assertTrue(ba.enthaelt(208)); + } + + @Test + public void test009() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(8)); + assertEquals(159,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(746)); + assertFalse(ba.enthaelt(288)); + assertFalse(ba.enthaelt(752)); + assertFalse(ba.enthaelt(651)); + assertFalse(ba.enthaelt(850)); + assertFalse(ba.enthaelt(267)); + assertTrue(ba.enthaelt(197)); + assertFalse(ba.enthaelt(264)); + assertFalse(ba.enthaelt(1009)); + assertFalse(ba.enthaelt(19)); + assertFalse(ba.enthaelt(166)); + assertTrue(ba.enthaelt(182)); + assertTrue(ba.enthaelt(623)); + assertTrue(ba.enthaelt(25)); + assertTrue(ba.enthaelt(900)); + assertTrue(ba.enthaelt(709)); + assertTrue(ba.enthaelt(658)); + assertTrue(ba.enthaelt(853)); + assertTrue(ba.enthaelt(628)); + assertTrue(ba.enthaelt(202)); + } + + @Test + public void test010() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(9)); + assertEquals(137,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(856)); + assertFalse(ba.enthaelt(402)); + assertFalse(ba.enthaelt(165)); + assertFalse(ba.enthaelt(993)); + assertTrue(ba.enthaelt(904)); + assertFalse(ba.enthaelt(211)); + assertTrue(ba.enthaelt(845)); + assertFalse(ba.enthaelt(259)); + assertFalse(ba.enthaelt(544)); + assertFalse(ba.enthaelt(498)); + assertFalse(ba.enthaelt(852)); + assertFalse(ba.enthaelt(65)); + assertTrue(ba.enthaelt(805)); + assertTrue(ba.enthaelt(224)); + assertTrue(ba.enthaelt(213)); + assertTrue(ba.enthaelt(604)); + assertTrue(ba.enthaelt(273)); + assertTrue(ba.enthaelt(161)); + assertTrue(ba.enthaelt(437)); + assertTrue(ba.enthaelt(590)); + } + + @Test + public void test011() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(10)); + assertEquals(313,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(895)); + assertTrue(ba.enthaelt(344)); + assertFalse(ba.enthaelt(966)); + assertFalse(ba.enthaelt(258)); + assertFalse(ba.enthaelt(1002)); + assertFalse(ba.enthaelt(181)); + assertFalse(ba.enthaelt(661)); + assertFalse(ba.enthaelt(217)); + assertFalse(ba.enthaelt(54)); + assertTrue(ba.enthaelt(36)); + assertTrue(ba.enthaelt(690)); + assertTrue(ba.enthaelt(703)); + assertTrue(ba.enthaelt(185)); + assertFalse(ba.enthaelt(657)); + assertTrue(ba.enthaelt(934)); + assertFalse(ba.enthaelt(854)); + assertTrue(ba.enthaelt(49)); + assertTrue(ba.enthaelt(907)); + assertTrue(ba.enthaelt(861)); + assertTrue(ba.enthaelt(348)); + } + + @Test + public void test012() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(11)); + assertEquals(313,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(42)); + assertTrue(ba.enthaelt(282)); + assertFalse(ba.enthaelt(733)); + assertTrue(ba.enthaelt(650)); + assertTrue(ba.enthaelt(61)); + assertFalse(ba.enthaelt(780)); + assertFalse(ba.enthaelt(1013)); + assertFalse(ba.enthaelt(368)); + assertFalse(ba.enthaelt(703)); + assertFalse(ba.enthaelt(362)); + assertFalse(ba.enthaelt(559)); + assertFalse(ba.enthaelt(1001)); + assertFalse(ba.enthaelt(987)); + assertTrue(ba.enthaelt(582)); + assertTrue(ba.enthaelt(845)); + assertTrue(ba.enthaelt(538)); + assertTrue(ba.enthaelt(477)); + assertTrue(ba.enthaelt(176)); + assertTrue(ba.enthaelt(237)); + assertTrue(ba.enthaelt(656)); + } + + @Test + public void test013() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(12)); + assertEquals(171,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(367)); + assertFalse(ba.enthaelt(6)); + assertFalse(ba.enthaelt(146)); + assertFalse(ba.enthaelt(896)); + assertFalse(ba.enthaelt(114)); + assertFalse(ba.enthaelt(542)); + assertFalse(ba.enthaelt(447)); + assertTrue(ba.enthaelt(51)); + assertFalse(ba.enthaelt(399)); + assertFalse(ba.enthaelt(43)); + assertTrue(ba.enthaelt(595)); + assertTrue(ba.enthaelt(831)); + assertFalse(ba.enthaelt(259)); + assertTrue(ba.enthaelt(960)); + assertTrue(ba.enthaelt(919)); + assertTrue(ba.enthaelt(755)); + assertTrue(ba.enthaelt(394)); + assertTrue(ba.enthaelt(466)); + assertTrue(ba.enthaelt(459)); + assertTrue(ba.enthaelt(539)); + } + + @Test + public void test014() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(13)); + assertEquals(135,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(898)); + assertFalse(ba.enthaelt(204)); + assertFalse(ba.enthaelt(870)); + assertFalse(ba.enthaelt(978)); + assertFalse(ba.enthaelt(871)); + assertFalse(ba.enthaelt(669)); + assertFalse(ba.enthaelt(793)); + assertFalse(ba.enthaelt(795)); + assertFalse(ba.enthaelt(480)); + assertTrue(ba.enthaelt(449)); + assertFalse(ba.enthaelt(380)); + assertTrue(ba.enthaelt(328)); + assertTrue(ba.enthaelt(436)); + assertTrue(ba.enthaelt(120)); + assertTrue(ba.enthaelt(433)); + assertTrue(ba.enthaelt(999)); + assertTrue(ba.enthaelt(879)); + assertTrue(ba.enthaelt(802)); + assertTrue(ba.enthaelt(517)); + assertTrue(ba.enthaelt(993)); + } + + @Test + public void test015() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(14)); + assertEquals(101,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(583)); + assertFalse(ba.enthaelt(693)); + assertFalse(ba.enthaelt(229)); + assertFalse(ba.enthaelt(157)); + assertFalse(ba.enthaelt(170)); + assertFalse(ba.enthaelt(651)); + assertFalse(ba.enthaelt(749)); + assertFalse(ba.enthaelt(996)); + assertFalse(ba.enthaelt(489)); + assertFalse(ba.enthaelt(116)); + assertTrue(ba.enthaelt(458)); + assertTrue(ba.enthaelt(99)); + assertTrue(ba.enthaelt(687)); + assertTrue(ba.enthaelt(727)); + assertTrue(ba.enthaelt(329)); + assertTrue(ba.enthaelt(420)); + assertTrue(ba.enthaelt(954)); + assertTrue(ba.enthaelt(155)); + assertTrue(ba.enthaelt(973)); + assertTrue(ba.enthaelt(103)); + } + + @Test + public void test016() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(15)); + assertEquals(105,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(796)); + assertFalse(ba.enthaelt(842)); + assertFalse(ba.enthaelt(853)); + assertFalse(ba.enthaelt(217)); + assertFalse(ba.enthaelt(795)); + assertFalse(ba.enthaelt(736)); + assertFalse(ba.enthaelt(76)); + assertFalse(ba.enthaelt(325)); + assertFalse(ba.enthaelt(258)); + assertFalse(ba.enthaelt(483)); + assertTrue(ba.enthaelt(190)); + assertTrue(ba.enthaelt(590)); + assertTrue(ba.enthaelt(16)); + assertTrue(ba.enthaelt(534)); + assertTrue(ba.enthaelt(762)); + assertTrue(ba.enthaelt(567)); + assertTrue(ba.enthaelt(169)); + assertTrue(ba.enthaelt(775)); + assertTrue(ba.enthaelt(85)); + assertTrue(ba.enthaelt(760)); + } + + @Test + public void test017() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(16)); + assertEquals(95,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(745)); + assertTrue(ba.enthaelt(293)); + assertFalse(ba.enthaelt(572)); + assertFalse(ba.enthaelt(19)); + assertFalse(ba.enthaelt(472)); + assertFalse(ba.enthaelt(180)); + assertFalse(ba.enthaelt(188)); + assertTrue(ba.enthaelt(902)); + assertFalse(ba.enthaelt(944)); + assertFalse(ba.enthaelt(118)); + assertFalse(ba.enthaelt(356)); + assertFalse(ba.enthaelt(973)); + assertTrue(ba.enthaelt(316)); + assertTrue(ba.enthaelt(53)); + assertTrue(ba.enthaelt(54)); + assertTrue(ba.enthaelt(807)); + assertTrue(ba.enthaelt(520)); + assertTrue(ba.enthaelt(429)); + assertTrue(ba.enthaelt(220)); + assertTrue(ba.enthaelt(194)); + } + + @Test + public void test018() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(17)); + assertEquals(315,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(646)); + assertFalse(ba.enthaelt(837)); + assertTrue(ba.enthaelt(543)); + assertFalse(ba.enthaelt(696)); + assertFalse(ba.enthaelt(307)); + assertTrue(ba.enthaelt(140)); + assertFalse(ba.enthaelt(835)); + assertFalse(ba.enthaelt(169)); + assertFalse(ba.enthaelt(498)); + assertFalse(ba.enthaelt(729)); + assertFalse(ba.enthaelt(405)); + assertFalse(ba.enthaelt(178)); + assertTrue(ba.enthaelt(97)); + assertTrue(ba.enthaelt(764)); + assertTrue(ba.enthaelt(743)); + assertTrue(ba.enthaelt(418)); + assertTrue(ba.enthaelt(954)); + assertTrue(ba.enthaelt(381)); + assertTrue(ba.enthaelt(997)); + assertTrue(ba.enthaelt(534)); + } + + @Test + public void test019() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(18)); + assertEquals(301,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(709)); + assertFalse(ba.enthaelt(22)); + assertFalse(ba.enthaelt(454)); + assertFalse(ba.enthaelt(64)); + assertFalse(ba.enthaelt(892)); + assertFalse(ba.enthaelt(176)); + assertFalse(ba.enthaelt(680)); + assertFalse(ba.enthaelt(729)); + assertFalse(ba.enthaelt(103)); + assertFalse(ba.enthaelt(198)); + assertTrue(ba.enthaelt(618)); + assertTrue(ba.enthaelt(877)); + assertTrue(ba.enthaelt(917)); + assertTrue(ba.enthaelt(810)); + assertTrue(ba.enthaelt(640)); + assertTrue(ba.enthaelt(98)); + assertTrue(ba.enthaelt(521)); + assertTrue(ba.enthaelt(586)); + assertTrue(ba.enthaelt(525)); + assertTrue(ba.enthaelt(197)); + } + + @Test + public void test020() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(19)); + assertEquals(115,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(719)); + assertFalse(ba.enthaelt(375)); + assertFalse(ba.enthaelt(471)); + assertFalse(ba.enthaelt(742)); + assertFalse(ba.enthaelt(362)); + assertFalse(ba.enthaelt(402)); + assertFalse(ba.enthaelt(682)); + assertFalse(ba.enthaelt(336)); + assertFalse(ba.enthaelt(759)); + assertFalse(ba.enthaelt(677)); + assertTrue(ba.enthaelt(75)); + assertTrue(ba.enthaelt(895)); + assertTrue(ba.enthaelt(669)); + assertTrue(ba.enthaelt(495)); + assertTrue(ba.enthaelt(925)); + assertTrue(ba.enthaelt(322)); + assertTrue(ba.enthaelt(600)); + assertTrue(ba.enthaelt(875)); + assertTrue(ba.enthaelt(807)); + assertTrue(ba.enthaelt(853)); + } + + @Test + public void test021() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(20)); + assertEquals(279,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(439)); + assertTrue(ba.enthaelt(687)); + assertFalse(ba.enthaelt(216)); + assertFalse(ba.enthaelt(621)); + assertFalse(ba.enthaelt(874)); + assertFalse(ba.enthaelt(516)); + assertTrue(ba.enthaelt(335)); + assertFalse(ba.enthaelt(703)); + assertTrue(ba.enthaelt(132)); + assertTrue(ba.enthaelt(630)); + assertFalse(ba.enthaelt(679)); + assertFalse(ba.enthaelt(269)); + assertFalse(ba.enthaelt(606)); + assertTrue(ba.enthaelt(212)); + assertTrue(ba.enthaelt(422)); + assertFalse(ba.enthaelt(43)); + assertFalse(ba.enthaelt(272)); + assertTrue(ba.enthaelt(410)); + assertTrue(ba.enthaelt(235)); + assertTrue(ba.enthaelt(103)); + } + + @Test + public void test022() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(21)); + assertEquals(215,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(310)); + assertFalse(ba.enthaelt(292)); + assertFalse(ba.enthaelt(474)); + assertFalse(ba.enthaelt(123)); + assertTrue(ba.enthaelt(824)); + assertFalse(ba.enthaelt(756)); + assertFalse(ba.enthaelt(829)); + assertFalse(ba.enthaelt(201)); + assertFalse(ba.enthaelt(755)); + assertFalse(ba.enthaelt(393)); + assertFalse(ba.enthaelt(1015)); + assertFalse(ba.enthaelt(3)); + assertTrue(ba.enthaelt(19)); + assertTrue(ba.enthaelt(343)); + assertTrue(ba.enthaelt(715)); + assertTrue(ba.enthaelt(662)); + assertTrue(ba.enthaelt(73)); + assertTrue(ba.enthaelt(195)); + assertTrue(ba.enthaelt(365)); + assertTrue(ba.enthaelt(889)); + } + + @Test + public void test023() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(22)); + assertEquals(107,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(821)); + assertFalse(ba.enthaelt(165)); + assertFalse(ba.enthaelt(884)); + assertFalse(ba.enthaelt(133)); + assertFalse(ba.enthaelt(545)); + assertFalse(ba.enthaelt(188)); + assertFalse(ba.enthaelt(435)); + assertFalse(ba.enthaelt(493)); + assertFalse(ba.enthaelt(823)); + assertFalse(ba.enthaelt(355)); + assertTrue(ba.enthaelt(276)); + assertTrue(ba.enthaelt(84)); + assertTrue(ba.enthaelt(265)); + assertTrue(ba.enthaelt(140)); + assertTrue(ba.enthaelt(529)); + assertTrue(ba.enthaelt(877)); + assertTrue(ba.enthaelt(767)); + assertTrue(ba.enthaelt(879)); + assertTrue(ba.enthaelt(724)); + assertTrue(ba.enthaelt(352)); + } + + @Test + public void test024() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(23)); + assertEquals(207,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(402)); + assertFalse(ba.enthaelt(268)); + assertFalse(ba.enthaelt(332)); + assertFalse(ba.enthaelt(818)); + assertFalse(ba.enthaelt(666)); + assertTrue(ba.enthaelt(36)); + assertFalse(ba.enthaelt(172)); + assertFalse(ba.enthaelt(537)); + assertFalse(ba.enthaelt(1015)); + assertFalse(ba.enthaelt(944)); + assertFalse(ba.enthaelt(941)); + assertTrue(ba.enthaelt(665)); + assertTrue(ba.enthaelt(967)); + assertTrue(ba.enthaelt(667)); + assertTrue(ba.enthaelt(684)); + assertTrue(ba.enthaelt(125)); + assertTrue(ba.enthaelt(29)); + assertTrue(ba.enthaelt(597)); + assertTrue(ba.enthaelt(446)); + assertTrue(ba.enthaelt(800)); + } + + @Test + public void test025() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(24)); + assertEquals(119,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(694)); + assertFalse(ba.enthaelt(872)); + assertFalse(ba.enthaelt(197)); + assertFalse(ba.enthaelt(983)); + assertFalse(ba.enthaelt(470)); + assertFalse(ba.enthaelt(487)); + assertTrue(ba.enthaelt(44)); + assertFalse(ba.enthaelt(552)); + assertFalse(ba.enthaelt(961)); + assertFalse(ba.enthaelt(714)); + assertFalse(ba.enthaelt(623)); + assertTrue(ba.enthaelt(18)); + assertTrue(ba.enthaelt(444)); + assertTrue(ba.enthaelt(277)); + assertTrue(ba.enthaelt(243)); + assertTrue(ba.enthaelt(852)); + assertTrue(ba.enthaelt(864)); + assertTrue(ba.enthaelt(765)); + assertTrue(ba.enthaelt(999)); + assertTrue(ba.enthaelt(488)); + } + + @Test + public void test026() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(25)); + assertEquals(247,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(782)); + assertFalse(ba.enthaelt(999)); + assertTrue(ba.enthaelt(173)); + assertFalse(ba.enthaelt(261)); + assertFalse(ba.enthaelt(892)); + assertTrue(ba.enthaelt(271)); + assertFalse(ba.enthaelt(420)); + assertTrue(ba.enthaelt(263)); + assertTrue(ba.enthaelt(919)); + assertFalse(ba.enthaelt(70)); + assertFalse(ba.enthaelt(4)); + assertFalse(ba.enthaelt(462)); + assertFalse(ba.enthaelt(877)); + assertFalse(ba.enthaelt(568)); + assertTrue(ba.enthaelt(834)); + assertTrue(ba.enthaelt(382)); + assertTrue(ba.enthaelt(861)); + assertTrue(ba.enthaelt(575)); + assertTrue(ba.enthaelt(19)); + assertTrue(ba.enthaelt(528)); + } + + @Test + public void test027() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(26)); + assertEquals(179,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(626)); + assertFalse(ba.enthaelt(340)); + assertFalse(ba.enthaelt(365)); + assertFalse(ba.enthaelt(954)); + assertFalse(ba.enthaelt(366)); + assertFalse(ba.enthaelt(814)); + assertFalse(ba.enthaelt(900)); + assertTrue(ba.enthaelt(496)); + assertFalse(ba.enthaelt(133)); + assertFalse(ba.enthaelt(107)); + assertTrue(ba.enthaelt(391)); + assertFalse(ba.enthaelt(801)); + assertFalse(ba.enthaelt(420)); + assertTrue(ba.enthaelt(310)); + assertTrue(ba.enthaelt(277)); + assertTrue(ba.enthaelt(262)); + assertTrue(ba.enthaelt(513)); + assertTrue(ba.enthaelt(378)); + assertTrue(ba.enthaelt(740)); + assertTrue(ba.enthaelt(403)); + } + + @Test + public void test028() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(27)); + assertEquals(209,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(627)); + assertFalse(ba.enthaelt(681)); + assertFalse(ba.enthaelt(521)); + assertFalse(ba.enthaelt(393)); + assertFalse(ba.enthaelt(201)); + assertFalse(ba.enthaelt(364)); + assertFalse(ba.enthaelt(198)); + assertFalse(ba.enthaelt(173)); + assertFalse(ba.enthaelt(257)); + assertFalse(ba.enthaelt(277)); + assertTrue(ba.enthaelt(36)); + assertTrue(ba.enthaelt(829)); + assertTrue(ba.enthaelt(896)); + assertTrue(ba.enthaelt(899)); + assertTrue(ba.enthaelt(706)); + assertTrue(ba.enthaelt(381)); + assertTrue(ba.enthaelt(480)); + assertTrue(ba.enthaelt(926)); + assertTrue(ba.enthaelt(832)); + assertTrue(ba.enthaelt(271)); + } + + @Test + public void test029() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(28)); + assertEquals(357,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(700)); + assertFalse(ba.enthaelt(942)); + assertTrue(ba.enthaelt(924)); + assertTrue(ba.enthaelt(271)); + assertFalse(ba.enthaelt(766)); + assertFalse(ba.enthaelt(528)); + assertFalse(ba.enthaelt(495)); + assertFalse(ba.enthaelt(262)); + assertFalse(ba.enthaelt(413)); + assertTrue(ba.enthaelt(704)); + assertTrue(ba.enthaelt(230)); + assertFalse(ba.enthaelt(752)); + assertFalse(ba.enthaelt(810)); + assertFalse(ba.enthaelt(823)); + assertTrue(ba.enthaelt(846)); + assertTrue(ba.enthaelt(758)); + assertTrue(ba.enthaelt(91)); + assertTrue(ba.enthaelt(995)); + assertTrue(ba.enthaelt(988)); + assertTrue(ba.enthaelt(62)); + } + + @Test + public void test030() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(29)); + assertEquals(71,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(846)); + assertFalse(ba.enthaelt(828)); + assertFalse(ba.enthaelt(444)); + assertFalse(ba.enthaelt(456)); + assertFalse(ba.enthaelt(424)); + assertFalse(ba.enthaelt(454)); + assertFalse(ba.enthaelt(908)); + assertFalse(ba.enthaelt(200)); + assertFalse(ba.enthaelt(463)); + assertFalse(ba.enthaelt(246)); + assertTrue(ba.enthaelt(274)); + assertTrue(ba.enthaelt(553)); + assertTrue(ba.enthaelt(223)); + assertTrue(ba.enthaelt(237)); + assertTrue(ba.enthaelt(557)); + assertTrue(ba.enthaelt(222)); + assertTrue(ba.enthaelt(806)); + assertTrue(ba.enthaelt(516)); + assertTrue(ba.enthaelt(813)); + assertTrue(ba.enthaelt(10)); + } + + @Test + public void test031() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(30)); + assertEquals(109,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(154)); + assertFalse(ba.enthaelt(1000)); + assertTrue(ba.enthaelt(355)); + assertFalse(ba.enthaelt(960)); + assertFalse(ba.enthaelt(301)); + assertFalse(ba.enthaelt(94)); + assertTrue(ba.enthaelt(580)); + assertFalse(ba.enthaelt(440)); + assertFalse(ba.enthaelt(690)); + assertFalse(ba.enthaelt(342)); + assertFalse(ba.enthaelt(71)); + assertFalse(ba.enthaelt(44)); + assertTrue(ba.enthaelt(731)); + assertTrue(ba.enthaelt(617)); + assertTrue(ba.enthaelt(752)); + assertTrue(ba.enthaelt(538)); + assertTrue(ba.enthaelt(122)); + assertTrue(ba.enthaelt(517)); + assertTrue(ba.enthaelt(923)); + assertTrue(ba.enthaelt(689)); + } + + @Test + public void test032() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(31)); + assertEquals(87,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(372)); + assertTrue(ba.enthaelt(866)); + assertTrue(ba.enthaelt(304)); + assertFalse(ba.enthaelt(623)); + assertFalse(ba.enthaelt(261)); + assertFalse(ba.enthaelt(761)); + assertTrue(ba.enthaelt(206)); + assertFalse(ba.enthaelt(459)); + assertFalse(ba.enthaelt(100)); + assertFalse(ba.enthaelt(769)); + assertFalse(ba.enthaelt(134)); + assertFalse(ba.enthaelt(37)); + assertFalse(ba.enthaelt(622)); + assertTrue(ba.enthaelt(61)); + assertTrue(ba.enthaelt(409)); + assertTrue(ba.enthaelt(274)); + assertTrue(ba.enthaelt(30)); + assertTrue(ba.enthaelt(448)); + assertTrue(ba.enthaelt(868)); + assertTrue(ba.enthaelt(36)); + } + + @Test + public void test033() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(32)); + assertEquals(521,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(211)); + assertFalse(ba.enthaelt(231)); + assertTrue(ba.enthaelt(658)); + assertTrue(ba.enthaelt(546)); + assertTrue(ba.enthaelt(53)); + assertTrue(ba.enthaelt(764)); + assertTrue(ba.enthaelt(324)); + assertTrue(ba.enthaelt(851)); + assertFalse(ba.enthaelt(856)); + assertFalse(ba.enthaelt(442)); + assertTrue(ba.enthaelt(15)); + assertFalse(ba.enthaelt(223)); + assertTrue(ba.enthaelt(553)); + assertFalse(ba.enthaelt(782)); + assertFalse(ba.enthaelt(419)); + assertFalse(ba.enthaelt(90)); + assertFalse(ba.enthaelt(221)); + assertFalse(ba.enthaelt(670)); + assertTrue(ba.enthaelt(876)); + assertFalse(ba.enthaelt(902)); + } + + @Test + public void test034() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(33)); + assertEquals(59,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(854)); + assertFalse(ba.enthaelt(673)); + assertFalse(ba.enthaelt(617)); + assertFalse(ba.enthaelt(253)); + assertFalse(ba.enthaelt(298)); + assertTrue(ba.enthaelt(190)); + assertFalse(ba.enthaelt(779)); + assertFalse(ba.enthaelt(994)); + assertFalse(ba.enthaelt(941)); + assertFalse(ba.enthaelt(100)); + assertFalse(ba.enthaelt(351)); + assertTrue(ba.enthaelt(192)); + assertTrue(ba.enthaelt(385)); + assertTrue(ba.enthaelt(581)); + assertTrue(ba.enthaelt(205)); + assertTrue(ba.enthaelt(731)); + assertTrue(ba.enthaelt(230)); + assertTrue(ba.enthaelt(589)); + assertTrue(ba.enthaelt(769)); + assertTrue(ba.enthaelt(705)); + } + + @Test + public void test035() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(34)); + assertEquals(107,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(103)); + assertFalse(ba.enthaelt(238)); + assertFalse(ba.enthaelt(35)); + assertFalse(ba.enthaelt(658)); + assertFalse(ba.enthaelt(134)); + assertFalse(ba.enthaelt(499)); + assertFalse(ba.enthaelt(137)); + assertTrue(ba.enthaelt(243)); + assertFalse(ba.enthaelt(780)); + assertFalse(ba.enthaelt(422)); + assertFalse(ba.enthaelt(930)); + assertTrue(ba.enthaelt(437)); + assertTrue(ba.enthaelt(251)); + assertTrue(ba.enthaelt(802)); + assertTrue(ba.enthaelt(206)); + assertTrue(ba.enthaelt(404)); + assertTrue(ba.enthaelt(79)); + assertTrue(ba.enthaelt(821)); + assertTrue(ba.enthaelt(384)); + assertTrue(ba.enthaelt(665)); + } + + @Test + public void test036() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(35)); + assertEquals(93,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(119)); + assertFalse(ba.enthaelt(413)); + assertFalse(ba.enthaelt(246)); + assertFalse(ba.enthaelt(427)); + assertFalse(ba.enthaelt(660)); + assertFalse(ba.enthaelt(54)); + assertFalse(ba.enthaelt(30)); + assertFalse(ba.enthaelt(417)); + assertFalse(ba.enthaelt(781)); + assertFalse(ba.enthaelt(191)); + assertTrue(ba.enthaelt(93)); + assertTrue(ba.enthaelt(326)); + assertTrue(ba.enthaelt(700)); + assertTrue(ba.enthaelt(339)); + assertTrue(ba.enthaelt(608)); + assertTrue(ba.enthaelt(31)); + assertTrue(ba.enthaelt(576)); + assertTrue(ba.enthaelt(546)); + assertTrue(ba.enthaelt(815)); + assertTrue(ba.enthaelt(196)); + } + + @Test + public void test037() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(36)); + assertEquals(175,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(833)); + assertFalse(ba.enthaelt(408)); + assertFalse(ba.enthaelt(720)); + assertTrue(ba.enthaelt(559)); + assertFalse(ba.enthaelt(839)); + assertFalse(ba.enthaelt(281)); + assertTrue(ba.enthaelt(477)); + assertTrue(ba.enthaelt(920)); + assertFalse(ba.enthaelt(628)); + assertFalse(ba.enthaelt(726)); + assertFalse(ba.enthaelt(659)); + assertFalse(ba.enthaelt(786)); + assertFalse(ba.enthaelt(876)); + assertTrue(ba.enthaelt(33)); + assertTrue(ba.enthaelt(74)); + assertTrue(ba.enthaelt(826)); + assertTrue(ba.enthaelt(901)); + assertTrue(ba.enthaelt(260)); + assertTrue(ba.enthaelt(378)); + assertTrue(ba.enthaelt(782)); + } + + @Test + public void test038() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(37)); + assertEquals(349,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(916)); + assertFalse(ba.enthaelt(947)); + assertFalse(ba.enthaelt(201)); + assertFalse(ba.enthaelt(185)); + assertTrue(ba.enthaelt(255)); + assertFalse(ba.enthaelt(684)); + assertTrue(ba.enthaelt(393)); + assertTrue(ba.enthaelt(88)); + assertFalse(ba.enthaelt(633)); + assertFalse(ba.enthaelt(220)); + assertFalse(ba.enthaelt(334)); + assertFalse(ba.enthaelt(810)); + assertFalse(ba.enthaelt(686)); + assertFalse(ba.enthaelt(579)); + assertTrue(ba.enthaelt(501)); + assertTrue(ba.enthaelt(616)); + assertTrue(ba.enthaelt(389)); + assertTrue(ba.enthaelt(285)); + assertTrue(ba.enthaelt(704)); + assertTrue(ba.enthaelt(253)); + } + + @Test + public void test039() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(38)); + assertEquals(129,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(572)); + assertFalse(ba.enthaelt(391)); + assertFalse(ba.enthaelt(116)); + assertFalse(ba.enthaelt(524)); + assertFalse(ba.enthaelt(569)); + assertFalse(ba.enthaelt(1)); + assertFalse(ba.enthaelt(794)); + assertFalse(ba.enthaelt(300)); + assertFalse(ba.enthaelt(865)); + assertFalse(ba.enthaelt(209)); + assertFalse(ba.enthaelt(408)); + assertTrue(ba.enthaelt(99)); + assertTrue(ba.enthaelt(154)); + assertTrue(ba.enthaelt(734)); + assertTrue(ba.enthaelt(177)); + assertTrue(ba.enthaelt(100)); + assertTrue(ba.enthaelt(536)); + assertTrue(ba.enthaelt(999)); + assertTrue(ba.enthaelt(284)); + assertTrue(ba.enthaelt(628)); + } + + @Test + public void test040() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(39)); + assertEquals(281,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(562)); + assertFalse(ba.enthaelt(19)); + assertFalse(ba.enthaelt(848)); + assertFalse(ba.enthaelt(681)); + assertFalse(ba.enthaelt(878)); + assertFalse(ba.enthaelt(407)); + assertTrue(ba.enthaelt(38)); + assertFalse(ba.enthaelt(641)); + assertTrue(ba.enthaelt(634)); + assertFalse(ba.enthaelt(577)); + assertFalse(ba.enthaelt(976)); + assertFalse(ba.enthaelt(300)); + assertTrue(ba.enthaelt(760)); + assertTrue(ba.enthaelt(476)); + assertTrue(ba.enthaelt(899)); + assertTrue(ba.enthaelt(851)); + assertTrue(ba.enthaelt(618)); + assertTrue(ba.enthaelt(808)); + assertTrue(ba.enthaelt(244)); + assertTrue(ba.enthaelt(401)); + } + + @Test + public void test041() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(40)); + assertEquals(117,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(517)); + assertFalse(ba.enthaelt(883)); + assertFalse(ba.enthaelt(382)); + assertFalse(ba.enthaelt(1008)); + assertFalse(ba.enthaelt(949)); + assertFalse(ba.enthaelt(24)); + assertFalse(ba.enthaelt(207)); + assertFalse(ba.enthaelt(147)); + assertTrue(ba.enthaelt(733)); + assertTrue(ba.enthaelt(847)); + assertFalse(ba.enthaelt(741)); + assertFalse(ba.enthaelt(868)); + assertFalse(ba.enthaelt(785)); + assertTrue(ba.enthaelt(544)); + assertTrue(ba.enthaelt(302)); + assertTrue(ba.enthaelt(797)); + assertTrue(ba.enthaelt(449)); + assertTrue(ba.enthaelt(620)); + assertTrue(ba.enthaelt(465)); + assertTrue(ba.enthaelt(587)); + } + + @Test + public void test042() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(41)); + assertEquals(97,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(201)); + assertFalse(ba.enthaelt(293)); + assertFalse(ba.enthaelt(287)); + assertTrue(ba.enthaelt(627)); + assertTrue(ba.enthaelt(225)); + assertFalse(ba.enthaelt(224)); + assertTrue(ba.enthaelt(994)); + assertFalse(ba.enthaelt(177)); + assertFalse(ba.enthaelt(644)); + assertFalse(ba.enthaelt(935)); + assertFalse(ba.enthaelt(1006)); + assertFalse(ba.enthaelt(488)); + assertFalse(ba.enthaelt(746)); + assertTrue(ba.enthaelt(179)); + assertTrue(ba.enthaelt(1)); + assertTrue(ba.enthaelt(903)); + assertTrue(ba.enthaelt(522)); + assertTrue(ba.enthaelt(407)); + assertTrue(ba.enthaelt(313)); + assertTrue(ba.enthaelt(156)); + } + + @Test + public void test043() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(42)); + assertEquals(157,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(608)); + assertTrue(ba.enthaelt(375)); + assertFalse(ba.enthaelt(689)); + assertFalse(ba.enthaelt(856)); + assertTrue(ba.enthaelt(139)); + assertFalse(ba.enthaelt(693)); + assertFalse(ba.enthaelt(887)); + assertFalse(ba.enthaelt(481)); + assertFalse(ba.enthaelt(256)); + assertFalse(ba.enthaelt(182)); + assertFalse(ba.enthaelt(751)); + assertFalse(ba.enthaelt(114)); + assertTrue(ba.enthaelt(875)); + assertTrue(ba.enthaelt(516)); + assertTrue(ba.enthaelt(838)); + assertTrue(ba.enthaelt(744)); + assertTrue(ba.enthaelt(78)); + assertTrue(ba.enthaelt(797)); + assertTrue(ba.enthaelt(362)); + assertTrue(ba.enthaelt(755)); + } + + @Test + public void test044() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(43)); + assertEquals(347,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(357)); + assertFalse(ba.enthaelt(718)); + assertTrue(ba.enthaelt(756)); + assertTrue(ba.enthaelt(58)); + assertFalse(ba.enthaelt(313)); + assertFalse(ba.enthaelt(530)); + assertTrue(ba.enthaelt(902)); + assertFalse(ba.enthaelt(402)); + assertTrue(ba.enthaelt(197)); + assertFalse(ba.enthaelt(854)); + assertTrue(ba.enthaelt(751)); + assertFalse(ba.enthaelt(942)); + assertFalse(ba.enthaelt(450)); + assertFalse(ba.enthaelt(864)); + assertTrue(ba.enthaelt(220)); + assertFalse(ba.enthaelt(835)); + assertTrue(ba.enthaelt(191)); + assertTrue(ba.enthaelt(859)); + assertTrue(ba.enthaelt(793)); + assertTrue(ba.enthaelt(237)); + } + + @Test + public void test045() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(44)); + assertEquals(459,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(126)); + assertFalse(ba.enthaelt(328)); + assertTrue(ba.enthaelt(305)); + assertFalse(ba.enthaelt(597)); + assertFalse(ba.enthaelt(0)); + assertFalse(ba.enthaelt(747)); + assertFalse(ba.enthaelt(1019)); + assertFalse(ba.enthaelt(93)); + assertFalse(ba.enthaelt(866)); + assertTrue(ba.enthaelt(271)); + assertFalse(ba.enthaelt(81)); + assertFalse(ba.enthaelt(228)); + assertTrue(ba.enthaelt(241)); + assertTrue(ba.enthaelt(335)); + assertTrue(ba.enthaelt(257)); + assertTrue(ba.enthaelt(83)); + assertTrue(ba.enthaelt(885)); + assertTrue(ba.enthaelt(303)); + assertTrue(ba.enthaelt(498)); + assertTrue(ba.enthaelt(366)); + } + + @Test + public void test046() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(45)); + assertEquals(187,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(916)); + assertFalse(ba.enthaelt(489)); + assertFalse(ba.enthaelt(370)); + assertFalse(ba.enthaelt(361)); + assertFalse(ba.enthaelt(635)); + assertFalse(ba.enthaelt(991)); + assertTrue(ba.enthaelt(308)); + assertFalse(ba.enthaelt(677)); + assertTrue(ba.enthaelt(203)); + assertFalse(ba.enthaelt(818)); + assertFalse(ba.enthaelt(175)); + assertFalse(ba.enthaelt(992)); + assertTrue(ba.enthaelt(72)); + assertTrue(ba.enthaelt(516)); + assertTrue(ba.enthaelt(127)); + assertTrue(ba.enthaelt(357)); + assertTrue(ba.enthaelt(535)); + assertTrue(ba.enthaelt(623)); + assertTrue(ba.enthaelt(526)); + assertTrue(ba.enthaelt(483)); + } + + @Test + public void test047() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(46)); + assertEquals(119,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(174)); + assertFalse(ba.enthaelt(700)); + assertFalse(ba.enthaelt(172)); + assertFalse(ba.enthaelt(679)); + assertFalse(ba.enthaelt(459)); + assertFalse(ba.enthaelt(522)); + assertFalse(ba.enthaelt(552)); + assertFalse(ba.enthaelt(1001)); + assertFalse(ba.enthaelt(448)); + assertFalse(ba.enthaelt(578)); + assertTrue(ba.enthaelt(157)); + assertTrue(ba.enthaelt(830)); + assertTrue(ba.enthaelt(316)); + assertTrue(ba.enthaelt(504)); + assertTrue(ba.enthaelt(307)); + assertTrue(ba.enthaelt(516)); + assertTrue(ba.enthaelt(533)); + assertTrue(ba.enthaelt(378)); + assertTrue(ba.enthaelt(151)); + assertTrue(ba.enthaelt(23)); + } + + @Test + public void test048() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(47)); + assertEquals(81,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(763)); + assertFalse(ba.enthaelt(697)); + assertFalse(ba.enthaelt(24)); + assertFalse(ba.enthaelt(516)); + assertFalse(ba.enthaelt(997)); + assertFalse(ba.enthaelt(874)); + assertFalse(ba.enthaelt(331)); + assertFalse(ba.enthaelt(602)); + assertFalse(ba.enthaelt(952)); + assertFalse(ba.enthaelt(928)); + assertTrue(ba.enthaelt(794)); + assertTrue(ba.enthaelt(342)); + assertTrue(ba.enthaelt(551)); + assertTrue(ba.enthaelt(600)); + assertTrue(ba.enthaelt(532)); + assertTrue(ba.enthaelt(86)); + assertTrue(ba.enthaelt(217)); + assertTrue(ba.enthaelt(921)); + assertTrue(ba.enthaelt(115)); + assertTrue(ba.enthaelt(32)); + } + + @Test + public void test049() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(48)); + assertEquals(349,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(394)); + assertFalse(ba.enthaelt(690)); + assertFalse(ba.enthaelt(3)); + assertTrue(ba.enthaelt(400)); + assertFalse(ba.enthaelt(264)); + assertFalse(ba.enthaelt(823)); + assertTrue(ba.enthaelt(569)); + assertFalse(ba.enthaelt(140)); + assertFalse(ba.enthaelt(1008)); + assertTrue(ba.enthaelt(42)); + assertFalse(ba.enthaelt(818)); + assertFalse(ba.enthaelt(902)); + assertTrue(ba.enthaelt(41)); + assertFalse(ba.enthaelt(631)); + assertFalse(ba.enthaelt(927)); + assertTrue(ba.enthaelt(790)); + assertTrue(ba.enthaelt(464)); + assertTrue(ba.enthaelt(447)); + assertTrue(ba.enthaelt(203)); + assertTrue(ba.enthaelt(774)); + } + + @Test + public void test050() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(49)); + assertEquals(73,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertTrue(ba.enthaelt(942)); + assertFalse(ba.enthaelt(310)); + assertFalse(ba.enthaelt(44)); + assertFalse(ba.enthaelt(536)); + assertFalse(ba.enthaelt(512)); + assertTrue(ba.enthaelt(257)); + assertFalse(ba.enthaelt(219)); + assertFalse(ba.enthaelt(73)); + assertFalse(ba.enthaelt(474)); + assertTrue(ba.enthaelt(21)); + assertFalse(ba.enthaelt(820)); + assertFalse(ba.enthaelt(358)); + assertFalse(ba.enthaelt(651)); + assertTrue(ba.enthaelt(97)); + assertTrue(ba.enthaelt(309)); + assertTrue(ba.enthaelt(815)); + assertTrue(ba.enthaelt(914)); + assertTrue(ba.enthaelt(959)); + assertTrue(ba.enthaelt(183)); + assertTrue(ba.enthaelt(502)); + } + + @Test + public void test051() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(50)); + assertEquals(115,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(985)); + assertFalse(ba.enthaelt(199)); + assertFalse(ba.enthaelt(872)); + assertFalse(ba.enthaelt(721)); + assertFalse(ba.enthaelt(396)); + assertFalse(ba.enthaelt(318)); + assertFalse(ba.enthaelt(625)); + assertFalse(ba.enthaelt(762)); + assertFalse(ba.enthaelt(324)); + assertFalse(ba.enthaelt(913)); + assertTrue(ba.enthaelt(869)); + assertTrue(ba.enthaelt(541)); + assertTrue(ba.enthaelt(444)); + assertTrue(ba.enthaelt(937)); + assertTrue(ba.enthaelt(837)); + assertTrue(ba.enthaelt(898)); + assertTrue(ba.enthaelt(843)); + assertTrue(ba.enthaelt(236)); + assertTrue(ba.enthaelt(954)); + assertTrue(ba.enthaelt(752)); + } + + @Test + public void test052() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(51)); + assertEquals(437,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(352)); + assertTrue(ba.enthaelt(305)); + assertFalse(ba.enthaelt(708)); + assertTrue(ba.enthaelt(670)); + assertTrue(ba.enthaelt(281)); + assertFalse(ba.enthaelt(677)); + assertTrue(ba.enthaelt(410)); + assertFalse(ba.enthaelt(1015)); + assertFalse(ba.enthaelt(555)); + assertFalse(ba.enthaelt(1004)); + assertFalse(ba.enthaelt(768)); + assertFalse(ba.enthaelt(774)); + assertTrue(ba.enthaelt(491)); + assertTrue(ba.enthaelt(589)); + assertFalse(ba.enthaelt(360)); + assertFalse(ba.enthaelt(720)); + assertTrue(ba.enthaelt(779)); + assertTrue(ba.enthaelt(871)); + assertTrue(ba.enthaelt(538)); + assertTrue(ba.enthaelt(918)); + } + + @Test + public void test053() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(52)); + assertEquals(209,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(719)); + assertFalse(ba.enthaelt(933)); + assertFalse(ba.enthaelt(77)); + assertFalse(ba.enthaelt(844)); + assertFalse(ba.enthaelt(744)); + assertFalse(ba.enthaelt(1008)); + assertFalse(ba.enthaelt(208)); + assertFalse(ba.enthaelt(17)); + assertFalse(ba.enthaelt(171)); + assertFalse(ba.enthaelt(290)); + assertTrue(ba.enthaelt(44)); + assertTrue(ba.enthaelt(780)); + assertTrue(ba.enthaelt(303)); + assertTrue(ba.enthaelt(343)); + assertTrue(ba.enthaelt(177)); + assertTrue(ba.enthaelt(488)); + assertTrue(ba.enthaelt(85)); + assertTrue(ba.enthaelt(574)); + assertTrue(ba.enthaelt(765)); + assertTrue(ba.enthaelt(150)); + } + + @Test + public void test054() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(53)); + assertEquals(151,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(272)); + assertTrue(ba.enthaelt(254)); + assertFalse(ba.enthaelt(72)); + assertTrue(ba.enthaelt(739)); + assertTrue(ba.enthaelt(119)); + assertFalse(ba.enthaelt(605)); + assertFalse(ba.enthaelt(438)); + assertTrue(ba.enthaelt(738)); + assertFalse(ba.enthaelt(3)); + assertFalse(ba.enthaelt(27)); + assertFalse(ba.enthaelt(572)); + assertFalse(ba.enthaelt(1003)); + assertFalse(ba.enthaelt(971)); + assertFalse(ba.enthaelt(283)); + assertTrue(ba.enthaelt(566)); + assertTrue(ba.enthaelt(159)); + assertTrue(ba.enthaelt(505)); + assertTrue(ba.enthaelt(755)); + assertTrue(ba.enthaelt(540)); + assertTrue(ba.enthaelt(126)); + } + + @Test + public void test055() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(54)); + assertEquals(311,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(619)); + assertTrue(ba.enthaelt(583)); + assertTrue(ba.enthaelt(258)); + assertFalse(ba.enthaelt(855)); + assertFalse(ba.enthaelt(436)); + assertTrue(ba.enthaelt(182)); + assertTrue(ba.enthaelt(587)); + assertTrue(ba.enthaelt(880)); + assertFalse(ba.enthaelt(883)); + assertFalse(ba.enthaelt(225)); + assertFalse(ba.enthaelt(460)); + assertFalse(ba.enthaelt(501)); + assertFalse(ba.enthaelt(286)); + assertFalse(ba.enthaelt(727)); + assertFalse(ba.enthaelt(589)); + assertFalse(ba.enthaelt(773)); + assertTrue(ba.enthaelt(912)); + assertTrue(ba.enthaelt(671)); + assertTrue(ba.enthaelt(245)); + assertTrue(ba.enthaelt(145)); + } + + @Test + public void test056() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(55)); + assertEquals(93,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertTrue(ba.enthaelt(232)); + assertFalse(ba.enthaelt(504)); + assertFalse(ba.enthaelt(951)); + assertFalse(ba.enthaelt(628)); + assertFalse(ba.enthaelt(292)); + assertFalse(ba.enthaelt(575)); + assertFalse(ba.enthaelt(188)); + assertFalse(ba.enthaelt(255)); + assertFalse(ba.enthaelt(913)); + assertFalse(ba.enthaelt(592)); + assertFalse(ba.enthaelt(649)); + assertTrue(ba.enthaelt(897)); + assertTrue(ba.enthaelt(385)); + assertTrue(ba.enthaelt(128)); + assertTrue(ba.enthaelt(228)); + assertTrue(ba.enthaelt(430)); + assertTrue(ba.enthaelt(653)); + assertTrue(ba.enthaelt(497)); + assertTrue(ba.enthaelt(317)); + assertTrue(ba.enthaelt(269)); + } + + @Test + public void test057() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(56)); + assertEquals(499,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(83)); + assertFalse(ba.enthaelt(557)); + assertFalse(ba.enthaelt(863)); + assertTrue(ba.enthaelt(569)); + assertTrue(ba.enthaelt(116)); + assertFalse(ba.enthaelt(841)); + assertTrue(ba.enthaelt(683)); + assertFalse(ba.enthaelt(450)); + assertFalse(ba.enthaelt(783)); + assertTrue(ba.enthaelt(49)); + assertFalse(ba.enthaelt(87)); + assertTrue(ba.enthaelt(983)); + assertTrue(ba.enthaelt(810)); + assertTrue(ba.enthaelt(354)); + assertFalse(ba.enthaelt(155)); + assertFalse(ba.enthaelt(2)); + assertFalse(ba.enthaelt(725)); + assertTrue(ba.enthaelt(786)); + assertTrue(ba.enthaelt(916)); + assertFalse(ba.enthaelt(1009)); + } + + @Test + public void test058() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(57)); + assertEquals(243,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertTrue(ba.enthaelt(737)); + assertFalse(ba.enthaelt(969)); + assertFalse(ba.enthaelt(1004)); + assertTrue(ba.enthaelt(633)); + assertFalse(ba.enthaelt(993)); + assertFalse(ba.enthaelt(367)); + assertFalse(ba.enthaelt(743)); + assertFalse(ba.enthaelt(998)); + assertFalse(ba.enthaelt(841)); + assertFalse(ba.enthaelt(775)); + assertTrue(ba.enthaelt(365)); + assertFalse(ba.enthaelt(1018)); + assertFalse(ba.enthaelt(517)); + assertTrue(ba.enthaelt(242)); + assertTrue(ba.enthaelt(100)); + assertTrue(ba.enthaelt(404)); + assertTrue(ba.enthaelt(635)); + assertTrue(ba.enthaelt(337)); + assertTrue(ba.enthaelt(347)); + assertTrue(ba.enthaelt(133)); + } + + @Test + public void test059() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(58)); + assertEquals(875,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(665)); + assertFalse(ba.enthaelt(774)); + assertFalse(ba.enthaelt(855)); + assertFalse(ba.enthaelt(490)); + assertFalse(ba.enthaelt(690)); + assertFalse(ba.enthaelt(975)); + assertTrue(ba.enthaelt(385)); + assertTrue(ba.enthaelt(789)); + assertFalse(ba.enthaelt(625)); + assertTrue(ba.enthaelt(569)); + assertTrue(ba.enthaelt(818)); + assertFalse(ba.enthaelt(442)); + assertTrue(ba.enthaelt(826)); + assertTrue(ba.enthaelt(566)); + assertFalse(ba.enthaelt(1001)); + assertFalse(ba.enthaelt(886)); + assertTrue(ba.enthaelt(49)); + assertFalse(ba.enthaelt(463)); + assertTrue(ba.enthaelt(29)); + assertTrue(ba.enthaelt(84)); + } + + @Test + public void test060() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(59)); + assertEquals(251,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(81)); + assertFalse(ba.enthaelt(447)); + assertTrue(ba.enthaelt(998)); + assertFalse(ba.enthaelt(0)); + assertFalse(ba.enthaelt(1000)); + assertFalse(ba.enthaelt(118)); + assertFalse(ba.enthaelt(86)); + assertFalse(ba.enthaelt(570)); + assertFalse(ba.enthaelt(104)); + assertTrue(ba.enthaelt(495)); + assertFalse(ba.enthaelt(584)); + assertFalse(ba.enthaelt(560)); + assertTrue(ba.enthaelt(623)); + assertFalse(ba.enthaelt(1005)); + assertTrue(ba.enthaelt(740)); + assertTrue(ba.enthaelt(360)); + assertTrue(ba.enthaelt(630)); + assertTrue(ba.enthaelt(264)); + assertTrue(ba.enthaelt(220)); + assertTrue(ba.enthaelt(469)); + } + + @Test + public void test061() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(60)); + assertEquals(97,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(432)); + assertFalse(ba.enthaelt(345)); + assertFalse(ba.enthaelt(594)); + assertFalse(ba.enthaelt(752)); + assertFalse(ba.enthaelt(751)); + assertFalse(ba.enthaelt(998)); + assertTrue(ba.enthaelt(9)); + assertFalse(ba.enthaelt(940)); + assertFalse(ba.enthaelt(1002)); + assertFalse(ba.enthaelt(296)); + assertFalse(ba.enthaelt(951)); + assertTrue(ba.enthaelt(169)); + assertTrue(ba.enthaelt(392)); + assertTrue(ba.enthaelt(226)); + assertTrue(ba.enthaelt(885)); + assertTrue(ba.enthaelt(350)); + assertTrue(ba.enthaelt(799)); + assertTrue(ba.enthaelt(877)); + assertTrue(ba.enthaelt(180)); + assertTrue(ba.enthaelt(836)); + } + + @Test + public void test062() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(61)); + assertEquals(85,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(1019)); + assertFalse(ba.enthaelt(997)); + assertFalse(ba.enthaelt(340)); + assertFalse(ba.enthaelt(594)); + assertFalse(ba.enthaelt(996)); + assertFalse(ba.enthaelt(766)); + assertFalse(ba.enthaelt(241)); + assertFalse(ba.enthaelt(192)); + assertFalse(ba.enthaelt(740)); + assertFalse(ba.enthaelt(869)); + assertTrue(ba.enthaelt(75)); + assertTrue(ba.enthaelt(3)); + assertTrue(ba.enthaelt(634)); + assertTrue(ba.enthaelt(814)); + assertTrue(ba.enthaelt(438)); + assertTrue(ba.enthaelt(785)); + assertTrue(ba.enthaelt(755)); + assertTrue(ba.enthaelt(446)); + assertTrue(ba.enthaelt(414)); + assertTrue(ba.enthaelt(579)); + } + + @Test + public void test063() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(62)); + assertEquals(221,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(251)); + assertFalse(ba.enthaelt(138)); + assertTrue(ba.enthaelt(803)); + assertFalse(ba.enthaelt(280)); + assertFalse(ba.enthaelt(62)); + assertFalse(ba.enthaelt(665)); + assertFalse(ba.enthaelt(429)); + assertTrue(ba.enthaelt(524)); + assertFalse(ba.enthaelt(656)); + assertTrue(ba.enthaelt(463)); + assertFalse(ba.enthaelt(131)); + assertFalse(ba.enthaelt(759)); + assertFalse(ba.enthaelt(26)); + assertTrue(ba.enthaelt(303)); + assertTrue(ba.enthaelt(213)); + assertTrue(ba.enthaelt(167)); + assertTrue(ba.enthaelt(399)); + assertTrue(ba.enthaelt(264)); + assertTrue(ba.enthaelt(944)); + assertTrue(ba.enthaelt(625)); + } + + @Test + public void test064() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(63)); + assertEquals(115,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(690)); + assertFalse(ba.enthaelt(204)); + assertFalse(ba.enthaelt(525)); + assertFalse(ba.enthaelt(448)); + assertFalse(ba.enthaelt(658)); + assertFalse(ba.enthaelt(628)); + assertFalse(ba.enthaelt(444)); + assertFalse(ba.enthaelt(28)); + assertFalse(ba.enthaelt(622)); + assertFalse(ba.enthaelt(270)); + assertFalse(ba.enthaelt(731)); + assertTrue(ba.enthaelt(38)); + assertTrue(ba.enthaelt(479)); + assertTrue(ba.enthaelt(182)); + assertTrue(ba.enthaelt(24)); + assertTrue(ba.enthaelt(754)); + assertTrue(ba.enthaelt(308)); + assertTrue(ba.enthaelt(838)); + assertTrue(ba.enthaelt(85)); + assertTrue(ba.enthaelt(289)); + } + + @Test + public void test065() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(64)); + assertEquals(513,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(579)); + assertFalse(ba.enthaelt(140)); + assertFalse(ba.enthaelt(598)); + assertFalse(ba.enthaelt(303)); + assertTrue(ba.enthaelt(524)); + assertFalse(ba.enthaelt(776)); + assertFalse(ba.enthaelt(522)); + assertTrue(ba.enthaelt(323)); + assertFalse(ba.enthaelt(168)); + assertTrue(ba.enthaelt(787)); + assertFalse(ba.enthaelt(922)); + assertFalse(ba.enthaelt(3)); + assertFalse(ba.enthaelt(1007)); + assertTrue(ba.enthaelt(900)); + assertTrue(ba.enthaelt(988)); + assertTrue(ba.enthaelt(113)); + assertTrue(ba.enthaelt(274)); + assertTrue(ba.enthaelt(653)); + assertTrue(ba.enthaelt(958)); + assertTrue(ba.enthaelt(866)); + } + + @Test + public void test066() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(65)); + assertEquals(79,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(21)); + assertFalse(ba.enthaelt(658)); + assertFalse(ba.enthaelt(843)); + assertFalse(ba.enthaelt(441)); + assertTrue(ba.enthaelt(976)); + assertFalse(ba.enthaelt(797)); + assertFalse(ba.enthaelt(986)); + assertFalse(ba.enthaelt(159)); + assertFalse(ba.enthaelt(305)); + assertFalse(ba.enthaelt(486)); + assertFalse(ba.enthaelt(290)); + assertTrue(ba.enthaelt(221)); + assertTrue(ba.enthaelt(216)); + assertTrue(ba.enthaelt(696)); + assertTrue(ba.enthaelt(517)); + assertTrue(ba.enthaelt(898)); + assertTrue(ba.enthaelt(820)); + assertTrue(ba.enthaelt(243)); + assertTrue(ba.enthaelt(874)); + assertTrue(ba.enthaelt(225)); + } + + @Test + public void test067() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(66)); + assertEquals(145,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(588)); + assertFalse(ba.enthaelt(860)); + assertTrue(ba.enthaelt(451)); + assertFalse(ba.enthaelt(461)); + assertFalse(ba.enthaelt(634)); + assertFalse(ba.enthaelt(154)); + assertTrue(ba.enthaelt(146)); + assertFalse(ba.enthaelt(581)); + assertFalse(ba.enthaelt(778)); + assertFalse(ba.enthaelt(986)); + assertFalse(ba.enthaelt(580)); + assertFalse(ba.enthaelt(685)); + assertTrue(ba.enthaelt(305)); + assertTrue(ba.enthaelt(669)); + assertTrue(ba.enthaelt(106)); + assertTrue(ba.enthaelt(635)); + assertTrue(ba.enthaelt(173)); + assertTrue(ba.enthaelt(536)); + assertTrue(ba.enthaelt(249)); + assertTrue(ba.enthaelt(244)); + } + + @Test + public void test068() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(67)); + assertEquals(653,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(950)); + assertFalse(ba.enthaelt(762)); + assertFalse(ba.enthaelt(499)); + assertFalse(ba.enthaelt(543)); + assertTrue(ba.enthaelt(161)); + assertFalse(ba.enthaelt(288)); + assertFalse(ba.enthaelt(135)); + assertTrue(ba.enthaelt(119)); + assertTrue(ba.enthaelt(379)); + assertFalse(ba.enthaelt(9)); + assertFalse(ba.enthaelt(854)); + assertFalse(ba.enthaelt(634)); + assertTrue(ba.enthaelt(215)); + assertFalse(ba.enthaelt(345)); + assertTrue(ba.enthaelt(326)); + assertFalse(ba.enthaelt(948)); + assertTrue(ba.enthaelt(328)); + assertTrue(ba.enthaelt(803)); + assertTrue(ba.enthaelt(463)); + assertTrue(ba.enthaelt(212)); + } + + @Test + public void test069() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(68)); + assertEquals(231,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(450)); + assertFalse(ba.enthaelt(942)); + assertFalse(ba.enthaelt(343)); + assertFalse(ba.enthaelt(195)); + assertFalse(ba.enthaelt(521)); + assertFalse(ba.enthaelt(377)); + assertFalse(ba.enthaelt(839)); + assertFalse(ba.enthaelt(727)); + assertFalse(ba.enthaelt(643)); + assertFalse(ba.enthaelt(750)); + assertTrue(ba.enthaelt(422)); + assertTrue(ba.enthaelt(569)); + assertTrue(ba.enthaelt(852)); + assertTrue(ba.enthaelt(808)); + assertTrue(ba.enthaelt(771)); + assertTrue(ba.enthaelt(874)); + assertTrue(ba.enthaelt(49)); + assertTrue(ba.enthaelt(308)); + assertTrue(ba.enthaelt(176)); + assertTrue(ba.enthaelt(198)); + } + + @Test + public void test070() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(69)); + assertEquals(241,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(982)); + assertFalse(ba.enthaelt(326)); + assertTrue(ba.enthaelt(925)); + assertTrue(ba.enthaelt(680)); + assertTrue(ba.enthaelt(71)); + assertFalse(ba.enthaelt(494)); + assertFalse(ba.enthaelt(841)); + assertFalse(ba.enthaelt(915)); + assertTrue(ba.enthaelt(100)); + assertFalse(ba.enthaelt(215)); + assertFalse(ba.enthaelt(48)); + assertFalse(ba.enthaelt(5)); + assertFalse(ba.enthaelt(891)); + assertFalse(ba.enthaelt(372)); + assertTrue(ba.enthaelt(908)); + assertTrue(ba.enthaelt(451)); + assertTrue(ba.enthaelt(258)); + assertTrue(ba.enthaelt(473)); + assertTrue(ba.enthaelt(861)); + assertTrue(ba.enthaelt(734)); + } + + @Test + public void test071() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(70)); + assertEquals(147,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(803)); + assertFalse(ba.enthaelt(898)); + assertFalse(ba.enthaelt(464)); + assertFalse(ba.enthaelt(12)); + assertFalse(ba.enthaelt(439)); + assertFalse(ba.enthaelt(673)); + assertFalse(ba.enthaelt(750)); + assertTrue(ba.enthaelt(494)); + assertFalse(ba.enthaelt(1007)); + assertFalse(ba.enthaelt(119)); + assertFalse(ba.enthaelt(113)); + assertTrue(ba.enthaelt(588)); + assertTrue(ba.enthaelt(829)); + assertTrue(ba.enthaelt(617)); + assertTrue(ba.enthaelt(644)); + assertTrue(ba.enthaelt(537)); + assertTrue(ba.enthaelt(471)); + assertTrue(ba.enthaelt(70)); + assertTrue(ba.enthaelt(769)); + assertTrue(ba.enthaelt(581)); + } + + @Test + public void test072() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(71)); + assertEquals(165,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertTrue(ba.enthaelt(447)); + assertTrue(ba.enthaelt(675)); + assertFalse(ba.enthaelt(172)); + assertFalse(ba.enthaelt(438)); + assertTrue(ba.enthaelt(105)); + assertFalse(ba.enthaelt(198)); + assertFalse(ba.enthaelt(328)); + assertFalse(ba.enthaelt(86)); + assertFalse(ba.enthaelt(293)); + assertFalse(ba.enthaelt(441)); + assertFalse(ba.enthaelt(466)); + assertFalse(ba.enthaelt(572)); + assertTrue(ba.enthaelt(499)); + assertFalse(ba.enthaelt(218)); + assertTrue(ba.enthaelt(518)); + assertTrue(ba.enthaelt(813)); + assertTrue(ba.enthaelt(32)); + assertTrue(ba.enthaelt(554)); + assertTrue(ba.enthaelt(152)); + assertTrue(ba.enthaelt(19)); + } + + @Test + public void test073() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(72)); + assertEquals(231,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(891)); + assertFalse(ba.enthaelt(908)); + assertTrue(ba.enthaelt(138)); + assertFalse(ba.enthaelt(1012)); + assertFalse(ba.enthaelt(189)); + assertTrue(ba.enthaelt(745)); + assertFalse(ba.enthaelt(799)); + assertTrue(ba.enthaelt(922)); + assertTrue(ba.enthaelt(595)); + assertFalse(ba.enthaelt(391)); + assertFalse(ba.enthaelt(31)); + assertFalse(ba.enthaelt(177)); + assertFalse(ba.enthaelt(673)); + assertFalse(ba.enthaelt(348)); + assertTrue(ba.enthaelt(850)); + assertTrue(ba.enthaelt(162)); + assertTrue(ba.enthaelt(820)); + assertTrue(ba.enthaelt(219)); + assertTrue(ba.enthaelt(388)); + assertTrue(ba.enthaelt(694)); + } + + @Test + public void test074() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(73)); + assertEquals(191,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(92)); + assertFalse(ba.enthaelt(929)); + assertTrue(ba.enthaelt(312)); + assertFalse(ba.enthaelt(209)); + assertFalse(ba.enthaelt(843)); + assertFalse(ba.enthaelt(935)); + assertFalse(ba.enthaelt(6)); + assertFalse(ba.enthaelt(529)); + assertFalse(ba.enthaelt(567)); + assertFalse(ba.enthaelt(646)); + assertFalse(ba.enthaelt(116)); + assertTrue(ba.enthaelt(788)); + assertTrue(ba.enthaelt(487)); + assertTrue(ba.enthaelt(330)); + assertTrue(ba.enthaelt(813)); + assertTrue(ba.enthaelt(77)); + assertTrue(ba.enthaelt(624)); + assertTrue(ba.enthaelt(722)); + assertTrue(ba.enthaelt(566)); + assertTrue(ba.enthaelt(215)); + } + + @Test + public void test075() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(74)); + assertEquals(137,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(733)); + assertTrue(ba.enthaelt(561)); + assertFalse(ba.enthaelt(354)); + assertFalse(ba.enthaelt(820)); + assertFalse(ba.enthaelt(230)); + assertFalse(ba.enthaelt(40)); + assertFalse(ba.enthaelt(671)); + assertFalse(ba.enthaelt(624)); + assertFalse(ba.enthaelt(872)); + assertFalse(ba.enthaelt(375)); + assertFalse(ba.enthaelt(394)); + assertTrue(ba.enthaelt(151)); + assertTrue(ba.enthaelt(815)); + assertTrue(ba.enthaelt(951)); + assertTrue(ba.enthaelt(821)); + assertTrue(ba.enthaelt(364)); + assertTrue(ba.enthaelt(293)); + assertTrue(ba.enthaelt(58)); + assertTrue(ba.enthaelt(798)); + assertTrue(ba.enthaelt(51)); + } + + @Test + public void test076() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(75)); + assertEquals(63,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(259)); + assertFalse(ba.enthaelt(272)); + assertTrue(ba.enthaelt(251)); + assertFalse(ba.enthaelt(961)); + assertFalse(ba.enthaelt(214)); + assertFalse(ba.enthaelt(963)); + assertFalse(ba.enthaelt(921)); + assertTrue(ba.enthaelt(278)); + assertFalse(ba.enthaelt(521)); + assertFalse(ba.enthaelt(302)); + assertFalse(ba.enthaelt(621)); + assertFalse(ba.enthaelt(640)); + assertTrue(ba.enthaelt(655)); + assertTrue(ba.enthaelt(829)); + assertTrue(ba.enthaelt(557)); + assertTrue(ba.enthaelt(419)); + assertTrue(ba.enthaelt(566)); + assertTrue(ba.enthaelt(581)); + assertTrue(ba.enthaelt(627)); + assertTrue(ba.enthaelt(385)); + } + + @Test + public void test077() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(76)); + assertEquals(265,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(59)); + assertTrue(ba.enthaelt(384)); + assertFalse(ba.enthaelt(286)); + assertTrue(ba.enthaelt(195)); + assertFalse(ba.enthaelt(432)); + assertTrue(ba.enthaelt(591)); + assertFalse(ba.enthaelt(107)); + assertTrue(ba.enthaelt(867)); + assertFalse(ba.enthaelt(51)); + assertFalse(ba.enthaelt(883)); + assertFalse(ba.enthaelt(206)); + assertFalse(ba.enthaelt(981)); + assertFalse(ba.enthaelt(32)); + assertFalse(ba.enthaelt(782)); + assertTrue(ba.enthaelt(352)); + assertTrue(ba.enthaelt(804)); + assertTrue(ba.enthaelt(767)); + assertTrue(ba.enthaelt(129)); + assertTrue(ba.enthaelt(483)); + assertTrue(ba.enthaelt(372)); + } + + @Test + public void test078() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(77)); + assertEquals(211,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(520)); + assertFalse(ba.enthaelt(832)); + assertTrue(ba.enthaelt(98)); + assertFalse(ba.enthaelt(240)); + assertFalse(ba.enthaelt(1015)); + assertFalse(ba.enthaelt(367)); + assertFalse(ba.enthaelt(237)); + assertFalse(ba.enthaelt(873)); + assertFalse(ba.enthaelt(672)); + assertFalse(ba.enthaelt(269)); + assertTrue(ba.enthaelt(115)); + assertFalse(ba.enthaelt(493)); + assertTrue(ba.enthaelt(772)); + assertTrue(ba.enthaelt(36)); + assertTrue(ba.enthaelt(766)); + assertTrue(ba.enthaelt(329)); + assertTrue(ba.enthaelt(519)); + assertTrue(ba.enthaelt(566)); + assertTrue(ba.enthaelt(192)); + assertTrue(ba.enthaelt(114)); + } + + @Test + public void test079() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(78)); + assertEquals(77,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(774)); + assertFalse(ba.enthaelt(217)); + assertFalse(ba.enthaelt(274)); + assertFalse(ba.enthaelt(342)); + assertFalse(ba.enthaelt(175)); + assertTrue(ba.enthaelt(282)); + assertFalse(ba.enthaelt(191)); + assertFalse(ba.enthaelt(640)); + assertFalse(ba.enthaelt(373)); + assertFalse(ba.enthaelt(17)); + assertFalse(ba.enthaelt(950)); + assertTrue(ba.enthaelt(14)); + assertTrue(ba.enthaelt(391)); + assertTrue(ba.enthaelt(127)); + assertTrue(ba.enthaelt(402)); + assertTrue(ba.enthaelt(327)); + assertTrue(ba.enthaelt(420)); + assertTrue(ba.enthaelt(151)); + assertTrue(ba.enthaelt(313)); + assertTrue(ba.enthaelt(747)); + } + + @Test + public void test080() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(79)); + assertEquals(301,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(21)); + assertFalse(ba.enthaelt(562)); + assertFalse(ba.enthaelt(89)); + assertTrue(ba.enthaelt(366)); + assertFalse(ba.enthaelt(207)); + assertFalse(ba.enthaelt(825)); + assertFalse(ba.enthaelt(289)); + assertFalse(ba.enthaelt(1016)); + assertFalse(ba.enthaelt(213)); + assertFalse(ba.enthaelt(326)); + assertFalse(ba.enthaelt(407)); + assertTrue(ba.enthaelt(225)); + assertTrue(ba.enthaelt(576)); + assertTrue(ba.enthaelt(180)); + assertTrue(ba.enthaelt(504)); + assertTrue(ba.enthaelt(374)); + assertTrue(ba.enthaelt(239)); + assertTrue(ba.enthaelt(139)); + assertTrue(ba.enthaelt(327)); + assertTrue(ba.enthaelt(286)); + } + + @Test + public void test081() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(80)); + assertEquals(577,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(345)); + assertFalse(ba.enthaelt(461)); + assertFalse(ba.enthaelt(1007)); + assertTrue(ba.enthaelt(821)); + assertFalse(ba.enthaelt(446)); + assertTrue(ba.enthaelt(748)); + assertFalse(ba.enthaelt(400)); + assertTrue(ba.enthaelt(505)); + assertFalse(ba.enthaelt(898)); + assertTrue(ba.enthaelt(10)); + assertFalse(ba.enthaelt(72)); + assertTrue(ba.enthaelt(222)); + assertFalse(ba.enthaelt(977)); + assertTrue(ba.enthaelt(555)); + assertTrue(ba.enthaelt(870)); + assertFalse(ba.enthaelt(845)); + assertTrue(ba.enthaelt(795)); + assertTrue(ba.enthaelt(12)); + assertTrue(ba.enthaelt(233)); + assertFalse(ba.enthaelt(731)); + } + + @Test + public void test082() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(81)); + assertEquals(99,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(508)); + assertFalse(ba.enthaelt(542)); + assertFalse(ba.enthaelt(12)); + assertFalse(ba.enthaelt(739)); + assertFalse(ba.enthaelt(770)); + assertFalse(ba.enthaelt(1010)); + assertFalse(ba.enthaelt(1018)); + assertFalse(ba.enthaelt(15)); + assertTrue(ba.enthaelt(418)); + assertFalse(ba.enthaelt(969)); + assertFalse(ba.enthaelt(962)); + assertTrue(ba.enthaelt(191)); + assertTrue(ba.enthaelt(31)); + assertTrue(ba.enthaelt(299)); + assertTrue(ba.enthaelt(846)); + assertTrue(ba.enthaelt(768)); + assertTrue(ba.enthaelt(973)); + assertTrue(ba.enthaelt(772)); + assertTrue(ba.enthaelt(629)); + assertTrue(ba.enthaelt(844)); + } + + @Test + public void test083() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(82)); + assertEquals(393,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(762)); + assertFalse(ba.enthaelt(749)); + assertFalse(ba.enthaelt(560)); + assertFalse(ba.enthaelt(646)); + assertTrue(ba.enthaelt(558)); + assertFalse(ba.enthaelt(8)); + assertFalse(ba.enthaelt(683)); + assertFalse(ba.enthaelt(805)); + assertTrue(ba.enthaelt(668)); + assertTrue(ba.enthaelt(434)); + assertTrue(ba.enthaelt(483)); + assertFalse(ba.enthaelt(962)); + assertTrue(ba.enthaelt(137)); + assertTrue(ba.enthaelt(239)); + assertFalse(ba.enthaelt(747)); + assertTrue(ba.enthaelt(583)); + assertFalse(ba.enthaelt(298)); + assertTrue(ba.enthaelt(608)); + assertTrue(ba.enthaelt(914)); + assertTrue(ba.enthaelt(717)); + } + + @Test + public void test084() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(83)); + assertEquals(203,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(198)); + assertFalse(ba.enthaelt(805)); + assertFalse(ba.enthaelt(725)); + assertFalse(ba.enthaelt(434)); + assertTrue(ba.enthaelt(289)); + assertFalse(ba.enthaelt(330)); + assertTrue(ba.enthaelt(130)); + assertFalse(ba.enthaelt(876)); + assertFalse(ba.enthaelt(812)); + assertFalse(ba.enthaelt(989)); + assertFalse(ba.enthaelt(51)); + assertFalse(ba.enthaelt(594)); + assertTrue(ba.enthaelt(673)); + assertTrue(ba.enthaelt(988)); + assertTrue(ba.enthaelt(940)); + assertTrue(ba.enthaelt(352)); + assertTrue(ba.enthaelt(756)); + assertTrue(ba.enthaelt(435)); + assertTrue(ba.enthaelt(525)); + assertTrue(ba.enthaelt(196)); + } + + @Test + public void test085() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(84)); + assertEquals(123,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(332)); + assertTrue(ba.enthaelt(580)); + assertFalse(ba.enthaelt(197)); + assertTrue(ba.enthaelt(188)); + assertFalse(ba.enthaelt(175)); + assertFalse(ba.enthaelt(59)); + assertFalse(ba.enthaelt(402)); + assertFalse(ba.enthaelt(200)); + assertTrue(ba.enthaelt(265)); + assertFalse(ba.enthaelt(320)); + assertTrue(ba.enthaelt(969)); + assertFalse(ba.enthaelt(54)); + assertFalse(ba.enthaelt(190)); + assertTrue(ba.enthaelt(664)); + assertFalse(ba.enthaelt(1010)); + assertTrue(ba.enthaelt(340)); + assertTrue(ba.enthaelt(679)); + assertTrue(ba.enthaelt(909)); + assertTrue(ba.enthaelt(588)); + assertTrue(ba.enthaelt(416)); + } + + @Test + public void test086() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(85)); + assertEquals(425,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(406)); + assertFalse(ba.enthaelt(372)); + assertFalse(ba.enthaelt(429)); + assertFalse(ba.enthaelt(108)); + assertFalse(ba.enthaelt(158)); + assertFalse(ba.enthaelt(241)); + assertFalse(ba.enthaelt(24)); + assertFalse(ba.enthaelt(581)); + assertTrue(ba.enthaelt(258)); + assertFalse(ba.enthaelt(692)); + assertFalse(ba.enthaelt(127)); + assertTrue(ba.enthaelt(593)); + assertTrue(ba.enthaelt(212)); + assertTrue(ba.enthaelt(492)); + assertTrue(ba.enthaelt(767)); + assertTrue(ba.enthaelt(90)); + assertTrue(ba.enthaelt(457)); + assertTrue(ba.enthaelt(793)); + assertTrue(ba.enthaelt(209)); + assertTrue(ba.enthaelt(180)); + } + + @Test + public void test087() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(86)); + assertEquals(43,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(247)); + assertTrue(ba.enthaelt(787)); + assertFalse(ba.enthaelt(299)); + assertFalse(ba.enthaelt(117)); + assertFalse(ba.enthaelt(733)); + assertFalse(ba.enthaelt(565)); + assertFalse(ba.enthaelt(530)); + assertFalse(ba.enthaelt(363)); + assertFalse(ba.enthaelt(827)); + assertFalse(ba.enthaelt(995)); + assertFalse(ba.enthaelt(926)); + assertTrue(ba.enthaelt(294)); + assertTrue(ba.enthaelt(759)); + assertTrue(ba.enthaelt(972)); + assertTrue(ba.enthaelt(703)); + assertTrue(ba.enthaelt(739)); + assertTrue(ba.enthaelt(339)); + assertTrue(ba.enthaelt(589)); + assertTrue(ba.enthaelt(6)); + assertTrue(ba.enthaelt(450)); + } + + @Test + public void test088() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(87)); + assertEquals(579,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(1017)); + assertFalse(ba.enthaelt(557)); + assertTrue(ba.enthaelt(742)); + assertFalse(ba.enthaelt(95)); + assertFalse(ba.enthaelt(748)); + assertFalse(ba.enthaelt(839)); + assertFalse(ba.enthaelt(612)); + assertFalse(ba.enthaelt(131)); + assertTrue(ba.enthaelt(433)); + assertFalse(ba.enthaelt(64)); + assertFalse(ba.enthaelt(739)); + assertTrue(ba.enthaelt(831)); + assertTrue(ba.enthaelt(743)); + assertTrue(ba.enthaelt(368)); + assertFalse(ba.enthaelt(674)); + assertTrue(ba.enthaelt(889)); + assertTrue(ba.enthaelt(81)); + assertTrue(ba.enthaelt(435)); + assertTrue(ba.enthaelt(13)); + assertTrue(ba.enthaelt(350)); + } + + @Test + public void test089() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(88)); + assertEquals(229,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertTrue(ba.enthaelt(37)); + assertFalse(ba.enthaelt(73)); + assertFalse(ba.enthaelt(642)); + assertTrue(ba.enthaelt(83)); + assertFalse(ba.enthaelt(38)); + assertFalse(ba.enthaelt(859)); + assertTrue(ba.enthaelt(324)); + assertFalse(ba.enthaelt(475)); + assertTrue(ba.enthaelt(793)); + assertFalse(ba.enthaelt(472)); + assertFalse(ba.enthaelt(81)); + assertFalse(ba.enthaelt(480)); + assertFalse(ba.enthaelt(954)); + assertFalse(ba.enthaelt(466)); + assertTrue(ba.enthaelt(984)); + assertTrue(ba.enthaelt(540)); + assertTrue(ba.enthaelt(316)); + assertTrue(ba.enthaelt(721)); + assertTrue(ba.enthaelt(927)); + assertTrue(ba.enthaelt(517)); + } + + @Test + public void test090() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(89)); + assertEquals(159,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(686)); + assertFalse(ba.enthaelt(84)); + assertFalse(ba.enthaelt(210)); + assertFalse(ba.enthaelt(541)); + assertTrue(ba.enthaelt(775)); + assertFalse(ba.enthaelt(429)); + assertFalse(ba.enthaelt(781)); + assertFalse(ba.enthaelt(133)); + assertTrue(ba.enthaelt(578)); + assertFalse(ba.enthaelt(103)); + assertFalse(ba.enthaelt(750)); + assertFalse(ba.enthaelt(295)); + assertFalse(ba.enthaelt(19)); + assertTrue(ba.enthaelt(278)); + assertTrue(ba.enthaelt(189)); + assertTrue(ba.enthaelt(826)); + assertTrue(ba.enthaelt(511)); + assertTrue(ba.enthaelt(999)); + assertTrue(ba.enthaelt(731)); + assertTrue(ba.enthaelt(39)); + } + + @Test + public void test091() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(90)); + assertEquals(329,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(161)); + assertFalse(ba.enthaelt(698)); + assertFalse(ba.enthaelt(777)); + assertFalse(ba.enthaelt(204)); + assertFalse(ba.enthaelt(373)); + assertFalse(ba.enthaelt(467)); + assertTrue(ba.enthaelt(42)); + assertFalse(ba.enthaelt(897)); + assertTrue(ba.enthaelt(533)); + assertFalse(ba.enthaelt(864)); + assertTrue(ba.enthaelt(538)); + assertFalse(ba.enthaelt(142)); + assertFalse(ba.enthaelt(667)); + assertTrue(ba.enthaelt(783)); + assertTrue(ba.enthaelt(422)); + assertTrue(ba.enthaelt(48)); + assertTrue(ba.enthaelt(81)); + assertTrue(ba.enthaelt(478)); + assertTrue(ba.enthaelt(99)); + assertTrue(ba.enthaelt(834)); + } + + @Test + public void test092() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(91)); + assertEquals(87,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(77)); + assertTrue(ba.enthaelt(369)); + assertFalse(ba.enthaelt(596)); + assertFalse(ba.enthaelt(777)); + assertFalse(ba.enthaelt(899)); + assertFalse(ba.enthaelt(901)); + assertFalse(ba.enthaelt(985)); + assertFalse(ba.enthaelt(891)); + assertFalse(ba.enthaelt(785)); + assertFalse(ba.enthaelt(700)); + assertFalse(ba.enthaelt(98)); + assertTrue(ba.enthaelt(996)); + assertTrue(ba.enthaelt(356)); + assertTrue(ba.enthaelt(688)); + assertTrue(ba.enthaelt(746)); + assertTrue(ba.enthaelt(554)); + assertTrue(ba.enthaelt(92)); + assertTrue(ba.enthaelt(238)); + assertTrue(ba.enthaelt(779)); + assertTrue(ba.enthaelt(105)); + } + + @Test + public void test093() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(92)); + assertEquals(99,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(185)); + assertFalse(ba.enthaelt(447)); + assertFalse(ba.enthaelt(401)); + assertFalse(ba.enthaelt(86)); + assertFalse(ba.enthaelt(744)); + assertFalse(ba.enthaelt(535)); + assertFalse(ba.enthaelt(886)); + assertFalse(ba.enthaelt(775)); + assertFalse(ba.enthaelt(810)); + assertFalse(ba.enthaelt(988)); + assertTrue(ba.enthaelt(67)); + assertTrue(ba.enthaelt(678)); + assertTrue(ba.enthaelt(50)); + assertTrue(ba.enthaelt(144)); + assertTrue(ba.enthaelt(959)); + assertTrue(ba.enthaelt(448)); + assertTrue(ba.enthaelt(636)); + assertTrue(ba.enthaelt(633)); + assertTrue(ba.enthaelt(296)); + assertTrue(ba.enthaelt(947)); + } + + @Test + public void test094() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(93)); + assertEquals(137,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(965)); + assertFalse(ba.enthaelt(826)); + assertFalse(ba.enthaelt(551)); + assertFalse(ba.enthaelt(651)); + assertFalse(ba.enthaelt(740)); + assertFalse(ba.enthaelt(993)); + assertFalse(ba.enthaelt(11)); + assertFalse(ba.enthaelt(497)); + assertFalse(ba.enthaelt(700)); + assertFalse(ba.enthaelt(177)); + assertTrue(ba.enthaelt(125)); + assertTrue(ba.enthaelt(816)); + assertTrue(ba.enthaelt(26)); + assertTrue(ba.enthaelt(80)); + assertTrue(ba.enthaelt(824)); + assertTrue(ba.enthaelt(381)); + assertTrue(ba.enthaelt(687)); + assertTrue(ba.enthaelt(37)); + assertTrue(ba.enthaelt(943)); + assertTrue(ba.enthaelt(363)); + } + + @Test + public void test095() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(94)); + assertEquals(357,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(229)); + assertFalse(ba.enthaelt(313)); + assertTrue(ba.enthaelt(769)); + assertFalse(ba.enthaelt(74)); + assertFalse(ba.enthaelt(936)); + assertFalse(ba.enthaelt(373)); + assertFalse(ba.enthaelt(473)); + assertFalse(ba.enthaelt(694)); + assertFalse(ba.enthaelt(663)); + assertTrue(ba.enthaelt(391)); + assertTrue(ba.enthaelt(225)); + assertTrue(ba.enthaelt(783)); + assertFalse(ba.enthaelt(224)); + assertFalse(ba.enthaelt(531)); + assertTrue(ba.enthaelt(625)); + assertTrue(ba.enthaelt(186)); + assertTrue(ba.enthaelt(442)); + assertTrue(ba.enthaelt(374)); + assertTrue(ba.enthaelt(597)); + assertTrue(ba.enthaelt(999)); + } + + @Test + public void test096() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(95)); + assertEquals(79,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(630)); + assertFalse(ba.enthaelt(193)); + assertFalse(ba.enthaelt(100)); + assertFalse(ba.enthaelt(73)); + assertFalse(ba.enthaelt(926)); + assertFalse(ba.enthaelt(417)); + assertFalse(ba.enthaelt(214)); + assertTrue(ba.enthaelt(63)); + assertFalse(ba.enthaelt(329)); + assertFalse(ba.enthaelt(246)); + assertFalse(ba.enthaelt(934)); + assertTrue(ba.enthaelt(198)); + assertTrue(ba.enthaelt(256)); + assertTrue(ba.enthaelt(655)); + assertTrue(ba.enthaelt(441)); + assertTrue(ba.enthaelt(927)); + assertTrue(ba.enthaelt(74)); + assertTrue(ba.enthaelt(576)); + assertTrue(ba.enthaelt(702)); + assertTrue(ba.enthaelt(333)); + } + + @Test + public void test097() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(96)); + assertEquals(141,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(98)); + assertFalse(ba.enthaelt(259)); + assertFalse(ba.enthaelt(169)); + assertFalse(ba.enthaelt(917)); + assertFalse(ba.enthaelt(103)); + assertFalse(ba.enthaelt(15)); + assertFalse(ba.enthaelt(931)); + assertFalse(ba.enthaelt(265)); + assertFalse(ba.enthaelt(226)); + assertTrue(ba.enthaelt(639)); + assertFalse(ba.enthaelt(775)); + assertTrue(ba.enthaelt(150)); + assertTrue(ba.enthaelt(183)); + assertTrue(ba.enthaelt(281)); + assertTrue(ba.enthaelt(510)); + assertTrue(ba.enthaelt(428)); + assertTrue(ba.enthaelt(631)); + assertTrue(ba.enthaelt(221)); + assertTrue(ba.enthaelt(533)); + assertTrue(ba.enthaelt(12)); + } + + @Test + public void test098() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(97)); + assertEquals(139,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(889)); + assertFalse(ba.enthaelt(987)); + assertFalse(ba.enthaelt(441)); + assertFalse(ba.enthaelt(33)); + assertFalse(ba.enthaelt(485)); + assertFalse(ba.enthaelt(482)); + assertFalse(ba.enthaelt(946)); + assertFalse(ba.enthaelt(299)); + assertFalse(ba.enthaelt(227)); + assertFalse(ba.enthaelt(147)); + assertTrue(ba.enthaelt(763)); + assertTrue(ba.enthaelt(63)); + assertTrue(ba.enthaelt(169)); + assertTrue(ba.enthaelt(57)); + assertTrue(ba.enthaelt(100)); + assertTrue(ba.enthaelt(263)); + assertTrue(ba.enthaelt(401)); + assertTrue(ba.enthaelt(301)); + assertTrue(ba.enthaelt(214)); + assertTrue(ba.enthaelt(30)); + } + + @Test + public void test099() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(98)); + assertEquals(169,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(896)); + assertFalse(ba.enthaelt(714)); + assertTrue(ba.enthaelt(308)); + assertTrue(ba.enthaelt(597)); + assertFalse(ba.enthaelt(354)); + assertFalse(ba.enthaelt(760)); + assertTrue(ba.enthaelt(610)); + assertFalse(ba.enthaelt(411)); + assertFalse(ba.enthaelt(259)); + assertFalse(ba.enthaelt(127)); + assertFalse(ba.enthaelt(541)); + assertFalse(ba.enthaelt(269)); + assertFalse(ba.enthaelt(379)); + assertTrue(ba.enthaelt(322)); + assertTrue(ba.enthaelt(670)); + assertTrue(ba.enthaelt(568)); + assertTrue(ba.enthaelt(156)); + assertTrue(ba.enthaelt(882)); + assertTrue(ba.enthaelt(952)); + assertTrue(ba.enthaelt(102)); + } + + @Test + public void test100() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(99)); + assertEquals(119,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(334)); + assertFalse(ba.enthaelt(0)); + assertFalse(ba.enthaelt(307)); + assertFalse(ba.enthaelt(572)); + assertFalse(ba.enthaelt(273)); + assertFalse(ba.enthaelt(644)); + assertFalse(ba.enthaelt(671)); + assertFalse(ba.enthaelt(976)); + assertFalse(ba.enthaelt(1007)); + assertFalse(ba.enthaelt(697)); + assertTrue(ba.enthaelt(968)); + assertTrue(ba.enthaelt(33)); + assertTrue(ba.enthaelt(411)); + assertTrue(ba.enthaelt(780)); + assertTrue(ba.enthaelt(387)); + assertTrue(ba.enthaelt(263)); + assertTrue(ba.enthaelt(396)); + assertTrue(ba.enthaelt(198)); + assertTrue(ba.enthaelt(6)); + assertTrue(ba.enthaelt(28)); + } +} diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/Baumalgorithmen.java b/Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/Baumalgorithmen.java new file mode 100644 index 0000000..896223e --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/Baumalgorithmen.java @@ -0,0 +1,130 @@ + +/** + * Führt verschiedene Algorithmen auf Binärbäumen aus + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class Baumalgorithmen +{ + /** + * Die Wurzel des Baums, mit dem der Algorithmus durchgeführt werden soll + */ + protected Binaerbaum wurzel; + + /** + * Erzeugt ein neues Algorithmen-Objekt + * @param wurzel Die Wurzel des Baums, der verarbeitet werden soll + */ + public Baumalgorithmen(Binaerbaum wurzel) + { + this.wurzel = wurzel; + } + + /** + * Zeigt den Baum auf der Konsole an. + */ + public void baumAnzeigen() + { + if (wurzel != null) + { + System.out.println(wurzel.daten); + baumAnzeigen(wurzel.links, "", true); + baumAnzeigen(wurzel.rechts, "", false); + } + } + + private void baumAnzeigen(Binaerbaum b, String indent, boolean left) + { + System.out.print(indent); + System.out.print(left ? "\u251C " : "\u2514 "); + if (b != null) + { + System.out.println(b.daten); + if (b.links != null || b.rechts != null) + { + indent += (left ? "\u2502 " : " "); + baumAnzeigen(b.links, indent, true); + baumAnzeigen(b.rechts, indent, false); + } + } + else + { + System.out.println(""); + } + } + + /** + * Gibt die Tiefe des Baums zurück + * @return Die Tiefe des Baums, gezählt ab der Wurzel + */ + public int tiefe() + { + return tiefe(wurzel); + } + + /** + * Gibt die Tiefe eines Baums zurück + * @param b Der Baum, dessen Tiefe bestimmt werden soll + * @return Die Tiefe des Baums, gezählt ab b + */ + private int tiefe(Binaerbaum b) + { + if (b == null) + { + return 0; + } + return 1 + Math.max(tiefe(b.links), tiefe(b.rechts)); + } + + /** + * Gibt die Anzahl der Knoten im Baums zurück + * @return Die Anzahl aller Knoten im Baum + */ + public int anzahl() + { + return anzahl(wurzel); + } + + /** + * Gibt die Anzahl der Knoten in einem Baums zurück + * @param b Der Baum, in dem die Knoten gezählt werden sollen + * @return Die Anzahl der Knoten, die sich von b an im Baum befinden (inklusive b) + */ + private int anzahl(Binaerbaum b) + { + if (b == null) + { + return 0; + } + return 1 + anzahl(b.links) + anzahl(b.rechts); + } + + /** + * Prüft, ob sich ein Wert im Baum befindet + * @param wert Der zu suchende Wert + * @return true, wenn ein Knoten den Wert enthält; false sonst + */ + public boolean enthaelt(T wert) + { + return enthaelt(wurzel, wert); + } + + /** + * Prüft, ob sich ein Wert in b oder darunter befindet + * @param b Der Baum, in dem der Wert gesucht werden soll + * @return true, wenn b oder einer seiner Kindknoten den Wert enthält; false sonst + */ + private boolean enthaelt(Binaerbaum b, T wert) + { + if (b == null) + { + return false; + } + if (b.daten.equals(wert)) + { + return true; + } + return enthaelt(b.links, wert) || enthaelt(b.rechts, wert); + } +} diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/Binaerbaum.java b/Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/Binaerbaum.java new file mode 100644 index 0000000..2f05bbc --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/Binaerbaum.java @@ -0,0 +1,63 @@ + +/** + * Ein Knoten eines Binärbaums + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class Binaerbaum +{ + /** + * Der Datenwert des Knotens + */ + public T daten; + + /** + * Der linke Kindbaum + */ + public Binaerbaum links; + + /** + * Der rechte Kindbaum + */ + public Binaerbaum rechts; + + /** + * Erzeugt einen Blattknoten mit leerem Datenwert + */ + public Binaerbaum() + { + this(null, null, null); + } + + /** + * Erzeugt einen Knoten mit Datenwert und Kindern + * @param daten Der Datenwert + * @param links Der linke Kindbaum + * @param rechts Der rechte Kindbaum + */ + public Binaerbaum(T daten, Binaerbaum links, Binaerbaum rechts) + { + this.daten = daten; + this.links = links; + this.rechts = rechts; + } + + /** + * Erzeugt einen Blattknoten mit Datenwert + * @param daten Der Datenwert + */ + public Binaerbaum(T daten) + { + this(daten, null, null); + } + + /** + * Gibt zurück, ob der Knoten ein Blatt ist + * @return true, wenn der Knoten ein Blatt ist; false sonst + */ + public boolean istBlatt() + { + return links == null && rechts == null; + } +} diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/README.TXT b/Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/README.TXT new file mode 100644 index 0000000000000000000000000000000000000000..ee5db68148783a073467d5ec8da02bd3dbb914d4 GIT binary patch literal 370 zcmZutK~BRk5bQax81)2F6;(avmKM{73O7m|D&^*oO=ICW$ZmJD)5s4XeP zzZ;NagS9f#*;dne^x_CYQ9}#F=3TZLqp6YF>C%kmv_M~hl);g#gEwxacHUVHE)1Sn zmL~^}z9x&iSQL*Dc>hLS> baeume; + + private static void readFile() + { + try + { + FileReader fileReader = new FileReader("testfaelle.txt"); + BufferedReader bufferedReader = new BufferedReader(fileReader); + baeume = new ArrayList>(); + String line = null; + while ((line = bufferedReader.readLine()) != null) { + AtomicInteger ai = new AtomicInteger(0); + Binaerbaum b = parse(line.toCharArray(), ai); + baeume.add(b); + } + bufferedReader.close(); + } + catch(Exception x) + { + System.out.println(x.getMessage()); + baeume = null; + } + } + + private static Binaerbaum parse(char[] c, AtomicInteger s) + { + int anfang = s.incrementAndGet(); + while(c[s.get()] != '(' && c[s.get()] != ')') + { + s.incrementAndGet(); + } + String tmp = new String(c, anfang, s.get()-anfang); + int value = Integer.parseInt(tmp); + Binaerbaum ergebnis = new Binaerbaum(value); + if (c[s.get()] == '(') + { + ergebnis.links = parse(c, s); + s.incrementAndGet(); + ergebnis.rechts = parse(c, s); + s.incrementAndGet(); + } + return ergebnis; + } + + /** + * Gibt einen der Testbäume aus der Datei zurück + * @param nummer Die Nummer des Baums + * @return Den gewünschten Baum, wenn die Nummer gültig ist; null sonst + */ + public static Binaerbaum getTestBaum(int nummer) + { + if (baeume == null) + readFile(); + if (nummer >= 0 && nummer < baeume.size()) + return baeume.get(nummer); + return null; + } +} diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/package.bluej b/Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/package.bluej new file mode 100644 index 0000000..4713e61 --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/package.bluej @@ -0,0 +1,65 @@ +#BlueJ package file +dependency1.from=BaumTester +dependency1.to=Baumalgorithmen +dependency1.type=UsesDependency +dependency2.from=BaumTester +dependency2.to=Testbaeume +dependency2.type=UsesDependency +dependency3.from=Testbaeume +dependency3.to=Binaerbaum +dependency3.type=UsesDependency +dependency4.from=Baumalgorithmen +dependency4.to=Binaerbaum +dependency4.type=UsesDependency +editor.fx.0.height=739 +editor.fx.0.width=816 +editor.fx.0.x=972 +editor.fx.0.y=111 +objectbench.height=93 +objectbench.width=760 +package.divider.horizontal=0.6 +package.divider.vertical=0.8 +package.editor.height=393 +package.editor.width=649 +package.editor.x=866 +package.editor.y=209 +package.frame.height=600 +package.frame.width=800 +package.numDependencies=4 +package.numTargets=4 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=Binaerbaum +target1.showInterface=false +target1.type=ClassTarget +target1.width=130 +target1.x=170 +target1.y=60 +target2.height=50 +target2.name=Baumalgorithmen +target2.showInterface=false +target2.type=ClassTarget +target2.width=160 +target2.x=300 +target2.y=130 +target3.height=50 +target3.name=BaumTester +target3.showInterface=false +target3.type=UnitTestTargetJunit4 +target3.width=100 +target3.x=460 +target3.y=210 +target4.height=50 +target4.name=Testbaeume +target4.showInterface=false +target4.type=ClassTarget +target4.width=100 +target4.x=79 +target4.y=264 diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/testfaelle.txt b/Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/testfaelle.txt new file mode 100644 index 0000000..7c0595c --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/02_baumalgorithmen_loes/testfaelle.txt @@ -0,0 +1,100 @@ +(366(518(665(284(101(853(360(314(190(465(386(162)(241))(459(197)(861)))(654(427(528)(255))(351(835)(533))))(445(394)(717(311)(530(253)(429)))))(756))(749(236(53(339(469(265)(695))(642(837)(192)))(860))(215))(618(340)(547(201(410)(811(37)(331)))(567)))))(130))(685(76(105(293(837)(262))(3(766)(875(161)(773(65(505)(939))(351(33)(379))))))(94))(301(90(820(166(63(931(73)(590))(936(439)(190)))(990(270(240)(807))(795)))(194(919(694)(244(430)(243)))(924)))(468(420(668)(282(73(966)(860))(270(400)(608))))(914(467)(402(915(547)(648))(96(715)(255))))))(259(870(672(733)(854(327(778)(811))(150)))(629(398(837)(333(203)(270)))(104(749(730)(534))(59(668)(940)))))(769(130)(366(408)(674)))))))(512(869(507(359(823(542)(799(713(910(693)(435))(319(663)(736)))(198)))(992))(682))(73(49)(872)))(715(628)(297))))(274(532(581(418(844)(325))(747(420(97(426(902)(991(682(440)(307))(361(493)(173))))(82(739)(645)))(493(837(182)(720(245)(817(498)(968))))(831(302)(939(429(907)(473))(914)))))(859(111(802(413(303)(291))(432(883(20)(891))(560(263)(932))))(874(85(679(130)(79))(2(761)(596)))(959(675(66)(894))(847(899)(364)))))(448))))(844(446)(690(377)(561))))(615(266)(757(612)(509(374)(641(998(367(40(223(598)(359))(129(700)(312)))(539(534(127)(583))(351(551)(108))))(276))(111(860(406(706(561)(854))(298))(680))(919))))))))(830(154(760(719(29)(9(395(471(575(625)(960(743(939)(344))(499)))(413(186(60(224)(691))(951(821)(906)))(320)))(640(555(914)(820))(910(657(725(105)(879))(896(538)(806)))(572(13(175)(254))(362(276)(664))))))(118(129(973(588)(843(20)(212(115)(2))))(300))(215(15(322)(317(144(646)(549))(411)))(50(274(452(129)(879))(454(473)(758)))(568(13(766)(542))(981(129)(211))))))))(170))(900(132(614(589(526)(550))(379(947(268(789(787(255)(889))(234))(258(112(9)(669))(593(871)(191))))(248))(451(474(35(112(436)(165))(930(550)(739)))(339(271)(745(56)(905))))(790(981)(562(33(737)(533))(648(530)(140)))))))(488))(136)))(123(832(708(637(395)(156))(360))(71(498(989(10(571)(964(248(460)(751(848)(925)))(626)))(758))(190(357(999(155)(944(210(223)(239))(687(125)(817))))(395))(593(170(119)(73(269(614)(685))(84)))(185(672)(587(80)(633))))))(198(495(107)(91(487(163(178)(628(935)(376)))(977(513)(648)))(925)))(546(595)(908(440)(557(74)(328(318(304)(292))(883(209)(198)))))))))(459(108)(358(450(817)(161))(233(503(321)(365(295)(392(811)(18(807(785)(268))(821)))))(757))))))) +(796(145(612(934(49(576)(126(436(825(199)(657))(983(245)(286)))(942(105)(545))))(42(514(577)(575(8(157)(275))(617(534)(266))))(714(783(935(907)(964))(88(376)(912)))(653(24(199)(221))(244(526)(50))))))(829(186(24(829(855(529)(692))(429(635)(202)))(932(306)(120)))(368(495)(41(566)(512(591)(478)))))(4(650(339(8(605)(714))(203(926)(92)))(480(778(367)(273))(414(4)(191))))(102(889(558(413)(379))(159(931)(866)))(514)))))(743(286(669)(277(800(656)(842))(576(680(913(429)(355))(445(51)(681)))(311))))(194)))(273(760(978(506)(240(273(592(409(521)(731))(937(463)(941)))(284))(839(932)(502(996(396)(90))(444)))))(56(620(37(872)(131(377(950)(185))(416)))(170(22(834(726)(208))(247(839)(205)))(597(103(154)(349))(810))))(109)))(886(39)(9(499(597(217)(763(530(174)(699))(257(904)(185))))(54(556(310(258)(475))(382(66)(187)))(995(958)(993(604)(14)))))(502(827)(808(131)(428(580(983)(342))(388)))))))) +(683(388(163(757)(113(798(174)(612(46(595)(66))(674(828)(41))))(837(948)(258(646(887)(334))(441(959)(15))))))(744(332(589)(551(671(661)(186(43)(947)))(681(301(229)(228))(419(887)(865)))))(207)))(954(649(258(654(185(288)(577(9)(344)))(661))(251))(435(410(565(15(469)(812))(665))(33))(917)))(770(69(985(916)(629(968)(719)))(656(628(39(481)(590))(210(705)(518)))(785(914)(995(221)(913)))))(861(435(98(150(51)(562))(343(706)(189)))(607))(219(404(741(216)(249))(423(258)(347)))(904(417(770)(210))(691(104)(997)))))))) +(163(852(819(592(619(567(235(402)(879(960)(406(195)(948))))(669(976(604(382)(740))(284))(611(837)(69(328)(239)))))(271))(870(664(295)(145(255)(36)))(876(194)(712(318(31)(915))(351)))))(475(45)(991)))(335(743(755)(441))(814(763(950(321(350)(387(947(374)(845))(38)))(849(23(344)(652(250)(120)))(988(691(304)(951))(110))))(705(909(916(751)(189))(747(450(764)(834))(394(517)(35))))(585(864)(9(673(898)(179))(76(160)(447))))))(731(392(446)(381))(540(656(864(0)(367(693)(629)))(305(0(125)(838))(535(938)(768))))(178(488(744(415)(328))(595))(422(371(6)(235))(884(7)(398)))))))))(946(361(346)(711(14(616(523(666(232(648)(755))(728))(870(901(690)(411))(864(527)(334))))(349(958)(27(805(192)(926))(986))))(311))(105(73(250)(466))(829(43(210(547(955)(206))(842(637)(520)))(690(984(704)(385))(715)))(277)))))(192(118)(909(177)(488(363(453(752(711(252)(343))(616(279)(315)))(62(250(718)(464))(853)))(280))(86(183(905)(319))(545(502(153(524)(28))(234(654)(538)))(207(202(196)(925))(751(611)(540)))))))))) +(428(369(333(668(626(728(715(766(113)(716))(358(119)(581)))(792(313(214)(593))(205)))(32(858(988(487)(810))(621(586)(659)))(252(958(882)(514))(464(532)(840)))))(290(185(646(134(972)(477))(24(20)(865)))(399))(639(98(814)(127))(285))))(598(719)(631(631(694(304(356)(372))(964))(295(295(351)(625))(950(934)(653))))(471))))(956(283)(918(849(594(297(774(27)(354))(217(657)(825)))(77(634(185)(308))(111(4)(151))))(944(344)(375(186(396)(331))(177(727)(9)))))(133))))(99(272(200(740(632)(544(484)(958(464(67)(779))(948(915)(280)))))(477(421(114)(232))(67(277)(374))))(481))(441(952)(513(805(383)(271(610(991(943)(145))(439))(614(404(885)(884))(854))))(55))))) +(954(577(3(685(175(779)(365))(287(144)(836(706(119(312)(761))(557(73)(706)))(131(270(116)(381))(780)))))(216))(325(688(803(795(820)(525(572(4)(406))(757(601)(139))))(398))(528(589(176)(624(174(924)(770))(665)))(175(131)(373(254(835)(548))(110)))))(695(329(432)(136(60(100(202)(814))(507(520)(797)))(760(51)(834(867)(706)))))(568))))(734(449(453(865(372(14(423(909)(290))(489(357)(387)))(769))(131(165(83(3)(125))(62(892)(339)))(984(948(401)(423))(211(174)(525)))))(881))(491(850(4)(984(661)(297(312(741)(482))(326))))(141(768(319)(362(514)(961(78)(74))))(429(163(214(626)(417))(955(995)(411)))(774(262(570)(615))(701(753)(589)))))))(429(438(800(925)(168(983(992(905)(385))(362))(985)))(787))(675(764)(437(426(113)(38(884(13)(940))(752(625)(850))))(754(404)(45(677)(371)))))))) +(606(112(79(954)(960(122(347)(738(153(282(599)(182(702)(486)))(625(947(281)(667))(908(737)(30))))(547(894(892(645)(443))(909(3)(250)))(382(510(87)(553))(527(891)(916))))))(513(122(687(590(644)(378(496)(371)))(384(990(33)(526))(245(28)(810))))(466))(867))))(368(44(945)(632))(609(491(319(623(672)(43(292(275)(338))(40(268)(814))))(227))(936))(438))))(230(982(227)(924))(472(274(834(642)(916(266)(910)))(39))(379(505(863(557(492(353(564)(821))(33))(903(916(976)(447))(866)))(181(461(472)(769))(471)))(831(557(779)(836))(791(595(552)(443))(424))))(409(157(449(833(371(734)(276))(253(14)(773)))(981(853(792)(647))(0)))(999(660(110)(106(904)(231)))(178(126(941)(259))(369))))(69(263(565(454(473)(83))(828(438)(494)))(249(889(822)(405))(732(470)(264))))(453(200(341)(829(952)(810)))(381(78)(822(640)(995)))))))))) +(911(409(461(415)(644(343(732(308)(141))(219))(897(809(70)(642(978(138(879(224)(511(639)(526)))(744(799(189)(993))(976(946)(792))))(723(388)(125(744)(850))))(427(56(117(402)(708(547)(664)))(179(572(615)(248))(13(590)(296))))(645(413(742(584)(789))(208(771)(254)))(601(84(191)(813))(955(871)(166)))))))(313))))(599(187)(279)))(988(300(428(234(90(964(998)(707))(383(586(754(413(130)(204))(204))(439(53)(481(369(761)(90))(790(7)(27)))))(797(651(371)(490(543(735)(681))(298)))(982))))(848(301)(195)))(320))(178(776(474(407(794)(926(766(991(543(883)(3))(452(725)(134)))(14(79)(254(189)(389))))(479(847(752(427)(229))(131(866)(13)))(56))))(159(760(980(696)(107(54)(624(247)(944))))(6(637)(641)))(699)))(993(188(93(854(51)(217(980(791)(542))(501)))(143(398(439(871)(102))(615(983)(268)))(651(17)(754))))(784(781(482(163)(568(233)(416)))(392(982(892)(797))(377(648)(516))))(920(691(654(685)(75))(539))(134(47)(334(398)(829))))))(829(174(509(692(882)(18(581)(772)))(68))(699(836(792)(243))(558(831)(935(435)(193)))))(712))))(42(677(447(116(976(326)(840(354)(300(677)(729))))(736(383(184(317)(823))(408(89)(806)))(175(556)(922))))(875(196(931)(848(286(175)(274))(428(625)(905))))(103(661(574(713)(900))(394(562)(583)))(915))))(84(940(153)(482))(561(775(890(539(164)(416))(290(763)(984)))(5))(888))))(270(52(788(412(179)(201(388)(480(585)(231))))(259(463)(542(918)(412(453)(615)))))(313))(139)))))(389(964(60(636)(456(688(33)(293(946)(310(872(915(749)(657))(544(40)(984)))(851(557(258)(322))(271(63)(619))))))(632(64(959(615(501)(760(716)(853)))(666(360(427)(5))(566(120)(108))))(234(7(834)(320(781)(838)))(169(144(798)(625))(129(969)(647)))))(154))))(378(99)(287(198(565(105(960(865(851)(354))(342))(638(742(229)(493))(731)))(165(331(317(449)(192))(838))(421(585(669)(552))(233(938)(966)))))(630))(937))))(984(785(202)(192(319(370(663)(14))(438(704(702)(299(991(474)(591))(792(27)(188))))(596)))(803)))(811))))) +(789(549(347(66)(232(216)(334(182)(771(733)(213)))))(807(391(900(181)(983(290(105)(717(802)(875(18)(266(832)(179)))))(944(487(168(221(36)(79))(513(531)(955)))(532))(397(834(826(216)(937))(761))(667(441(870)(464))(67(457)(623)))))))(403(134)(698)))(592(222(425(952)(111))(483(626(25(202)(359(735(95)(950))(428(898)(334))))(495))(239)))(21(768)(224(122(958(980(480(333)(265))(191(7)(974)))(197))(643))(900(552(454(628(925)(864))(422(345)(883)))(459))(639)))))))(215(987(991)(473))(699(657(369(69(666(555(907(220(94)(769))(765(878)(666)))(866(516(874)(942))(955(75)(348))))(117(621(193(670)(94))(343(388)(950)))(269(272(667)(787))(87(684)(161)))))(997(613)(658(853)(680(801(479)(117))(381(100)(866))))))(298))(29(993)(268(135(115(994(554)(787))(709))(56))(889))))(582(343)(698))))) +(78(894(236(464)(309(794(437(372)(581))(604(967(426(157)(869))(411(808)(462)))(361(500(698)(610))(711(184)(755)))))(623(224(102)(360(572(35)(492))(698)))(781(916(150(750)(434))(296))(33(562)(293(286)(7)))))))(334(974(756)(757(272)(867(866(772)(881(776)(845)))(470(147)(950(939)(295))))))(52(64(783(689)(848(710)(702(315)(234))))(659))(553(261(355(730)(375(945)(477)))(391(974(579)(747))(257(662)(578))))(472)))))(781(562(312(370(643(904(223)(218(273)(576)))(933(151(110)(185))(418(680)(805))))(213(766(980)(479(976)(952)))(860)))(303(383(994)(744))(117)))(477))(88(709(182)(224(431)(514)))(205(445(684(593(864)(920(184)(590)))(714(664(890)(466))(70)))(578))(161(686)(43)))))) +(625(138(24(127)(87(799(704(45(53(762(592)(632(920)(338)))(26(134(8)(482))(441)))(133))(520(326(508(762(997)(197))(209(870)(273)))(890(275(700)(789))(9)))(712(325)(968(46(210)(645))(815(185)(127))))))(711(121(742)(591(675(143(800)(138))(633))(558(157)(651))))(758(642(309(430)(276(967)(339)))(425))(295(230)(158(642(98)(146))(353))))))(917)))(792(49(249(953(481(183(753(150)(154(551)(29)))(448(589(229)(760))(83(749)(860))))(131))(91(797(135(888(470)(964))(922(762)(823)))(971))(964)))(223(152)(352(83(590(300)(861))(933(331(640)(817))(502(56)(884))))(825))))(955(767(435(343(249(170(20)(367))(27(428)(907)))(913))(87(929)(328)))(74(116(441(3(877)(146))(835(74)(135)))(829(932(263)(64))(944)))(639(794)(613(27)(815(728)(666))))))(361(184(365)(996(632(20)(69(13)(949)))(922(489(471)(348))(866(337)(627)))))(425(180(438(219)(566))(414(66(811)(674))(397)))(894(551(529(603)(462))(821(710)(544)))(900(698)(43(356)(687))))))))(321(377(200(215)(144))(784(301)(350(349)(100(725(438(366)(154))(839))(866(197(390)(902))(564))))))(729(883(737)(490(409)(118)))(366(420)(444(311(936(629(348)(205))(256(52)(904)))(461(616(47)(111))(471)))(347)))))))(460(721(848(335)(198(972(362)(934))(484(157)(656))))(431(351)(808)))(211(597(996(486(888)(429(937(139)(372(951)(951)))(500(525(954(527)(733))(888(383)(247)))(849(662)(900(941)(344))))))(903))(664))(681(250(557(681(886(694)(57(99)(660(972)(981))))(755(453(786(263)(257))(666))(818)))(62))(36(690)(721)))(27(598(478)(739))(62(968(284(954(699(592)(703))(654(816)(279)))(791))(238))(909))))))) +(406(829(52(802(122(453)(306(227)(255(601(917(640(648)(92))(878))(878))(163(343)(710)))))(830(642(812(899(875(418)(308(739)(436)))(3(186(176)(964))(937)))(829))(893(199(62)(92(388(999)(153))(114(282)(164))))(664)))(186(897(306(926)(268(369(203)(793))(454(691)(749))))(986(702(875)(414(738)(868)))(112(427(61)(334))(587))))(480(534(307(401(489)(415))(641))(37))(743(148(491)(646(38)(947)))(267(889(91)(82))(421)))))))(316))(219(235(770(183)(525(870)(447)))(134(190(796)(215))(887)))(149)))(129(934(774(646(189(430)(181(746)(163)))(750(966(411(761)(48))(151(678(459)(898(200)(87)))(122(144(821)(563))(197))))(663(710)(455(990(778(924)(343))(141(528)(67)))(810(76(888)(887))(776(111)(724)))))))(236(294(494(515(366(793(506)(851))(977(319)(577)))(394))(542))(477(15(133(492(969)(554))(313))(543(367(969)(279))(719(658)(617))))(621(0(49)(845(422)(441)))(153))))(33(115(859(18)(642(274)(48(538)(237))))(628(598)(158(745(461)(599))(696))))(650))))(876(406(931(501(274)(32(370(850(399)(724))(431(810)(376)))(441(103(918)(580))(627(259)(688)))))(444(74(643)(577(2)(799)))(572(71)(27))))(971))(856(83(110)(838(69(804)(94))(897)))(582(322(364(665)(671))(849))(364(840(485(840(185)(242))(801))(231(965(857)(670))(475(888)(381))))(961(822(762(764)(838))(519(723)(402)))(634(434(39)(742))(43(84)(110)))))))))(289(571(177(274)(823))(984(118(921)(884(408(38)(685(48(172)(393))(571(64)(434))))(47(310)(237))))(484(693(207(487(582(867)(93))(855))(56))(755))(934(665(364(600)(852(620)(625)))(393(203(734)(525))(935(470)(656))))(872)))))(899)))) +(219(539(56(513(197(904(65)(576))(252(473)(757(720(869)(574))(908))))(69))(901(115(307(671(429)(897(919)(326)))(91(452(891)(898))(993(179)(950))))(835(925(586)(838(88)(934)))(419(965)(643(70)(83)))))(247(658(866)(281(36(257)(978))(865(753)(27))))(990(262(853)(17(294)(917)))(651(866(365)(998))(419(249)(595)))))))(237(822)(470(394(606)(886(579(243(296)(255))(579))(956)))(953))))(344(508(343(515)(792(283(647(124)(611))(81(548(85)(194))(837(938)(785))))(477(265)(185(499(232)(585))(459(419)(215))))))(156(242)(966)))(117(513(107(798(603(207(759)(129))(120(650)(279)))(85(402)(907)))(911(45(208(960)(14))(732(891)(220)))(927)))(798(240(980(325)(434(223)(205)))(227(813(595)(354))(983(498)(782))))(226(51)(437(873)(255(959)(310))))))(469(545)(172(618(273)(466(808)(205(328)(755))))(835(124(286)(419))(243(742(831)(801))(417(10)(860))))))))) +(869(433(663(632(826(438)(568(22(292(183)(384))(135))(717)))(10))(618(60(291(623)(46(243(208)(665))(298)))(27(25)(563)))(493)))(956(20)(384(720(804(50)(802(214(817)(561))(865(895)(517))))(399(971(715)(872(417)(2)))(902)))(484(11(86)(130))(768(583(95(377)(465))(590))(357(943)(463)))))))(907(32(120(412(227)(138(893)(15(728(436)(300))(940(140)(668)))))(718(401)(777(106(120(940)(508))(912(753)(223)))(698(936(150)(742))(297(993)(701))))))(448(41)(357)))(742(246)(657(697(510(239(289(879)(456))(474))(631(971(970)(958))(733)))(541(449)(736(328(283)(394))(482(293)(788)))))(611(630(206)(713(999)(695(948)(401))))(723(827(919(584)(541))(286(985)(797)))(179))))))) +(784(843(954(100(546(420(21(286)(257))(488(49)(207)))(194))(523(869)(748(106(373)(657))(781))))(599))(948(961(332(105(159(884)(174))(985(759)(407)))(857(329(678)(33))(161(410)(716))))(972))(145(79(73(60)(945))(155(255)(123(518)(103))))(459))))(888(601(356(219)(59))(110(563)(102)))(983(826(727(979(862(776)(148))(807(663)(469)))(447))(926(152(613)(31))(255)))(842(662(965(401)(20(973)(888)))(667(149(774)(844))(519(332)(99))))(142(92(142(860)(526))(657(458)(557)))(128(591)(364(687)(943)))))))) +(216(85(100(562(557(730(989(657)(342))(704(985)(723)))(772(636)(203)))(655))(237(644)(917(839(676)(52(229)(412)))(486(567(128)(484))(757(531)(84))))))(16(169(545)(259))(813(970(894(29(238)(971))(313(426)(855)))(721(335)(586(609)(687))))(213(591(744(856)(18))(489))(708(355(551)(826))(210(515)(890)))))))(231(291(199(970(121(882(800)(652))(719))(953))(590(152)(229(928(200)(677))(776(211)(384)))))(902(775)(200(425)(199(543(117)(197))(762(390)(639))))))(410(953)(190(230)(310(141(534(283)(702))(760(647)(359)))(872)))))) +(285(23(900(846(994(378)(147(430(630(890)(890))(644(855)(887)))(902(522)(846(194)(193)))))(335))(812))(851(466(612(869)(534(750(115)(22))(418)))(53(54(783(862(696)(398))(103(386)(73)))(236(776(164)(213))(293(474)(774))))(828(105)(366(357(920)(322))(732(229)(80))))))(650)))(441(287(729(153(398(761)(597(565(741)(729))(136(526)(316))))(807))(516(461)(85)))(429(561)(767(641(520)(204(833)(100)))(107(370(110)(186(872)(220)))(785(122)(422(751)(293)))))))(358(806)(312)))) +(942(681(997(799)(615(618(595(78(677)(753(948(851)(552(885)(209(355)(502))))(315)))(440(85)(111)))(223(899(616(97)(174(260)(811)))(128(311(789)(974(474(519)(80))(870(596)(899))))(697)))(503(739(263(163)(586(762)(470(342)(207))))(355(282(786(693)(933))(90(160)(36)))(234)))(275(774)(444(83(431(381)(543))(458(42)(969)))(146(2)(995)))))))(244(66)(878(398(216)(273))(300(248(743)(64(549(148)(625))(304(699(801)(993))(1(734)(863)))))(509(676(316)(622(136(828)(140))(910)))(149(551(966)(693(794)(235)))(146))))))))(505(931(116(59(337(69(232(190)(936(702(146)(584))(297)))(84))(705))(346))(990))(86(7(999(637(255)(531(966(39(657)(309))(475(946)(290)))(921(137)(207(365)(190)))))(606(510)(494)))(736))(290(231(957)(441))(973))))(947(28)(438(605(487)(720(510(521(32)(73))(452))(333(810(343)(149(90(700)(275))(846(129)(279))))(102(332(717(180)(289))(598))(90)))))(731(825(815)(958))(952(566(37)(250(464(824(982)(941))(906(821)(258)))(421(2)(426(804)(763)))))(567)))))))(860(328(737)(572(891(418(869(988)(777(759(442(243)(618(777)(555)))(743))(436)))(380(200(38)(859(681(763(339)(232))(150(19)(79)))(655(623(270)(906))(988(478)(208)))))(279(50)(725))))(922(78(713(205)(769(378)(523)))(174))(533(780(251(614)(11))(152))(817(270(639)(996(773(671)(201))(648(582)(764))))(203(902)(367(313(692)(707))(767(24)(277))))))))(271(954(460)(166))(536(496(30)(68))(795(97(212(209(114(66)(378))(592(258)(304)))(344))(651(220(176(202)(27))(132(295)(14)))(995(534(284)(640))(474))))(533(471(473(860(422)(549))(357(675)(914)))(834))(515)))))))(103(569)(42)))) +(911(832(222(261(538(20(900(227)(332))(215(547(586(585(955(900)(107))(194(855)(294)))(885))(253(966(330(142)(130))(822))(246(272(242)(618))(61))))(490)))(679(725(978)(817(118)(444)))(12(290)(448))))(38))(803))(502(222(238(520)(628))(747(496(195(669(3)(656(593(846(559)(521))(142(755)(276)))(647(714(281)(761))(401))))(989(349)(381(673)(213))))(458))(308(913)(224(940(425(347)(668(638)(917(27)(243))))(68))(358)))))(797(989(85(372(278)(645))(737(917)(640(428(980)(338(551(172)(20))(609(642)(452))))(637(113(864(299)(366))(796(935)(336)))(944)))))(607(451(525)(739(110)(489(994)(44(563)(821(983)(719))))))(606(855)(804(245(335(886(154)(154))(383))(592(308(590)(837))(231(719)(358))))(749(0(686(862)(307))(921))(402(574(110)(375))(270(102)(888))))))))(803(753(47(746)(936(620(568(701(659)(466))(98))(644(807(375)(8))(309(666)(577))))(23(263)(80))))(67(990(934(731(736(657)(98))(325(260)(8)))(679(355(718)(823))(285)))(207(625)(666(568)(913))))(329(128)(890(266)(642)))))(169(717)(534))))))(61(105(610)(577(26(410(364)(261(866(803)(429(571)(658(906(117)(752))(880))))(262(376)(836(283(189(576)(492))(331(419)(421)))(129(92(256)(684))(337))))))(332(741(627(73)(612(411(275(485)(603))(808))(63(645(972)(263))(737(613)(297)))))(867(21)(903(9(32)(965(496)(197)))(805(60(350)(584))(858(799)(314))))))(940(411(174(807(33)(854(224)(429)))(999(431(853)(91))(429(533)(958))))(161(810(672(896)(158))(592))(290)))(790))))(276(96)(983))))(548(431)(877(810)(437(939(732)(420))(208)))))) +(322(40(406(697)(653(334(763(814(289)(135))(293))(102))(58(294(533(727)(347))(712(881)(953)))(257))))(161(385(597(437)(342(580)(748(296)(560))))(165(522(366(863)(552))(77))(423)))(485(11)(515(970(778)(931(923)(111)))(257(524)(176))))))(480(14(765(513(988(88(236)(387))(349))(810))(570(515(962(395)(197))(888(642)(66)))(718(438(816)(561))(738(884)(490)))))(687(687(230(953(84)(526))(925))(520))(918(543(19(850)(226))(222(388)(723)))(294))))(440(758(576(807(696(75)(573))(791))(187(888(598)(934))(166(545)(284))))(528))(144(666)(895(586)(669(853(875)(600))(495))))))) +(367(144(971(360(303)(884(12(481(748)(36(196(29)(545(549)(407)))(850(529)(425(628)(291)))))(449(386(428)(545(75(267)(378))(924(207)(683))))(994(865(72)(701(333)(46)))(520(229(399)(545))(633(893)(317))))))(367(808)(317(742(273(711(569)(733))(529))(54(164(505)(707))(206(745)(449))))(159)))))(250(722(335(395)(251(297(544(918)(929))(787(405)(648(520)(132))))(834)))(774(534(549(96(738(766)(586))(825))(768(160(984)(680))(931(793)(235))))(506))(94(802(446(93(799)(359))(891(916)(806)))(597(257(188)(940))(951(613)(750))))(687(878(384)(705(235)(812)))(312(195(379)(196))(131))))))(189(829(353(126(193)(852))(625(675)(160(584(174)(616))(612(752)(848)))))(252))(103(288(752(108(38(630)(212))(539(382)(751)))(99(936(569)(271))(262)))(185(844(118(411)(700))(217))(247(734)(6(253)(650)))))(821(829(197(370(390)(887))(386))(480(249(149)(77))(127(213)(385))))(449(370(217(892)(452))(368(65)(677)))(2(865(809)(643))(439))))))))(353(478(506(614(438(646(142(675)(959(422)(194)))(482(353(795)(660))(486(842)(622))))(400(793)(192(393)(689))))(961))(797))(175))(727)))(552(379(762)(386))(184(283(759(522(854(431(7(951(815)(410))(190))(464))(456(527(810(467)(354))(421))(619(423(947)(361))(130))))(753))(771))(144(753(15(322(754(487(589)(211))(961(34)(340)))(567(840)(712(315)(793))))(487))(730))(485(641)(83(407(730(407)(491(642)(473)))(590(125(688)(787))(347(567)(833))))(850)))))(953)))) +(320(876(21(68(322)(964(724(72(115(177)(985))(721(460)(126)))(726(73(505)(83))(32)))(48(713(749(403)(703))(313))(71(180(385)(210))(736(4)(588))))))(435(182(803(311(715(456)(552))(364(142)(273)))(600(261(195)(824))(883(275)(975))))(644(790(410(88)(651))(414))(161(897(315)(899))(646(967)(442)))))(148(559(21(168(932)(659))(889(124)(505)))(168(682(19)(613))(182)))(381(365(692(449)(764))(225(545)(204)))(979(960(380)(449))(360))))))(815(693(658)(793(649(390(14(260)(685))(370))(624))(22(8(492)(429))(715(451(556)(724))(800(294)(455))))))(377(674(221(524)(207))(329(678)(164(928(822)(934))(222(929)(590)))))(354))))(750(338(806)(482(518(943(337)(843(203(804)(965))(294(964)(156))))(791(495)(373(375(460)(228))(334(681)(163)))))(537(233(931)(501(291(249)(436))(802)))(872(649(358(954)(219))(364))(588(301)(310))))))(831(217(471(825(24(856)(286))(613(21)(450(773)(453))))(382))(100))(343(666(6(93(550)(867(622)(999)))(962(267)(454(878)(698))))(549(816(302)(317(619)(115)))(746)))(692(173(897)(632(367(662)(622))(552)))(18(211(301)(436(995)(804)))(281))))))) +(592(880(594(847(551(266)(120(574)(864(677(801)(662))(577(897)(84)))))(724))(738(983)(106(779(592)(784(141)(716(841)(504))))(848))))(434(752)(265(34(352(413(877(529)(879))(163(658)(71)))(138))(969(278(382)(300(671)(602)))(410(181(198)(767))(847))))(580(888)(2)))))(240(977(609(257(46)(855(254(59)(39))(877(646(604)(919))(839(913)(533)))))(496))(84))(786(667(55)(749(47(250)(891))(260(994(277(862)(138))(439(816)(938)))(544(481(140)(950))(374)))))(864(693(988)(676))(334(79)(959(217)(877(190(178)(276))(869(704)(124))))))))) +(294(453(659(644)(625(75(687(802(311(562(830(80)(262))(805(512)(649)))(156))(43))(122(675(428(119(24)(667))(519(704)(777)))(430(185)(56(839)(684))))(814(223(931(634)(490))(987))(719))))(220))(504)))(863(446(366)(319(140)(453)))(1(922(226(744)(260(496)(288(269(639(248)(496))(940(820)(82)))(708(501)(331(341)(558))))))(698(967(864)(386(759(225(868)(953))(381))(727)))(822)))(604(182(667)(411(35(474)(138(205(64)(783))(495)))(995(300(103)(691(101)(524)))(451))))(644(125)(760(429(615(42(754)(595))(571))(526))(486(439)(700))))))))(912(761(407)(337(999)(896(206)(656))))(151(675(400(119(784(634)(800(673)(675(541(889)(282))(883(206)(884)))))(796(372(384(424(622)(397))(279(314)(36)))(24(474)(961(942)(409))))(343(683(17)(931(75)(284)))(328(29(525)(133))(5(236)(222))))))(882(697(466(727)(844(932)(555(87)(430))))(155(424(551(219)(924))(460(117)(245)))(321)))(35(665(249(6(482)(24))(454))(319(690(802)(430))(946(78)(338))))(67(597(787(162)(675))(653))(678)))))(784))(607(636(561)(505(630)(805)))(743(256)(87)))))) +(346(966(18(883(832(888)(759(549(782(505)(828))(571(341)(645)))(886(375(950)(506))(335(875)(949)))))(22))(357(44)(553(510(856)(488))(587(830(736(408)(864))(114))(864(354(635)(747))(667(774)(211)))))))(725(969)(166(970)(702(747(226)(340(830(371)(296))(496)))(139(765(688)(910(574)(298)))(739(830(817)(798))(809(359)(500))))))))(125(428(389(987(169)(738(678(422(414)(999))(941(852)(303)))(108(942(281)(277))(773))))(401(999)(559)))(655))(73(471(450(836)(18(253(124)(399(105)(736)))(532(510(243)(699))(575(444)(66)))))(834(784(2(345)(22(469)(6)))(752))(258(692(398)(311))(507))))(952)))) +(667(914(684(859)(730(220)(948)))(910(271)(191(644)(433))))(519(915(45(762(253)(94(314)(576)))(652(233)(73(916(511(682)(135(648)(428)))(598))(744(555)(28(516)(19(69(838(575)(40))(792(657)(600)))(210)))))))(998(729(308(520(698)(442(905(398(117(361)(809))(161))(119))(975(273(576)(919))(432(65)(95(264)(770))))))(560))(717(337)(761(491)(366(96(662(754(619)(579))(144))(679(597(724)(594))(876(522)(288))))(436(688(711(115)(861))(134(708)(170)))(533(546)(821(870)(672))))))))(745(109)(633(895(860(614)(735(256(112)(764))(796(237(390)(368))(917(834)(250)))))(184))(844(887)(346(789)(717(854(173(45)(943))(150))(941))))))))(791(669(799(419(874)(732(362)(225)))(981))(185(844(185(474(192(741)(722))(650(981(130(196)(307))(377))(774)))(33(848)(507(532)(33(328(407)(276))(153)))))(809))(189(393)(528(180(328(571(791)(36(154)(896)))(212(632)(153)))(167))(594(184(440(766(727)(683))(508(810)(675)))(966(537(188)(977))(888(65)(80))))(60(618(105)(290(312)(996)))(441)))))))(35(516)(883(805(920(240(382(684)(762(87(743)(5))(936(19)(190))))(697(321(41)(929(905)(934)))(776(919(957)(276))(267(900)(350)))))(136(431(822(272)(708(426)(653)))(592(743(778)(378))(758(689)(302))))(125(816(308)(332(18)(515)))(263))))(775))(501)))))) +(261(541(634(380)(941(594(171(633)(277(387(550)(52))(443(391)(261))))(510(608)(269)))(349)))(835(610(279(127(977(650(378)(442))(75(496)(891)))(298(95)(268(78)(687))))(403(883(529(346)(934))(497(487)(782)))(119(67)(868))))(890(783(160(620)(450(284)(239)))(16(636(194)(139))(207(535)(599))))(699(188)(901(570(774)(770))(554(144)(555))))))(457)))(701(605(235)(856(681(935(763(941(904)(584))(909))(68(409(832)(111))(823(860)(779))))(516))(83(370(831(471(906)(294))(788(673)(824)))(662(772(59)(624))(825(641)(135))))(762(131(644(280)(83))(603(328)(626)))(153(719(667)(451))(770(422)(245)))))))(984(912)(367(540(428(262(926)(65(505)(442)))(955(833(52)(62))(88(720)(865))))(718(442(65(310)(255))(418))(765(179(745)(43))(329(2)(667)))))(118(780(145(38(577)(460))(476))(281(606(957)(833))(984(262)(581))))(492(40(797(343)(98))(146(513)(642)))(577(730(740)(205))(725(997)(546))))))))) +(410(55(51(490(832)(240(429(150)(916(745(204(691)(932))(548(499)(124)))(155)))(90(638(720)(837(827)(600(792)(321))))(603))))(362))(540(88)(459(935(926)(791(128(868(480(402)(255))(51))(478(753(309)(195))(109)))(423(976(621(769)(842))(94))(875(230(42)(772))(483(706)(492))))))(48))))(634(200(825(804(990(978(896)(979(258)(380(380)(498))))(485(54(314)(410))(470)))(686(381(689)(608(937)(192(134)(591))))(952(363(936(169)(486))(771(251)(16)))(122(849(49)(931))(892(996)(97))))))(749(55(497(839)(774(27(648)(343))(46(53)(730))))(711))(569)))(20(358(833(164(857(612(578)(598))(523(440)(769)))(363))(398(111(719(394)(271))(703(912)(463)))(518)))(215(108(467(567(744)(829))(727(77)(723)))(788(57(741)(186))(226(774)(484))))(946(361)(966(29)(29(589)(534))))))(586(238(482(422(894)(261))(315(435(155)(578))(221(864)(622))))(429(398)(255(468(36)(989))(988(560)(926)))))(534))))(729(258(693(145(707(319(674(921)(194))(944(407)(268)))(837(131)(243(616)(881))))(107(899)(348(596(356)(108))(81(131)(66)))))(683))(996))(111(846)(582))))) +(99(760(785(571(577)(217(137(82)(937(453(48(930(388)(227(302)(687)))(848(99(689)(298))(253(856)(179))))(573(644)(695(244)(892))))(838(618(932(807)(896))(107(379)(228)))(367(692)(359(954(973)(794))(890))))))(329(159(633)(654(342(832(930(670)(194))(743))(641(418)(787)))(170(866(94(307)(173))(924(592)(277)))(82(22(460)(239))(333(965)(726))))))(921(995(895(836(212(176)(801))(637))(206(427(476)(738))(330(984)(470))))(647(837(313(892)(182))(524(176)(613)))(265(258(549)(482))(962(846)(519)))))(145(241(290(130(857)(538))(871(325)(7)))(680(140(205)(38))(97(381)(898))))(460(352)(601)))))))(277(857)(137(476(325(243(156(228(916(764)(602))(968(393)(220)))(805))(362))(875(947)(272(350(984(815)(762))(971(593)(691)))(272))))(799(595)(839)))(422))))(665(894(461)(544(880(888(719)(631(215)(829(714(488(129)(941))(628(169)(722)))(830))))(601(934(958(479)(614))(570(988(223)(503(104)(479)))(522)))(575(580(324(873)(158(81)(855)))(549))(701(113(767(545)(454))(164(282)(49)))(807)))))(238)))(91)))(115(46(641)(825(196(418(307(173(550)(152))(400(48(954(18)(965(485)(576)))(271(355(334)(549))(177)))(335(435)(472(94(932)(155))(215(523)(230))))))(473))(885))(635(365(341(835)(774(707(499)(144(757(691)(704))(534(106)(815))))(912(59(101)(301))(636(144(882)(103))(385(10)(687))))))(868))(516(395(321(472(104)(716(639(4)(497))(993)))(838(114)(131(217(588)(944))(780(889)(449)))))(471(927(76(505(729)(58))(929))(749(748(566)(729))(647(758)(285))))(300)))(733)))))(877(978(308(818(493(884(803(97)(62(395)(940)))(312))(461(526(77(520(48)(590))(906))(456(365(901)(264))(65)))(968)))(273(659(782(281(152(65)(953))(944(772)(75)))(976(55(925)(508))(526)))(827(134(673(309)(518))(696(629)(905)))(251)))(307)))(263))(471(447)(5(97(308)(729))(282))))(966(890)(86(977)(32)))))) +(252(556(259(58)(553))(252(553)(232(286(10(126)(654))(949(515(557)(242))(697(346)(638))))(430(704(806(516)(222))(70))(910(287)(865(848)(419)))))))(687(3(95(405)(888))(14(14(223(573)(551(689)(5)))(542(702)(22(211)(237))))(723)))(262(266(274(700(62)(493(640)(496)))(528(397(40)(245))(954)))(87(474)(427(813(916)(650))(916(841)(575)))))(750)))) +(734(442(130(617(578(626)(752(449(907)(888))(610(118)(316))))(538(231(597)(897(537)(299)))(731(776)(41(672)(511)))))(13))(398(303(972(266)(556(660(351)(638))(458)))(767(887)(353(133(152)(801))(997(856)(957)))))(6(427)(351(902(788)(27(105)(580)))(908(953(689)(465))(312))))))(517(963(20(792(287(566(423)(378))(73(727)(642)))(98(685(171)(69))(923(661)(989))))(436(355)(272)))(744))(91(667(164)(665))(473(70(610(431(127)(902))(84(177)(801)))(115(877(472)(927))(187)))(891(48(694(322)(821))(715))(216(509(513)(17))(896(619)(122)))))))) +(655(558(864(315(611(210)(547))(76(24)(409)))(596))(60(797(274(702(902)(307(800(642)(275))(494(625)(30))))(726))(949))(542)))(564(203(155(11(306)(992))(946(509(813)(645))(918(350(866)(815(357)(867)))(234(443(452)(253))(589(587)(407))))))(148(82(829)(878(61(110)(241))(763)))(198)))(485(111(829)(706(36(448(25)(781(963)(304)))(643(514(128)(709))(791(500)(161))))(460(202(250)(96(206)(405)))(736(65)(553(868)(296))))))(447)))) +(728(760(302(553(753(145)(709(773(337(932)(761))(456(991(317)(912(929(589)(132))(136(893)(192))))(511)))(935(817)(493(546(950)(37(841(811)(936))(355)))(356)))))(849))(991(398(963(324(547(382)(655(704(696(471)(166))(483(795)(146)))(517(462)(665(324)(880)))))(456))(628))(659(7)(669(347(921(653)(660(509(183)(903))(55(697)(251))))(575(318)(830)))(332))))(372(932(994(810(431)(683(137(700)(770(147)(52)))(946)))(336(580(43(954(517)(29))(568))(318(185(677)(107))(586(318)(926))))(108(412(802(33)(128))(173))(834))))(764))(603(60(877(248(613(571(833)(126))(357(290)(333)))(617))(671(384(12(39)(452))(752(137)(561)))(181(288(684)(929))(730(693)(961)))))(866(22(883(312(867)(159))(114))(901(37(956)(619))(190(436)(152))))(504(620)(538(686)(417(31)(758))))))(864)))))(891(369(935(818(949(141(258)(82(98)(99(385)(157(860)(651)))))(997(677(205(959(35)(78))(145(919)(470)))(121))(465)))(946(26(815)(607(298(971(615)(851))(685(892)(541)))(827(956(253)(784))(833(657)(389)))))(352(966(314(53(346)(468))(141(957)(208)))(170(32(873)(985))(511)))(94))))(780(353(609(87(365)(421(103(836)(15))(894(665)(214))))(171(201(441)(682(857)(312)))(259(291)(668(176)(592)))))(269(244(927(672(642)(333))(32))(877))(562(325(62)(875(68)(796)))(530(933)(259(756)(690))))))(595(895(456(543(919(226)(578))(890(158)(379)))(117))(907))(308(202(34(150(807)(241))(590(100)(877)))(980(137)(955(826)(732))))(106(650(929(326)(631))(780))(940))))))(19(1)(998(893(516(140(24(28(900)(149))(926(387)(913)))(484))(106))(789))(689(953)(679)))))(141(718)(500(603(801)(285))(781)))))(376(250(810)(68))(659(99(184)(776(822(553(548(345(181)(571(169(224)(644))(790(575)(939))))(62))(598))(718(283(711(929(678)(519))(628))(762(146(421)(514(289)(602)))(347(135(126)(683))(764(653)(588)))))(804(486(872(523(70)(247))(693))(230(33)(767(629)(956))))(430(48)(13)))))(59(717)(249(211(94(581(26)(424(568)(890)))(162(980(738)(64))(892(563)(879))))(10(623(450(87)(53))(836(981)(705)))(375(658(481)(49))(887))))(798)))))(617(178(728(646)(543(454(95(131)(377(152(406)(54))(654(155)(835))))(787(731(61)(785(354)(215)))(100(10)(692))))(399(569(790(330(351)(218))(868))(681(622)(66)))(443(993(524)(876(741)(557)))(59)))))(388(680(988)(167))(255(761(181(195(250)(903(457)(290)))(374))(352(194(911(972)(331))(2(746)(139)))(914(750(312)(991))(594(744)(773)))))(380))))(730(867)(241(745(933(904(916)(616(398(0)(95))(10(158)(642))))(816))(120(267(931)(466(821(528)(222))(567(376)(668))))(200)))(811(285(1(894)(719(972(379)(650))(422(994)(10))))(239))(120(259)(748(61(521(426)(755))(344(181)(600)))(640)))))))))) +(502(740(856(332(132(113)(964(502(925)(22))(195(997)(705))))(771))(385))(107(790(771(677)(639))(663))(861)))(728(986(362(559(524(720)(458(853)(589)))(450))(21))(993(230(581)(157(206(957)(270))(190(686)(205))))(327(374(769(571)(776))(143))(754(192(215)(393))(827(307)(951))))))(159(731)(924)))) +(79(999(151(586)(56))(631(606)(400(276(881)(748))(952(641(701)(249(281(821)(661))(554)))(881)))))(829(963(946(373)(604(377(805)(372))(828(243(665)(373(342(72)(998))(979(68)(247))))(938(98(802(105)(597))(570))(550)))))(667(468(442)(626(444)(580(337)(553))))(830(597)(151))))(898(58(404(235(325(888(251(574)(961))(687))(28(845(313)(977))(297(638)(240))))(868))(712(410(699)(447))(577(462(786)(870))(423))))(206(437(129(905(711(407)(298))(14))(635(201)(627(226)(135))))(781(646(384)(263))(590(454(77)(235))(145))))(996)))(6)))) +(896(250(11(658(389(504)(159(576(920)(836))(608)))(617(31(997(648)(647))(392(859)(846)))(855(513)(326))))(321(715(446)(929(908)(839(815)(337))))(590(338)(743(7)(446(28)(385))))))(439(838(14(736(256(177)(398))(866(653)(23)))(395))(953))(51)))(229(970(93(380)(999(251(339)(711(915)(300)))(428(472)(810))))(379(392(551)(86(700(593)(546))(788(897)(477))))(385)))(253(98(648)(717(642(196(749)(213))(736(395)(250)))(814(44(223)(990))(249(894)(338)))))(516)))) +(29(594(488(63)(746))(997(110(76(330)(579))(730(965(779(201(95)(14))(80(551)(760)))(577(329)(780)))(616)))(505(784(610(481)(452))(472(533(782)(961))(777)))(623(301(677)(803))(706(261(703)(718))(303(503)(556(618)(747))))))))(612(840(65(588(991(385)(203))(848))(571(301(224(260(518)(321))(222(237)(881)))(763(41(927)(59))(826(16)(249))))(816(209(912(74)(57))(18(343)(378)))(399(694(784)(523))(525(825)(903))))))(901))(729(749(4(329(515(382(80)(183))(25))(495(884(167)(284))(413(151)(864))))(477(603(144)(188(631)(341)))(790(897(334)(473))(1(163)(818)))))(500(299(749(922(601)(775))(751(832)(830)))(405(83)(222)))(33(167(664(340)(920))(163(824)(126)))(581(709)(861(373)(559))))))(568(94(697(229(785(497)(393))(214))(704))(121(969(28(444)(583))(870(254)(618)))(685(159)(284))))(194(22)(26(996(70(122)(769))(987))(464(598(601)(319))(192(912)(166))))))))) +(662(884(946(656(795(367)(60(626(56(704(241(740)(45))(465(122)(207)))(260(708(589)(916))(245)))(593(465(322(753)(630))(448(285)(451)))(481(321(78)(746))(413(145)(477)))))(602(942(217(176(456)(666))(2(503)(253)))(670))(948(510)(587(432(335)(533))(451(743)(224)))))))(376))(40))(868(453(680(795(788(284)(422(1(109)(805(750)(298)))(427)))(674(350(364(613(881)(33))(629))(812(891(135)(886))(263(625)(482))))(740(482)(520(591(821)(224))(774(670)(78))))))(379(101(743(867(548)(429(315)(984)))(267))(767))(827(724(212(516)(8))(229(980)(260(239)(229))))(383(883)(888(12(479)(527))(666))))))(751))(716(573(997(926)(67))(554(461)(3(12(974(840(997)(788))(907))(363))(604(787)(435)))))(550(958(475(968(866)(704(702(357)(59))(313)))(51(355)(119(352(669)(423))(673(389)(56)))))(255(484(316(545(468)(112))(501(649)(513)))(83(33)(542)))(754(343)(950(390)(393(659)(163))))))(736)))))(771(765(521(11)(16(437(352(570(461(608(433)(476))(907(805)(167)))(674))(453))(959(389(861(22)(685(23)(76)))(807(955)(438(32)(133))))(401)))(229(919(152(942)(673(393(391)(330))(213)))(274(408(447(491)(581))(324(26)(526)))(425(88(315)(420))(427))))(838(613(728(584(122)(435))(693(621)(393)))(809))(750(309)(332(772(922)(127))(436(238)(229))))))))(50(350)(312(609)(925(389(781(451(935(311)(368))(377(896)(777)))(811(641)(66)))(437(828)(420(48)(42(853)(938)))))(337(787)(288(487(313)(544))(68(394)(685))))))))(817(496(397(594(930)(119(720(49(785(418)(298))(826(508)(605)))(912(444(16)(411))(227)))(304)))(970))(14(176)(959)))(145(81)(161(895(378)(5(58(839(10)(508(542)(227)))(85))(261)))(616(861)(958(245(934(570(895)(102))(721(125)(311)))(631(544(51)(699))(191(290)(948))))(765(287(411)(202(241)(876)))(62(104)(238(654)(993))))))))))) +(801(628(263(35(303(401(417(942(141)(222))(426(527)(124)))(836(913(853)(773))(688(908)(220))))(430))(306(572(505)(183(888)(880)))(208(92(154)(137(0)(600)))(736(206(888)(450))(326(789)(114))))))(735))(304(942(393(892(984)(507(588(516)(99))(734(784)(999))))(925(446(612(752)(353))(339(730)(676)))(89(231)(685(461)(609)))))(828(268)(76(686(557(499)(177))(77(917)(18)))(266(24(934)(910))(837(226)(895))))))(948(666)(748(198(100)(994(592(637)(434))(253(858)(804))))(433(532(357(83)(145))(635(371)(995)))(144))))))(137(597(929(62(422(717(816)(301(638)(25)))(123))(132))(404))(843))(471(146)(536(896(822)(959(769(172)(284))(853)))(156))))) +(704(294(634(743(365(112(182)(488))(675(586)(822(968)(278))))(809(481(679(389)(765(73(810(782)(989))(286(445)(390)))(51(327(509)(350))(208))))(854(85(760(375(915)(954))(626(168)(243)))(61(83(786)(785))(709)))(73)))(133)))(178))(318(177(501)(316(621(364(447(980)(24))(546))(383(799(854(790(130)(963))(775(657)(30)))(30(222)(614(789)(874))))(630)))(371(710)(792(144(883(273(497)(162))(257(992)(463)))(767(614(324)(371))(566(43)(219))))(992(649(282(900)(797))(844))(462(53)(617(527)(139))))))))(698(272)(177))))(304(197(683(442(533(947(664)(253(212(679(858)(74))(158))(269)))(862(678(177(631(90)(180))(956(748)(755)))(322(373)(451(838)(371))))(792(851(715(302)(179))(609(732)(161)))(213(524(563)(746))(710)))))(264(106(251)(130))(774(285(24)(55(685)(618(783)(621))))(40(329)(244)))))(661(219(615)(808(314)(899(749(933(595)(432))(855(799)(882)))(706(231)(345(614)(238))))))(520)))(986))(997(730)(806(911(495)(292(255(29(379)(243))(473(319(740(719)(49))(697(820)(419)))(173(526)(251(513)(817)))))(13(284(83(602(470)(421))(752(432)(0)))(276(495(536)(675))(150(124)(534))))(510(857(502(721)(476))(649))(922(784)(440(721)(991)))))))(354(938(736(750(196(804(315)(124))(203(502)(810)))(838(416)(346)))(627(401(618(717)(468))(213(703)(163)))(637(101)(428(622)(153)))))(284(972(11(917(902)(317))(561(50)(289)))(597(663(742)(687))(772(688)(32))))(563(618)(38(9(236)(225))(905)))))(22)))))) +(503(796(915(843(514)(392(618(218)(289(733(709)(229))(408)))(206(25(93(680)(891))(391(268)(964)))(66))))(265(889)(157)))(808(302)(727)))(824(403(31(16(314)(465(474(604(6)(414))(294(246)(728)))(718(326)(51))))(832(910(174)(181(38(750)(199))(762(760)(980))))(864(229)(333(493)(391)))))(960(798)(336(437(587(299(294)(41))(349(227)(906)))(371(517(965)(226))(449(500)(51))))(807))))(544(194)(642(620(325(743(829(151)(700))(802(619)(173)))(345(689)(572(540)(28))))(290(675(515(309)(124))(330(847)(385)))(626)))(730(826)(413(797(807)(170(185)(885)))(217(851)(531(548)(493))))))))) +(840(452(552(6(903(632(381)(113(399)(353)))(180(504(121)(825))(605(57)(407))))(840(651)(1(387(358)(755))(520(647)(962)))))(837))(356(759(533(731(160(228)(548))(522(225)(461)))(379(156(667)(777))(438(200)(572))))(211(19(184)(863(928)(237)))(326(221(829)(867))(765(709)(743)))))(446)))(994(332(763(683)(957(821)(313)))(223(362(645(270)(921(232)(281)))(926))(133)))(957(736(851(236(848)(741(706)(90)))(378))(405(989(696)(884(995)(991)))(179(805(420)(464))(49(627)(88)))))(362)))) +(179(734(868(218(212(776(704(477)(639))(237(325)(127)))(821))(449(449(502)(362(680)(613)))(998)))(170))(648(331(736(47(325)(215))(375(134(607)(384))(273)))(517(570(665(93)(752))(826(230)(480)))(814(952(960)(644))(632(139)(675)))))(797(918(761(658(273)(628))(993(585)(874)))(307))(862(680)(138(596)(705))))))(904(144(251(620(467(185(431)(795))(668(398)(398)))(134(929(539)(451))(236(724)(555))))(989(824(562(471)(601))(101(210)(14)))(444(301)(755(127)(384)))))(684(524(676(95(460)(605))(323(717)(269)))(99(243(31)(875))(634)))(977(738(92(828)(581))(478))(340))))(534(584(838(641(516(405)(334))(220))(423(913(140)(593))(271(269)(499))))(594(534(646(475)(358))(252(94)(385)))(697(771)(542(353)(108)))))(744(867(396(225(788)(433))(933(406)(416)))(16(933)(52(78)(290))))(327))))) +(568(749(107(784(197(580(979(980(336)(392))(597(80(101)(315(188)(179)))(941(482)(821(112)(546)))))(745(316(209)(308(582(665)(745))(253(177)(756))))(797(487(403(234)(640))(190))(296))))(632))(537(879(442(236)(58(303(947(684)(262))(704(31)(990)))(543)))(269(276)(632(578(127(319)(409))(113(311)(284)))(964(572(811)(170))(573(932)(446))))))(305(789(70(96(401(592)(151))(76(832)(759)))(352(663(7)(144))(768)))(14(34(457(618)(808))(75(956)(915)))(178(370(189)(409))(938(947)(920)))))(258))))(642(876)(902(735)(710(761(318(236(504(974)(113))(222(96)(616)))(982(577(761)(920))(940(420)(725))))(622(863(578)(291(806)(307)))(527(711)(978(860)(220)))))(191(228(758(745(221)(774))(57(85)(400)))(40))(509(979(28(93)(60))(868))(26)))))))(650(237)(47(502(956(563(630)(48))(30(764(652(327)(282(412)(817)))(456(96(400)(395))(685)))(608(732)(96(659(268)(696))(329)))))(499))(121(392(495(681(759(330(214)(297))(42(826)(18)))(462(939(25)(442))(13(879)(859))))(640(751)(442(855(234)(468))(512(474)(408)))))(51(282)(68)))(730)))))(822(176(180)(691(521(676(830)(81))(897(889(898(10(691(236)(482))(468(304)(218)))(517))(725))(87)))(833(84(456(79(656(101)(293(433)(880)))(0(91(915)(280))(118)))(213(696(816(385)(582))(955(460)(622)))(298(667(868)(590))(859(984)(301)))))(932(621(69(543(89)(959))(678))(932(995)(367(585)(912))))(243(768)(970(890(397)(50))(175(463)(858))))))(870(987(902)(793(245(598)(181(556)(741)))(794(566(606)(23))(144(974)(113)))))(616)))))(138(294)(817(682(23(686)(621(57(469(0(165)(458))(939))(744))(679(359)(520))))(951(20)(720(919(382(346(227)(563))(581(75)(737)))(526(492)(988(338)(481))))(173(801(534(421)(997))(908(513)(767)))(85(837(577)(754))(705(300)(246)))))))(622(93)(794)))))) +(266(36(732(651(967(999(294(444)(272(901(19)(737))(594(832(563)(42(679)(909)))(148(118(773)(289))(526)))))(414(771)(927(577)(635(596(874)(466(507)(186)))(346(474(418)(696))(971))))))(260(379)(173(984(25(366(498(711)(978))(364(704)(854)))(762(23(32)(186))(917(149)(719))))(72(512(995(492)(156))(14(495)(633)))(998)))(605))))(495(699(164(979(526(591(250(153)(373))(546))(846))(426(550(788)(463(224)(467)))(969(398(940)(166))(613))))(36(335)(595)))(587(490(34(161(73(888)(542))(470))(130(181(193)(24))(161(893)(422))))(752(518(71)(23(578)(863)))(533)))(122)))(296(278)(615(942(85)(441(16)(697(318(947)(602))(831(979)(926)))))(261(121)(291))))))(819(241(391(454)(879(5)(324(237(914(760)(805(885)(486)))(980(85(457)(481))(938)))(48(765(928)(240(394)(904)))(266(783(956)(362))(685(376)(530)))))))(683(640(334(300(772(941(271)(847))(415(314)(412)))(263))(843(180)(911)))(540))(883(879)(819(430(396(526)(335))(846(605)(538(620)(83))))(713)))))(33(614(141(577)(590(375(538)(974(784(190)(123))(995(274)(790))))(650(631(541(891)(107))(8(885)(327)))(539(508(933)(962))(217(890)(312))))))(375(520)(6)))(871(99(711(314)(153))(296(390(479(924(23)(284))(148(766)(244)))(1(366(838)(291))(854(911)(781))))(848(436(802(268)(956))(960))(330(145)(443(353)(67))))))(586)))))(74(417)(74(376(879)(784(271(992(843(220(184(444)(568))(36))(741))(557))(150(125(825)(281(40(20)(389))(913)))(46)))(834)))(405(321(937(729)(288))(445(388)(273(256(13(792(38)(649))(661(257)(329)))(174(899(701)(264))(47(350)(452))))(251))))(534)))))(224(431(869(877(17)(95(83)(695)))(718))(276(647(181(41(120(209(119(472(305)(496))(843))(483(171(657)(179))(448)))(390))(352(671(628(805)(454(927)(952)))(210))(262(800(565(702)(260))(664(510)(486)))(317(364)(34(303)(396))))))(622(778)(546)))(279(356(613(947(910(626(806)(708))(59(769)(630)))(984))(996(1(739(449)(386))(986(917)(915)))(204(680(921)(507))(868(468)(661)))))(576(965(935(727)(26(447)(89)))(321(976)(119)))(519(877(779(687)(322))(25(993)(430)))(356(903(109)(181))(189(220)(490))))))(78(404(644(271(682(417)(470))(405(327)(430)))(265))(444))(123))))(622(691(292(881(549(561)(496(198)(654)))(744))(541(7(580)(671(313)(426(679)(687))))(735(399(351(321)(671))(82))(487(690(811)(847))(377(638)(860))))))(817))(319))))(766(841)(499)))) +(626(134(15(117(906(278(110(566(407)(722))(589(365)(624)))(369(320(87)(483))(48(751)(540))))(950))(838(545(505(280(807)(853))(205(216)(880)))(676(457)(302(892)(608))))(49(195(357(477)(32))(999(846)(699)))(257))))(286(981(205(616(990)(21(578)(527)))(545(297(93)(389))(811(516)(875))))(257(880(741(736)(861))(236(64)(430)))(823(767(687)(308))(9(748)(879)))))(487)))(297(102(157(10)(105(433(254)(90(304)(472)))(687(456)(72(32)(180)))))(378(25(328(109(616)(959))(443))(918(732(581)(984))(66)))(517(655)(110))))(977(16(516(631(217(501)(201))(976))(985(866(571)(698))(176(351)(764))))(336))(93(759)(623)))))(718(274(97)(88(626)(107)))(165(127(78)(167(282(76(584)(294))(906(993(55)(526))(840)))(182(671)(753(535)(946(22)(895))))))(340(190(669(411(464(848)(239))(647(706)(187)))(772(41(64)(756))(849(239)(747))))(840))(224(614(36(233)(326(721)(879)))(344(62(284)(203))(614)))(504(247)(386(995)(110(167)(203))))))))) +(594(992(560(64(251(42(7)(36(23(104)(603))(433)))(369(715)(178(37(261)(975))(837))))(286(953(606(312(5)(284))(957(26)(138)))(808))(321)))(759(516(658)(464(898)(363)))(22(23(446(268)(784(31)(954)))(184(830(267)(797))(857(194)(426))))(670(474)(140(636(726)(787))(333))))))(924(299)(704(447)(316(215)(866(642(828(382)(151))(562(66)(570)))(418(719)(688(575)(748))))))))(348(533(241)(860))(307(908)(199(876(317)(465(426(630(378)(349))(528(21)(912)))(599(267(847)(809))(76(10)(98)))))(441(913(175(466(268)(953))(790))(157(862(974)(809))(925(888)(863))))(504(746)(500(982)(350)))))))) +(642(19(981(379)(316(85(903(548(115(551)(876))(664))(352(794(137)(88))(772(668)(719))))(63(691(694(741)(9))(149(573)(921)))(258)))(573)))(283(776)(59(392)(955(240(754(601(272)(194))(822(217)(944)))(998(646)(219)))(342)))))(18(532(86(215(289)(413(226(484(569)(835))(922))(589(728)(0))))(480))(263))(511(11)(32(406(519)(788(221(22(940)(577))(541))(772(247(721)(991))(785(600)(751)))))(526))))) +(178(616(609(309)(215(292)(626)))(359(579(620(220(904)(225(461(859(351(80)(187))(535(511)(72)))(568(118(733)(817))(334(284)(875))))(283(862(486(210)(510))(877(137)(991)))(652(382(576)(674))(0)))))(185(665(824)(819(939(803)(937(650)(400)))(510)))(179(790(394)(622(174(417)(421))(774(689)(888))))(434(38(138)(771(360)(641)))(893(798(539)(613))(298(866)(381)))))))(559(769(524(529)(290))(57(808(141)(365(780(563)(279))(543(504)(11))))(751(904(367)(20(380)(620)))(743(705)(347)))))(886(620(908(473)(936))(170(924(569)(243(447)(569)))(161)))(575))))(933)))(942(519(24(641(38)(687(672(43(811(859(595)(531))(716(930)(414)))(622(864(164)(754))(174(308)(767))))(533(626)(429)))(829(688(634(716(391)(950))(944))(798(63(912)(955))(558(155)(26))))(878(952)(973(409)(885))))))(691))(287(836(912)(492))(627(819)(41(738(808(777(696(203)(801))(18(126)(882)))(583(433(695)(57))(430(905)(841))))(882(301)(829(425(909)(710))(903(86)(454)))))(661)))))(378(575(329(634(341(401(108(409)(918(314)(866)))(40(436)(841)))(940(409)(832)))(741(817(481)(563(464(210)(163))(19(651)(653))))(212)))(484))(396(701(600(967(812(858)(762))(753))(13(834(386(632)(272))(523))(695(400(316)(316))(748(845)(442)))))(240(7(910(636(942)(862))(582(110)(696)))(523(951)(725(782)(751))))(12(971)(390(11(650)(996))(834)))))(665(363(322(246(666)(544(356)(317)))(233(122)(245(176)(101))))(820))(809(626(933(0(570)(762))(892(180)(72)))(294(28(863)(135))(305(552)(965))))(465)))))(777(810(172(436)(847(828(385(838(836)(379))(987(692)(580)))(149))(66)))(362(474(436(581)(549))(360(347(199)(956(898)(53)))(700(299)(830(926)(525)))))(441(713)(946))))(317(42(378)(226(789(806(451(198)(859))(570(233)(468)))(508))(596(114(95)(233))(865(454)(444(252)(674))))))(940)))))) +(921(84(278(331(133)(942))(173(139(406(314(510)(656))(963(307)(503)))(370))(815(143(4)(168(123)(613)))(62))))(203(857(641(309(868(773)(697))(475(183)(97)))(316(767(256)(959))(319(475)(27))))(192(49(733(155)(755))(142(568)(654)))(841)))(572)))(914(311(813)(148))(55(545(880(480(257)(567(94)(150)))(779))(502))(731(988(21(644(298)(105))(164))(179))(676))))) +(444(439(690(270(836(864(967)(763(222)(329)))(213))(797))(257(709(12(937(555)(544))(442(236)(649)))(264(878(843)(689))(869)))(911)))(622(313(737(337(254(264)(645))(561(40)(891)))(966(742)(892(967)(14))))(979))(772(646(650(451(368)(983))(479))(25))(907(837(368(326)(446))(715))(962)))))(639(589(860)(180(72)(680(231)(120(445(607)(613))(121(840)(90))))))(160(984(669(288(898)(191))(989(572)(889(232)(867))))(301(969)(623(541(815)(624))(252(316)(879)))))(560(702(38(97(980)(394))(958))(204(583(659)(402))(39(752)(412))))(416(756(252(49)(837))(954(640)(605)))(731)))))) +(193(527(973(446(167)(603(268)(451(599(412(24(368)(885))(568))(215(647(523(393(105)(404))(354(539)(911)))(378(752(46)(581))(827)))(942(504)(154(802)(635(464)(350))))))(170(830(269)(312(857(76)(734(378)(158)))(256)))(580)))))(267(14(264(906(760(207(897(421(335)(523))(633(687)(481)))(966))(485))(918(826(914(343(962)(503))(47))(550(228)(243(944)(993))))(50(407)(608(433)(903)))))(413(651(939)(48(385(128)(583))(218(188)(900))))(920(960(589(434(464)(281))(573(542)(672)))(807(62(280)(129))(770)))(361(645)(962(403)(562(193)(894)))))))(990))(529(305(560)(623(935(36)(711))(221(322(969)(161(405(534)(603))(869(966)(249))))(185))))(497(410(689)(642))(316(749)(534(149(306)(678(935(278)(890))(155(923)(724))))(869(210)(734(511(637)(147))(220(606)(871))))))))))(866(379(198(422)(589(197(156)(569))(770(689(474(600(312(382)(477))(534))(155(84(313)(343))(890(445)(313))))(808))(879))))(435))(613(579)(120(432(14(714)(491))(868))(861(844)(93))))))(535(657(983(508(158(630)(970))(455(100)(168(676(890)(353(986(401(658)(935))(213(672)(265)))(201(472(553)(536))(476(397)(793)))))(368))))(277(418)(354(897)(779(267(762(700)(305(758(183)(611))(152(567)(653))))(680))(304(395(622(26)(425(792)(148)))(307(50(378)(212))(582)))(508))))))(993))(210(681(23(536)(811(445(152(671(22(896(856)(73))(594(538)(80)))(948(36)(842(220)(411))))(251(135(395)(86(201)(137)))(107(665(935)(305))(445(174)(915)))))(611(145(406)(713(181(558)(258))(339(736)(794))))(783(54(427(674)(640))(404))(776))))(670(422)(935(422(331(433)(24(654)(549)))(394))(669(754(656)(801(512)(248)))(666(904)(299)))))))(733(48(986(260(205)(362(950(590(896)(901))(773(142)(382)))(517(755)(766(795)(340)))))(137(690)(367(955)(680))))(868))(869(18)(666(342(804(806(339)(292))(482(232(420)(276))(764(949)(455))))(28(43(374(142)(542))(202(158)(62)))(570(811(330)(105))(304))))(375(209(464(737(669)(457))(311))(505(514)(586)))(322(338)(535(843(157)(824))(801(342)(497)))))))))(485(346)(882(801)(250(638(316(4(849)(288(241)(757)))(169))(572(308(502(254)(558(744)(699)))(972))(55)))(738(154(89(736)(997))(983(884)(448(498(885)(454))(840(187)(49)))))(276(791)(107(112(550(24)(109))(889))(199(888)(679(917)(585)))))))))))) +(150(648(364(555(790(992(428(668(860)(521))(80(317)(177)))(143(871(753)(617))(760)))(707(782(739(605)(358))(213))(293)))(888))(357(79)(486(546(774(596(984)(73))(655(494)(0)))(232))(845(626(85)(673(526)(423)))(234)))))(677(471)(157(898(135(764)(913))(684(303)(711(687)(94(465)(755)))))(416(585)(215(156)(196(964(54)(268))(227(901)(815))))))))(667(295(574(535(609(969(843(901)(978))(85(551)(696)))(467(971(263)(585))(910)))(958(64(514(956)(91))(967))(343(820(388)(733))(672(811)(411)))))(594(827(705(658(740)(415))(220(438)(821)))(372))(380)))(995(950(887(468(794)(644(81)(393)))(743(918(64)(297))(615(737)(662))))(714(646(160(22)(477))(238(595)(934)))(655(419(995)(494))(275))))(19(934(287(350(995)(526))(815(287)(700)))(657))(217(258(548(492)(234))(0(609)(129)))(623(910(407)(90))(819))))))(448(210(802)(488))(763(93(194(276(440)(39(349)(137)))(683(561)(286(765)(324))))(968(196(849(282)(451))(803(247)(949)))(201(163(554)(469))(641))))(92(687(281)(193(780)(745(44)(376))))(894(337)(547(632(400)(108))(132(564)(903))))))))) +(920(126(443(750)(378(337)(148(226)(226(407(233(152)(557))(819))(773(248(714)(832(63(210)(589))(326)))(755(739)(391(658(225)(996))(54))))))))(225(662)(943)))(241(922(95)(547(359)(326(390)(577(291(138(16(235(155)(230))(536(81)(825)))(157))(285(827(345)(560(492)(887)))(788(286(922)(519))(433(990)(977)))))(181(540(810)(899(539(9)(152))(996)))(59))))))(346(949(18(872(207(714(633(564(809)(501))(505(529)(861)))(385(406(966)(776))(669)))(601(305)(422(119(459)(789))(441(219)(293)))))(637(795)(898(96(264(220)(681))(712))(793(198(96)(100))(204(566)(668))))))(969(880(853(858(101(44)(884))(840(265)(513)))(613(841)(950(672)(254))))(972(112)(793(16(834)(984))(625(837)(139)))))(140(215)(497(868)(530(898(775)(679))(738(73)(963)))))))(159))(98)))) +(231(604(477(11(561)(237(719(224(373(84(982(340)(583))(667(433(369)(560))(235(363)(315))))(60(213(794(663)(349))(908))(483)))(586(693)(607(430)(918(800)(84(326)(310))))))(348(328)(56(59(630(828(654)(590))(66(643)(368)))(261(583(671)(999))(155(637)(482))))(87))))(824(772(472(616(71(50(753)(496))(86))(545(446(543)(639))(979(82)(272))))(884(554)(672(48(634)(128))(356(245)(564)))))(792(769(461(199)(848(82)(961)))(446))(100(830(269(451)(304))(507(966)(62)))(665(323(168)(986))(65)))))(157))))(138))(738(619)(573(543)(643(991)(565(619(81(406(655(412(923)(626))(216))(806(585(702)(793))(152(541)(302))))(51(287)(122(861)(753(806)(682)))))(490(311(724(104(311)(240))(922))(933))(847(252)(240(294(418)(495))(659)))))(915))))))(416(822(299)(343))(665(987)(599(13(713(708(986(172(697(150(510)(255))(398(176)(315)))(12(187(483)(932))(943(831)(587))))(637(361(782(613)(399))(150(234)(753)))(162(133(155)(114))(943(579)(880)))))(619))(791))(504(554(202)(118(458(940(410(597)(464))(136(640)(463)))(686))(145(360)(666))))(599(705)(912(560)(896)))))(158(107(467(649(894(872)(402(190(732)(553))(924)))(243(686(865(679)(486))(237(101)(100)))(742(607(540)(258))(353))))(829(521(372(915)(933(613)(425)))(146))(27)))(482(543)(397)))(545(979(268(356)(695(9(554(795)(609))(879(246)(567)))(388)))(829(508(635(837)(97(994)(564)))(751(634(998)(880))(6(279)(317))))(710(20(173(27)(182))(520))(935(977)(680)))))(854(990(423(1(367)(152))(503(794)(143)))(605(602(170(788)(829))(899(244)(778)))(886)))(253(195(336)(123(90)(905(734)(111))))(298))))))))) +(430(653(443(105)(232(443)(42)))(720(69)(892(555(236(236(980)(424(469)(333)))(228(829)(355(657(816)(411))(562(54)(807)))))(385(785(31)(114))(731(103(730)(486(757)(770)))(503(497(323)(219))(689(763)(502))))))(372(788(972)(269(793(698)(859))(965)))(765(418(334(663(588)(399))(244))(373(614(897)(232))(488)))(476(723)(568(426(284)(818))(739))))))))(883(715(61)(760(128)(767)))(475(210(447(99(681)(66(942(563)(806))(545(541(975)(226))(549))))(317))(742))(384)))) +(352(389(685(369)(593(172(379(229(63(402(852(181)(832))(254(856)(917)))(105(86(732)(753))(896(39)(955))))(821(464)(58(475(779)(454))(567(152)(941)))))(24(640(873(124)(53))(133))(479(444(887(776)(733))(709(892)(564)))(1(872(756)(95))(834)))))(259(140)(920)))(130(834(312)(311(211(171(919(417)(990))(845))(353(877(718)(877))(483(413)(637))))(862(258(820)(61(820)(381)))(817(15)(156(613)(245))))))(506(762)(431(479(161(815(394)(90))(255))(191(300)(327(647)(268))))(461(397(548(465)(935))(513(736)(150)))(941(700(569)(788))(440))))))))(72(26(193(891(685(428(267(187(165)(175))(296))(440(659(408)(974))(826(365)(204))))(690(309(531(559)(333))(375(21)(529)))(357)))(837(106(729)(227(684)(357(257)(340))))(683(981(240(758)(494))(184))(550(250(438)(428))(161)))))(960(717(379)(94))(116(750(873(947)(195(130)(605)))(945))(194(806(633)(487(667)(607)))(790(897)(588(472)(873)))))))(959(975(691)(515(145(896)(917(688(384)(958))(109(503)(752))))(905(139)(826(880(748)(789))(202(76)(0))))))(541(705(249)(165))(703(580(959(950(607)(756))(909(208)(648)))(337(749(550)(167))(555)))(225)))))(36(607(941(821(926)(438))(951(523)(268(878(448(300)(917))(942))(678(364)(37(438)(650))))))(286(204(978(35(726)(229(615)(151)))(94(384(482)(625))(792(621)(535))))(370(377(925)(109))(887)))(726(935)(535(20)(736)))))(140(782(755(626)(319(834(461)(547(348)(824)))(531(671(692)(45))(504(663)(858)))))(913(933(72(774)(897(82)(106)))(636(179(749)(526))(24(869)(801))))(738)))(513)))))(735(739(276(620(147(78(148)(941(336(190(475)(408))(489(902)(249)))(293(749)(522))))(232(916(498(703)(983))(408(659(533)(54))(986)))(899(272(948(829)(595))(627))(892(153)(534(339)(421))))))(887))(484))(157(328(120(516)(517(108(321(930)(883(902)(752)))(273(474(612)(204))(419(175)(199))))(756(907(195(296)(582))(309(943)(787)))(946))))(780(339(328(371(289(330)(232))(602(508)(420)))(36(271(563)(440))(593(692)(809))))(909(831(64)(961(509)(409)))(77(672(822)(750))(111(952)(397)))))(974(850(481(872(264)(975))(435(255)(791)))(786(823(696)(180))(235(636)(437))))(486))))(391(270)(732(870(810(665(338(55)(387))(20))(755(131)(876(585)(385))))(528(157(153(816)(48))(717(158)(755)))(752(804(112)(198))(208(592)(593)))))(23(368(82)(61(107)(756(603)(49))))(418))))))(822(294)(495(158(214(764(626)(426(327(657(29)(219))(668(153)(885)))(619(985(693)(923))(976(216)(261)))))(778))(932))(415(50(224)(348(688(384(893(99)(249))(188))(513(739)(173(870)(919))))(352(83)(693(815)(896(354)(706))))))(137(283)(247))))))) +(386(254(927(22)(509(232(22(538)(664(938(400(493)(687))(410(971)(401)))(12(736(513)(770))(11))))(365(24(162)(127(784)(214(340)(447))))(118(163(637(140)(487))(626(437)(361)))(357(108(100)(391))(919(193)(400))))))(851)))(635(477(784(468(473(475)(436(594(668)(40))(445(615)(760))))(934(709(987(115)(59))(7(620)(234)))(76(425(122)(219))(661(945)(169)))))(275(854(286)(434(915(845)(111))(527(627)(491))))(639)))(32))(977(157(727(959)(923(912(702(636)(512))(537(811)(622)))(509(904(619)(831))(260))))(287(102(275(472(292)(395))(277(805)(264)))(979(869(595)(842))(315(827)(425))))(12(522)(377(942)(208(418)(232))))))(923(216(403)(849(533(768(467)(926))(847))(762(82)(316))))(349)))))(133(728(783)(70(924(975(995(983(285(623)(181))(288(284)(205)))(389(131(192)(115))(303)))(75(571(828(500)(307))(467(442)(846)))(183(103(44)(647))(419(204)(180)))))(287(656(394)(990(584(693)(759))(108)))(616(883(31(854)(323))(633(589)(887)))(706(223(586)(474))(404)))))(767(472(851)(351(270(970)(82(548)(128)))(347)))(242(588(58(961)(30))(275))(737(437)(101))))))(55(266(252)(149(36(9(262(861(8)(350))(910(337)(513)))(660(900(338)(740))(291(31)(269))))(744(704)(502(842(740)(110))(193(608)(975)))))(465)))(933)))) +(437(610(409(875)(468(741(136(542)(641(978(972)(426(664(906(465)(739))(550(261)(104)))(869(712(274)(550))(600))))(256(360(910(406)(724(30)(686)))(204(673(684)(467))(35(156)(397))))(807(417)(200)))))(866(793(351(891(403(332(681)(146))(708))(679(581(501)(2))(620(9)(389))))(841(854)(533(49(300)(226))(56))))(560))(416(879(387(824)(646))(417))(728(829)(291(887(349(965)(549))(628(226)(903)))(660(76)(108(595)(26))))))))(869(484(813(138(197(497(723(641)(739))(382(670)(363)))(806(968)(260(876)(867))))(71))(259(289)(578)))(423(90(683(816(171(545)(8))(264))(134(832(310)(539))(822)))(981(621(343(431)(78))(512))(341(145(862)(487))(683))))(670(429)(461(672(27(55)(393))(263(464)(654)))(986)))))(587(103(203(68(521(39(183)(954))(779))(331))(360))(895))(145)))))(883(420(581(639(522(73(225(103(925(622)(543))(398))(771(37(469)(20))(472(215)(532))))(891(187)(640(321(387)(69))(183(881)(396)))))(833))(572))(241(918(770)(411(912(516(14(205)(586))(919(541)(543)))(420(711(813)(314))(478(747)(773))))(322)))(601(193)(740))))(531))(550(809(942(38)(608(699)(827(114)(502(937(84(725)(31))(831(275)(531)))(836(614)(350(926)(28)))))))(488(911(868)(439(53)(323(151(970(331)(29))(13(82)(708)))(198))))(489(64(489(788(202(841)(924))(564))(600))(759(515(397(941)(945))(416(419)(784)))(11(253(173)(933))(51(604)(140)))))(657(248(277(40(243)(240))(48))(696))(445(493(177(646)(120))(764(59)(261)))(590(60(733)(385))(673)))))))(518(873)(289(353(294)(939))(643(515(461(702(164(910)(857))(777(131)(576)))(299))(345(457(349(876)(544))(607(873)(413)))(330(820(875)(248))(240(185)(874)))))(959(189(164(324(304)(413))(845(154)(698)))(462(513(776)(97))(566(152)(256))))(153))))))))(331(26(671(101(994(136)(145(680)(389(813(724(102(569)(85))(62(845)(127)))(315(286)(224)))(271(845(666(416)(789))(781))(18(936(464)(742))(242(76)(233)))))))(661(597(934(335(673(493)(501))(329))(761))(464(284(212)(993(190(643)(692))(393)))(853)))(869(608)(610))))(726(895(85(494)(961(865)(140(794(507)(683(487)(963)))(560))))(230))(542(570(140)(485))(952(301(100(559(621)(388(290)(283)))(471(213(967)(503))(304(341)(153))))(710(159(875(909)(213))(356(651)(726)))(226(474)(620(923)(209)))))(259(759)(96(411(399(68)(891))(340(150)(890)))(552(472)(429(27)(647)))))))))(594(885(42(513(634)(430(722(874(930(298)(493))(888(124)(509)))(134(483)(835(42)(227))))(158)))(900))(161(138(674(39(277)(919))(642(871(81(775)(601))(850))(994)))(909(552)(846(935)(655(628)(530(932)(787))))))(437(6(237)(892(363(352)(792(667)(17)))(754(243)(11(843)(764)))))(196))))(214(749(722(480(46(129(227(682)(361))(531(95)(701)))(684(880(779)(884))(826(137)(723))))(782(809(887(419)(727))(562(767)(316)))(177(660)(164(823)(889)))))(876(269(968(957(754)(220))(273(219)(139)))(158))(304(477(638(601)(727))(280))(686))))(896(232(267(836(139)(394))(580(653)(394)))(683))(662(223(857)(491))(270(380)(909(138)(85(553)(701)))))))(943(608(326(69)(437(114(562)(724(235)(946)))(786(629(624)(64))(918(148)(632)))))(867(600)(319(894)(118(66(508)(942))(753(43)(90))))))(142)))))(227(739(957(778(958(637(604)(521(323(681)(406(536)(283)))(911(789(798)(450))(195))))(359))(393(619(663(938)(113(69(270)(947))(665(657)(558))))(964(275(959(815)(724))(568))(225)))(845(247)(425(896)(367(917)(197(475)(139)))))))(817(215)(63(528(280(459)(873(158(593)(661))(862(12)(514))))(86(412)(183)))(680(125)(834(619(769)(382(899)(273)))(484(145(633)(989))(47)))))))(817(341(233(232(104)(563(938)(365(20(387)(134))(638(424)(450)))))(720(378)(593(807)(800(390)(91(915)(987))))))(673(536(696(180)(876(861)(963)))(509(103(409(61)(341))(639(931)(187)))(134(83(615)(933))(859))))(373(61(709(612(141)(118))(982))(902(913(747)(565))(755)))(193))))(524(132(754(78)(194(785(156)(481))(769(894(732)(25))(278(826)(480)))))(511(9(301(866)(987))(976))(433(781(433(216)(797))(925(670)(128)))(868(847)(299(468)(530))))))(712(468(482(15(38(818)(333))(629(857)(979)))(132(276)(685(563)(590))))(525))(918(44(261(180)(935(329)(892)))(263))(895))))))(64(366(892(954(932(660)(664))(825(98(163(330(23)(164))(160(126)(720)))(481(529(421)(959))(285)))(161)))(883(755(139(232(241(422)(536))(653(754)(643)))(980(417)(865)))(170(65(689(240)(962))(485))(784(964(339)(788))(15))))(444(766(894(729(234)(723))(55(544)(537)))(566(493(821)(677))(77(756)(32))))(584(682)(525(173)(16(913)(125)))))))(223(303(110)(481))(893)))(67))))) +(414(317(558(596(895)(972(651(698(229(857(482(170)(799))(929(77)(890)))(368(487)(324(812)(731))))(50))(312(98)(513(678(275)(171(430)(943)))(771(685(238)(843))(29(360)(759))))))(900(511(452)(536))(15(998(352(183(828)(415))(391(488)(705)))(586))(119(793(701)(81(408)(793)))(887(614(511)(456))(441(867)(910))))))))(458))(269(641)(181(158)(956))))(526(636(343(943)(105(786(324(650)(775(780(200(819)(818))(641(389)(246)))(561(221(148)(695))(358))))(740))(98(783)(89(495(705(630(869)(426))(734))(221(731(178)(968))(623(565)(233))))(569)))))(397(787(317(462(29(57(698)(752(669)(105)))(166(14(384)(612))(714(586)(717))))(227(452)(656(504(100)(222))(191))))(271))(975(930(686)(353(784(453(288)(214))(598))(725)))(779(294)(450(264(682(360)(36))(563(867)(578)))(998(836(99)(542))(499(52)(342)))))))(624(866(501(51(58)(916(908(341)(833))(165(139)(333))))(503(278)(646(787)(668(664)(783)))))(380(643(949(529(350)(390))(753))(94(992)(151)))(181(269(301)(755(683)(307)))(719(235(710)(677))(88(345)(168))))))(735(780(245(454(701(220)(299))(520(332)(732)))(114(530(11)(477))(754(208)(652))))(469))(226(742)(169))))))(490(202(971(770(338(538)(256(195)(757(740(282)(152))(226(796)(423)))))(462(437(368)(875(243)(8)))(275)))(594))(246(152)(684)))(148)))) +(226(770(234(350(271(866(603(770)(728))(62(659)(52)))(425(685(836)(716))(515)))(965(414)(914(192(628)(92))(279))))(937(993(268(13(81)(958))(169(878)(203)))(169(911(711)(4))(370(58)(352))))(517(494(283(988)(9))(785(680)(379)))(725(298(639)(416))(50(265)(167))))))(757(921(180(97)(690(717(984)(312))(877(248)(964))))(213))(37(671(376(391(845)(557))(468(201)(491)))(392(592(31)(565))(544(171)(569))))(228(246)(799(106)(149(885)(290)))))))(181(849(630)(959))(361(824)(307)))) +(174(201(356(540)(797(158(446(853)(734(573)(265)))(326))(288(205)(579(261(162)(623))(382)))))(814(343)(862(841)(681))))(554(169(416)(3(417(144(260(317)(916))(70(791)(109)))(272(128(333)(414))(755(634)(697))))(556(75(438(809)(857))(164(550)(576)))(298))))(330(753(137)(300(294(343)(896(959)(706)))(818(32(386)(80))(202(95)(785)))))(497(407(822(318(344)(197))(319(777)(113)))(836))(989(703(691)(164(165)(498)))(175)))))) +(396(724(264(500)(455))(328(15(925)(274(524(427)(509(164)(400)))(380(845(545)(369(845(278(184(37)(850))(769(552)(647)))(729))(96(191)(573(803(970)(526))(21(295)(844))))))(484(239(28(979(557(805)(153))(951))(646(358(50)(890))(374(522)(289))))(478))(755)))))(376(615(589)(799))(811(93(51(815(83(836(958)(376))(455(197(975)(653))(367(654)(945))))(968(399(347(94)(187))(567(12)(809)))(515)))(72))(281(839)(449)))(857(583(135(93(183)(589(625)(617)))(538(847(940(191)(619))(726(240)(167)))(67(667(650)(944))(839(750)(238)))))(9))(463(912)(104)))))))(427(490(126)(405))(27(579(454(260)(550(395(878)(278(811)(311(97(14)(257(342)(399)))(478(213(763)(510))(927)))))(749)))(820))(744(864)(159(932(266(123(743(753)(491(481(725)(472))(830(564)(241))))(133(133(116)(453))(312(627(299)(190))(114(813)(347)))))(662(773(853)(440(688(297)(268))(511(137)(795))))(779(373(816(705)(702))(924))(713(738(436)(303))(28)))))(57(782(367(726(528(347)(357))(281(746)(892)))(87))(548(673(18(544)(41))(766(489)(496)))(935)))(792(417(34)(77(228(640)(148))(634(811)(990))))(184))))(83(682)(46(520)(914)))))))) +(812(323(627(316(479(971(438(688)(333))(422))(646))(914))(102(662(772(43)(681(862(35)(729))(830(24)(926))))(509(38)(844(833(627)(80))(655(803)(389)))))(327)))(178(678(626)(182(176)(294(484(346)(161(814)(308)))(824))))(814(310)(226(800(76)(785))(62(649)(946))))))(210(144(274(179(932)(437(754(242(78)(154))(250))(838)))(306))(309(289(895(916(850(962)(971))(452))(512(132(64)(845))(780)))(374(85(761(428)(223))(804(425)(339)))(523(912(690)(733))(441(112)(833)))))(463(408(318(807(334)(162))(911(256)(841)))(529(607)(334(116)(13))))(239))))(203(161(534)(602))(353)))) +(529(760(402(704(675(10(513(363(340(934(195(916)(190))(369(989)(160)))(65(725(236)(49))(404(454)(220))))(933))(205(727(481(580)(191(285)(120)))(47(607(151)(619))(661(821)(740))))(551(463(635)(380(267)(667)))(676(395(496)(510))(91(495)(824))))))(803(445)(675(773(217)(173(331(823)(234))(20(311)(289))))(951))))(682(901)(504(415(677)(679(985)(38)))(380(331(294)(371))(23)))))(752(341(66)(6(413(854(585(691(853)(295))(343(494)(831)))(997(359(156)(114))(137)))(923(116)(733)))(389(723(815)(956(498(933)(659))(406(167)(199))))(771(180(96(673)(701))(667))(857)))))(615(609(993(822(594)(450(606(208)(422))(564(866)(486))))(447(193(196(582)(765))(840(842)(614)))(615)))(899(595)(67)))(661(285(98(718)(726(414)(509(630)(184))))(164(619)(710)))(390)))))(342(468(60(437)(15(233(843(863(980)(324))(982(649(947)(683))(593(601)(330))))(269))(838(759(968(750(841)(653))(435(727)(913)))(241(94)(670)))(555))))(936(718(573(925(734)(537))(542(228(424(387)(315))(426(795)(781)))(67)))(680))(933(107(472(355(218(193)(270))(623(394)(818)))(181))(701(870(542(111)(554))(419))(310(933(726)(117))(255))))(123(813(749(352(404)(990))(766(113)(7)))(5))(825)))))(545)))(616(338(541(34(916(172(382)(921(114)(773)))(704(448)(980(927)(108(737(367)(28))(608)))))(865(591)(499(949(592(431)(765))(20(309(726)(502))(712)))(148(173(257(159)(117))(135))(900)))))(874(628(960)(676(531(334(438(469)(846))(230(725)(585)))(735(53)(628)))(684(850(63)(950(673)(274)))(544(12)(988)))))(33)))(122))(343)))(52(226(251)(375(507(538)(940))(608(315(400)(300(460)(782(802(148(779(358)(959))(829(333)(525)))(429(921(686)(402))(146)))(678))))(659))))(99(669(111(66(742)(777(944(343(411(683(839)(322))(118))(684))(838(311(352(50)(362))(634(573)(323)))(775(4(654)(233))(162(449)(909)))))(528(130(110(469)(116(923)(663)))(524(958(887)(814))(654(69)(59))))(903(310(138(290)(752))(100(508)(513)))(950(678(19)(512))(898(908)(968)))))))(56(730(756(786(46)(827))(775(28)(772(836)(607(883)(120)))))(438(821)(612(258(247(539)(771))(318(581)(427)))(159(483(159)(66))(304(791)(807))))))(397(211(496)(444(342(237(816)(723))(995))(508(822)(549(275)(604)))))(252(515(718)(525))(898(630)(992(378)(701(451)(738))))))))(197(92(243(214(743)(72(32)(309(205(94)(778))(774(508)(252)))))(50(197(789)(261(918(894)(916))(761(138)(820))))(107)))(477))(463(499(213(452(805(158)(885(120)(892)))(990(860(336)(760))(352(818)(734))))(546(729)(813(621(707)(441))(661(36)(827)))))(658))(705(787)(623(51(386(360(800)(253))(502))(702(912(386)(632))(170(648)(869))))(195(426)(804(434)(446))))))))(684)))) +(212(454(677(225(655(101(997(203)(529))(976(769)(58)))(800(500(517)(747))(665)))(874))(581(189)(215(89(838(367)(820))(614(107)(320)))(475(399(110)(997))(223)))))(245(855)(869(885(813)(388(243(338)(188))(221(898)(482))))(7))))(153(228(330(448(181(26(287)(246))(855(193)(404)))(472))(146))(41(696(432)(798))(514(235(779)(884(71)(503)))(941(509(575)(216))(521(827)(234))))))(649(937)(778)))) +(629(269(370(416)(444))(951(570)(665(782(695(691(931)(813))(315))(60(616)(12(181(945(261)(669))(525(487)(907)))(983(75)(503(592)(360))))))(501))))(310(186(101(736(472(857(451)(842(473(429)(420))(255(348)(309))))(783(356(881(598)(22))(884(504)(125)))(64(94)(525))))(905))(314(286)(696)))(3(454(85(2(292(126(568)(172))(833))(515(881(360)(773))(694(276)(91))))(387(896(266(610)(815))(726))(507)))(352(865)(244)))(106(146(829)(419(130)(393(249)(278(736)(294)))))(716))))(206(53(604(693(635(646(690(759)(493))(27))(980))(376(770(790)(277))(936(829(971)(234))(946(82)(374)))))(351))(678(204)(423(215)(963(11(13(602)(734))(305(196)(671)))(442(317(340)(705))(173))))))(393(32(174(436)(334))(536(147)(324)))(991))))) +(366(957(843(140(214(755)(408(487)(162(452(225(281(863)(484(68)(68)))(309))(428(59(752(29)(49))(786(515)(321)))(78)))(882(125(279)(983(141)(503(129)(777))))(688)))))(939))(148(869(249(302(563)(28(597(505)(616(597)(685)))(215)))(382(553(790(416(950)(433(507)(276)))(28(798(905)(20))(789(934)(213))))(889(888(623(13)(47))(838(861)(296)))(604(544(382)(580))(18(371)(605)))))(572(380(602(37(955)(885))(720))(452(232(275)(1))(999(383)(338))))(100(724(617(900)(719))(658(560)(790)))(632(750)(98))))))(886(691(96)(504(112(453(611(124)(792))(620(850)(228)))(313(128(230)(326))(195)))(50(853)(41(459(856)(317))(4)))))(380)))(955(790(670(706(37(725(635)(336(690)(909)))(215))(983(977(258)(865(438)(688)))(414(206(921)(850))(77(384)(913)))))(973(700(202(395(908)(308))(266(836)(326)))(909(11)(873(986)(262))))(797(421(968(794)(755))(235(13)(53)))(336(195(938)(140))(637(257)(609))))))(979))(379(144)(445(825)(128(710(990(606(896)(992))(238(845)(804)))(942(547(901)(911))(913(865)(26))))(25(728)(603))))))))(33(880)(5(597(277)(347))(240(374(119(609(69(496)(354(5(689)(927))(553(2)(902))))(743(711)(929(792)(897(560)(348)))))(570(48(434(107(519)(310))(182))(704(621(759)(64))(841)))(204(448)(525))))(618(645)(877)))(468(852)(527))))))(629(75(638(587(475(847)(337(861)(157(769)(31(28)(900)))))(161(780(299(700(189(566)(779(517)(536)))(517))(893(784(2(25)(277))(548))(519(388)(318(441)(185)))))(813(197)(503(577(597(806)(341))(240))(354))))(540(857)(444))))(863))(837(719(189)(796(778(401(79(663(492(947)(970))(575(586)(577)))(52(592(352)(46))(160)))(416(274(898(448)(846))(983(73)(381)))(90(874)(924(254)(244)))))(402(925)(295(149)(537(195(632)(820))(25(151)(734))))))(614(299(449(431)(534(787(548)(262))(821(622)(657))))(711))(478(564(988)(44(752(65)(969))(245(769)(390))))(705(613(596)(941))(326))))))(128(647(353(303(587)(212(556(674)(276))(657(67(405)(496))(886))))(917(544)(723(531(794(97)(337))(587))(879(532(858)(257))(381(567)(612))))))(6(386(599(323(772)(287(449)(323)))(642))(73(463(222(813)(637))(14(880)(303)))(19(458(231)(527))(612(638)(799)))))(389)))(182(291(132(352(700(170)(496))(158(931)(489(788)(104))))(312(7)(843)))(279))(654(397(729(6)(188(459(187)(646))(851(963)(328))))(488(614(117)(668))(243(259(999)(468))(779(198)(752)))))(670(553(445(392(191)(557))(207(119)(96)))(181))(190(767(898(1)(588))(504))(462(661(546)(40))(593(49)(876))))))))))(92(629(253(115)(327(441(737(778(393(865(387)(977))(663(468)(881)))(123(170(273)(117))(55(89)(2))))(469(912(869(676)(960))(290(21)(139)))(817)))(257(5)(484(978)(707(896(74)(967))(902)))))(136(603(381(691(230(108)(293))(497(2)(302)))(186(198(184)(901))(788)))(344(429(798)(80(626)(45)))(254)))(206(33)(18(547(293)(733(555)(834)))(70(509)(352)))))))(80))(283(851)(366(412(26(118(67(946(883)(510(303)(716)))(474))(746))(156(610(67(749(524)(376))(801(246)(982)))(919(626)(630(829)(396))))(858(612(157(285)(201))(868))(579))))(955(467)(974(296(545)(587))(451(594(99(483)(313))(359(323)(228)))(375(150(69)(958))(388(660)(995)))))))(372(785)(496(684(207(791)(196))(93(156(803)(649(706)(323)))(573(902(558)(742))(824(829)(775)))))(235(659(57(222(519)(237))(952(682)(329)))(487(929)(805)))(95(115(18)(518))(985(403)(793))))))))))) +(365(425(1(856)(393))(741(830)(219(688)(615(33(619)(964(346(686(668)(209))(223))(256(928(94(799(619)(18))(48))(114))(110(393(722)(557))(628(609(476)(582))(158))))))(308(755(419)(160(389(653(673(126)(340))(264))(561(185)(861(231)(726))))(674(771(648(642)(483))(569))(628(502(822)(625))(916(168)(596))))))(733))))))(364(49(346(165(938(721)(951(618)(741(323(244(285(532)(936))(647(422)(855)))(665(198(28)(352))(952(115)(922))))(721))))(608(779)(856(193(681)(794))(629(635)(506(342)(953(179(399)(189))(617)))))))(94))(739))(884(604)(581(49(189)(653(576(734(415)(682))(291(52(494(798(401)(928))(613(181)(151)))(956(807(119)(992))(151(458)(580))))(293(877(986(725)(342))(47))(701(300(809)(477))(63)))))(250(300(671(73(431(866)(323))(563(480)(79)))(384(291(881)(609))(24(736)(946))))(60(52(560)(222))(921(834(570)(807))(579(944)(394)))))(934))))(775(972(919(23(95(852(874)(305(457)(808)))(589))(324(122)(991(990)(324))))(618(814)(551(442(364(868)(963))(531(36)(475)))(551(176(276)(496))(802(749)(115))))))(939(531)(686(779(466(733(708)(15))(167(26)(582)))(742))(227(698(795)(224(73)(198)))(484(364(36)(286))(510(466)(548)))))))(251)))))) +(963(87(648(755(191)(334(790(853)(584(434)(84(13(549(699)(53))(429))(871))))(71)))(51(823)(977(2(252(316(345(142)(594(198)(697)))(934(992(916)(817))(600(337)(603))))(867))(344))(262(914(241(32(52(95)(174))(381(384)(158)))(110))(733(200(273)(211))(844(536(625)(167))(293(61)(283)))))(808(189(617(742(924)(812))(508(217)(394)))(100))(908(330)(754(499)(585(354)(129)))))))))(461(950)(520)))(261(831(276(290(641)(101(343(566(278)(367(618(47)(595))(358(328)(537))))(149(684)(612(805)(769(816)(578)))))(280(258(825(926(879)(606))(193))(564))(71(630(293(732)(946))(712(473)(625)))(374(67(218)(854))(895(862)(220)))))))(957))(861))(661(64(880(162(868)(654(251(465)(650(708(567)(669))(480(629)(825))))(734)))(743(413)(776(282(374(680(629)(384))(651(574)(174)))(357(835)(514(434)(570))))(904(994(219(989)(679))(977(539)(365)))(804(255(405)(986))(76(170)(185)))))))(457(230(341)(892(678(70(654(201)(978))(422))(502(312(773)(106))(857(770)(750))))(824(52(654(397)(186))(862(907)(82)))(960(239)(298(551)(854))))))(116)))(352(929(110(132(637)(12))(114))(565(540(413)(314))(39(287(826(757)(642))(398(916(351)(451))(925(909)(727))))(521(751(437(18)(293))(611))(23(665(487)(873))(609))))))(603))))) +(991(212(432(0(746)(924))(617(505)(327(629)(597(321)(836)))))(389(984(521)(38))(514)))(310(341(782)(246(222(564(951(759(323(682)(259))(532(407(680)(494))(754)))(83(634(232(70)(72))(515(588)(644)))(968(267(985)(86))(239(335)(637)))))(437))(751(53(581)(353(191(675(402)(120))(189))(787(559(285)(474))(765))))(126(168)(235(777)(264(685)(968))))))(39)))(804(817(424(512(887)(134(603(807(360(348)(254))(468(10)(352)))(829))(445(471(447(45)(637))(669))(720(938(560)(221))(510(609)(510))))))(204))(706(528(498)(769(667(915)(36(332(635)(584))(626(599)(888))))(690(287)(173(412(571)(630))(273(434)(874))))))(775)))(354(269(109(379(258(542(754(774)(853))(537))(502))(713(582)(605(662(755)(36))(575(172)(227)))))(292))(147))(130))))) +(507(30(140(749(204)(234(249(554(539(836)(9(663)(437)))(722))(768(160(624(127)(783))(865(41)(793)))(310(742)(694))))(153(715(887(272)(525(627)(399)))(612(627(65)(560))(680)))(237))))(378(222(49(196(434)(118(675(755)(719))(498)))(401(105(363(19)(548))(569(352)(715)))(657)))(378(957(613(395)(518(133)(545)))(967(570)(607(961)(245))))(530(625)(75(76)(901)))))(174)))(762(847(530(373)(55(480(32(554)(387))(161))(563)))(501(3)(109(769(251)(323))(833))))(152(928(233(535(161(838(913)(61))(816))(673(375)(131(451)(543))))(121))(10))(827))))(989(850(965(986)(894))(674))(157(71(400(659(794(17(703(544)(549))(732(707)(499)))(529(939(253)(588))(986(920)(589))))(146(317)(939)))(364(881)(801)))(919(589)(344(827(329(206(812)(910))(238(627)(182)))(488))(113(867(813(457)(886))(74))(352(447)(246(590)(707)))))))(148)))) +(494(696(54(206(236(544(467)(226))(932(327(332(425)(940))(751))(463(571)(768(860(652)(778))(423(87)(479))))))(916(850)(271)))(404(929(457(922)(187(394(176)(46(899)(232)))(208(753(644)(718))(746))))(841))(789(659(902(481(964)(767(273)(745)))(988(808)(188(529)(545))))(656))(545(953)(512(638(273)(200(915)(751)))(960(255(752)(880))(794(593)(953))))))))(250(534(470(889(676)(268(654(520(730)(156))(506))(721(991(574)(253))(495(93)(766)))))(132(282(138(973(731)(1))(795(312)(496)))(292(371(909)(322))(423)))(54(789)(388))))(730(343(332(395)(694(586(468)(344))(282(335)(64))))(427(515(500)(221(958)(465)))(597)))(427)))(554(581(59)(569(50)(88)))(359))))(839(328(939(877(699(624(810(551(635)(239))(914(691)(577)))(933))(710(225(187)(353))(23(352(375)(186))(731(1)(277)))))(735(917(439(619(979)(311))(820(210)(117)))(484))(425)))(239(593(210(986(716)(381(860)(732)))(741(3(661)(971))(968)))(526(264(532(364)(340))(740))(324)))(202(272(125(388(418)(162))(333))(130(12(428)(185))(284)))(0(219(632)(812))(632)))))(808))(662(13)(410(443)(375(635(816(757(769(636)(739))(629(988)(248)))(476))(719(224)(728(329)(386(706)(693)))))(181(366)(595))))))) +(420(450(527(243(482)(130(199)(34(648(718(993)(215(748)(563)))(290))(303(698(917(854)(324))(966(37)(947)))(471)))))(552))(487(216(910(604(465)(982(813(831)(788(115)(31)))(572(470(43)(315))(330(991)(688)))))(635(974)(389)))(910))(439(640(836(95(130(410(757)(649))(229(659)(705)))(675(477(505)(424))(752(130)(509))))(26))(691))(718(7(58(953)(840(530(594)(301))(243(955)(791))))(77))(55)))))(682(380(558(469(455(449(205)(757))(164))(439(358(104(781(962)(717))(938(624)(758)))(102))(778(841(607)(972(880)(945)))(156(948)(841(541)(423))))))(631))(241(346)(958(741(917)(949(97)(813(627(72)(872))(297(287)(312)))))(17(87(780)(636(515)(139(820)(616))))(890(921(246)(343))(111(599)(850)))))))(983(322(398(608)(801(479(700(448)(488(958)(783)))(30(334)(895)))(104(2)(620(333(722)(524))(470(73)(312))))))(402(860(82)(62(805)(158(286)(23(217)(376)))))(1(566)(976(254(112(77)(834))(75(626)(307)))(763(226(484)(362))(328(566)(758)))))))(406)))) +(443(975(318(463(260)(832))(968(854)(292(691(177(32)(79))(959(580)(51(293)(155))))(890))))(723(209(659(95(266)(684(903)(635(684)(170))))(403))(697(626(731(944(550)(454))(466(83)(755)))(272(455(879)(596))(752)))(377(492(973(823)(302))(173))(699(748)(776(48)(215))))))(443(812)(485(34)(120(456(633(357)(818))(777(500)(912)))(811))))))(144(595(370(489(847(151(607(959)(938))(364))(783))(680(228(339(983)(734))(554))(815(445)(798(669)(544)))))(146(830)(601)))(746))(553(279(72(742)(79(225(58)(146(672)(450)))(212(127(511)(916))(34(561)(148)))))(172(306(258)(8(532(374)(524))(951(381)(269))))(284(408(267)(821(129)(692)))(177(848(10)(944))(885(855)(510))))))(783(807)(271))))) +(455(339(734(839)(929(695(655(650(560)(829))(600(92)(660)))(997(442(697)(627))(664(471)(557))))(474(823(208(344)(744))(471(209)(566)))(947(999)(581(614)(767))))))(839(536(747)(881))(460(524)(252(829)(278)))))(228(853(925)(288(203(216(960(443)(160))(55))(993(385(170)(251))(419(390)(434))))(964)))(802(512)(956)))) +(73(767(422(408(82(896)(362(23)(82(839(488(228(339)(739))(891(977)(483)))(487(531(817)(36))(584(20)(773))))(437(89(372)(765(166)(72)))(376(824(195)(867))(397(225)(785)))))))(651(626(375(30(27(563)(960))(194))(92(937)(42(491(921)(302))(775(998)(930)))))(565(419)(441(992)(751(292)(517(436)(769))))))(807)))(1))(900(806)(189(650(16)(863(22)(339(845(46)(67(52)(389(641)(411))))(153(362(461(524)(310))(207(465)(275)))(311(17)(974(857)(716)))))))(683(618(381)(749(598(979(604(556)(698))(352(394)(913)))(36))(195)))(140)))))(478(532(738(352)(522(209)(627(837(624)(81(869(508(149)(313))(449(953)(683)))(40(833)(575(89)(307)))))(798(406(784(278)(671(275)(458)))(989))(644)))))(58(252(86(930(739(357)(846(626)(334)))(672(550)(754(796(868)(41))(316(331)(324)))))(164(148(310(169)(913))(804(824(859)(920))(243(67)(735))))(876(381(344(354)(15))(571(877)(29)))(419(282)(135(490)(581))))))(530(251(410(175(892(989)(834))(593(558)(235)))(811))(52(226)(511(646(443)(706))(704(217)(968)))))(984(443)(923(792(129(60)(420))(194(705)(291)))(409)))))(803(209(21(604(494(53(232)(704))(924(338)(746)))(891(87(133)(384))(669(195)(358))))(550(853(291(482)(815))(755(740)(7)))(490(104(201)(466))(303))))(602))(779(557)(86(677(524(636(579)(84))(96(173)(520)))(109))(168))))))(591(556(598(27)(457))(851))(542)))) +(65(232(525(329(183(74)(953(331(995(8)(128))(257(699(151)(934))(705)))(878(622(758)(327(246)(101)))(680))))(9(12(776)(174))(77(541(432(604(363)(98))(615))(586(266)(390(30)(372))))(785))))(199(20(593(884(271)(589))(609(519)(516(300(328)(211))(307(263)(359)))))(203(947(838)(42))(828(517(407)(485(886)(849)))(666(464(353)(684))(644(995)(720))))))(845)))(386(85(512(245(724(405(348(552)(382))(913))(669))(571))(834(781(185)(836))(843(909(36(65)(610))(142(505)(838)))(214(697(573)(881))(720)))))(507(553(159)(258))(847(122)(840(115(868(206)(662))(17(771)(982)))(572(290(24)(746))(666(783)(986)))))))(405)))(45(87(707(530(711(613(585)(947(823(635)(742))(315(82)(988))))(291(495)(433(749(570)(474))(592(823)(432)))))(712(629)(419(338(114(965)(419))(107(19)(335)))(674(720(910)(769))(25(210)(569))))))(711(78)(498(715)(674))))(721(187)(942(965(621)(433(57)(772)))(345))))(566(848(192(160(483)(390))(870(596(42(120)(366(485)(275)))(235(963(446)(869))(62(37)(354))))(603(457(678)(745(947)(28)))(614(495)(681(766)(588))))))(138))(617)))) +(475(409(68(109(84)(634(702(945(49)(477))(147))(287)))(356))(994(313(788)(151))(32(594(420(384(938)(491))(831(52)(196)))(338(402)(281)))(290(286(294(364)(927))(603(797)(200)))(348)))))(675(497(397(726(127)(444(891(993)(623))(327)))(586(8(118(300)(946))(716))(952)))(567))(326(805(989(391)(796(319)(436)))(747(802(189(416)(594))(772(951)(952)))(282(14)(97(830)(415)))))(977)))) +(131(145(274(990)(612))(201(139(655)(119(730(229)(803(80(312(811(374(959)(863))(180(867)(703)))(46(385)(79(181)(218))))(188(223)(956(487)(435))))(327)))(661)))(316(883(534)(315(803(248(251(84(788)(945(978)(483)))(309(321(656)(3))(49(464)(40))))(438(810(9(688)(994))(340(718)(852)))(28(175(949)(455))(559(609)(367)))))(225(828)(294)))(798(424(69(453(84(526)(852))(577))(811))(620))(789(560)(511(81)(324))))))(500(832(378(537(3)(156(942(768(149)(699))(286(917)(914)))(763)))(823(716(381(322(812)(237))(586(618)(644)))(222(479(446)(293))(306)))(850(379(563(383)(519))(371(752)(934)))(76))))(13(480(91(107(431(576)(52))(515(99)(812)))(237(68)(671(891)(809))))(69(255)(504)))(501(764(790)(687(246)(2(66)(306))))(682(560(31)(174(860)(794)))(922(533(593)(294))(870))))))(98(239)(857(491(684)(788(254(723(704)(180))(212))(167)))(54(404)(404(599(127(980)(956))(56))(801(569(267)(733))(841(871)(272)))))))))))(265(823(681)(373(261(54(471)(635(463(506(941)(860(184)(431)))(851))(435(741(26(790(871)(733))(944(526)(498)))(938))(1(211(92(981)(690))(534(499)(975)))(279(987)(129(195)(434)))))))(139))(587)))(608(72)(45(716(229(30(347)(773(265)(539(602)(912))))(455(907(859)(775(56(270(805)(884))(523(45)(342)))(219(215)(194))))(186(821(828)(978(555(971)(116))(106(575)(597))))(295))))(107(792)(237(451(219(517(252(114)(963))(374))(535(85(726)(941))(366)))(758(61(25(923)(539))(28))(76)))(843(382(584(813(123)(105))(712(953)(328)))(798(108(186)(828))(917)))(255)))))(418))))) +(642(524(376(111(612)(962(336(157(56(738)(252(164(990)(656(271)(12)))(262(406(250)(455))(478(42)(537)))))(822(408(51(318)(392(48)(402)))(995))(270(524(975(727)(246))(437))(86(369(747)(755))(909(697)(685))))))(982(492(787(914(671(617)(327))(512(365)(814)))(412))(534))(467)))(32(187)(103(343(605(727(330)(559(266)(489)))(889(901(248)(945))(212(393)(474))))(256))(361)))))(470(629)(738(786(518)(724(233(779(711(854(444)(615))(768))(765(607)(7)))(253))(220(979(350(21)(501(949)(739)))(662))(949(620(700(767)(294))(972(28)(892)))(784)))))(376(729(695)(476(683)(540(410)(646))))(142(398(241)(877(77)(539)))(133(930)(821(222(84)(554(120)(433)))(573))))))))(352(538(789(466(254(834)(778(295(698(428(103)(234))(736(107)(546)))(270))(47(262)(599(6(791)(409))(879(191)(795))))))(770))(830(172(671(405)(416(897(174(122)(680))(23(971)(498)))(702(422(17)(297))(44(368)(130)))))(918(540(154(576(86)(505))(397(116)(311)))(727(393(17)(25))(769(187)(675))))(311(222(381)(850(308)(584)))(396(557(609)(786))(471)))))(325)))(908(156)(506(640(283(270)(321(462(958(85)(914))(323))(978(502(59)(218))(971))))(614(626)(850(466(794(228)(720))(636(81)(636)))(657(628)(115)))))(173))))(851(127(444(242)(631(854)(803)))(458(956(354(217(377(363(688)(183))(745(722)(828)))(408))(831))(584(410(567(737(557)(575))(110(93)(779)))(143(620(853)(381))(505(313)(870))))(266)))(821)))(751(183(206(990(352(550)(926(883)(15(750)(654))))(336(869)(572)))(121(146(714(385(380)(320))(253))(578(671)(350(481)(50))))(849(555)(973))))(752))(478(587(951(117(521(175(525)(117))(929(64)(905)))(206(49)(611(312)(487))))(560(248(222)(543(880)(379)))(120(758(168)(492))(903(145)(161)))))(539))(789))))))(14(99(473)(822(49(960(325(628(511(515(738)(88))(49(765(549)(395))(932)))(227(565)(278(897(538)(991))(482(601)(112)))))(115(916(231(281(427)(360))(238(138)(172)))(797(83(422)(646))(680(365)(50))))(294)))(648))(64(7(52(684)(369(356(991(59)(748))(589))(924)))(24(401(293(470(417)(580))(435(640)(516)))(243(412)(222)))(342(849(557(962)(552))(89(707)(667)))(528(942(953)(49))(568)))))(143)))(222(564(438)(0))(352(947(593(508(73(712)(947))(422(445)(361(297)(141))))(180))(770(83(263(770(175)(137))(302))(849(102(115)(415))(688(553)(476))))(666(931(218)(60(411)(711)))(784))))(776)))))(694(519(226(181(19)(394(803(576(6)(284(915(177)(127))(326(132)(146))))(166(972)(996)))(437(920(652)(530))(397(38)(473)))))(324(683(726)(524(605)(1(866(967(955)(6))(21(278)(638)))(551(348(604)(628))(926(857)(758))))))(113)))(113(36(367(371)(810(859(312(908(95)(410))(892(248)(630)))(660(476(286)(727))(463)))(860(979(93)(358(10)(186)))(746(608(152)(391))(382(742)(606))))))(618))(85)))(387(861(385(498(101(91(949)(820))(728))(568(502(99)(723(322(530)(223))(698(610)(944))))(286(11(955(795)(607))(68(227)(138)))(520(786(945)(652))(944(174)(290))))))(984(954)(712)))(753))(826(632)(990)))))) +(856(996(876(525)(973(564(607)(316(599)(529)))(622)))(786(486(674(358(719(429)(742))(261))(161(73(586)(841))(772(653)(408))))(586(786(695)(126(280)(629)))(388(14(665)(143))(85(945)(797)))))(592)))(910(208(767(404(290)(386(813(29)(174))(849(265)(424))))(864))(432(381(689(684(299)(846))(205(911)(111)))(702(524(484)(236))(142(156)(705))))(985(63(450(144)(31))(841))(205(706)(597(685)(768))))))(862(332(227(563)(531(446)(844(191)(406))))(509))(992(560(921)(644(418)(519(178)(64))))(84))))) +(176(101(948(912)(486))(928(57(356)(199(755)(211(569(605(596(954)(618(319)(393)))(146))(890(855(688(129)(106))(982))(46)))(828(549(717(775)(460(58)(452)))(370))(708(506(313(442)(200))(521(62)(352)))(149))))))(64(150(4)(96))(944(30(619(77(587(701)(11(478)(837)))(984(547(148)(696))(773(262)(270))))(668))(802(166)(789(148(721(917)(265))(20(330)(271)))(155(608)(29(109)(950))))))(848(530(11(620(288(440)(906))(18(692)(294)))(296(335(256)(353))(499)))(872))(949))))))(819(68(181(382(370(295(681)(117(662(946(994)(184))(961(875)(933)))(221(242(919)(615))(197(155)(622)))))(587(718(490(708(555)(878))(635(316)(218)))(884))(231(280(186(96)(483))(828))(688(155(87)(185))(289(928)(929))))))(422))(968(809(918(289(663)(326))(453(20(518)(744))(96(267(972)(243))(239))))(738))(672(337(59(844(404)(403(572)(174)))(102))(675(832(699)(755(660)(825)))(345)))(401(226)(17)))))(25(120(102(301(260(830)(305(979(689)(549))(586(897)(364))))(579(177)(476(946(956)(947))(626(520)(711)))))(216))(692(457(731)(264))(372(846(4)(868(78(433)(303))(0(310)(211))))(311(790(151(876)(99))(181))(356(536(445)(745))(781))))))(919(736)(659(591(118(150(448(608)(362))(405))(991(485(84)(53))(964)))(611(758)(183(961(302)(811))(932(660)(977)))))(774(841)(995(332(10)(291))(963(387)(791(604)(888)))))))))(336(632(785(158)(771(554)(230(12)(510(528(812(803)(30))(504(577)(129)))(950(84)(521(626)(149)))))))(454))(226(380(215(777(654(50(965(970)(799))(556(859)(637)))(896(539(125)(419))(518(323)(687))))(504(59(674(743)(547))(490))(526(904(158)(916))(980(100)(389)))))(101(291(70(939(804)(239))(107(16)(310)))(914(364(583)(966))(333(593)(867))))(956)))(213(260)(568(407(697(761)(215(87)(576)))(598(467(555)(464))(940)))(137(613(562(256)(380))(973(194)(463)))(38(97(235)(534))(370(103)(831)))))))(779(877(268(508(434(316(812)(716))(631(905)(478)))(203))(700))(167(236)(524(846(117(676)(501))(402(71)(558)))(159(310(967)(491))(635(870)(178))))))(494(583)(54))))))) +(852(666(196(965(46(969)(50(560)(653(736(977(174)(799))(579(610)(187)))(535(224(319)(905))(659)))))(16))(823))(166(432(547(118(22(308)(222(604(187)(673))(810(780)(109))))(598(435(31)(945))(291(95(217)(110))(277(11)(311)))))(704(456(508(118(85)(886))(29))(614(497)(156(232)(940))))(768(756(268(535)(592))(302(651)(89)))(656(136(606)(255))(337)))))(5(615(988(615)(257))(289(279)(652)))(459(207(213(506(469)(919))(312(955)(974)))(210(94(775)(751))(114(374)(289))))(970))))(823(677(631)(111(23(70(252(833)(937))(96(627)(806)))(429))(849(810(700(99)(288))(809(712)(245)))(175))))(150(496(107)(967(247(953)(779(238)(795)))(707(186)(458(789)(128)))))(722(937)(694(205(529(73)(285))(608(130)(689)))(230(640(404)(451))(397(610)(485)))))))))(817(111(479)(493(640)(976)))(968(787(853(363)(810(352(620(800(398)(118))(63))(12))(35(515(828(570)(819))(866(586)(853)))(525(661(770)(93))(10(747)(545))))))(336(535(871(826)(918))(174(983)(152)))(551(175(758)(786(348(667)(264))(736(80)(377))))(471))))(338)))) +(159(588(648(580(809(334)(867))(720(992)(823(948(191(789)(447))(11(359)(278)))(932(524)(721(60)(137))))))(699(706(432)(424))(611(268(284)(505))(732))))(77(634)(587(495(920(97)(858(188(258)(356))(183(499)(877))))(374))(268(602)(266(32(176(989)(520))(615(969)(852)))(864(507)(112)))))))(141(659(312(679)(919(995)(909)))(188(274(613(941(33(898)(115))(664(417)(577)))(380(811(344)(209))(909(275)(408))))(103(817)(477)))(524)))(265(696(0(31)(444(296(920)(416(933)(798)))(235(869(622)(274))(401(169)(71)))))(611(515)(179)))(725(444)(536(990(419)(543(369)(498)))(141(984(858(914)(322))(340))(469(623)(285)))))))) +(336(864(658(181(900(275(751(471)(226(569)(643)))(648))(425(374(862(656(527(498(55)(653))(346(235)(476)))(438(714(588)(255))(411(829)(304))))(841(825)(327)))(210(639(586(677(84)(344))(593(334)(397)))(480))(555(30(7(941)(522))(320(862)(219)))(444(70(5)(734))(385)))))(7(553(547(466(45(793)(99))(982))(649))(244(382(782(140)(514))(664(584)(980)))(871(627)(457(816)(985)))))(705(612)(465)))))(859(44)(481(103(25)(283))(767(652)(772)))))(187(874(904)(407(225(368(745(743(32(334)(573))(337(243)(16)))(287))(380(80)(694)))(307(471(214(186(343)(653))(357(46)(263)))(845(250(20)(404))(814)))(492)))(318(602)(184(78(508(755(237)(697))(300))(12(269(860)(437))(35(952)(395))))(292(59)(173))))))(778(520)(61(146(876(761(700)(860))(525(179(275)(726(905)(322)))(438(198(574)(622))(228))))(858(365(670(485)(409(64)(234)))(213(582)(672)))(129)))(796(703(103)(49(599(219)(677(685)(280)))(210(881(922)(470))(38(421)(210)))))(266(95)(119)))))))(778(858(717)(534))(80(141(544(254(690(614(507(629)(10(300)(952)))(667(144(301)(209))(53)))(434(13(344(404)(324))(460(81)(926)))(711)))(875(51(112)(744))(875(164(686(561)(754))(866(448)(165)))(395(118(713)(700))(905(476)(590))))))(990(8(118(265(379)(543(7)(953)))(49(166(588)(695))(446)))(616(877(854(645)(206))(842(910)(94)))(9(440(734)(949))(873(555)(141)))))(532(934)(143))))(229(380)(642)))(568(820(462(665(264)(144))(840(671)(174)))(629))(731)))))(237(896(502(564(870)(392))(655(91)(821)))(448(51(63(690(471(562(296)(75(803(55)(176))(811)))(285))(837(105)(697(147)(32(984(270)(942))(180)))))(922))(922))(535(309)(421(420)(547(340(778(333(342(682)(773))(104))(684(410(822)(239))(851(768)(114))))(229(309(154(258)(459))(122))(88(661)(146(603)(508)))))(945(12(185)(792))(580(191)(396(399(728)(640))(496)))))))))(754(978(819)(263(522)(970(857(736(971)(961(126)(219(491(237)(736))(884(6)(52)))))(443(588)(973(328)(4(295)(922(5)(690))))))(466(464(223)(193))(665(940)(607(771(566(60)(804))(764(805)(19)))(31(826(212)(502))(735))))))))(335(216(662)(84(675)(410(987(823)(90))(768(625(375)(982(623(730)(312))(274)))(182)))))(375(892)(883)))))) +(577(685(6(618)(759(796)(450(498(2)(339(178)(280(991)(469))))(855(524)(759(916(197)(616))(787))))))(589(294)(184)))(930(157(636)(101(799)(349)))(703(983)(449(371(93)(739))(590(735(820(620)(972))(31))(523)))))) +(803(725(134(693(276(173(744)(147(680)(339)))(865(417(509(912)(113(923(505(82)(883))(176))(669)))(831))(922(388(330)(424(452(795(836)(21))(619(315)(562)))(104(455(168)(335))(569))))(697))))(722(896(266)(831(164(913(244(152(186)(342))(767(837)(285)))(764(655(924)(283))(707(306)(297))))(175(705(463)(177(871)(291)))(233(653)(60(706)(698)))))(601)))(339(615(626(368(682(485(608)(294))(638(458)(944)))(584(753)(754(690)(658))))(273(169)(548(205)(387))))(866))(999(620)(734(56)(269(139)(187)))))))(65))(418(8)(699(181)(343(846(769(306(78)(371(685(476)(573(435)(981)))(829)))(392))(110(763(638)(711(326(608(680)(30))(681))(205(257(337)(275))(260))))(702(133(103)(628))(610(59(971(323)(883))(368(741)(660)))(20(39)(637(424)(523)))))))(551(729(833(353(689)(263))(482))(544(498)(898(394(429(310)(93))(224(68)(996)))(773(410(321)(206))(382(854)(689))))))(961(477(987)(948(714(157(528)(742))(442(392)(673)))(378)))(319(964(947(923(811)(231))(78))(216(34(561)(536))(691)))(749(989)(793)))))))))(845(423(802(247(372(222(754)(822(238(538(820(148)(569))(83(14)(749)))(820(987(24)(795))(475)))(333(500(697(743)(402))(13))(977(894(744)(831))(728(286)(3))))))(356))(309(252(234)(69(689(813)(340))(701(153)(143(259)(422(48)(799))))))(102(103(496(30(453(291)(959))(377(533)(174)))(422(397(67)(719))(590(332)(260))))(957))(892(400(498(280(476)(834))(162))(125(467(630)(843))(221(604)(446))))(561)))))(922))(764(689(15(120(946)(743(330(596)(527))(779)))(306(947(412(717(787)(490))(906(497(849)(893))(3(433)(378))))(559(717(99(837)(414))(495))(319(623)(760))))(61(680(454(453(479)(206))(567(378)(718)))(669(193(223)(863))(188)))(332(727(577(518)(699))(866(56)(869)))(566)))))(800(860(985(205(148(141(644)(70))(35))(669(808)(191)))(440(648(384(870)(773))(217))(606)))(189(888(618(671(395)(223))(245(624)(662)))(458))(977(172)(500(340(837)(404))(848(189)(800))))))(619)))(625(424(2(876(229)(460))(243(186(741(201(218)(371))(218(473)(249)))(408(581(359)(788))(957)))(435)))(81(993(808)(983))(350)))(889(465(505(461)(670(462)(84(426(806)(377))(53))))(941(956)(551(823)(169(645(359)(643))(661)))))(544(644)(220(699(848(656)(672(163)(964)))(991))(794)))))))(67(500(240(344(375(288(923(979)(467))(191))(49))(328(451)(426)))(162(96(615)(78))(429)))(97))(512(387(310(138(735(1(749(227(983)(201))(828(691)(893)))(1(202(979)(25))(137(56)(497))))(332))(234(383(40(117)(686))(188(763(680)(955))(442)))(553(668(232(699)(219))(136(761)(530)))(81))))(618(959)(440)))(35(734(848)(641(796(503(133(290)(873))(172))(274(570(232)(809))(208(474)(588))))(871)))(486(146(694(82(655(89)(126))(222(268)(721)))(166(286(832)(166))(528(274)(860))))(609(951(420(665)(813))(841(783)(587)))(388)))(861))))(643(925(143(71)(704(542)(137(977(54)(602(103)(293)))(166(997)(327)))))(461(783)(466(545(772(584(890)(726))(462(654)(911)))(876))(251(330(776(291)(578))(545(295)(16)))(176)))))(640)))))) +(573(195(565(887(553)(947(759)(624(744)(995))))(460))(827(479(69)(436(220)(224)))(613(962)(235(134(395(96)(650(2(215)(389))(790(144)(392))))(390))(889(273)(811(124(627(832)(85))(193(540)(579)))(178(176(749)(716))(757(920)(935)))))))))(461(797(233(779(229(535(501(905(894)(663))(493(342)(123)))(266))(443(588(996(376)(964))(712))(11(735)(907(536)(937)))))(369(561(661(123(311)(172))(327))(313(107(545)(357))(701(283)(927))))(700(211)(281(378(496)(83))(719)))))(905(502(215(96)(45(651(418)(169))(846(950)(222))))(653))(499(512(177)(247))(286(309(437)(306(610)(659)))(681(21(603)(88))(336))))))(306(328(984(453)(693(975(540(857)(489))(117(735)(843)))(414(721(827)(250))(134))))(44(577)(168)))(454(999(662)(685))(745(905(977(286(648)(219))(433(105)(526)))(35(564)(112)))(368(809)(450(407)(849(82)(105))))))))(554(880(779(460(181(953(439(964)(897))(59))(929(302)(793(322)(757))))(29(947(324(921)(986))(241(237)(30)))(957(155(629)(455))(183(263)(773)))))(313(884(328)(487(151(246)(136))(316(567)(517))))(707(439)(37))))(522))(777(295(932)(649(223(699(651(542)(980))(46))(363(873(643)(427))(811(219)(314))))(970(188)(802))))(94))))) +(148(110(756(559(287)(578))(66(113(415)(320(364(636(995)(663))(101(538)(479)))(691(916(147)(404))(346))))(610(815(815(775(678)(598))(486(61)(340)))(154(578)(476)))(316(29(286(138)(871))(252(134)(609)))(116(415(708)(0))(511(213)(189)))))))(216(67)(466(999)(637(628)(83(367(636(225)(748))(779(908)(257)))(131))))))(64(826(945(229(308)(123(876(477(308)(319))(226(593)(597)))(290)))(935(931(149)(278(569(219)(357))(390(786)(615))))(151)))(957(25(950(877(90(855)(906))(692))(788(686(969)(182))(293(388)(32))))(662(63(582(900)(917))(256))(552(829(835)(955))(89))))(640(122(501(684)(152(372)(688)))(898))(9(52(528)(731))(946(26)(336(988)(581)))))))(839(307(660)(516(144(711)(605(39(489)(291))(763(359)(54))))(717(942(685)(892(52)(643)))(690(709(776)(996))(990(943)(962))))))(89)))) +(899(768(452(126)(211(769(533(767(835(530)(452(724)(998)))(473(609)(199)))(658(720(295(949(214)(990))(742))(658(361(14)(221))(739(147)(956))))(961(833(353(13)(682))(382))(505(306(5)(294))(293)))))(88(5)(60(164(151(611(920)(883))(302(478)(721)))(50(128(980)(267))(106(797)(814))))(952(524)(959(315)(595(469)(799)))))))(963)))(526(989(940(405(229(306)(310(349(38(828)(601))(887(621)(163)))(269(506(43)(386))(972))))(145(663)(545(406(682(645)(843))(48(286)(85)))(626(569(363)(994))(159(898)(324))))))(718(630(320(874)(703))(214(593(508(448)(695))(808))(945(606(725)(246))(446(949)(81)))))(246(18(695(384(595)(623))(505(772)(457)))(707(82(478)(886))(971)))(985(661)(741)))))(992))(834(313(446)(196))(325(993)(380)))))(853(668(806(258(427(645(35(568(76(935)(273))(690))(687(433(472)(548))(563(155)(118))))(597(70)(868(690)(749))))(562(124(508(43)(205))(14))(888(602(78(93)(914))(742(571)(985)))(476(663)(279(630)(219))))))(434(896(306(585(544)(862(498)(148)))(253))(719))(576(508(670(511)(939(466)(830)))(284))(138(740(646(624)(574))(29(144)(807)))(796(42(784)(264))(500(960)(447)))))))(49(713)(378(732(650)(702(783(320(538)(577))(249))(966(824(870)(272))(740(50)(339)))))(541(449)(521)))))(315))(556(330(759(648(924)(419))(968(332(146(872(999)(201))(351))(908))(253(479(863)(872(926(616)(418))(47(781)(609))))(276(570(772(137)(3))(493(137)(318)))(659(397(45)(440))(941(423)(311)))))))(3(302)(934(6(350(707(265)(372(954)(769)))(406(895)(832(274)(503))))(409(3(124)(399(223)(422)))(107(553(559)(930))(191))))(150(99(744)(784(713(291)(799))(68(905)(760))))(521(491(338(331)(519))(689(160)(261)))(471))))))(978)))) +(149(134(341(476(80(139(817)(642))(458(996(160)(784))(523)))(651(759)(412(819)(770(21)(488)))))(854(707(446(472)(722(765)(275)))(418(80(50)(193))(746(726)(241))))(430(369(450(763)(443))(737(914)(420)))(388))))(238(790)(295(554)(356))))(414(130(492(239(779(975)(105(992)(808)))(292))(89(773(468(99)(723))(688))(334)))(910(938)(650(947(266)(745(92)(143)))(344))))(82(446)(750(545(726)(275))(438(990(374)(571(418)(27)))(380)))))) +(227(232(166(722(506(717(947(527)(500))(563(67)(382)))(63(892)(954)))(665(44(330)(942(691)(618)))(465(593)(104(115)(202)))))(805(14(666)(659(256(927)(575))(536(33)(118))))(405(384(712(514)(50))(678(636)(563)))(133(938(191)(935))(246(572)(501))))))(625(942)(633(201(359(876)(296(672)(961)))(935))(772(478)(339(518)(257(119)(531)))))))(39(482(830)(738))(552(574)(230(52(396(596)(852(144)(702)))(959(35)(448(84)(280))))(478(82(764(856)(325))(235(639)(241)))(935(102)(955(903)(969)))))))) +(80(120(323(691)(921))(672(677(37(216(266(214(530)(786))(522))(440(892(374)(552))(874(459)(699))))(526(113(726)(612(381)(679)))(58(26(401)(490))(956(877)(154)))))(950(197(71)(253(687(573)(853))(873)))(94(936(179(383)(118))(916))(715(161(43)(708))(426(940)(855))))))(671(406(145(970(705(808)(61))(773))(27))(363(857(18(621)(646))(956(402)(553)))(244(997(851)(779))(877))))(229(540(684(512(98)(824))(270(0)(207)))(125))(849(489(255(375)(852))(749(328)(789)))(695))))))(943(462(816)(679(232)(737)))(83(813(553(973)(793(912)(111(744(68)(17))(751(319)(155)))))(421))(205(877(587(145(606(658)(119))(106(939)(254)))(342))(31(912(916(207)(170))(721(501)(219)))(876)))(242))))) +(361(590(696(221)(901(281(6)(151(879(581(678(61(910)(335(883)(850)))(594(951(207)(791))(305(765)(268))))(415))(620(147(147(77(408)(290))(964))(312))(306(160(401)(303(295)(310)))(623(240(822)(16))(954)))))(707(932(749(524)(421(347(502)(426))(391(359)(283))))(251(460)(422)))(152))))(901(26(82(374(22(937(669)(934(988)(456)))(849(320(362)(301))(994(929)(920))))(43(442(219)(621(470)(784)))(382)))(940(771(428)(419(888(604)(459))(545)))(262)))(103(98)(568)))(934(502(826(666)(149(746(544(937)(546))(970))(719)))(164(795(304(963)(331))(675(11(788)(417))(498(575)(876))))(785(290(137(190)(577))(282(759)(196)))(930(697(981)(532))(689(712)(899))))))(304(999(356(178)(95(356(607)(462))(949)))(970(474(38(75)(782))(665(296)(579)))(897(851(296)(235))(244(197)(831)))))(612))))))(522(581)(695(640(493(899)(657))(638(24)(186(128(325(356)(242))(271(415)(765(535(426)(625))(250))))(584(211)(876(82(51)(372(573)(200)))(54(423(34)(578))(669(121)(241))))))))(603(748(52(54)(73(322(931(897(481)(530))(872(314)(551)))(286(825(563)(898))(385(104)(872))))(949(256(34(829)(529))(310))(623))))(309(503(418(136)(331(218(926)(990))(879)))(649))(277(574(277)(762))(225(154(749(899)(415))(187(732)(587)))(713)))))(227)))))(308(903(529(654)(964(711(858)(739(417)(641(120(262(70(430)(586))(405(106)(981)))(185(198)(164(866)(279))))(196(594(708(898)(575))(955(359)(122)))(285(277(356)(940))(638(660)(861)))))))(457(717)(681(437)(199)))))(138))(858(54(193(612(808(544(865(733)(597))(598(215)(666)))(835(934)(450(103(601(482)(443))(881))(186(846)(518)))))(307(466(985(845(772(290)(104))(794))(453(986(870)(695))(367(769)(791))))(236(642(306)(411))(772(696)(198))))(783(156(744(841)(319(929)(303)))(868(711)(693)))(826(518)(49(422(71)(582))(281))))))(972))(146(808(483)(29))(51)))(18)))) +(788(640(948(971)(766))(483(209)(827)))(163(441(655)(638))(812(548(820)(913(798(680)(360(74(823(514)(470))(351(976)(887)))(576)))(537(935)(333(820(900)(256(766)(702)))(650)))))(722(234)(530(865(919(862(46(507)(813))(448))(661(946(721)(811))(927(61)(747))))(253(147(27(892)(843))(63(474)(603)))(198(279(811)(734))(85))))(378(717)(685(726(739(803)(243))(850))(995(140(902)(524))(757))))))))) +(857(510(140(224(959(282)(868(631(4(101)(627))(736(877)(858)))(358(67(502)(189))(352(957)(127)))))(261(463(110(448(380)(708))(877(11)(659)))(138(221(12)(707))(222(313)(983))))(351(42)(3))))(791(533(71)(178(246(996(22)(848))(6(160)(354)))(347(867)(633(333)(67)))))(410(963(372(274(162)(734))(401(130)(638)))(846(28)(872)))(589(341(910(158)(263))(365(715)(77)))(500(859)(746))))))(553(485(71)(463))(99(281)(522(921(683(516(461)(233))(978(908)(702)))(550))(47(364(982(725)(183))(905(14)(340)))(717))))))(520(285(761)(249(827)(526)))(723(918(371(236(158(831(846)(376))(457))(301))(150(542)(428(68(639)(471))(58(948)(370)))))(748))(811(807(284)(433(905)(870)))(517(861)(334(621)(241))))))) +(238(539(118(169(357(407(684)(763(960)(830(201)(670))))(150(34)(592(628(34)(637))(856(801)(263)))))(769(412(827(41(203)(401))(633(308)(456)))(36))(964)))(668(158)(365(60)(57))))(814(492(496)(991(669)(2(7(92(369)(446))(30(749)(636)))(732(745)(825(188)(927))))))(468(453(535(594)(918(622(444)(977))(970(912)(542))))(802))(301(993)(106(416(81(627)(262))(325(512)(341)))(570(402)(611(61)(443))))))))(837(258(572(790)(868))(369(153)(353(496(100(656)(928(951)(670)))(895))(284(447(981)(178))(815(738(46)(329))(316(533)(400)))))))(444(214)(608(972(493)(888(261(945(106)(362))(7))(541(822)(169(743)(852)))))(585(326)(986(411(863(623)(543))(406))(786(1(63)(161))(380(555)(700))))))))) +(671(793(527(312(836)(718(695(194)(835(728)(229(397(357)(551))(492(215)(707)))))(540(9(30)(333(543(393)(966))(842(319)(355))))(328(218)(830)))))(721(779)(410(234)(792(885)(268)))))(104(853)(120(439)(544))))(56(119(489(636(610(319)(963(970(490)(905))(657)))(498))(738))(138(147(514(288(913(358(868)(993))(106(753)(200)))(502(34(253)(667))(901(472)(257))))(373(191(927(249)(960))(769(976)(650)))(995(929(142)(156))(6))))(968(322(115(616)(670(469)(795)))(692))(327(892(967(882)(952))(102(796)(489)))(21(2(720)(425))(907(436)(994))))))(998(405(183(477(640(381)(485))(238(263)(417)))(490(207(900)(880))(959)))(350(707)(839(834)(350(164)(213)))))(899(401(520(759(658)(295))(952(568)(862)))(487(17(474)(87))(40)))(692)))))(594(632(489)(296))(597(233(589(461)(473(735(490)(17(566)(720)))(527(767(322)(719))(308(895)(138)))))(730))(37))))) +(33(822(142(902(619)(919(27(798(998(535)(995))(711(121)(302)))(173))(752(490)(820(139(529)(643))(780(402)(231))))))(122))(17(627(830(744)(581(387(417(758)(582))(579(522)(5)))(818(815)(351(510)(757)))))(687))(824)))(186(104(350(263(319(601(366(6)(213))(651))(328(211)(28)))(198(603)(846)))(629))(808(164)(750(461(945(968(230)(519))(1))(951))(492(939(811(611)(392))(559(952)(719)))(743(675(51)(595))(411(282)(300)))))))(724(840(440)(840(638(689(20(523)(193))(258(999)(221)))(629))(675(513)(856(904(650)(986))(564)))))(588(95)(396(476)(37(424(804(772)(698))(86(719)(158)))(96))))))) \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/BaumTester.java b/Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/BaumTester.java new file mode 100644 index 0000000..8cc0446 --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/BaumTester.java @@ -0,0 +1,2811 @@ +import static org.junit.Assert.*; +import org.junit.Test; + +/** + * Eine Testklasse für Baumalgorithmen + * + * @author Rainer Helfrich + * @version 02.11.2020 + */ +public class BaumTester +{ + @Test + public void test001() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(0)); + assertEquals(481,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(512)); + assertTrue(ba.enthaelt(596)); + assertFalse(ba.enthaelt(70)); + assertFalse(ba.enthaelt(1008)); + assertFalse(ba.enthaelt(510)); + assertFalse(ba.enthaelt(554)); + assertFalse(ba.enthaelt(287)); + assertFalse(ba.enthaelt(99)); + assertTrue(ba.enthaelt(598)); + assertTrue(ba.enthaelt(875)); + assertFalse(ba.enthaelt(949)); + assertFalse(ba.enthaelt(974)); + assertFalse(ba.enthaelt(917)); + assertFalse(ba.enthaelt(146)); + assertTrue(ba.enthaelt(366)); + assertTrue(ba.enthaelt(367)); + assertTrue(ba.enthaelt(411)); + assertTrue(ba.enthaelt(900)); + assertTrue(ba.enthaelt(430)); + assertTrue(ba.enthaelt(175)); + } + + @Test + public void test002() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(1)); + assertEquals(183,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(711)); + assertFalse(ba.enthaelt(835)); + assertFalse(ba.enthaelt(637)); + assertFalse(ba.enthaelt(888)); + assertFalse(ba.enthaelt(962)); + assertTrue(ba.enthaelt(692)); + assertTrue(ba.enthaelt(731)); + assertFalse(ba.enthaelt(2)); + assertFalse(ba.enthaelt(417)); + assertFalse(ba.enthaelt(667)); + assertFalse(ba.enthaelt(549)); + assertTrue(ba.enthaelt(277)); + assertTrue(ba.enthaelt(934)); + assertFalse(ba.enthaelt(641)); + assertTrue(ba.enthaelt(825)); + assertTrue(ba.enthaelt(592)); + assertTrue(ba.enthaelt(958)); + assertTrue(ba.enthaelt(416)); + assertTrue(ba.enthaelt(680)); + assertTrue(ba.enthaelt(388)); + } + + @Test + public void test003() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(2)); + assertEquals(105,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertTrue(ba.enthaelt(985)); + assertFalse(ba.enthaelt(224)); + assertFalse(ba.enthaelt(374)); + assertFalse(ba.enthaelt(304)); + assertFalse(ba.enthaelt(814)); + assertFalse(ba.enthaelt(67)); + assertFalse(ba.enthaelt(972)); + assertFalse(ba.enthaelt(384)); + assertFalse(ba.enthaelt(845)); + assertFalse(ba.enthaelt(762)); + assertFalse(ba.enthaelt(353)); + assertTrue(ba.enthaelt(656)); + assertTrue(ba.enthaelt(207)); + assertTrue(ba.enthaelt(954)); + assertTrue(ba.enthaelt(423)); + assertTrue(ba.enthaelt(163)); + assertTrue(ba.enthaelt(968)); + assertTrue(ba.enthaelt(69)); + assertTrue(ba.enthaelt(589)); + assertTrue(ba.enthaelt(189)); + } + + @Test + public void test004() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(3)); + assertEquals(203,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(37)); + assertFalse(ba.enthaelt(132)); + assertFalse(ba.enthaelt(921)); + assertFalse(ba.enthaelt(936)); + assertFalse(ba.enthaelt(793)); + assertFalse(ba.enthaelt(296)); + assertFalse(ba.enthaelt(603)); + assertFalse(ba.enthaelt(395)); + assertFalse(ba.enthaelt(681)); + assertFalse(ba.enthaelt(141)); + assertTrue(ba.enthaelt(523)); + assertTrue(ba.enthaelt(305)); + assertTrue(ba.enthaelt(315)); + assertTrue(ba.enthaelt(849)); + assertTrue(ba.enthaelt(567)); + assertTrue(ba.enthaelt(666)); + assertTrue(ba.enthaelt(73)); + assertTrue(ba.enthaelt(76)); + assertTrue(ba.enthaelt(814)); + assertTrue(ba.enthaelt(585)); + } + + @Test + public void test005() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(4)); + assertEquals(133,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(207)); + assertFalse(ba.enthaelt(370)); + assertFalse(ba.enthaelt(13)); + assertFalse(ba.enthaelt(703)); + assertFalse(ba.enthaelt(161)); + assertFalse(ba.enthaelt(966)); + assertFalse(ba.enthaelt(565)); + assertFalse(ba.enthaelt(236)); + assertFalse(ba.enthaelt(468)); + assertTrue(ba.enthaelt(428)); + assertFalse(ba.enthaelt(312)); + assertTrue(ba.enthaelt(715)); + assertTrue(ba.enthaelt(205)); + assertTrue(ba.enthaelt(854)); + assertTrue(ba.enthaelt(657)); + assertTrue(ba.enthaelt(232)); + assertTrue(ba.enthaelt(659)); + assertTrue(ba.enthaelt(55)); + assertTrue(ba.enthaelt(598)); + assertTrue(ba.enthaelt(127)); + } + + @Test + public void test006() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(5)); + assertEquals(159,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(243)); + assertFalse(ba.enthaelt(248)); + assertFalse(ba.enthaelt(810)); + assertFalse(ba.enthaelt(206)); + assertFalse(ba.enthaelt(285)); + assertFalse(ba.enthaelt(743)); + assertFalse(ba.enthaelt(187)); + assertTrue(ba.enthaelt(4)); + assertFalse(ba.enthaelt(497)); + assertTrue(ba.enthaelt(983)); + assertFalse(ba.enthaelt(1007)); + assertFalse(ba.enthaelt(47)); + assertTrue(ba.enthaelt(83)); + assertTrue(ba.enthaelt(116)); + assertTrue(ba.enthaelt(287)); + assertTrue(ba.enthaelt(423)); + assertTrue(ba.enthaelt(165)); + assertTrue(ba.enthaelt(905)); + assertTrue(ba.enthaelt(760)); + assertTrue(ba.enthaelt(985)); + } + + @Test + public void test007() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(6)); + assertEquals(165,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(467)); + assertFalse(ba.enthaelt(452)); + assertTrue(ba.enthaelt(737)); + assertFalse(ba.enthaelt(849)); + assertFalse(ba.enthaelt(213)); + assertFalse(ba.enthaelt(610)); + assertFalse(ba.enthaelt(73)); + assertTrue(ba.enthaelt(472)); + assertFalse(ba.enthaelt(603)); + assertFalse(ba.enthaelt(739)); + assertFalse(ba.enthaelt(193)); + assertFalse(ba.enthaelt(704)); + assertTrue(ba.enthaelt(828)); + assertTrue(ba.enthaelt(178)); + assertTrue(ba.enthaelt(702)); + assertTrue(ba.enthaelt(341)); + assertTrue(ba.enthaelt(78)); + assertTrue(ba.enthaelt(640)); + assertTrue(ba.enthaelt(916)); + assertTrue(ba.enthaelt(227)); + } + + @Test + public void test008() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(7)); + assertEquals(389,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(772)); + assertFalse(ba.enthaelt(426)); + assertFalse(ba.enthaelt(953)); + assertTrue(ba.enthaelt(319)); + assertFalse(ba.enthaelt(467)); + assertFalse(ba.enthaelt(417)); + assertTrue(ba.enthaelt(883)); + assertTrue(ba.enthaelt(657)); + assertFalse(ba.enthaelt(1006)); + assertFalse(ba.enthaelt(30)); + assertFalse(ba.enthaelt(80)); + assertFalse(ba.enthaelt(183)); + assertFalse(ba.enthaelt(318)); + assertTrue(ba.enthaelt(219)); + assertTrue(ba.enthaelt(438)); + assertTrue(ba.enthaelt(412)); + assertFalse(ba.enthaelt(145)); + assertTrue(ba.enthaelt(326)); + assertTrue(ba.enthaelt(572)); + assertTrue(ba.enthaelt(208)); + } + + @Test + public void test009() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(8)); + assertEquals(159,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(746)); + assertFalse(ba.enthaelt(288)); + assertFalse(ba.enthaelt(752)); + assertFalse(ba.enthaelt(651)); + assertFalse(ba.enthaelt(850)); + assertFalse(ba.enthaelt(267)); + assertTrue(ba.enthaelt(197)); + assertFalse(ba.enthaelt(264)); + assertFalse(ba.enthaelt(1009)); + assertFalse(ba.enthaelt(19)); + assertFalse(ba.enthaelt(166)); + assertTrue(ba.enthaelt(182)); + assertTrue(ba.enthaelt(623)); + assertTrue(ba.enthaelt(25)); + assertTrue(ba.enthaelt(900)); + assertTrue(ba.enthaelt(709)); + assertTrue(ba.enthaelt(658)); + assertTrue(ba.enthaelt(853)); + assertTrue(ba.enthaelt(628)); + assertTrue(ba.enthaelt(202)); + } + + @Test + public void test010() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(9)); + assertEquals(137,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(856)); + assertFalse(ba.enthaelt(402)); + assertFalse(ba.enthaelt(165)); + assertFalse(ba.enthaelt(993)); + assertTrue(ba.enthaelt(904)); + assertFalse(ba.enthaelt(211)); + assertTrue(ba.enthaelt(845)); + assertFalse(ba.enthaelt(259)); + assertFalse(ba.enthaelt(544)); + assertFalse(ba.enthaelt(498)); + assertFalse(ba.enthaelt(852)); + assertFalse(ba.enthaelt(65)); + assertTrue(ba.enthaelt(805)); + assertTrue(ba.enthaelt(224)); + assertTrue(ba.enthaelt(213)); + assertTrue(ba.enthaelt(604)); + assertTrue(ba.enthaelt(273)); + assertTrue(ba.enthaelt(161)); + assertTrue(ba.enthaelt(437)); + assertTrue(ba.enthaelt(590)); + } + + @Test + public void test011() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(10)); + assertEquals(313,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(895)); + assertTrue(ba.enthaelt(344)); + assertFalse(ba.enthaelt(966)); + assertFalse(ba.enthaelt(258)); + assertFalse(ba.enthaelt(1002)); + assertFalse(ba.enthaelt(181)); + assertFalse(ba.enthaelt(661)); + assertFalse(ba.enthaelt(217)); + assertFalse(ba.enthaelt(54)); + assertTrue(ba.enthaelt(36)); + assertTrue(ba.enthaelt(690)); + assertTrue(ba.enthaelt(703)); + assertTrue(ba.enthaelt(185)); + assertFalse(ba.enthaelt(657)); + assertTrue(ba.enthaelt(934)); + assertFalse(ba.enthaelt(854)); + assertTrue(ba.enthaelt(49)); + assertTrue(ba.enthaelt(907)); + assertTrue(ba.enthaelt(861)); + assertTrue(ba.enthaelt(348)); + } + + @Test + public void test012() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(11)); + assertEquals(313,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(42)); + assertTrue(ba.enthaelt(282)); + assertFalse(ba.enthaelt(733)); + assertTrue(ba.enthaelt(650)); + assertTrue(ba.enthaelt(61)); + assertFalse(ba.enthaelt(780)); + assertFalse(ba.enthaelt(1013)); + assertFalse(ba.enthaelt(368)); + assertFalse(ba.enthaelt(703)); + assertFalse(ba.enthaelt(362)); + assertFalse(ba.enthaelt(559)); + assertFalse(ba.enthaelt(1001)); + assertFalse(ba.enthaelt(987)); + assertTrue(ba.enthaelt(582)); + assertTrue(ba.enthaelt(845)); + assertTrue(ba.enthaelt(538)); + assertTrue(ba.enthaelt(477)); + assertTrue(ba.enthaelt(176)); + assertTrue(ba.enthaelt(237)); + assertTrue(ba.enthaelt(656)); + } + + @Test + public void test013() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(12)); + assertEquals(171,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(367)); + assertFalse(ba.enthaelt(6)); + assertFalse(ba.enthaelt(146)); + assertFalse(ba.enthaelt(896)); + assertFalse(ba.enthaelt(114)); + assertFalse(ba.enthaelt(542)); + assertFalse(ba.enthaelt(447)); + assertTrue(ba.enthaelt(51)); + assertFalse(ba.enthaelt(399)); + assertFalse(ba.enthaelt(43)); + assertTrue(ba.enthaelt(595)); + assertTrue(ba.enthaelt(831)); + assertFalse(ba.enthaelt(259)); + assertTrue(ba.enthaelt(960)); + assertTrue(ba.enthaelt(919)); + assertTrue(ba.enthaelt(755)); + assertTrue(ba.enthaelt(394)); + assertTrue(ba.enthaelt(466)); + assertTrue(ba.enthaelt(459)); + assertTrue(ba.enthaelt(539)); + } + + @Test + public void test014() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(13)); + assertEquals(135,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(898)); + assertFalse(ba.enthaelt(204)); + assertFalse(ba.enthaelt(870)); + assertFalse(ba.enthaelt(978)); + assertFalse(ba.enthaelt(871)); + assertFalse(ba.enthaelt(669)); + assertFalse(ba.enthaelt(793)); + assertFalse(ba.enthaelt(795)); + assertFalse(ba.enthaelt(480)); + assertTrue(ba.enthaelt(449)); + assertFalse(ba.enthaelt(380)); + assertTrue(ba.enthaelt(328)); + assertTrue(ba.enthaelt(436)); + assertTrue(ba.enthaelt(120)); + assertTrue(ba.enthaelt(433)); + assertTrue(ba.enthaelt(999)); + assertTrue(ba.enthaelt(879)); + assertTrue(ba.enthaelt(802)); + assertTrue(ba.enthaelt(517)); + assertTrue(ba.enthaelt(993)); + } + + @Test + public void test015() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(14)); + assertEquals(101,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(583)); + assertFalse(ba.enthaelt(693)); + assertFalse(ba.enthaelt(229)); + assertFalse(ba.enthaelt(157)); + assertFalse(ba.enthaelt(170)); + assertFalse(ba.enthaelt(651)); + assertFalse(ba.enthaelt(749)); + assertFalse(ba.enthaelt(996)); + assertFalse(ba.enthaelt(489)); + assertFalse(ba.enthaelt(116)); + assertTrue(ba.enthaelt(458)); + assertTrue(ba.enthaelt(99)); + assertTrue(ba.enthaelt(687)); + assertTrue(ba.enthaelt(727)); + assertTrue(ba.enthaelt(329)); + assertTrue(ba.enthaelt(420)); + assertTrue(ba.enthaelt(954)); + assertTrue(ba.enthaelt(155)); + assertTrue(ba.enthaelt(973)); + assertTrue(ba.enthaelt(103)); + } + + @Test + public void test016() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(15)); + assertEquals(105,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(796)); + assertFalse(ba.enthaelt(842)); + assertFalse(ba.enthaelt(853)); + assertFalse(ba.enthaelt(217)); + assertFalse(ba.enthaelt(795)); + assertFalse(ba.enthaelt(736)); + assertFalse(ba.enthaelt(76)); + assertFalse(ba.enthaelt(325)); + assertFalse(ba.enthaelt(258)); + assertFalse(ba.enthaelt(483)); + assertTrue(ba.enthaelt(190)); + assertTrue(ba.enthaelt(590)); + assertTrue(ba.enthaelt(16)); + assertTrue(ba.enthaelt(534)); + assertTrue(ba.enthaelt(762)); + assertTrue(ba.enthaelt(567)); + assertTrue(ba.enthaelt(169)); + assertTrue(ba.enthaelt(775)); + assertTrue(ba.enthaelt(85)); + assertTrue(ba.enthaelt(760)); + } + + @Test + public void test017() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(16)); + assertEquals(95,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(745)); + assertTrue(ba.enthaelt(293)); + assertFalse(ba.enthaelt(572)); + assertFalse(ba.enthaelt(19)); + assertFalse(ba.enthaelt(472)); + assertFalse(ba.enthaelt(180)); + assertFalse(ba.enthaelt(188)); + assertTrue(ba.enthaelt(902)); + assertFalse(ba.enthaelt(944)); + assertFalse(ba.enthaelt(118)); + assertFalse(ba.enthaelt(356)); + assertFalse(ba.enthaelt(973)); + assertTrue(ba.enthaelt(316)); + assertTrue(ba.enthaelt(53)); + assertTrue(ba.enthaelt(54)); + assertTrue(ba.enthaelt(807)); + assertTrue(ba.enthaelt(520)); + assertTrue(ba.enthaelt(429)); + assertTrue(ba.enthaelt(220)); + assertTrue(ba.enthaelt(194)); + } + + @Test + public void test018() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(17)); + assertEquals(315,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(646)); + assertFalse(ba.enthaelt(837)); + assertTrue(ba.enthaelt(543)); + assertFalse(ba.enthaelt(696)); + assertFalse(ba.enthaelt(307)); + assertTrue(ba.enthaelt(140)); + assertFalse(ba.enthaelt(835)); + assertFalse(ba.enthaelt(169)); + assertFalse(ba.enthaelt(498)); + assertFalse(ba.enthaelt(729)); + assertFalse(ba.enthaelt(405)); + assertFalse(ba.enthaelt(178)); + assertTrue(ba.enthaelt(97)); + assertTrue(ba.enthaelt(764)); + assertTrue(ba.enthaelt(743)); + assertTrue(ba.enthaelt(418)); + assertTrue(ba.enthaelt(954)); + assertTrue(ba.enthaelt(381)); + assertTrue(ba.enthaelt(997)); + assertTrue(ba.enthaelt(534)); + } + + @Test + public void test019() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(18)); + assertEquals(301,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(709)); + assertFalse(ba.enthaelt(22)); + assertFalse(ba.enthaelt(454)); + assertFalse(ba.enthaelt(64)); + assertFalse(ba.enthaelt(892)); + assertFalse(ba.enthaelt(176)); + assertFalse(ba.enthaelt(680)); + assertFalse(ba.enthaelt(729)); + assertFalse(ba.enthaelt(103)); + assertFalse(ba.enthaelt(198)); + assertTrue(ba.enthaelt(618)); + assertTrue(ba.enthaelt(877)); + assertTrue(ba.enthaelt(917)); + assertTrue(ba.enthaelt(810)); + assertTrue(ba.enthaelt(640)); + assertTrue(ba.enthaelt(98)); + assertTrue(ba.enthaelt(521)); + assertTrue(ba.enthaelt(586)); + assertTrue(ba.enthaelt(525)); + assertTrue(ba.enthaelt(197)); + } + + @Test + public void test020() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(19)); + assertEquals(115,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(719)); + assertFalse(ba.enthaelt(375)); + assertFalse(ba.enthaelt(471)); + assertFalse(ba.enthaelt(742)); + assertFalse(ba.enthaelt(362)); + assertFalse(ba.enthaelt(402)); + assertFalse(ba.enthaelt(682)); + assertFalse(ba.enthaelt(336)); + assertFalse(ba.enthaelt(759)); + assertFalse(ba.enthaelt(677)); + assertTrue(ba.enthaelt(75)); + assertTrue(ba.enthaelt(895)); + assertTrue(ba.enthaelt(669)); + assertTrue(ba.enthaelt(495)); + assertTrue(ba.enthaelt(925)); + assertTrue(ba.enthaelt(322)); + assertTrue(ba.enthaelt(600)); + assertTrue(ba.enthaelt(875)); + assertTrue(ba.enthaelt(807)); + assertTrue(ba.enthaelt(853)); + } + + @Test + public void test021() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(20)); + assertEquals(279,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(439)); + assertTrue(ba.enthaelt(687)); + assertFalse(ba.enthaelt(216)); + assertFalse(ba.enthaelt(621)); + assertFalse(ba.enthaelt(874)); + assertFalse(ba.enthaelt(516)); + assertTrue(ba.enthaelt(335)); + assertFalse(ba.enthaelt(703)); + assertTrue(ba.enthaelt(132)); + assertTrue(ba.enthaelt(630)); + assertFalse(ba.enthaelt(679)); + assertFalse(ba.enthaelt(269)); + assertFalse(ba.enthaelt(606)); + assertTrue(ba.enthaelt(212)); + assertTrue(ba.enthaelt(422)); + assertFalse(ba.enthaelt(43)); + assertFalse(ba.enthaelt(272)); + assertTrue(ba.enthaelt(410)); + assertTrue(ba.enthaelt(235)); + assertTrue(ba.enthaelt(103)); + } + + @Test + public void test022() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(21)); + assertEquals(215,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(310)); + assertFalse(ba.enthaelt(292)); + assertFalse(ba.enthaelt(474)); + assertFalse(ba.enthaelt(123)); + assertTrue(ba.enthaelt(824)); + assertFalse(ba.enthaelt(756)); + assertFalse(ba.enthaelt(829)); + assertFalse(ba.enthaelt(201)); + assertFalse(ba.enthaelt(755)); + assertFalse(ba.enthaelt(393)); + assertFalse(ba.enthaelt(1015)); + assertFalse(ba.enthaelt(3)); + assertTrue(ba.enthaelt(19)); + assertTrue(ba.enthaelt(343)); + assertTrue(ba.enthaelt(715)); + assertTrue(ba.enthaelt(662)); + assertTrue(ba.enthaelt(73)); + assertTrue(ba.enthaelt(195)); + assertTrue(ba.enthaelt(365)); + assertTrue(ba.enthaelt(889)); + } + + @Test + public void test023() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(22)); + assertEquals(107,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(821)); + assertFalse(ba.enthaelt(165)); + assertFalse(ba.enthaelt(884)); + assertFalse(ba.enthaelt(133)); + assertFalse(ba.enthaelt(545)); + assertFalse(ba.enthaelt(188)); + assertFalse(ba.enthaelt(435)); + assertFalse(ba.enthaelt(493)); + assertFalse(ba.enthaelt(823)); + assertFalse(ba.enthaelt(355)); + assertTrue(ba.enthaelt(276)); + assertTrue(ba.enthaelt(84)); + assertTrue(ba.enthaelt(265)); + assertTrue(ba.enthaelt(140)); + assertTrue(ba.enthaelt(529)); + assertTrue(ba.enthaelt(877)); + assertTrue(ba.enthaelt(767)); + assertTrue(ba.enthaelt(879)); + assertTrue(ba.enthaelt(724)); + assertTrue(ba.enthaelt(352)); + } + + @Test + public void test024() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(23)); + assertEquals(207,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(402)); + assertFalse(ba.enthaelt(268)); + assertFalse(ba.enthaelt(332)); + assertFalse(ba.enthaelt(818)); + assertFalse(ba.enthaelt(666)); + assertTrue(ba.enthaelt(36)); + assertFalse(ba.enthaelt(172)); + assertFalse(ba.enthaelt(537)); + assertFalse(ba.enthaelt(1015)); + assertFalse(ba.enthaelt(944)); + assertFalse(ba.enthaelt(941)); + assertTrue(ba.enthaelt(665)); + assertTrue(ba.enthaelt(967)); + assertTrue(ba.enthaelt(667)); + assertTrue(ba.enthaelt(684)); + assertTrue(ba.enthaelt(125)); + assertTrue(ba.enthaelt(29)); + assertTrue(ba.enthaelt(597)); + assertTrue(ba.enthaelt(446)); + assertTrue(ba.enthaelt(800)); + } + + @Test + public void test025() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(24)); + assertEquals(119,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(694)); + assertFalse(ba.enthaelt(872)); + assertFalse(ba.enthaelt(197)); + assertFalse(ba.enthaelt(983)); + assertFalse(ba.enthaelt(470)); + assertFalse(ba.enthaelt(487)); + assertTrue(ba.enthaelt(44)); + assertFalse(ba.enthaelt(552)); + assertFalse(ba.enthaelt(961)); + assertFalse(ba.enthaelt(714)); + assertFalse(ba.enthaelt(623)); + assertTrue(ba.enthaelt(18)); + assertTrue(ba.enthaelt(444)); + assertTrue(ba.enthaelt(277)); + assertTrue(ba.enthaelt(243)); + assertTrue(ba.enthaelt(852)); + assertTrue(ba.enthaelt(864)); + assertTrue(ba.enthaelt(765)); + assertTrue(ba.enthaelt(999)); + assertTrue(ba.enthaelt(488)); + } + + @Test + public void test026() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(25)); + assertEquals(247,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(782)); + assertFalse(ba.enthaelt(999)); + assertTrue(ba.enthaelt(173)); + assertFalse(ba.enthaelt(261)); + assertFalse(ba.enthaelt(892)); + assertTrue(ba.enthaelt(271)); + assertFalse(ba.enthaelt(420)); + assertTrue(ba.enthaelt(263)); + assertTrue(ba.enthaelt(919)); + assertFalse(ba.enthaelt(70)); + assertFalse(ba.enthaelt(4)); + assertFalse(ba.enthaelt(462)); + assertFalse(ba.enthaelt(877)); + assertFalse(ba.enthaelt(568)); + assertTrue(ba.enthaelt(834)); + assertTrue(ba.enthaelt(382)); + assertTrue(ba.enthaelt(861)); + assertTrue(ba.enthaelt(575)); + assertTrue(ba.enthaelt(19)); + assertTrue(ba.enthaelt(528)); + } + + @Test + public void test027() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(26)); + assertEquals(179,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(626)); + assertFalse(ba.enthaelt(340)); + assertFalse(ba.enthaelt(365)); + assertFalse(ba.enthaelt(954)); + assertFalse(ba.enthaelt(366)); + assertFalse(ba.enthaelt(814)); + assertFalse(ba.enthaelt(900)); + assertTrue(ba.enthaelt(496)); + assertFalse(ba.enthaelt(133)); + assertFalse(ba.enthaelt(107)); + assertTrue(ba.enthaelt(391)); + assertFalse(ba.enthaelt(801)); + assertFalse(ba.enthaelt(420)); + assertTrue(ba.enthaelt(310)); + assertTrue(ba.enthaelt(277)); + assertTrue(ba.enthaelt(262)); + assertTrue(ba.enthaelt(513)); + assertTrue(ba.enthaelt(378)); + assertTrue(ba.enthaelt(740)); + assertTrue(ba.enthaelt(403)); + } + + @Test + public void test028() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(27)); + assertEquals(209,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(627)); + assertFalse(ba.enthaelt(681)); + assertFalse(ba.enthaelt(521)); + assertFalse(ba.enthaelt(393)); + assertFalse(ba.enthaelt(201)); + assertFalse(ba.enthaelt(364)); + assertFalse(ba.enthaelt(198)); + assertFalse(ba.enthaelt(173)); + assertFalse(ba.enthaelt(257)); + assertFalse(ba.enthaelt(277)); + assertTrue(ba.enthaelt(36)); + assertTrue(ba.enthaelt(829)); + assertTrue(ba.enthaelt(896)); + assertTrue(ba.enthaelt(899)); + assertTrue(ba.enthaelt(706)); + assertTrue(ba.enthaelt(381)); + assertTrue(ba.enthaelt(480)); + assertTrue(ba.enthaelt(926)); + assertTrue(ba.enthaelt(832)); + assertTrue(ba.enthaelt(271)); + } + + @Test + public void test029() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(28)); + assertEquals(357,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(700)); + assertFalse(ba.enthaelt(942)); + assertTrue(ba.enthaelt(924)); + assertTrue(ba.enthaelt(271)); + assertFalse(ba.enthaelt(766)); + assertFalse(ba.enthaelt(528)); + assertFalse(ba.enthaelt(495)); + assertFalse(ba.enthaelt(262)); + assertFalse(ba.enthaelt(413)); + assertTrue(ba.enthaelt(704)); + assertTrue(ba.enthaelt(230)); + assertFalse(ba.enthaelt(752)); + assertFalse(ba.enthaelt(810)); + assertFalse(ba.enthaelt(823)); + assertTrue(ba.enthaelt(846)); + assertTrue(ba.enthaelt(758)); + assertTrue(ba.enthaelt(91)); + assertTrue(ba.enthaelt(995)); + assertTrue(ba.enthaelt(988)); + assertTrue(ba.enthaelt(62)); + } + + @Test + public void test030() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(29)); + assertEquals(71,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(846)); + assertFalse(ba.enthaelt(828)); + assertFalse(ba.enthaelt(444)); + assertFalse(ba.enthaelt(456)); + assertFalse(ba.enthaelt(424)); + assertFalse(ba.enthaelt(454)); + assertFalse(ba.enthaelt(908)); + assertFalse(ba.enthaelt(200)); + assertFalse(ba.enthaelt(463)); + assertFalse(ba.enthaelt(246)); + assertTrue(ba.enthaelt(274)); + assertTrue(ba.enthaelt(553)); + assertTrue(ba.enthaelt(223)); + assertTrue(ba.enthaelt(237)); + assertTrue(ba.enthaelt(557)); + assertTrue(ba.enthaelt(222)); + assertTrue(ba.enthaelt(806)); + assertTrue(ba.enthaelt(516)); + assertTrue(ba.enthaelt(813)); + assertTrue(ba.enthaelt(10)); + } + + @Test + public void test031() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(30)); + assertEquals(109,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(154)); + assertFalse(ba.enthaelt(1000)); + assertTrue(ba.enthaelt(355)); + assertFalse(ba.enthaelt(960)); + assertFalse(ba.enthaelt(301)); + assertFalse(ba.enthaelt(94)); + assertTrue(ba.enthaelt(580)); + assertFalse(ba.enthaelt(440)); + assertFalse(ba.enthaelt(690)); + assertFalse(ba.enthaelt(342)); + assertFalse(ba.enthaelt(71)); + assertFalse(ba.enthaelt(44)); + assertTrue(ba.enthaelt(731)); + assertTrue(ba.enthaelt(617)); + assertTrue(ba.enthaelt(752)); + assertTrue(ba.enthaelt(538)); + assertTrue(ba.enthaelt(122)); + assertTrue(ba.enthaelt(517)); + assertTrue(ba.enthaelt(923)); + assertTrue(ba.enthaelt(689)); + } + + @Test + public void test032() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(31)); + assertEquals(87,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(372)); + assertTrue(ba.enthaelt(866)); + assertTrue(ba.enthaelt(304)); + assertFalse(ba.enthaelt(623)); + assertFalse(ba.enthaelt(261)); + assertFalse(ba.enthaelt(761)); + assertTrue(ba.enthaelt(206)); + assertFalse(ba.enthaelt(459)); + assertFalse(ba.enthaelt(100)); + assertFalse(ba.enthaelt(769)); + assertFalse(ba.enthaelt(134)); + assertFalse(ba.enthaelt(37)); + assertFalse(ba.enthaelt(622)); + assertTrue(ba.enthaelt(61)); + assertTrue(ba.enthaelt(409)); + assertTrue(ba.enthaelt(274)); + assertTrue(ba.enthaelt(30)); + assertTrue(ba.enthaelt(448)); + assertTrue(ba.enthaelt(868)); + assertTrue(ba.enthaelt(36)); + } + + @Test + public void test033() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(32)); + assertEquals(521,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(211)); + assertFalse(ba.enthaelt(231)); + assertTrue(ba.enthaelt(658)); + assertTrue(ba.enthaelt(546)); + assertTrue(ba.enthaelt(53)); + assertTrue(ba.enthaelt(764)); + assertTrue(ba.enthaelt(324)); + assertTrue(ba.enthaelt(851)); + assertFalse(ba.enthaelt(856)); + assertFalse(ba.enthaelt(442)); + assertTrue(ba.enthaelt(15)); + assertFalse(ba.enthaelt(223)); + assertTrue(ba.enthaelt(553)); + assertFalse(ba.enthaelt(782)); + assertFalse(ba.enthaelt(419)); + assertFalse(ba.enthaelt(90)); + assertFalse(ba.enthaelt(221)); + assertFalse(ba.enthaelt(670)); + assertTrue(ba.enthaelt(876)); + assertFalse(ba.enthaelt(902)); + } + + @Test + public void test034() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(33)); + assertEquals(59,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(854)); + assertFalse(ba.enthaelt(673)); + assertFalse(ba.enthaelt(617)); + assertFalse(ba.enthaelt(253)); + assertFalse(ba.enthaelt(298)); + assertTrue(ba.enthaelt(190)); + assertFalse(ba.enthaelt(779)); + assertFalse(ba.enthaelt(994)); + assertFalse(ba.enthaelt(941)); + assertFalse(ba.enthaelt(100)); + assertFalse(ba.enthaelt(351)); + assertTrue(ba.enthaelt(192)); + assertTrue(ba.enthaelt(385)); + assertTrue(ba.enthaelt(581)); + assertTrue(ba.enthaelt(205)); + assertTrue(ba.enthaelt(731)); + assertTrue(ba.enthaelt(230)); + assertTrue(ba.enthaelt(589)); + assertTrue(ba.enthaelt(769)); + assertTrue(ba.enthaelt(705)); + } + + @Test + public void test035() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(34)); + assertEquals(107,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(103)); + assertFalse(ba.enthaelt(238)); + assertFalse(ba.enthaelt(35)); + assertFalse(ba.enthaelt(658)); + assertFalse(ba.enthaelt(134)); + assertFalse(ba.enthaelt(499)); + assertFalse(ba.enthaelt(137)); + assertTrue(ba.enthaelt(243)); + assertFalse(ba.enthaelt(780)); + assertFalse(ba.enthaelt(422)); + assertFalse(ba.enthaelt(930)); + assertTrue(ba.enthaelt(437)); + assertTrue(ba.enthaelt(251)); + assertTrue(ba.enthaelt(802)); + assertTrue(ba.enthaelt(206)); + assertTrue(ba.enthaelt(404)); + assertTrue(ba.enthaelt(79)); + assertTrue(ba.enthaelt(821)); + assertTrue(ba.enthaelt(384)); + assertTrue(ba.enthaelt(665)); + } + + @Test + public void test036() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(35)); + assertEquals(93,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(119)); + assertFalse(ba.enthaelt(413)); + assertFalse(ba.enthaelt(246)); + assertFalse(ba.enthaelt(427)); + assertFalse(ba.enthaelt(660)); + assertFalse(ba.enthaelt(54)); + assertFalse(ba.enthaelt(30)); + assertFalse(ba.enthaelt(417)); + assertFalse(ba.enthaelt(781)); + assertFalse(ba.enthaelt(191)); + assertTrue(ba.enthaelt(93)); + assertTrue(ba.enthaelt(326)); + assertTrue(ba.enthaelt(700)); + assertTrue(ba.enthaelt(339)); + assertTrue(ba.enthaelt(608)); + assertTrue(ba.enthaelt(31)); + assertTrue(ba.enthaelt(576)); + assertTrue(ba.enthaelt(546)); + assertTrue(ba.enthaelt(815)); + assertTrue(ba.enthaelt(196)); + } + + @Test + public void test037() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(36)); + assertEquals(175,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(833)); + assertFalse(ba.enthaelt(408)); + assertFalse(ba.enthaelt(720)); + assertTrue(ba.enthaelt(559)); + assertFalse(ba.enthaelt(839)); + assertFalse(ba.enthaelt(281)); + assertTrue(ba.enthaelt(477)); + assertTrue(ba.enthaelt(920)); + assertFalse(ba.enthaelt(628)); + assertFalse(ba.enthaelt(726)); + assertFalse(ba.enthaelt(659)); + assertFalse(ba.enthaelt(786)); + assertFalse(ba.enthaelt(876)); + assertTrue(ba.enthaelt(33)); + assertTrue(ba.enthaelt(74)); + assertTrue(ba.enthaelt(826)); + assertTrue(ba.enthaelt(901)); + assertTrue(ba.enthaelt(260)); + assertTrue(ba.enthaelt(378)); + assertTrue(ba.enthaelt(782)); + } + + @Test + public void test038() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(37)); + assertEquals(349,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(916)); + assertFalse(ba.enthaelt(947)); + assertFalse(ba.enthaelt(201)); + assertFalse(ba.enthaelt(185)); + assertTrue(ba.enthaelt(255)); + assertFalse(ba.enthaelt(684)); + assertTrue(ba.enthaelt(393)); + assertTrue(ba.enthaelt(88)); + assertFalse(ba.enthaelt(633)); + assertFalse(ba.enthaelt(220)); + assertFalse(ba.enthaelt(334)); + assertFalse(ba.enthaelt(810)); + assertFalse(ba.enthaelt(686)); + assertFalse(ba.enthaelt(579)); + assertTrue(ba.enthaelt(501)); + assertTrue(ba.enthaelt(616)); + assertTrue(ba.enthaelt(389)); + assertTrue(ba.enthaelt(285)); + assertTrue(ba.enthaelt(704)); + assertTrue(ba.enthaelt(253)); + } + + @Test + public void test039() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(38)); + assertEquals(129,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(572)); + assertFalse(ba.enthaelt(391)); + assertFalse(ba.enthaelt(116)); + assertFalse(ba.enthaelt(524)); + assertFalse(ba.enthaelt(569)); + assertFalse(ba.enthaelt(1)); + assertFalse(ba.enthaelt(794)); + assertFalse(ba.enthaelt(300)); + assertFalse(ba.enthaelt(865)); + assertFalse(ba.enthaelt(209)); + assertFalse(ba.enthaelt(408)); + assertTrue(ba.enthaelt(99)); + assertTrue(ba.enthaelt(154)); + assertTrue(ba.enthaelt(734)); + assertTrue(ba.enthaelt(177)); + assertTrue(ba.enthaelt(100)); + assertTrue(ba.enthaelt(536)); + assertTrue(ba.enthaelt(999)); + assertTrue(ba.enthaelt(284)); + assertTrue(ba.enthaelt(628)); + } + + @Test + public void test040() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(39)); + assertEquals(281,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(562)); + assertFalse(ba.enthaelt(19)); + assertFalse(ba.enthaelt(848)); + assertFalse(ba.enthaelt(681)); + assertFalse(ba.enthaelt(878)); + assertFalse(ba.enthaelt(407)); + assertTrue(ba.enthaelt(38)); + assertFalse(ba.enthaelt(641)); + assertTrue(ba.enthaelt(634)); + assertFalse(ba.enthaelt(577)); + assertFalse(ba.enthaelt(976)); + assertFalse(ba.enthaelt(300)); + assertTrue(ba.enthaelt(760)); + assertTrue(ba.enthaelt(476)); + assertTrue(ba.enthaelt(899)); + assertTrue(ba.enthaelt(851)); + assertTrue(ba.enthaelt(618)); + assertTrue(ba.enthaelt(808)); + assertTrue(ba.enthaelt(244)); + assertTrue(ba.enthaelt(401)); + } + + @Test + public void test041() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(40)); + assertEquals(117,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(517)); + assertFalse(ba.enthaelt(883)); + assertFalse(ba.enthaelt(382)); + assertFalse(ba.enthaelt(1008)); + assertFalse(ba.enthaelt(949)); + assertFalse(ba.enthaelt(24)); + assertFalse(ba.enthaelt(207)); + assertFalse(ba.enthaelt(147)); + assertTrue(ba.enthaelt(733)); + assertTrue(ba.enthaelt(847)); + assertFalse(ba.enthaelt(741)); + assertFalse(ba.enthaelt(868)); + assertFalse(ba.enthaelt(785)); + assertTrue(ba.enthaelt(544)); + assertTrue(ba.enthaelt(302)); + assertTrue(ba.enthaelt(797)); + assertTrue(ba.enthaelt(449)); + assertTrue(ba.enthaelt(620)); + assertTrue(ba.enthaelt(465)); + assertTrue(ba.enthaelt(587)); + } + + @Test + public void test042() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(41)); + assertEquals(97,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(201)); + assertFalse(ba.enthaelt(293)); + assertFalse(ba.enthaelt(287)); + assertTrue(ba.enthaelt(627)); + assertTrue(ba.enthaelt(225)); + assertFalse(ba.enthaelt(224)); + assertTrue(ba.enthaelt(994)); + assertFalse(ba.enthaelt(177)); + assertFalse(ba.enthaelt(644)); + assertFalse(ba.enthaelt(935)); + assertFalse(ba.enthaelt(1006)); + assertFalse(ba.enthaelt(488)); + assertFalse(ba.enthaelt(746)); + assertTrue(ba.enthaelt(179)); + assertTrue(ba.enthaelt(1)); + assertTrue(ba.enthaelt(903)); + assertTrue(ba.enthaelt(522)); + assertTrue(ba.enthaelt(407)); + assertTrue(ba.enthaelt(313)); + assertTrue(ba.enthaelt(156)); + } + + @Test + public void test043() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(42)); + assertEquals(157,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(608)); + assertTrue(ba.enthaelt(375)); + assertFalse(ba.enthaelt(689)); + assertFalse(ba.enthaelt(856)); + assertTrue(ba.enthaelt(139)); + assertFalse(ba.enthaelt(693)); + assertFalse(ba.enthaelt(887)); + assertFalse(ba.enthaelt(481)); + assertFalse(ba.enthaelt(256)); + assertFalse(ba.enthaelt(182)); + assertFalse(ba.enthaelt(751)); + assertFalse(ba.enthaelt(114)); + assertTrue(ba.enthaelt(875)); + assertTrue(ba.enthaelt(516)); + assertTrue(ba.enthaelt(838)); + assertTrue(ba.enthaelt(744)); + assertTrue(ba.enthaelt(78)); + assertTrue(ba.enthaelt(797)); + assertTrue(ba.enthaelt(362)); + assertTrue(ba.enthaelt(755)); + } + + @Test + public void test044() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(43)); + assertEquals(347,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(357)); + assertFalse(ba.enthaelt(718)); + assertTrue(ba.enthaelt(756)); + assertTrue(ba.enthaelt(58)); + assertFalse(ba.enthaelt(313)); + assertFalse(ba.enthaelt(530)); + assertTrue(ba.enthaelt(902)); + assertFalse(ba.enthaelt(402)); + assertTrue(ba.enthaelt(197)); + assertFalse(ba.enthaelt(854)); + assertTrue(ba.enthaelt(751)); + assertFalse(ba.enthaelt(942)); + assertFalse(ba.enthaelt(450)); + assertFalse(ba.enthaelt(864)); + assertTrue(ba.enthaelt(220)); + assertFalse(ba.enthaelt(835)); + assertTrue(ba.enthaelt(191)); + assertTrue(ba.enthaelt(859)); + assertTrue(ba.enthaelt(793)); + assertTrue(ba.enthaelt(237)); + } + + @Test + public void test045() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(44)); + assertEquals(459,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(126)); + assertFalse(ba.enthaelt(328)); + assertTrue(ba.enthaelt(305)); + assertFalse(ba.enthaelt(597)); + assertFalse(ba.enthaelt(0)); + assertFalse(ba.enthaelt(747)); + assertFalse(ba.enthaelt(1019)); + assertFalse(ba.enthaelt(93)); + assertFalse(ba.enthaelt(866)); + assertTrue(ba.enthaelt(271)); + assertFalse(ba.enthaelt(81)); + assertFalse(ba.enthaelt(228)); + assertTrue(ba.enthaelt(241)); + assertTrue(ba.enthaelt(335)); + assertTrue(ba.enthaelt(257)); + assertTrue(ba.enthaelt(83)); + assertTrue(ba.enthaelt(885)); + assertTrue(ba.enthaelt(303)); + assertTrue(ba.enthaelt(498)); + assertTrue(ba.enthaelt(366)); + } + + @Test + public void test046() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(45)); + assertEquals(187,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(916)); + assertFalse(ba.enthaelt(489)); + assertFalse(ba.enthaelt(370)); + assertFalse(ba.enthaelt(361)); + assertFalse(ba.enthaelt(635)); + assertFalse(ba.enthaelt(991)); + assertTrue(ba.enthaelt(308)); + assertFalse(ba.enthaelt(677)); + assertTrue(ba.enthaelt(203)); + assertFalse(ba.enthaelt(818)); + assertFalse(ba.enthaelt(175)); + assertFalse(ba.enthaelt(992)); + assertTrue(ba.enthaelt(72)); + assertTrue(ba.enthaelt(516)); + assertTrue(ba.enthaelt(127)); + assertTrue(ba.enthaelt(357)); + assertTrue(ba.enthaelt(535)); + assertTrue(ba.enthaelt(623)); + assertTrue(ba.enthaelt(526)); + assertTrue(ba.enthaelt(483)); + } + + @Test + public void test047() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(46)); + assertEquals(119,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(174)); + assertFalse(ba.enthaelt(700)); + assertFalse(ba.enthaelt(172)); + assertFalse(ba.enthaelt(679)); + assertFalse(ba.enthaelt(459)); + assertFalse(ba.enthaelt(522)); + assertFalse(ba.enthaelt(552)); + assertFalse(ba.enthaelt(1001)); + assertFalse(ba.enthaelt(448)); + assertFalse(ba.enthaelt(578)); + assertTrue(ba.enthaelt(157)); + assertTrue(ba.enthaelt(830)); + assertTrue(ba.enthaelt(316)); + assertTrue(ba.enthaelt(504)); + assertTrue(ba.enthaelt(307)); + assertTrue(ba.enthaelt(516)); + assertTrue(ba.enthaelt(533)); + assertTrue(ba.enthaelt(378)); + assertTrue(ba.enthaelt(151)); + assertTrue(ba.enthaelt(23)); + } + + @Test + public void test048() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(47)); + assertEquals(81,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(763)); + assertFalse(ba.enthaelt(697)); + assertFalse(ba.enthaelt(24)); + assertFalse(ba.enthaelt(516)); + assertFalse(ba.enthaelt(997)); + assertFalse(ba.enthaelt(874)); + assertFalse(ba.enthaelt(331)); + assertFalse(ba.enthaelt(602)); + assertFalse(ba.enthaelt(952)); + assertFalse(ba.enthaelt(928)); + assertTrue(ba.enthaelt(794)); + assertTrue(ba.enthaelt(342)); + assertTrue(ba.enthaelt(551)); + assertTrue(ba.enthaelt(600)); + assertTrue(ba.enthaelt(532)); + assertTrue(ba.enthaelt(86)); + assertTrue(ba.enthaelt(217)); + assertTrue(ba.enthaelt(921)); + assertTrue(ba.enthaelt(115)); + assertTrue(ba.enthaelt(32)); + } + + @Test + public void test049() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(48)); + assertEquals(349,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(394)); + assertFalse(ba.enthaelt(690)); + assertFalse(ba.enthaelt(3)); + assertTrue(ba.enthaelt(400)); + assertFalse(ba.enthaelt(264)); + assertFalse(ba.enthaelt(823)); + assertTrue(ba.enthaelt(569)); + assertFalse(ba.enthaelt(140)); + assertFalse(ba.enthaelt(1008)); + assertTrue(ba.enthaelt(42)); + assertFalse(ba.enthaelt(818)); + assertFalse(ba.enthaelt(902)); + assertTrue(ba.enthaelt(41)); + assertFalse(ba.enthaelt(631)); + assertFalse(ba.enthaelt(927)); + assertTrue(ba.enthaelt(790)); + assertTrue(ba.enthaelt(464)); + assertTrue(ba.enthaelt(447)); + assertTrue(ba.enthaelt(203)); + assertTrue(ba.enthaelt(774)); + } + + @Test + public void test050() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(49)); + assertEquals(73,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertTrue(ba.enthaelt(942)); + assertFalse(ba.enthaelt(310)); + assertFalse(ba.enthaelt(44)); + assertFalse(ba.enthaelt(536)); + assertFalse(ba.enthaelt(512)); + assertTrue(ba.enthaelt(257)); + assertFalse(ba.enthaelt(219)); + assertFalse(ba.enthaelt(73)); + assertFalse(ba.enthaelt(474)); + assertTrue(ba.enthaelt(21)); + assertFalse(ba.enthaelt(820)); + assertFalse(ba.enthaelt(358)); + assertFalse(ba.enthaelt(651)); + assertTrue(ba.enthaelt(97)); + assertTrue(ba.enthaelt(309)); + assertTrue(ba.enthaelt(815)); + assertTrue(ba.enthaelt(914)); + assertTrue(ba.enthaelt(959)); + assertTrue(ba.enthaelt(183)); + assertTrue(ba.enthaelt(502)); + } + + @Test + public void test051() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(50)); + assertEquals(115,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(985)); + assertFalse(ba.enthaelt(199)); + assertFalse(ba.enthaelt(872)); + assertFalse(ba.enthaelt(721)); + assertFalse(ba.enthaelt(396)); + assertFalse(ba.enthaelt(318)); + assertFalse(ba.enthaelt(625)); + assertFalse(ba.enthaelt(762)); + assertFalse(ba.enthaelt(324)); + assertFalse(ba.enthaelt(913)); + assertTrue(ba.enthaelt(869)); + assertTrue(ba.enthaelt(541)); + assertTrue(ba.enthaelt(444)); + assertTrue(ba.enthaelt(937)); + assertTrue(ba.enthaelt(837)); + assertTrue(ba.enthaelt(898)); + assertTrue(ba.enthaelt(843)); + assertTrue(ba.enthaelt(236)); + assertTrue(ba.enthaelt(954)); + assertTrue(ba.enthaelt(752)); + } + + @Test + public void test052() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(51)); + assertEquals(437,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(352)); + assertTrue(ba.enthaelt(305)); + assertFalse(ba.enthaelt(708)); + assertTrue(ba.enthaelt(670)); + assertTrue(ba.enthaelt(281)); + assertFalse(ba.enthaelt(677)); + assertTrue(ba.enthaelt(410)); + assertFalse(ba.enthaelt(1015)); + assertFalse(ba.enthaelt(555)); + assertFalse(ba.enthaelt(1004)); + assertFalse(ba.enthaelt(768)); + assertFalse(ba.enthaelt(774)); + assertTrue(ba.enthaelt(491)); + assertTrue(ba.enthaelt(589)); + assertFalse(ba.enthaelt(360)); + assertFalse(ba.enthaelt(720)); + assertTrue(ba.enthaelt(779)); + assertTrue(ba.enthaelt(871)); + assertTrue(ba.enthaelt(538)); + assertTrue(ba.enthaelt(918)); + } + + @Test + public void test053() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(52)); + assertEquals(209,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(719)); + assertFalse(ba.enthaelt(933)); + assertFalse(ba.enthaelt(77)); + assertFalse(ba.enthaelt(844)); + assertFalse(ba.enthaelt(744)); + assertFalse(ba.enthaelt(1008)); + assertFalse(ba.enthaelt(208)); + assertFalse(ba.enthaelt(17)); + assertFalse(ba.enthaelt(171)); + assertFalse(ba.enthaelt(290)); + assertTrue(ba.enthaelt(44)); + assertTrue(ba.enthaelt(780)); + assertTrue(ba.enthaelt(303)); + assertTrue(ba.enthaelt(343)); + assertTrue(ba.enthaelt(177)); + assertTrue(ba.enthaelt(488)); + assertTrue(ba.enthaelt(85)); + assertTrue(ba.enthaelt(574)); + assertTrue(ba.enthaelt(765)); + assertTrue(ba.enthaelt(150)); + } + + @Test + public void test054() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(53)); + assertEquals(151,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(272)); + assertTrue(ba.enthaelt(254)); + assertFalse(ba.enthaelt(72)); + assertTrue(ba.enthaelt(739)); + assertTrue(ba.enthaelt(119)); + assertFalse(ba.enthaelt(605)); + assertFalse(ba.enthaelt(438)); + assertTrue(ba.enthaelt(738)); + assertFalse(ba.enthaelt(3)); + assertFalse(ba.enthaelt(27)); + assertFalse(ba.enthaelt(572)); + assertFalse(ba.enthaelt(1003)); + assertFalse(ba.enthaelt(971)); + assertFalse(ba.enthaelt(283)); + assertTrue(ba.enthaelt(566)); + assertTrue(ba.enthaelt(159)); + assertTrue(ba.enthaelt(505)); + assertTrue(ba.enthaelt(755)); + assertTrue(ba.enthaelt(540)); + assertTrue(ba.enthaelt(126)); + } + + @Test + public void test055() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(54)); + assertEquals(311,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(619)); + assertTrue(ba.enthaelt(583)); + assertTrue(ba.enthaelt(258)); + assertFalse(ba.enthaelt(855)); + assertFalse(ba.enthaelt(436)); + assertTrue(ba.enthaelt(182)); + assertTrue(ba.enthaelt(587)); + assertTrue(ba.enthaelt(880)); + assertFalse(ba.enthaelt(883)); + assertFalse(ba.enthaelt(225)); + assertFalse(ba.enthaelt(460)); + assertFalse(ba.enthaelt(501)); + assertFalse(ba.enthaelt(286)); + assertFalse(ba.enthaelt(727)); + assertFalse(ba.enthaelt(589)); + assertFalse(ba.enthaelt(773)); + assertTrue(ba.enthaelt(912)); + assertTrue(ba.enthaelt(671)); + assertTrue(ba.enthaelt(245)); + assertTrue(ba.enthaelt(145)); + } + + @Test + public void test056() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(55)); + assertEquals(93,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertTrue(ba.enthaelt(232)); + assertFalse(ba.enthaelt(504)); + assertFalse(ba.enthaelt(951)); + assertFalse(ba.enthaelt(628)); + assertFalse(ba.enthaelt(292)); + assertFalse(ba.enthaelt(575)); + assertFalse(ba.enthaelt(188)); + assertFalse(ba.enthaelt(255)); + assertFalse(ba.enthaelt(913)); + assertFalse(ba.enthaelt(592)); + assertFalse(ba.enthaelt(649)); + assertTrue(ba.enthaelt(897)); + assertTrue(ba.enthaelt(385)); + assertTrue(ba.enthaelt(128)); + assertTrue(ba.enthaelt(228)); + assertTrue(ba.enthaelt(430)); + assertTrue(ba.enthaelt(653)); + assertTrue(ba.enthaelt(497)); + assertTrue(ba.enthaelt(317)); + assertTrue(ba.enthaelt(269)); + } + + @Test + public void test057() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(56)); + assertEquals(499,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(83)); + assertFalse(ba.enthaelt(557)); + assertFalse(ba.enthaelt(863)); + assertTrue(ba.enthaelt(569)); + assertTrue(ba.enthaelt(116)); + assertFalse(ba.enthaelt(841)); + assertTrue(ba.enthaelt(683)); + assertFalse(ba.enthaelt(450)); + assertFalse(ba.enthaelt(783)); + assertTrue(ba.enthaelt(49)); + assertFalse(ba.enthaelt(87)); + assertTrue(ba.enthaelt(983)); + assertTrue(ba.enthaelt(810)); + assertTrue(ba.enthaelt(354)); + assertFalse(ba.enthaelt(155)); + assertFalse(ba.enthaelt(2)); + assertFalse(ba.enthaelt(725)); + assertTrue(ba.enthaelt(786)); + assertTrue(ba.enthaelt(916)); + assertFalse(ba.enthaelt(1009)); + } + + @Test + public void test058() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(57)); + assertEquals(243,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertTrue(ba.enthaelt(737)); + assertFalse(ba.enthaelt(969)); + assertFalse(ba.enthaelt(1004)); + assertTrue(ba.enthaelt(633)); + assertFalse(ba.enthaelt(993)); + assertFalse(ba.enthaelt(367)); + assertFalse(ba.enthaelt(743)); + assertFalse(ba.enthaelt(998)); + assertFalse(ba.enthaelt(841)); + assertFalse(ba.enthaelt(775)); + assertTrue(ba.enthaelt(365)); + assertFalse(ba.enthaelt(1018)); + assertFalse(ba.enthaelt(517)); + assertTrue(ba.enthaelt(242)); + assertTrue(ba.enthaelt(100)); + assertTrue(ba.enthaelt(404)); + assertTrue(ba.enthaelt(635)); + assertTrue(ba.enthaelt(337)); + assertTrue(ba.enthaelt(347)); + assertTrue(ba.enthaelt(133)); + } + + @Test + public void test059() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(58)); + assertEquals(875,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(665)); + assertFalse(ba.enthaelt(774)); + assertFalse(ba.enthaelt(855)); + assertFalse(ba.enthaelt(490)); + assertFalse(ba.enthaelt(690)); + assertFalse(ba.enthaelt(975)); + assertTrue(ba.enthaelt(385)); + assertTrue(ba.enthaelt(789)); + assertFalse(ba.enthaelt(625)); + assertTrue(ba.enthaelt(569)); + assertTrue(ba.enthaelt(818)); + assertFalse(ba.enthaelt(442)); + assertTrue(ba.enthaelt(826)); + assertTrue(ba.enthaelt(566)); + assertFalse(ba.enthaelt(1001)); + assertFalse(ba.enthaelt(886)); + assertTrue(ba.enthaelt(49)); + assertFalse(ba.enthaelt(463)); + assertTrue(ba.enthaelt(29)); + assertTrue(ba.enthaelt(84)); + } + + @Test + public void test060() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(59)); + assertEquals(251,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(81)); + assertFalse(ba.enthaelt(447)); + assertTrue(ba.enthaelt(998)); + assertFalse(ba.enthaelt(0)); + assertFalse(ba.enthaelt(1000)); + assertFalse(ba.enthaelt(118)); + assertFalse(ba.enthaelt(86)); + assertFalse(ba.enthaelt(570)); + assertFalse(ba.enthaelt(104)); + assertTrue(ba.enthaelt(495)); + assertFalse(ba.enthaelt(584)); + assertFalse(ba.enthaelt(560)); + assertTrue(ba.enthaelt(623)); + assertFalse(ba.enthaelt(1005)); + assertTrue(ba.enthaelt(740)); + assertTrue(ba.enthaelt(360)); + assertTrue(ba.enthaelt(630)); + assertTrue(ba.enthaelt(264)); + assertTrue(ba.enthaelt(220)); + assertTrue(ba.enthaelt(469)); + } + + @Test + public void test061() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(60)); + assertEquals(97,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(432)); + assertFalse(ba.enthaelt(345)); + assertFalse(ba.enthaelt(594)); + assertFalse(ba.enthaelt(752)); + assertFalse(ba.enthaelt(751)); + assertFalse(ba.enthaelt(998)); + assertTrue(ba.enthaelt(9)); + assertFalse(ba.enthaelt(940)); + assertFalse(ba.enthaelt(1002)); + assertFalse(ba.enthaelt(296)); + assertFalse(ba.enthaelt(951)); + assertTrue(ba.enthaelt(169)); + assertTrue(ba.enthaelt(392)); + assertTrue(ba.enthaelt(226)); + assertTrue(ba.enthaelt(885)); + assertTrue(ba.enthaelt(350)); + assertTrue(ba.enthaelt(799)); + assertTrue(ba.enthaelt(877)); + assertTrue(ba.enthaelt(180)); + assertTrue(ba.enthaelt(836)); + } + + @Test + public void test062() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(61)); + assertEquals(85,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(1019)); + assertFalse(ba.enthaelt(997)); + assertFalse(ba.enthaelt(340)); + assertFalse(ba.enthaelt(594)); + assertFalse(ba.enthaelt(996)); + assertFalse(ba.enthaelt(766)); + assertFalse(ba.enthaelt(241)); + assertFalse(ba.enthaelt(192)); + assertFalse(ba.enthaelt(740)); + assertFalse(ba.enthaelt(869)); + assertTrue(ba.enthaelt(75)); + assertTrue(ba.enthaelt(3)); + assertTrue(ba.enthaelt(634)); + assertTrue(ba.enthaelt(814)); + assertTrue(ba.enthaelt(438)); + assertTrue(ba.enthaelt(785)); + assertTrue(ba.enthaelt(755)); + assertTrue(ba.enthaelt(446)); + assertTrue(ba.enthaelt(414)); + assertTrue(ba.enthaelt(579)); + } + + @Test + public void test063() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(62)); + assertEquals(221,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(251)); + assertFalse(ba.enthaelt(138)); + assertTrue(ba.enthaelt(803)); + assertFalse(ba.enthaelt(280)); + assertFalse(ba.enthaelt(62)); + assertFalse(ba.enthaelt(665)); + assertFalse(ba.enthaelt(429)); + assertTrue(ba.enthaelt(524)); + assertFalse(ba.enthaelt(656)); + assertTrue(ba.enthaelt(463)); + assertFalse(ba.enthaelt(131)); + assertFalse(ba.enthaelt(759)); + assertFalse(ba.enthaelt(26)); + assertTrue(ba.enthaelt(303)); + assertTrue(ba.enthaelt(213)); + assertTrue(ba.enthaelt(167)); + assertTrue(ba.enthaelt(399)); + assertTrue(ba.enthaelt(264)); + assertTrue(ba.enthaelt(944)); + assertTrue(ba.enthaelt(625)); + } + + @Test + public void test064() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(63)); + assertEquals(115,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(690)); + assertFalse(ba.enthaelt(204)); + assertFalse(ba.enthaelt(525)); + assertFalse(ba.enthaelt(448)); + assertFalse(ba.enthaelt(658)); + assertFalse(ba.enthaelt(628)); + assertFalse(ba.enthaelt(444)); + assertFalse(ba.enthaelt(28)); + assertFalse(ba.enthaelt(622)); + assertFalse(ba.enthaelt(270)); + assertFalse(ba.enthaelt(731)); + assertTrue(ba.enthaelt(38)); + assertTrue(ba.enthaelt(479)); + assertTrue(ba.enthaelt(182)); + assertTrue(ba.enthaelt(24)); + assertTrue(ba.enthaelt(754)); + assertTrue(ba.enthaelt(308)); + assertTrue(ba.enthaelt(838)); + assertTrue(ba.enthaelt(85)); + assertTrue(ba.enthaelt(289)); + } + + @Test + public void test065() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(64)); + assertEquals(513,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(579)); + assertFalse(ba.enthaelt(140)); + assertFalse(ba.enthaelt(598)); + assertFalse(ba.enthaelt(303)); + assertTrue(ba.enthaelt(524)); + assertFalse(ba.enthaelt(776)); + assertFalse(ba.enthaelt(522)); + assertTrue(ba.enthaelt(323)); + assertFalse(ba.enthaelt(168)); + assertTrue(ba.enthaelt(787)); + assertFalse(ba.enthaelt(922)); + assertFalse(ba.enthaelt(3)); + assertFalse(ba.enthaelt(1007)); + assertTrue(ba.enthaelt(900)); + assertTrue(ba.enthaelt(988)); + assertTrue(ba.enthaelt(113)); + assertTrue(ba.enthaelt(274)); + assertTrue(ba.enthaelt(653)); + assertTrue(ba.enthaelt(958)); + assertTrue(ba.enthaelt(866)); + } + + @Test + public void test066() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(65)); + assertEquals(79,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(21)); + assertFalse(ba.enthaelt(658)); + assertFalse(ba.enthaelt(843)); + assertFalse(ba.enthaelt(441)); + assertTrue(ba.enthaelt(976)); + assertFalse(ba.enthaelt(797)); + assertFalse(ba.enthaelt(986)); + assertFalse(ba.enthaelt(159)); + assertFalse(ba.enthaelt(305)); + assertFalse(ba.enthaelt(486)); + assertFalse(ba.enthaelt(290)); + assertTrue(ba.enthaelt(221)); + assertTrue(ba.enthaelt(216)); + assertTrue(ba.enthaelt(696)); + assertTrue(ba.enthaelt(517)); + assertTrue(ba.enthaelt(898)); + assertTrue(ba.enthaelt(820)); + assertTrue(ba.enthaelt(243)); + assertTrue(ba.enthaelt(874)); + assertTrue(ba.enthaelt(225)); + } + + @Test + public void test067() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(66)); + assertEquals(145,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(588)); + assertFalse(ba.enthaelt(860)); + assertTrue(ba.enthaelt(451)); + assertFalse(ba.enthaelt(461)); + assertFalse(ba.enthaelt(634)); + assertFalse(ba.enthaelt(154)); + assertTrue(ba.enthaelt(146)); + assertFalse(ba.enthaelt(581)); + assertFalse(ba.enthaelt(778)); + assertFalse(ba.enthaelt(986)); + assertFalse(ba.enthaelt(580)); + assertFalse(ba.enthaelt(685)); + assertTrue(ba.enthaelt(305)); + assertTrue(ba.enthaelt(669)); + assertTrue(ba.enthaelt(106)); + assertTrue(ba.enthaelt(635)); + assertTrue(ba.enthaelt(173)); + assertTrue(ba.enthaelt(536)); + assertTrue(ba.enthaelt(249)); + assertTrue(ba.enthaelt(244)); + } + + @Test + public void test068() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(67)); + assertEquals(653,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(950)); + assertFalse(ba.enthaelt(762)); + assertFalse(ba.enthaelt(499)); + assertFalse(ba.enthaelt(543)); + assertTrue(ba.enthaelt(161)); + assertFalse(ba.enthaelt(288)); + assertFalse(ba.enthaelt(135)); + assertTrue(ba.enthaelt(119)); + assertTrue(ba.enthaelt(379)); + assertFalse(ba.enthaelt(9)); + assertFalse(ba.enthaelt(854)); + assertFalse(ba.enthaelt(634)); + assertTrue(ba.enthaelt(215)); + assertFalse(ba.enthaelt(345)); + assertTrue(ba.enthaelt(326)); + assertFalse(ba.enthaelt(948)); + assertTrue(ba.enthaelt(328)); + assertTrue(ba.enthaelt(803)); + assertTrue(ba.enthaelt(463)); + assertTrue(ba.enthaelt(212)); + } + + @Test + public void test069() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(68)); + assertEquals(231,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(450)); + assertFalse(ba.enthaelt(942)); + assertFalse(ba.enthaelt(343)); + assertFalse(ba.enthaelt(195)); + assertFalse(ba.enthaelt(521)); + assertFalse(ba.enthaelt(377)); + assertFalse(ba.enthaelt(839)); + assertFalse(ba.enthaelt(727)); + assertFalse(ba.enthaelt(643)); + assertFalse(ba.enthaelt(750)); + assertTrue(ba.enthaelt(422)); + assertTrue(ba.enthaelt(569)); + assertTrue(ba.enthaelt(852)); + assertTrue(ba.enthaelt(808)); + assertTrue(ba.enthaelt(771)); + assertTrue(ba.enthaelt(874)); + assertTrue(ba.enthaelt(49)); + assertTrue(ba.enthaelt(308)); + assertTrue(ba.enthaelt(176)); + assertTrue(ba.enthaelt(198)); + } + + @Test + public void test070() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(69)); + assertEquals(241,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(982)); + assertFalse(ba.enthaelt(326)); + assertTrue(ba.enthaelt(925)); + assertTrue(ba.enthaelt(680)); + assertTrue(ba.enthaelt(71)); + assertFalse(ba.enthaelt(494)); + assertFalse(ba.enthaelt(841)); + assertFalse(ba.enthaelt(915)); + assertTrue(ba.enthaelt(100)); + assertFalse(ba.enthaelt(215)); + assertFalse(ba.enthaelt(48)); + assertFalse(ba.enthaelt(5)); + assertFalse(ba.enthaelt(891)); + assertFalse(ba.enthaelt(372)); + assertTrue(ba.enthaelt(908)); + assertTrue(ba.enthaelt(451)); + assertTrue(ba.enthaelt(258)); + assertTrue(ba.enthaelt(473)); + assertTrue(ba.enthaelt(861)); + assertTrue(ba.enthaelt(734)); + } + + @Test + public void test071() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(70)); + assertEquals(147,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(803)); + assertFalse(ba.enthaelt(898)); + assertFalse(ba.enthaelt(464)); + assertFalse(ba.enthaelt(12)); + assertFalse(ba.enthaelt(439)); + assertFalse(ba.enthaelt(673)); + assertFalse(ba.enthaelt(750)); + assertTrue(ba.enthaelt(494)); + assertFalse(ba.enthaelt(1007)); + assertFalse(ba.enthaelt(119)); + assertFalse(ba.enthaelt(113)); + assertTrue(ba.enthaelt(588)); + assertTrue(ba.enthaelt(829)); + assertTrue(ba.enthaelt(617)); + assertTrue(ba.enthaelt(644)); + assertTrue(ba.enthaelt(537)); + assertTrue(ba.enthaelt(471)); + assertTrue(ba.enthaelt(70)); + assertTrue(ba.enthaelt(769)); + assertTrue(ba.enthaelt(581)); + } + + @Test + public void test072() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(71)); + assertEquals(165,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertTrue(ba.enthaelt(447)); + assertTrue(ba.enthaelt(675)); + assertFalse(ba.enthaelt(172)); + assertFalse(ba.enthaelt(438)); + assertTrue(ba.enthaelt(105)); + assertFalse(ba.enthaelt(198)); + assertFalse(ba.enthaelt(328)); + assertFalse(ba.enthaelt(86)); + assertFalse(ba.enthaelt(293)); + assertFalse(ba.enthaelt(441)); + assertFalse(ba.enthaelt(466)); + assertFalse(ba.enthaelt(572)); + assertTrue(ba.enthaelt(499)); + assertFalse(ba.enthaelt(218)); + assertTrue(ba.enthaelt(518)); + assertTrue(ba.enthaelt(813)); + assertTrue(ba.enthaelt(32)); + assertTrue(ba.enthaelt(554)); + assertTrue(ba.enthaelt(152)); + assertTrue(ba.enthaelt(19)); + } + + @Test + public void test073() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(72)); + assertEquals(231,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(891)); + assertFalse(ba.enthaelt(908)); + assertTrue(ba.enthaelt(138)); + assertFalse(ba.enthaelt(1012)); + assertFalse(ba.enthaelt(189)); + assertTrue(ba.enthaelt(745)); + assertFalse(ba.enthaelt(799)); + assertTrue(ba.enthaelt(922)); + assertTrue(ba.enthaelt(595)); + assertFalse(ba.enthaelt(391)); + assertFalse(ba.enthaelt(31)); + assertFalse(ba.enthaelt(177)); + assertFalse(ba.enthaelt(673)); + assertFalse(ba.enthaelt(348)); + assertTrue(ba.enthaelt(850)); + assertTrue(ba.enthaelt(162)); + assertTrue(ba.enthaelt(820)); + assertTrue(ba.enthaelt(219)); + assertTrue(ba.enthaelt(388)); + assertTrue(ba.enthaelt(694)); + } + + @Test + public void test074() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(73)); + assertEquals(191,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(92)); + assertFalse(ba.enthaelt(929)); + assertTrue(ba.enthaelt(312)); + assertFalse(ba.enthaelt(209)); + assertFalse(ba.enthaelt(843)); + assertFalse(ba.enthaelt(935)); + assertFalse(ba.enthaelt(6)); + assertFalse(ba.enthaelt(529)); + assertFalse(ba.enthaelt(567)); + assertFalse(ba.enthaelt(646)); + assertFalse(ba.enthaelt(116)); + assertTrue(ba.enthaelt(788)); + assertTrue(ba.enthaelt(487)); + assertTrue(ba.enthaelt(330)); + assertTrue(ba.enthaelt(813)); + assertTrue(ba.enthaelt(77)); + assertTrue(ba.enthaelt(624)); + assertTrue(ba.enthaelt(722)); + assertTrue(ba.enthaelt(566)); + assertTrue(ba.enthaelt(215)); + } + + @Test + public void test075() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(74)); + assertEquals(137,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(733)); + assertTrue(ba.enthaelt(561)); + assertFalse(ba.enthaelt(354)); + assertFalse(ba.enthaelt(820)); + assertFalse(ba.enthaelt(230)); + assertFalse(ba.enthaelt(40)); + assertFalse(ba.enthaelt(671)); + assertFalse(ba.enthaelt(624)); + assertFalse(ba.enthaelt(872)); + assertFalse(ba.enthaelt(375)); + assertFalse(ba.enthaelt(394)); + assertTrue(ba.enthaelt(151)); + assertTrue(ba.enthaelt(815)); + assertTrue(ba.enthaelt(951)); + assertTrue(ba.enthaelt(821)); + assertTrue(ba.enthaelt(364)); + assertTrue(ba.enthaelt(293)); + assertTrue(ba.enthaelt(58)); + assertTrue(ba.enthaelt(798)); + assertTrue(ba.enthaelt(51)); + } + + @Test + public void test076() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(75)); + assertEquals(63,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(259)); + assertFalse(ba.enthaelt(272)); + assertTrue(ba.enthaelt(251)); + assertFalse(ba.enthaelt(961)); + assertFalse(ba.enthaelt(214)); + assertFalse(ba.enthaelt(963)); + assertFalse(ba.enthaelt(921)); + assertTrue(ba.enthaelt(278)); + assertFalse(ba.enthaelt(521)); + assertFalse(ba.enthaelt(302)); + assertFalse(ba.enthaelt(621)); + assertFalse(ba.enthaelt(640)); + assertTrue(ba.enthaelt(655)); + assertTrue(ba.enthaelt(829)); + assertTrue(ba.enthaelt(557)); + assertTrue(ba.enthaelt(419)); + assertTrue(ba.enthaelt(566)); + assertTrue(ba.enthaelt(581)); + assertTrue(ba.enthaelt(627)); + assertTrue(ba.enthaelt(385)); + } + + @Test + public void test077() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(76)); + assertEquals(265,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(59)); + assertTrue(ba.enthaelt(384)); + assertFalse(ba.enthaelt(286)); + assertTrue(ba.enthaelt(195)); + assertFalse(ba.enthaelt(432)); + assertTrue(ba.enthaelt(591)); + assertFalse(ba.enthaelt(107)); + assertTrue(ba.enthaelt(867)); + assertFalse(ba.enthaelt(51)); + assertFalse(ba.enthaelt(883)); + assertFalse(ba.enthaelt(206)); + assertFalse(ba.enthaelt(981)); + assertFalse(ba.enthaelt(32)); + assertFalse(ba.enthaelt(782)); + assertTrue(ba.enthaelt(352)); + assertTrue(ba.enthaelt(804)); + assertTrue(ba.enthaelt(767)); + assertTrue(ba.enthaelt(129)); + assertTrue(ba.enthaelt(483)); + assertTrue(ba.enthaelt(372)); + } + + @Test + public void test078() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(77)); + assertEquals(211,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(520)); + assertFalse(ba.enthaelt(832)); + assertTrue(ba.enthaelt(98)); + assertFalse(ba.enthaelt(240)); + assertFalse(ba.enthaelt(1015)); + assertFalse(ba.enthaelt(367)); + assertFalse(ba.enthaelt(237)); + assertFalse(ba.enthaelt(873)); + assertFalse(ba.enthaelt(672)); + assertFalse(ba.enthaelt(269)); + assertTrue(ba.enthaelt(115)); + assertFalse(ba.enthaelt(493)); + assertTrue(ba.enthaelt(772)); + assertTrue(ba.enthaelt(36)); + assertTrue(ba.enthaelt(766)); + assertTrue(ba.enthaelt(329)); + assertTrue(ba.enthaelt(519)); + assertTrue(ba.enthaelt(566)); + assertTrue(ba.enthaelt(192)); + assertTrue(ba.enthaelt(114)); + } + + @Test + public void test079() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(78)); + assertEquals(77,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(774)); + assertFalse(ba.enthaelt(217)); + assertFalse(ba.enthaelt(274)); + assertFalse(ba.enthaelt(342)); + assertFalse(ba.enthaelt(175)); + assertTrue(ba.enthaelt(282)); + assertFalse(ba.enthaelt(191)); + assertFalse(ba.enthaelt(640)); + assertFalse(ba.enthaelt(373)); + assertFalse(ba.enthaelt(17)); + assertFalse(ba.enthaelt(950)); + assertTrue(ba.enthaelt(14)); + assertTrue(ba.enthaelt(391)); + assertTrue(ba.enthaelt(127)); + assertTrue(ba.enthaelt(402)); + assertTrue(ba.enthaelt(327)); + assertTrue(ba.enthaelt(420)); + assertTrue(ba.enthaelt(151)); + assertTrue(ba.enthaelt(313)); + assertTrue(ba.enthaelt(747)); + } + + @Test + public void test080() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(79)); + assertEquals(301,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(21)); + assertFalse(ba.enthaelt(562)); + assertFalse(ba.enthaelt(89)); + assertTrue(ba.enthaelt(366)); + assertFalse(ba.enthaelt(207)); + assertFalse(ba.enthaelt(825)); + assertFalse(ba.enthaelt(289)); + assertFalse(ba.enthaelt(1016)); + assertFalse(ba.enthaelt(213)); + assertFalse(ba.enthaelt(326)); + assertFalse(ba.enthaelt(407)); + assertTrue(ba.enthaelt(225)); + assertTrue(ba.enthaelt(576)); + assertTrue(ba.enthaelt(180)); + assertTrue(ba.enthaelt(504)); + assertTrue(ba.enthaelt(374)); + assertTrue(ba.enthaelt(239)); + assertTrue(ba.enthaelt(139)); + assertTrue(ba.enthaelt(327)); + assertTrue(ba.enthaelt(286)); + } + + @Test + public void test081() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(80)); + assertEquals(577,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(345)); + assertFalse(ba.enthaelt(461)); + assertFalse(ba.enthaelt(1007)); + assertTrue(ba.enthaelt(821)); + assertFalse(ba.enthaelt(446)); + assertTrue(ba.enthaelt(748)); + assertFalse(ba.enthaelt(400)); + assertTrue(ba.enthaelt(505)); + assertFalse(ba.enthaelt(898)); + assertTrue(ba.enthaelt(10)); + assertFalse(ba.enthaelt(72)); + assertTrue(ba.enthaelt(222)); + assertFalse(ba.enthaelt(977)); + assertTrue(ba.enthaelt(555)); + assertTrue(ba.enthaelt(870)); + assertFalse(ba.enthaelt(845)); + assertTrue(ba.enthaelt(795)); + assertTrue(ba.enthaelt(12)); + assertTrue(ba.enthaelt(233)); + assertFalse(ba.enthaelt(731)); + } + + @Test + public void test082() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(81)); + assertEquals(99,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(508)); + assertFalse(ba.enthaelt(542)); + assertFalse(ba.enthaelt(12)); + assertFalse(ba.enthaelt(739)); + assertFalse(ba.enthaelt(770)); + assertFalse(ba.enthaelt(1010)); + assertFalse(ba.enthaelt(1018)); + assertFalse(ba.enthaelt(15)); + assertTrue(ba.enthaelt(418)); + assertFalse(ba.enthaelt(969)); + assertFalse(ba.enthaelt(962)); + assertTrue(ba.enthaelt(191)); + assertTrue(ba.enthaelt(31)); + assertTrue(ba.enthaelt(299)); + assertTrue(ba.enthaelt(846)); + assertTrue(ba.enthaelt(768)); + assertTrue(ba.enthaelt(973)); + assertTrue(ba.enthaelt(772)); + assertTrue(ba.enthaelt(629)); + assertTrue(ba.enthaelt(844)); + } + + @Test + public void test083() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(82)); + assertEquals(393,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(762)); + assertFalse(ba.enthaelt(749)); + assertFalse(ba.enthaelt(560)); + assertFalse(ba.enthaelt(646)); + assertTrue(ba.enthaelt(558)); + assertFalse(ba.enthaelt(8)); + assertFalse(ba.enthaelt(683)); + assertFalse(ba.enthaelt(805)); + assertTrue(ba.enthaelt(668)); + assertTrue(ba.enthaelt(434)); + assertTrue(ba.enthaelt(483)); + assertFalse(ba.enthaelt(962)); + assertTrue(ba.enthaelt(137)); + assertTrue(ba.enthaelt(239)); + assertFalse(ba.enthaelt(747)); + assertTrue(ba.enthaelt(583)); + assertFalse(ba.enthaelt(298)); + assertTrue(ba.enthaelt(608)); + assertTrue(ba.enthaelt(914)); + assertTrue(ba.enthaelt(717)); + } + + @Test + public void test084() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(83)); + assertEquals(203,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(198)); + assertFalse(ba.enthaelt(805)); + assertFalse(ba.enthaelt(725)); + assertFalse(ba.enthaelt(434)); + assertTrue(ba.enthaelt(289)); + assertFalse(ba.enthaelt(330)); + assertTrue(ba.enthaelt(130)); + assertFalse(ba.enthaelt(876)); + assertFalse(ba.enthaelt(812)); + assertFalse(ba.enthaelt(989)); + assertFalse(ba.enthaelt(51)); + assertFalse(ba.enthaelt(594)); + assertTrue(ba.enthaelt(673)); + assertTrue(ba.enthaelt(988)); + assertTrue(ba.enthaelt(940)); + assertTrue(ba.enthaelt(352)); + assertTrue(ba.enthaelt(756)); + assertTrue(ba.enthaelt(435)); + assertTrue(ba.enthaelt(525)); + assertTrue(ba.enthaelt(196)); + } + + @Test + public void test085() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(84)); + assertEquals(123,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(332)); + assertTrue(ba.enthaelt(580)); + assertFalse(ba.enthaelt(197)); + assertTrue(ba.enthaelt(188)); + assertFalse(ba.enthaelt(175)); + assertFalse(ba.enthaelt(59)); + assertFalse(ba.enthaelt(402)); + assertFalse(ba.enthaelt(200)); + assertTrue(ba.enthaelt(265)); + assertFalse(ba.enthaelt(320)); + assertTrue(ba.enthaelt(969)); + assertFalse(ba.enthaelt(54)); + assertFalse(ba.enthaelt(190)); + assertTrue(ba.enthaelt(664)); + assertFalse(ba.enthaelt(1010)); + assertTrue(ba.enthaelt(340)); + assertTrue(ba.enthaelt(679)); + assertTrue(ba.enthaelt(909)); + assertTrue(ba.enthaelt(588)); + assertTrue(ba.enthaelt(416)); + } + + @Test + public void test086() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(85)); + assertEquals(425,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(406)); + assertFalse(ba.enthaelt(372)); + assertFalse(ba.enthaelt(429)); + assertFalse(ba.enthaelt(108)); + assertFalse(ba.enthaelt(158)); + assertFalse(ba.enthaelt(241)); + assertFalse(ba.enthaelt(24)); + assertFalse(ba.enthaelt(581)); + assertTrue(ba.enthaelt(258)); + assertFalse(ba.enthaelt(692)); + assertFalse(ba.enthaelt(127)); + assertTrue(ba.enthaelt(593)); + assertTrue(ba.enthaelt(212)); + assertTrue(ba.enthaelt(492)); + assertTrue(ba.enthaelt(767)); + assertTrue(ba.enthaelt(90)); + assertTrue(ba.enthaelt(457)); + assertTrue(ba.enthaelt(793)); + assertTrue(ba.enthaelt(209)); + assertTrue(ba.enthaelt(180)); + } + + @Test + public void test087() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(86)); + assertEquals(43,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(247)); + assertTrue(ba.enthaelt(787)); + assertFalse(ba.enthaelt(299)); + assertFalse(ba.enthaelt(117)); + assertFalse(ba.enthaelt(733)); + assertFalse(ba.enthaelt(565)); + assertFalse(ba.enthaelt(530)); + assertFalse(ba.enthaelt(363)); + assertFalse(ba.enthaelt(827)); + assertFalse(ba.enthaelt(995)); + assertFalse(ba.enthaelt(926)); + assertTrue(ba.enthaelt(294)); + assertTrue(ba.enthaelt(759)); + assertTrue(ba.enthaelt(972)); + assertTrue(ba.enthaelt(703)); + assertTrue(ba.enthaelt(739)); + assertTrue(ba.enthaelt(339)); + assertTrue(ba.enthaelt(589)); + assertTrue(ba.enthaelt(6)); + assertTrue(ba.enthaelt(450)); + } + + @Test + public void test088() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(87)); + assertEquals(579,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(1017)); + assertFalse(ba.enthaelt(557)); + assertTrue(ba.enthaelt(742)); + assertFalse(ba.enthaelt(95)); + assertFalse(ba.enthaelt(748)); + assertFalse(ba.enthaelt(839)); + assertFalse(ba.enthaelt(612)); + assertFalse(ba.enthaelt(131)); + assertTrue(ba.enthaelt(433)); + assertFalse(ba.enthaelt(64)); + assertFalse(ba.enthaelt(739)); + assertTrue(ba.enthaelt(831)); + assertTrue(ba.enthaelt(743)); + assertTrue(ba.enthaelt(368)); + assertFalse(ba.enthaelt(674)); + assertTrue(ba.enthaelt(889)); + assertTrue(ba.enthaelt(81)); + assertTrue(ba.enthaelt(435)); + assertTrue(ba.enthaelt(13)); + assertTrue(ba.enthaelt(350)); + } + + @Test + public void test089() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(88)); + assertEquals(229,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertTrue(ba.enthaelt(37)); + assertFalse(ba.enthaelt(73)); + assertFalse(ba.enthaelt(642)); + assertTrue(ba.enthaelt(83)); + assertFalse(ba.enthaelt(38)); + assertFalse(ba.enthaelt(859)); + assertTrue(ba.enthaelt(324)); + assertFalse(ba.enthaelt(475)); + assertTrue(ba.enthaelt(793)); + assertFalse(ba.enthaelt(472)); + assertFalse(ba.enthaelt(81)); + assertFalse(ba.enthaelt(480)); + assertFalse(ba.enthaelt(954)); + assertFalse(ba.enthaelt(466)); + assertTrue(ba.enthaelt(984)); + assertTrue(ba.enthaelt(540)); + assertTrue(ba.enthaelt(316)); + assertTrue(ba.enthaelt(721)); + assertTrue(ba.enthaelt(927)); + assertTrue(ba.enthaelt(517)); + } + + @Test + public void test090() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(89)); + assertEquals(159,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(686)); + assertFalse(ba.enthaelt(84)); + assertFalse(ba.enthaelt(210)); + assertFalse(ba.enthaelt(541)); + assertTrue(ba.enthaelt(775)); + assertFalse(ba.enthaelt(429)); + assertFalse(ba.enthaelt(781)); + assertFalse(ba.enthaelt(133)); + assertTrue(ba.enthaelt(578)); + assertFalse(ba.enthaelt(103)); + assertFalse(ba.enthaelt(750)); + assertFalse(ba.enthaelt(295)); + assertFalse(ba.enthaelt(19)); + assertTrue(ba.enthaelt(278)); + assertTrue(ba.enthaelt(189)); + assertTrue(ba.enthaelt(826)); + assertTrue(ba.enthaelt(511)); + assertTrue(ba.enthaelt(999)); + assertTrue(ba.enthaelt(731)); + assertTrue(ba.enthaelt(39)); + } + + @Test + public void test091() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(90)); + assertEquals(329,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(161)); + assertFalse(ba.enthaelt(698)); + assertFalse(ba.enthaelt(777)); + assertFalse(ba.enthaelt(204)); + assertFalse(ba.enthaelt(373)); + assertFalse(ba.enthaelt(467)); + assertTrue(ba.enthaelt(42)); + assertFalse(ba.enthaelt(897)); + assertTrue(ba.enthaelt(533)); + assertFalse(ba.enthaelt(864)); + assertTrue(ba.enthaelt(538)); + assertFalse(ba.enthaelt(142)); + assertFalse(ba.enthaelt(667)); + assertTrue(ba.enthaelt(783)); + assertTrue(ba.enthaelt(422)); + assertTrue(ba.enthaelt(48)); + assertTrue(ba.enthaelt(81)); + assertTrue(ba.enthaelt(478)); + assertTrue(ba.enthaelt(99)); + assertTrue(ba.enthaelt(834)); + } + + @Test + public void test092() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(91)); + assertEquals(87,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(77)); + assertTrue(ba.enthaelt(369)); + assertFalse(ba.enthaelt(596)); + assertFalse(ba.enthaelt(777)); + assertFalse(ba.enthaelt(899)); + assertFalse(ba.enthaelt(901)); + assertFalse(ba.enthaelt(985)); + assertFalse(ba.enthaelt(891)); + assertFalse(ba.enthaelt(785)); + assertFalse(ba.enthaelt(700)); + assertFalse(ba.enthaelt(98)); + assertTrue(ba.enthaelt(996)); + assertTrue(ba.enthaelt(356)); + assertTrue(ba.enthaelt(688)); + assertTrue(ba.enthaelt(746)); + assertTrue(ba.enthaelt(554)); + assertTrue(ba.enthaelt(92)); + assertTrue(ba.enthaelt(238)); + assertTrue(ba.enthaelt(779)); + assertTrue(ba.enthaelt(105)); + } + + @Test + public void test093() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(92)); + assertEquals(99,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(185)); + assertFalse(ba.enthaelt(447)); + assertFalse(ba.enthaelt(401)); + assertFalse(ba.enthaelt(86)); + assertFalse(ba.enthaelt(744)); + assertFalse(ba.enthaelt(535)); + assertFalse(ba.enthaelt(886)); + assertFalse(ba.enthaelt(775)); + assertFalse(ba.enthaelt(810)); + assertFalse(ba.enthaelt(988)); + assertTrue(ba.enthaelt(67)); + assertTrue(ba.enthaelt(678)); + assertTrue(ba.enthaelt(50)); + assertTrue(ba.enthaelt(144)); + assertTrue(ba.enthaelt(959)); + assertTrue(ba.enthaelt(448)); + assertTrue(ba.enthaelt(636)); + assertTrue(ba.enthaelt(633)); + assertTrue(ba.enthaelt(296)); + assertTrue(ba.enthaelt(947)); + } + + @Test + public void test094() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(93)); + assertEquals(137,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(965)); + assertFalse(ba.enthaelt(826)); + assertFalse(ba.enthaelt(551)); + assertFalse(ba.enthaelt(651)); + assertFalse(ba.enthaelt(740)); + assertFalse(ba.enthaelt(993)); + assertFalse(ba.enthaelt(11)); + assertFalse(ba.enthaelt(497)); + assertFalse(ba.enthaelt(700)); + assertFalse(ba.enthaelt(177)); + assertTrue(ba.enthaelt(125)); + assertTrue(ba.enthaelt(816)); + assertTrue(ba.enthaelt(26)); + assertTrue(ba.enthaelt(80)); + assertTrue(ba.enthaelt(824)); + assertTrue(ba.enthaelt(381)); + assertTrue(ba.enthaelt(687)); + assertTrue(ba.enthaelt(37)); + assertTrue(ba.enthaelt(943)); + assertTrue(ba.enthaelt(363)); + } + + @Test + public void test095() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(94)); + assertEquals(357,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(229)); + assertFalse(ba.enthaelt(313)); + assertTrue(ba.enthaelt(769)); + assertFalse(ba.enthaelt(74)); + assertFalse(ba.enthaelt(936)); + assertFalse(ba.enthaelt(373)); + assertFalse(ba.enthaelt(473)); + assertFalse(ba.enthaelt(694)); + assertFalse(ba.enthaelt(663)); + assertTrue(ba.enthaelt(391)); + assertTrue(ba.enthaelt(225)); + assertTrue(ba.enthaelt(783)); + assertFalse(ba.enthaelt(224)); + assertFalse(ba.enthaelt(531)); + assertTrue(ba.enthaelt(625)); + assertTrue(ba.enthaelt(186)); + assertTrue(ba.enthaelt(442)); + assertTrue(ba.enthaelt(374)); + assertTrue(ba.enthaelt(597)); + assertTrue(ba.enthaelt(999)); + } + + @Test + public void test096() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(95)); + assertEquals(79,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(630)); + assertFalse(ba.enthaelt(193)); + assertFalse(ba.enthaelt(100)); + assertFalse(ba.enthaelt(73)); + assertFalse(ba.enthaelt(926)); + assertFalse(ba.enthaelt(417)); + assertFalse(ba.enthaelt(214)); + assertTrue(ba.enthaelt(63)); + assertFalse(ba.enthaelt(329)); + assertFalse(ba.enthaelt(246)); + assertFalse(ba.enthaelt(934)); + assertTrue(ba.enthaelt(198)); + assertTrue(ba.enthaelt(256)); + assertTrue(ba.enthaelt(655)); + assertTrue(ba.enthaelt(441)); + assertTrue(ba.enthaelt(927)); + assertTrue(ba.enthaelt(74)); + assertTrue(ba.enthaelt(576)); + assertTrue(ba.enthaelt(702)); + assertTrue(ba.enthaelt(333)); + } + + @Test + public void test097() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(96)); + assertEquals(141,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(98)); + assertFalse(ba.enthaelt(259)); + assertFalse(ba.enthaelt(169)); + assertFalse(ba.enthaelt(917)); + assertFalse(ba.enthaelt(103)); + assertFalse(ba.enthaelt(15)); + assertFalse(ba.enthaelt(931)); + assertFalse(ba.enthaelt(265)); + assertFalse(ba.enthaelt(226)); + assertTrue(ba.enthaelt(639)); + assertFalse(ba.enthaelt(775)); + assertTrue(ba.enthaelt(150)); + assertTrue(ba.enthaelt(183)); + assertTrue(ba.enthaelt(281)); + assertTrue(ba.enthaelt(510)); + assertTrue(ba.enthaelt(428)); + assertTrue(ba.enthaelt(631)); + assertTrue(ba.enthaelt(221)); + assertTrue(ba.enthaelt(533)); + assertTrue(ba.enthaelt(12)); + } + + @Test + public void test098() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(97)); + assertEquals(139,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(889)); + assertFalse(ba.enthaelt(987)); + assertFalse(ba.enthaelt(441)); + assertFalse(ba.enthaelt(33)); + assertFalse(ba.enthaelt(485)); + assertFalse(ba.enthaelt(482)); + assertFalse(ba.enthaelt(946)); + assertFalse(ba.enthaelt(299)); + assertFalse(ba.enthaelt(227)); + assertFalse(ba.enthaelt(147)); + assertTrue(ba.enthaelt(763)); + assertTrue(ba.enthaelt(63)); + assertTrue(ba.enthaelt(169)); + assertTrue(ba.enthaelt(57)); + assertTrue(ba.enthaelt(100)); + assertTrue(ba.enthaelt(263)); + assertTrue(ba.enthaelt(401)); + assertTrue(ba.enthaelt(301)); + assertTrue(ba.enthaelt(214)); + assertTrue(ba.enthaelt(30)); + } + + @Test + public void test099() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(98)); + assertEquals(169,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(896)); + assertFalse(ba.enthaelt(714)); + assertTrue(ba.enthaelt(308)); + assertTrue(ba.enthaelt(597)); + assertFalse(ba.enthaelt(354)); + assertFalse(ba.enthaelt(760)); + assertTrue(ba.enthaelt(610)); + assertFalse(ba.enthaelt(411)); + assertFalse(ba.enthaelt(259)); + assertFalse(ba.enthaelt(127)); + assertFalse(ba.enthaelt(541)); + assertFalse(ba.enthaelt(269)); + assertFalse(ba.enthaelt(379)); + assertTrue(ba.enthaelt(322)); + assertTrue(ba.enthaelt(670)); + assertTrue(ba.enthaelt(568)); + assertTrue(ba.enthaelt(156)); + assertTrue(ba.enthaelt(882)); + assertTrue(ba.enthaelt(952)); + assertTrue(ba.enthaelt(102)); + } + + @Test + public void test100() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(99)); + assertEquals(119,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(334)); + assertFalse(ba.enthaelt(0)); + assertFalse(ba.enthaelt(307)); + assertFalse(ba.enthaelt(572)); + assertFalse(ba.enthaelt(273)); + assertFalse(ba.enthaelt(644)); + assertFalse(ba.enthaelt(671)); + assertFalse(ba.enthaelt(976)); + assertFalse(ba.enthaelt(1007)); + assertFalse(ba.enthaelt(697)); + assertTrue(ba.enthaelt(968)); + assertTrue(ba.enthaelt(33)); + assertTrue(ba.enthaelt(411)); + assertTrue(ba.enthaelt(780)); + assertTrue(ba.enthaelt(387)); + assertTrue(ba.enthaelt(263)); + assertTrue(ba.enthaelt(396)); + assertTrue(ba.enthaelt(198)); + assertTrue(ba.enthaelt(6)); + assertTrue(ba.enthaelt(28)); + } +} diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/Baumalgorithmen.java b/Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/Baumalgorithmen.java new file mode 100644 index 0000000..586d376 --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/Baumalgorithmen.java @@ -0,0 +1,119 @@ +import java.util.function.BiFunction; + +/** + * Führt verschiedene Algorithmen auf Binärbäumen aus + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class Baumalgorithmen +{ + /** + * Die Wurzel des Baums, mit dem der Algorithmus durchgeführt werden soll + */ + protected Binaerbaum wurzel; + + /** + * Erzeugt ein neues Algorithmen-Objekt + * @param wurzel Die Wurzel des Baums, der verarbeitet werden soll + */ + public Baumalgorithmen(Binaerbaum wurzel) + { + this.wurzel = wurzel; + } + + /** + * Zeigt den Baum auf der Konsole an. + */ + public void baumAnzeigen() + { + if (wurzel != null) + { + System.out.println(wurzel.daten); + baumAnzeigen(wurzel.links, "", true); + baumAnzeigen(wurzel.rechts, "", false); + } + } + + private void baumAnzeigen(Binaerbaum b, String indent, boolean left) + { + System.out.print(indent); + System.out.print(left ? "\u251C " : "\u2514 "); + if (b != null) + { + System.out.println(b.daten); + if (b.links != null || b.rechts != null) + { + indent += (left ? "\u2502 " : " "); + baumAnzeigen(b.links, indent, true); + baumAnzeigen(b.rechts, indent, false); + } + } + else + { + System.out.println(""); + } + } + + /** + * Führt eine Baumtraversierung durch und wendet eine Funktion auf alle Elemente an + * @param b Der Baum, dessen Kinder traversiert werden sollen + * @param f Die Funktion, die auf die Werte angewendet werden soll + * @param neutral Das Neutralelement bezüglich der Funktion f + * @return Das Ergebnis der Traversierung + */ + private T traversierung(Binaerbaum b, BiFunction f, T neutral) + { + if (b == null) + { + return neutral; + } + return f.apply(traversierung(b.links, f, neutral), traversierung(b.rechts, f, neutral)); + } + + /** + * Gibt die Tiefe des Baums zurück + * @return Die Tiefe des Baums, gezählt ab der Wurzel + */ + public int tiefe() + { + return traversierung(wurzel, (x, y) -> 1 + Math.max(x,y), 0); + } + + /** + * Gibt die Anzahl der Knoten im Baums zurück + * @return Die Anzahl aller Knoten im Baum + */ + public int anzahl() + { + return traversierung(wurzel, (x, y) -> 1 + x + y, 0); + } + + /** + * Prüft, ob sich ein Wert im Baum befindet + * @param wert Der zu suchende Wert + * @return true, wenn ein Knoten den Wert enthält; false sonst + */ + public boolean enthaelt(T wert) + { + return enthaelt(wurzel, wert); + } + + /** + * Prüft, ob sich ein Wert in b oder darunter befindet + * @param b Der Baum, in dem der Wert gesucht werden soll + * @return true, wenn b oder einer seiner Kindknoten den Wert enthält; false sonst + */ + private boolean enthaelt(Binaerbaum b, T wert) + { + if (b == null) + { + return false; + } + if (b.daten.equals(wert)) + { + return true; + } + return enthaelt(b.links, wert) || enthaelt(b.rechts, wert); + } +} diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/Binaerbaum.java b/Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/Binaerbaum.java new file mode 100644 index 0000000..2f05bbc --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/Binaerbaum.java @@ -0,0 +1,63 @@ + +/** + * Ein Knoten eines Binärbaums + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class Binaerbaum +{ + /** + * Der Datenwert des Knotens + */ + public T daten; + + /** + * Der linke Kindbaum + */ + public Binaerbaum links; + + /** + * Der rechte Kindbaum + */ + public Binaerbaum rechts; + + /** + * Erzeugt einen Blattknoten mit leerem Datenwert + */ + public Binaerbaum() + { + this(null, null, null); + } + + /** + * Erzeugt einen Knoten mit Datenwert und Kindern + * @param daten Der Datenwert + * @param links Der linke Kindbaum + * @param rechts Der rechte Kindbaum + */ + public Binaerbaum(T daten, Binaerbaum links, Binaerbaum rechts) + { + this.daten = daten; + this.links = links; + this.rechts = rechts; + } + + /** + * Erzeugt einen Blattknoten mit Datenwert + * @param daten Der Datenwert + */ + public Binaerbaum(T daten) + { + this(daten, null, null); + } + + /** + * Gibt zurück, ob der Knoten ein Blatt ist + * @return true, wenn der Knoten ein Blatt ist; false sonst + */ + public boolean istBlatt() + { + return links == null && rechts == null; + } +} diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/README.TXT b/Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/README.TXT new file mode 100644 index 0000000000000000000000000000000000000000..ee5db68148783a073467d5ec8da02bd3dbb914d4 GIT binary patch literal 370 zcmZutK~BRk5bQax81)2F6;(avmKM{73O7m|D&^*oO=ICW$ZmJD)5s4XeP zzZ;NagS9f#*;dne^x_CYQ9}#F=3TZLqp6YF>C%kmv_M~hl);g#gEwxacHUVHE)1Sn zmL~^}z9x&iSQL*Dc>hLS> baeume; + + private static void readFile() + { + try + { + FileReader fileReader = new FileReader("testfaelle.txt"); + BufferedReader bufferedReader = new BufferedReader(fileReader); + baeume = new ArrayList>(); + String line = null; + while ((line = bufferedReader.readLine()) != null) { + AtomicInteger ai = new AtomicInteger(0); + Binaerbaum b = parse(line.toCharArray(), ai); + baeume.add(b); + } + bufferedReader.close(); + } + catch(Exception x) + { + System.out.println(x.getMessage()); + baeume = null; + } + } + + private static Binaerbaum parse(char[] c, AtomicInteger s) + { + int anfang = s.incrementAndGet(); + while(c[s.get()] != '(' && c[s.get()] != ')') + { + s.incrementAndGet(); + } + String tmp = new String(c, anfang, s.get()-anfang); + int value = Integer.parseInt(tmp); + Binaerbaum ergebnis = new Binaerbaum(value); + if (c[s.get()] == '(') + { + ergebnis.links = parse(c, s); + s.incrementAndGet(); + ergebnis.rechts = parse(c, s); + s.incrementAndGet(); + } + return ergebnis; + } + + /** + * Gibt einen der Testbäume aus der Datei zurück + * @param nummer Die Nummer des Baums + * @return Den gewünschten Baum, wenn die Nummer gültig ist; null sonst + */ + public static Binaerbaum getTestBaum(int nummer) + { + if (baeume == null) + readFile(); + if (nummer >= 0 && nummer < baeume.size()) + return baeume.get(nummer); + return null; + } +} diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/package.bluej b/Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/package.bluej new file mode 100644 index 0000000..5148e43 --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/package.bluej @@ -0,0 +1,65 @@ +#BlueJ package file +dependency1.from=BaumTester +dependency1.to=Baumalgorithmen +dependency1.type=UsesDependency +dependency2.from=BaumTester +dependency2.to=Testbaeume +dependency2.type=UsesDependency +dependency3.from=Testbaeume +dependency3.to=Binaerbaum +dependency3.type=UsesDependency +dependency4.from=Baumalgorithmen +dependency4.to=Binaerbaum +dependency4.type=UsesDependency +editor.fx.0.height=872 +editor.fx.0.width=1264 +editor.fx.0.x=482 +editor.fx.0.y=73 +objectbench.height=93 +objectbench.width=760 +package.divider.horizontal=0.6 +package.divider.vertical=0.8 +package.editor.height=393 +package.editor.width=649 +package.editor.x=705 +package.editor.y=176 +package.frame.height=600 +package.frame.width=800 +package.numDependencies=4 +package.numTargets=4 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=Binaerbaum +target1.showInterface=false +target1.type=ClassTarget +target1.width=130 +target1.x=170 +target1.y=60 +target2.height=50 +target2.name=Baumalgorithmen +target2.showInterface=false +target2.type=ClassTarget +target2.width=160 +target2.x=300 +target2.y=130 +target3.height=50 +target3.name=BaumTester +target3.showInterface=false +target3.type=UnitTestTargetJunit4 +target3.width=100 +target3.x=460 +target3.y=210 +target4.height=50 +target4.name=Testbaeume +target4.showInterface=false +target4.type=ClassTarget +target4.width=100 +target4.x=79 +target4.y=264 diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/testfaelle.txt b/Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/testfaelle.txt new file mode 100644 index 0000000..7c0595c --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/03_baumalgorithmen_HigherOrder_loes/testfaelle.txt @@ -0,0 +1,100 @@ +(366(518(665(284(101(853(360(314(190(465(386(162)(241))(459(197)(861)))(654(427(528)(255))(351(835)(533))))(445(394)(717(311)(530(253)(429)))))(756))(749(236(53(339(469(265)(695))(642(837)(192)))(860))(215))(618(340)(547(201(410)(811(37)(331)))(567)))))(130))(685(76(105(293(837)(262))(3(766)(875(161)(773(65(505)(939))(351(33)(379))))))(94))(301(90(820(166(63(931(73)(590))(936(439)(190)))(990(270(240)(807))(795)))(194(919(694)(244(430)(243)))(924)))(468(420(668)(282(73(966)(860))(270(400)(608))))(914(467)(402(915(547)(648))(96(715)(255))))))(259(870(672(733)(854(327(778)(811))(150)))(629(398(837)(333(203)(270)))(104(749(730)(534))(59(668)(940)))))(769(130)(366(408)(674)))))))(512(869(507(359(823(542)(799(713(910(693)(435))(319(663)(736)))(198)))(992))(682))(73(49)(872)))(715(628)(297))))(274(532(581(418(844)(325))(747(420(97(426(902)(991(682(440)(307))(361(493)(173))))(82(739)(645)))(493(837(182)(720(245)(817(498)(968))))(831(302)(939(429(907)(473))(914)))))(859(111(802(413(303)(291))(432(883(20)(891))(560(263)(932))))(874(85(679(130)(79))(2(761)(596)))(959(675(66)(894))(847(899)(364)))))(448))))(844(446)(690(377)(561))))(615(266)(757(612)(509(374)(641(998(367(40(223(598)(359))(129(700)(312)))(539(534(127)(583))(351(551)(108))))(276))(111(860(406(706(561)(854))(298))(680))(919))))))))(830(154(760(719(29)(9(395(471(575(625)(960(743(939)(344))(499)))(413(186(60(224)(691))(951(821)(906)))(320)))(640(555(914)(820))(910(657(725(105)(879))(896(538)(806)))(572(13(175)(254))(362(276)(664))))))(118(129(973(588)(843(20)(212(115)(2))))(300))(215(15(322)(317(144(646)(549))(411)))(50(274(452(129)(879))(454(473)(758)))(568(13(766)(542))(981(129)(211))))))))(170))(900(132(614(589(526)(550))(379(947(268(789(787(255)(889))(234))(258(112(9)(669))(593(871)(191))))(248))(451(474(35(112(436)(165))(930(550)(739)))(339(271)(745(56)(905))))(790(981)(562(33(737)(533))(648(530)(140)))))))(488))(136)))(123(832(708(637(395)(156))(360))(71(498(989(10(571)(964(248(460)(751(848)(925)))(626)))(758))(190(357(999(155)(944(210(223)(239))(687(125)(817))))(395))(593(170(119)(73(269(614)(685))(84)))(185(672)(587(80)(633))))))(198(495(107)(91(487(163(178)(628(935)(376)))(977(513)(648)))(925)))(546(595)(908(440)(557(74)(328(318(304)(292))(883(209)(198)))))))))(459(108)(358(450(817)(161))(233(503(321)(365(295)(392(811)(18(807(785)(268))(821)))))(757))))))) +(796(145(612(934(49(576)(126(436(825(199)(657))(983(245)(286)))(942(105)(545))))(42(514(577)(575(8(157)(275))(617(534)(266))))(714(783(935(907)(964))(88(376)(912)))(653(24(199)(221))(244(526)(50))))))(829(186(24(829(855(529)(692))(429(635)(202)))(932(306)(120)))(368(495)(41(566)(512(591)(478)))))(4(650(339(8(605)(714))(203(926)(92)))(480(778(367)(273))(414(4)(191))))(102(889(558(413)(379))(159(931)(866)))(514)))))(743(286(669)(277(800(656)(842))(576(680(913(429)(355))(445(51)(681)))(311))))(194)))(273(760(978(506)(240(273(592(409(521)(731))(937(463)(941)))(284))(839(932)(502(996(396)(90))(444)))))(56(620(37(872)(131(377(950)(185))(416)))(170(22(834(726)(208))(247(839)(205)))(597(103(154)(349))(810))))(109)))(886(39)(9(499(597(217)(763(530(174)(699))(257(904)(185))))(54(556(310(258)(475))(382(66)(187)))(995(958)(993(604)(14)))))(502(827)(808(131)(428(580(983)(342))(388)))))))) +(683(388(163(757)(113(798(174)(612(46(595)(66))(674(828)(41))))(837(948)(258(646(887)(334))(441(959)(15))))))(744(332(589)(551(671(661)(186(43)(947)))(681(301(229)(228))(419(887)(865)))))(207)))(954(649(258(654(185(288)(577(9)(344)))(661))(251))(435(410(565(15(469)(812))(665))(33))(917)))(770(69(985(916)(629(968)(719)))(656(628(39(481)(590))(210(705)(518)))(785(914)(995(221)(913)))))(861(435(98(150(51)(562))(343(706)(189)))(607))(219(404(741(216)(249))(423(258)(347)))(904(417(770)(210))(691(104)(997)))))))) +(163(852(819(592(619(567(235(402)(879(960)(406(195)(948))))(669(976(604(382)(740))(284))(611(837)(69(328)(239)))))(271))(870(664(295)(145(255)(36)))(876(194)(712(318(31)(915))(351)))))(475(45)(991)))(335(743(755)(441))(814(763(950(321(350)(387(947(374)(845))(38)))(849(23(344)(652(250)(120)))(988(691(304)(951))(110))))(705(909(916(751)(189))(747(450(764)(834))(394(517)(35))))(585(864)(9(673(898)(179))(76(160)(447))))))(731(392(446)(381))(540(656(864(0)(367(693)(629)))(305(0(125)(838))(535(938)(768))))(178(488(744(415)(328))(595))(422(371(6)(235))(884(7)(398)))))))))(946(361(346)(711(14(616(523(666(232(648)(755))(728))(870(901(690)(411))(864(527)(334))))(349(958)(27(805(192)(926))(986))))(311))(105(73(250)(466))(829(43(210(547(955)(206))(842(637)(520)))(690(984(704)(385))(715)))(277)))))(192(118)(909(177)(488(363(453(752(711(252)(343))(616(279)(315)))(62(250(718)(464))(853)))(280))(86(183(905)(319))(545(502(153(524)(28))(234(654)(538)))(207(202(196)(925))(751(611)(540)))))))))) +(428(369(333(668(626(728(715(766(113)(716))(358(119)(581)))(792(313(214)(593))(205)))(32(858(988(487)(810))(621(586)(659)))(252(958(882)(514))(464(532)(840)))))(290(185(646(134(972)(477))(24(20)(865)))(399))(639(98(814)(127))(285))))(598(719)(631(631(694(304(356)(372))(964))(295(295(351)(625))(950(934)(653))))(471))))(956(283)(918(849(594(297(774(27)(354))(217(657)(825)))(77(634(185)(308))(111(4)(151))))(944(344)(375(186(396)(331))(177(727)(9)))))(133))))(99(272(200(740(632)(544(484)(958(464(67)(779))(948(915)(280)))))(477(421(114)(232))(67(277)(374))))(481))(441(952)(513(805(383)(271(610(991(943)(145))(439))(614(404(885)(884))(854))))(55))))) +(954(577(3(685(175(779)(365))(287(144)(836(706(119(312)(761))(557(73)(706)))(131(270(116)(381))(780)))))(216))(325(688(803(795(820)(525(572(4)(406))(757(601)(139))))(398))(528(589(176)(624(174(924)(770))(665)))(175(131)(373(254(835)(548))(110)))))(695(329(432)(136(60(100(202)(814))(507(520)(797)))(760(51)(834(867)(706)))))(568))))(734(449(453(865(372(14(423(909)(290))(489(357)(387)))(769))(131(165(83(3)(125))(62(892)(339)))(984(948(401)(423))(211(174)(525)))))(881))(491(850(4)(984(661)(297(312(741)(482))(326))))(141(768(319)(362(514)(961(78)(74))))(429(163(214(626)(417))(955(995)(411)))(774(262(570)(615))(701(753)(589)))))))(429(438(800(925)(168(983(992(905)(385))(362))(985)))(787))(675(764)(437(426(113)(38(884(13)(940))(752(625)(850))))(754(404)(45(677)(371)))))))) +(606(112(79(954)(960(122(347)(738(153(282(599)(182(702)(486)))(625(947(281)(667))(908(737)(30))))(547(894(892(645)(443))(909(3)(250)))(382(510(87)(553))(527(891)(916))))))(513(122(687(590(644)(378(496)(371)))(384(990(33)(526))(245(28)(810))))(466))(867))))(368(44(945)(632))(609(491(319(623(672)(43(292(275)(338))(40(268)(814))))(227))(936))(438))))(230(982(227)(924))(472(274(834(642)(916(266)(910)))(39))(379(505(863(557(492(353(564)(821))(33))(903(916(976)(447))(866)))(181(461(472)(769))(471)))(831(557(779)(836))(791(595(552)(443))(424))))(409(157(449(833(371(734)(276))(253(14)(773)))(981(853(792)(647))(0)))(999(660(110)(106(904)(231)))(178(126(941)(259))(369))))(69(263(565(454(473)(83))(828(438)(494)))(249(889(822)(405))(732(470)(264))))(453(200(341)(829(952)(810)))(381(78)(822(640)(995)))))))))) +(911(409(461(415)(644(343(732(308)(141))(219))(897(809(70)(642(978(138(879(224)(511(639)(526)))(744(799(189)(993))(976(946)(792))))(723(388)(125(744)(850))))(427(56(117(402)(708(547)(664)))(179(572(615)(248))(13(590)(296))))(645(413(742(584)(789))(208(771)(254)))(601(84(191)(813))(955(871)(166)))))))(313))))(599(187)(279)))(988(300(428(234(90(964(998)(707))(383(586(754(413(130)(204))(204))(439(53)(481(369(761)(90))(790(7)(27)))))(797(651(371)(490(543(735)(681))(298)))(982))))(848(301)(195)))(320))(178(776(474(407(794)(926(766(991(543(883)(3))(452(725)(134)))(14(79)(254(189)(389))))(479(847(752(427)(229))(131(866)(13)))(56))))(159(760(980(696)(107(54)(624(247)(944))))(6(637)(641)))(699)))(993(188(93(854(51)(217(980(791)(542))(501)))(143(398(439(871)(102))(615(983)(268)))(651(17)(754))))(784(781(482(163)(568(233)(416)))(392(982(892)(797))(377(648)(516))))(920(691(654(685)(75))(539))(134(47)(334(398)(829))))))(829(174(509(692(882)(18(581)(772)))(68))(699(836(792)(243))(558(831)(935(435)(193)))))(712))))(42(677(447(116(976(326)(840(354)(300(677)(729))))(736(383(184(317)(823))(408(89)(806)))(175(556)(922))))(875(196(931)(848(286(175)(274))(428(625)(905))))(103(661(574(713)(900))(394(562)(583)))(915))))(84(940(153)(482))(561(775(890(539(164)(416))(290(763)(984)))(5))(888))))(270(52(788(412(179)(201(388)(480(585)(231))))(259(463)(542(918)(412(453)(615)))))(313))(139)))))(389(964(60(636)(456(688(33)(293(946)(310(872(915(749)(657))(544(40)(984)))(851(557(258)(322))(271(63)(619))))))(632(64(959(615(501)(760(716)(853)))(666(360(427)(5))(566(120)(108))))(234(7(834)(320(781)(838)))(169(144(798)(625))(129(969)(647)))))(154))))(378(99)(287(198(565(105(960(865(851)(354))(342))(638(742(229)(493))(731)))(165(331(317(449)(192))(838))(421(585(669)(552))(233(938)(966)))))(630))(937))))(984(785(202)(192(319(370(663)(14))(438(704(702)(299(991(474)(591))(792(27)(188))))(596)))(803)))(811))))) +(789(549(347(66)(232(216)(334(182)(771(733)(213)))))(807(391(900(181)(983(290(105)(717(802)(875(18)(266(832)(179)))))(944(487(168(221(36)(79))(513(531)(955)))(532))(397(834(826(216)(937))(761))(667(441(870)(464))(67(457)(623)))))))(403(134)(698)))(592(222(425(952)(111))(483(626(25(202)(359(735(95)(950))(428(898)(334))))(495))(239)))(21(768)(224(122(958(980(480(333)(265))(191(7)(974)))(197))(643))(900(552(454(628(925)(864))(422(345)(883)))(459))(639)))))))(215(987(991)(473))(699(657(369(69(666(555(907(220(94)(769))(765(878)(666)))(866(516(874)(942))(955(75)(348))))(117(621(193(670)(94))(343(388)(950)))(269(272(667)(787))(87(684)(161)))))(997(613)(658(853)(680(801(479)(117))(381(100)(866))))))(298))(29(993)(268(135(115(994(554)(787))(709))(56))(889))))(582(343)(698))))) +(78(894(236(464)(309(794(437(372)(581))(604(967(426(157)(869))(411(808)(462)))(361(500(698)(610))(711(184)(755)))))(623(224(102)(360(572(35)(492))(698)))(781(916(150(750)(434))(296))(33(562)(293(286)(7)))))))(334(974(756)(757(272)(867(866(772)(881(776)(845)))(470(147)(950(939)(295))))))(52(64(783(689)(848(710)(702(315)(234))))(659))(553(261(355(730)(375(945)(477)))(391(974(579)(747))(257(662)(578))))(472)))))(781(562(312(370(643(904(223)(218(273)(576)))(933(151(110)(185))(418(680)(805))))(213(766(980)(479(976)(952)))(860)))(303(383(994)(744))(117)))(477))(88(709(182)(224(431)(514)))(205(445(684(593(864)(920(184)(590)))(714(664(890)(466))(70)))(578))(161(686)(43)))))) +(625(138(24(127)(87(799(704(45(53(762(592)(632(920)(338)))(26(134(8)(482))(441)))(133))(520(326(508(762(997)(197))(209(870)(273)))(890(275(700)(789))(9)))(712(325)(968(46(210)(645))(815(185)(127))))))(711(121(742)(591(675(143(800)(138))(633))(558(157)(651))))(758(642(309(430)(276(967)(339)))(425))(295(230)(158(642(98)(146))(353))))))(917)))(792(49(249(953(481(183(753(150)(154(551)(29)))(448(589(229)(760))(83(749)(860))))(131))(91(797(135(888(470)(964))(922(762)(823)))(971))(964)))(223(152)(352(83(590(300)(861))(933(331(640)(817))(502(56)(884))))(825))))(955(767(435(343(249(170(20)(367))(27(428)(907)))(913))(87(929)(328)))(74(116(441(3(877)(146))(835(74)(135)))(829(932(263)(64))(944)))(639(794)(613(27)(815(728)(666))))))(361(184(365)(996(632(20)(69(13)(949)))(922(489(471)(348))(866(337)(627)))))(425(180(438(219)(566))(414(66(811)(674))(397)))(894(551(529(603)(462))(821(710)(544)))(900(698)(43(356)(687))))))))(321(377(200(215)(144))(784(301)(350(349)(100(725(438(366)(154))(839))(866(197(390)(902))(564))))))(729(883(737)(490(409)(118)))(366(420)(444(311(936(629(348)(205))(256(52)(904)))(461(616(47)(111))(471)))(347)))))))(460(721(848(335)(198(972(362)(934))(484(157)(656))))(431(351)(808)))(211(597(996(486(888)(429(937(139)(372(951)(951)))(500(525(954(527)(733))(888(383)(247)))(849(662)(900(941)(344))))))(903))(664))(681(250(557(681(886(694)(57(99)(660(972)(981))))(755(453(786(263)(257))(666))(818)))(62))(36(690)(721)))(27(598(478)(739))(62(968(284(954(699(592)(703))(654(816)(279)))(791))(238))(909))))))) +(406(829(52(802(122(453)(306(227)(255(601(917(640(648)(92))(878))(878))(163(343)(710)))))(830(642(812(899(875(418)(308(739)(436)))(3(186(176)(964))(937)))(829))(893(199(62)(92(388(999)(153))(114(282)(164))))(664)))(186(897(306(926)(268(369(203)(793))(454(691)(749))))(986(702(875)(414(738)(868)))(112(427(61)(334))(587))))(480(534(307(401(489)(415))(641))(37))(743(148(491)(646(38)(947)))(267(889(91)(82))(421)))))))(316))(219(235(770(183)(525(870)(447)))(134(190(796)(215))(887)))(149)))(129(934(774(646(189(430)(181(746)(163)))(750(966(411(761)(48))(151(678(459)(898(200)(87)))(122(144(821)(563))(197))))(663(710)(455(990(778(924)(343))(141(528)(67)))(810(76(888)(887))(776(111)(724)))))))(236(294(494(515(366(793(506)(851))(977(319)(577)))(394))(542))(477(15(133(492(969)(554))(313))(543(367(969)(279))(719(658)(617))))(621(0(49)(845(422)(441)))(153))))(33(115(859(18)(642(274)(48(538)(237))))(628(598)(158(745(461)(599))(696))))(650))))(876(406(931(501(274)(32(370(850(399)(724))(431(810)(376)))(441(103(918)(580))(627(259)(688)))))(444(74(643)(577(2)(799)))(572(71)(27))))(971))(856(83(110)(838(69(804)(94))(897)))(582(322(364(665)(671))(849))(364(840(485(840(185)(242))(801))(231(965(857)(670))(475(888)(381))))(961(822(762(764)(838))(519(723)(402)))(634(434(39)(742))(43(84)(110)))))))))(289(571(177(274)(823))(984(118(921)(884(408(38)(685(48(172)(393))(571(64)(434))))(47(310)(237))))(484(693(207(487(582(867)(93))(855))(56))(755))(934(665(364(600)(852(620)(625)))(393(203(734)(525))(935(470)(656))))(872)))))(899)))) +(219(539(56(513(197(904(65)(576))(252(473)(757(720(869)(574))(908))))(69))(901(115(307(671(429)(897(919)(326)))(91(452(891)(898))(993(179)(950))))(835(925(586)(838(88)(934)))(419(965)(643(70)(83)))))(247(658(866)(281(36(257)(978))(865(753)(27))))(990(262(853)(17(294)(917)))(651(866(365)(998))(419(249)(595)))))))(237(822)(470(394(606)(886(579(243(296)(255))(579))(956)))(953))))(344(508(343(515)(792(283(647(124)(611))(81(548(85)(194))(837(938)(785))))(477(265)(185(499(232)(585))(459(419)(215))))))(156(242)(966)))(117(513(107(798(603(207(759)(129))(120(650)(279)))(85(402)(907)))(911(45(208(960)(14))(732(891)(220)))(927)))(798(240(980(325)(434(223)(205)))(227(813(595)(354))(983(498)(782))))(226(51)(437(873)(255(959)(310))))))(469(545)(172(618(273)(466(808)(205(328)(755))))(835(124(286)(419))(243(742(831)(801))(417(10)(860))))))))) +(869(433(663(632(826(438)(568(22(292(183)(384))(135))(717)))(10))(618(60(291(623)(46(243(208)(665))(298)))(27(25)(563)))(493)))(956(20)(384(720(804(50)(802(214(817)(561))(865(895)(517))))(399(971(715)(872(417)(2)))(902)))(484(11(86)(130))(768(583(95(377)(465))(590))(357(943)(463)))))))(907(32(120(412(227)(138(893)(15(728(436)(300))(940(140)(668)))))(718(401)(777(106(120(940)(508))(912(753)(223)))(698(936(150)(742))(297(993)(701))))))(448(41)(357)))(742(246)(657(697(510(239(289(879)(456))(474))(631(971(970)(958))(733)))(541(449)(736(328(283)(394))(482(293)(788)))))(611(630(206)(713(999)(695(948)(401))))(723(827(919(584)(541))(286(985)(797)))(179))))))) +(784(843(954(100(546(420(21(286)(257))(488(49)(207)))(194))(523(869)(748(106(373)(657))(781))))(599))(948(961(332(105(159(884)(174))(985(759)(407)))(857(329(678)(33))(161(410)(716))))(972))(145(79(73(60)(945))(155(255)(123(518)(103))))(459))))(888(601(356(219)(59))(110(563)(102)))(983(826(727(979(862(776)(148))(807(663)(469)))(447))(926(152(613)(31))(255)))(842(662(965(401)(20(973)(888)))(667(149(774)(844))(519(332)(99))))(142(92(142(860)(526))(657(458)(557)))(128(591)(364(687)(943)))))))) +(216(85(100(562(557(730(989(657)(342))(704(985)(723)))(772(636)(203)))(655))(237(644)(917(839(676)(52(229)(412)))(486(567(128)(484))(757(531)(84))))))(16(169(545)(259))(813(970(894(29(238)(971))(313(426)(855)))(721(335)(586(609)(687))))(213(591(744(856)(18))(489))(708(355(551)(826))(210(515)(890)))))))(231(291(199(970(121(882(800)(652))(719))(953))(590(152)(229(928(200)(677))(776(211)(384)))))(902(775)(200(425)(199(543(117)(197))(762(390)(639))))))(410(953)(190(230)(310(141(534(283)(702))(760(647)(359)))(872)))))) +(285(23(900(846(994(378)(147(430(630(890)(890))(644(855)(887)))(902(522)(846(194)(193)))))(335))(812))(851(466(612(869)(534(750(115)(22))(418)))(53(54(783(862(696)(398))(103(386)(73)))(236(776(164)(213))(293(474)(774))))(828(105)(366(357(920)(322))(732(229)(80))))))(650)))(441(287(729(153(398(761)(597(565(741)(729))(136(526)(316))))(807))(516(461)(85)))(429(561)(767(641(520)(204(833)(100)))(107(370(110)(186(872)(220)))(785(122)(422(751)(293)))))))(358(806)(312)))) +(942(681(997(799)(615(618(595(78(677)(753(948(851)(552(885)(209(355)(502))))(315)))(440(85)(111)))(223(899(616(97)(174(260)(811)))(128(311(789)(974(474(519)(80))(870(596)(899))))(697)))(503(739(263(163)(586(762)(470(342)(207))))(355(282(786(693)(933))(90(160)(36)))(234)))(275(774)(444(83(431(381)(543))(458(42)(969)))(146(2)(995)))))))(244(66)(878(398(216)(273))(300(248(743)(64(549(148)(625))(304(699(801)(993))(1(734)(863)))))(509(676(316)(622(136(828)(140))(910)))(149(551(966)(693(794)(235)))(146))))))))(505(931(116(59(337(69(232(190)(936(702(146)(584))(297)))(84))(705))(346))(990))(86(7(999(637(255)(531(966(39(657)(309))(475(946)(290)))(921(137)(207(365)(190)))))(606(510)(494)))(736))(290(231(957)(441))(973))))(947(28)(438(605(487)(720(510(521(32)(73))(452))(333(810(343)(149(90(700)(275))(846(129)(279))))(102(332(717(180)(289))(598))(90)))))(731(825(815)(958))(952(566(37)(250(464(824(982)(941))(906(821)(258)))(421(2)(426(804)(763)))))(567)))))))(860(328(737)(572(891(418(869(988)(777(759(442(243)(618(777)(555)))(743))(436)))(380(200(38)(859(681(763(339)(232))(150(19)(79)))(655(623(270)(906))(988(478)(208)))))(279(50)(725))))(922(78(713(205)(769(378)(523)))(174))(533(780(251(614)(11))(152))(817(270(639)(996(773(671)(201))(648(582)(764))))(203(902)(367(313(692)(707))(767(24)(277))))))))(271(954(460)(166))(536(496(30)(68))(795(97(212(209(114(66)(378))(592(258)(304)))(344))(651(220(176(202)(27))(132(295)(14)))(995(534(284)(640))(474))))(533(471(473(860(422)(549))(357(675)(914)))(834))(515)))))))(103(569)(42)))) +(911(832(222(261(538(20(900(227)(332))(215(547(586(585(955(900)(107))(194(855)(294)))(885))(253(966(330(142)(130))(822))(246(272(242)(618))(61))))(490)))(679(725(978)(817(118)(444)))(12(290)(448))))(38))(803))(502(222(238(520)(628))(747(496(195(669(3)(656(593(846(559)(521))(142(755)(276)))(647(714(281)(761))(401))))(989(349)(381(673)(213))))(458))(308(913)(224(940(425(347)(668(638)(917(27)(243))))(68))(358)))))(797(989(85(372(278)(645))(737(917)(640(428(980)(338(551(172)(20))(609(642)(452))))(637(113(864(299)(366))(796(935)(336)))(944)))))(607(451(525)(739(110)(489(994)(44(563)(821(983)(719))))))(606(855)(804(245(335(886(154)(154))(383))(592(308(590)(837))(231(719)(358))))(749(0(686(862)(307))(921))(402(574(110)(375))(270(102)(888))))))))(803(753(47(746)(936(620(568(701(659)(466))(98))(644(807(375)(8))(309(666)(577))))(23(263)(80))))(67(990(934(731(736(657)(98))(325(260)(8)))(679(355(718)(823))(285)))(207(625)(666(568)(913))))(329(128)(890(266)(642)))))(169(717)(534))))))(61(105(610)(577(26(410(364)(261(866(803)(429(571)(658(906(117)(752))(880))))(262(376)(836(283(189(576)(492))(331(419)(421)))(129(92(256)(684))(337))))))(332(741(627(73)(612(411(275(485)(603))(808))(63(645(972)(263))(737(613)(297)))))(867(21)(903(9(32)(965(496)(197)))(805(60(350)(584))(858(799)(314))))))(940(411(174(807(33)(854(224)(429)))(999(431(853)(91))(429(533)(958))))(161(810(672(896)(158))(592))(290)))(790))))(276(96)(983))))(548(431)(877(810)(437(939(732)(420))(208)))))) +(322(40(406(697)(653(334(763(814(289)(135))(293))(102))(58(294(533(727)(347))(712(881)(953)))(257))))(161(385(597(437)(342(580)(748(296)(560))))(165(522(366(863)(552))(77))(423)))(485(11)(515(970(778)(931(923)(111)))(257(524)(176))))))(480(14(765(513(988(88(236)(387))(349))(810))(570(515(962(395)(197))(888(642)(66)))(718(438(816)(561))(738(884)(490)))))(687(687(230(953(84)(526))(925))(520))(918(543(19(850)(226))(222(388)(723)))(294))))(440(758(576(807(696(75)(573))(791))(187(888(598)(934))(166(545)(284))))(528))(144(666)(895(586)(669(853(875)(600))(495))))))) +(367(144(971(360(303)(884(12(481(748)(36(196(29)(545(549)(407)))(850(529)(425(628)(291)))))(449(386(428)(545(75(267)(378))(924(207)(683))))(994(865(72)(701(333)(46)))(520(229(399)(545))(633(893)(317))))))(367(808)(317(742(273(711(569)(733))(529))(54(164(505)(707))(206(745)(449))))(159)))))(250(722(335(395)(251(297(544(918)(929))(787(405)(648(520)(132))))(834)))(774(534(549(96(738(766)(586))(825))(768(160(984)(680))(931(793)(235))))(506))(94(802(446(93(799)(359))(891(916)(806)))(597(257(188)(940))(951(613)(750))))(687(878(384)(705(235)(812)))(312(195(379)(196))(131))))))(189(829(353(126(193)(852))(625(675)(160(584(174)(616))(612(752)(848)))))(252))(103(288(752(108(38(630)(212))(539(382)(751)))(99(936(569)(271))(262)))(185(844(118(411)(700))(217))(247(734)(6(253)(650)))))(821(829(197(370(390)(887))(386))(480(249(149)(77))(127(213)(385))))(449(370(217(892)(452))(368(65)(677)))(2(865(809)(643))(439))))))))(353(478(506(614(438(646(142(675)(959(422)(194)))(482(353(795)(660))(486(842)(622))))(400(793)(192(393)(689))))(961))(797))(175))(727)))(552(379(762)(386))(184(283(759(522(854(431(7(951(815)(410))(190))(464))(456(527(810(467)(354))(421))(619(423(947)(361))(130))))(753))(771))(144(753(15(322(754(487(589)(211))(961(34)(340)))(567(840)(712(315)(793))))(487))(730))(485(641)(83(407(730(407)(491(642)(473)))(590(125(688)(787))(347(567)(833))))(850)))))(953)))) +(320(876(21(68(322)(964(724(72(115(177)(985))(721(460)(126)))(726(73(505)(83))(32)))(48(713(749(403)(703))(313))(71(180(385)(210))(736(4)(588))))))(435(182(803(311(715(456)(552))(364(142)(273)))(600(261(195)(824))(883(275)(975))))(644(790(410(88)(651))(414))(161(897(315)(899))(646(967)(442)))))(148(559(21(168(932)(659))(889(124)(505)))(168(682(19)(613))(182)))(381(365(692(449)(764))(225(545)(204)))(979(960(380)(449))(360))))))(815(693(658)(793(649(390(14(260)(685))(370))(624))(22(8(492)(429))(715(451(556)(724))(800(294)(455))))))(377(674(221(524)(207))(329(678)(164(928(822)(934))(222(929)(590)))))(354))))(750(338(806)(482(518(943(337)(843(203(804)(965))(294(964)(156))))(791(495)(373(375(460)(228))(334(681)(163)))))(537(233(931)(501(291(249)(436))(802)))(872(649(358(954)(219))(364))(588(301)(310))))))(831(217(471(825(24(856)(286))(613(21)(450(773)(453))))(382))(100))(343(666(6(93(550)(867(622)(999)))(962(267)(454(878)(698))))(549(816(302)(317(619)(115)))(746)))(692(173(897)(632(367(662)(622))(552)))(18(211(301)(436(995)(804)))(281))))))) +(592(880(594(847(551(266)(120(574)(864(677(801)(662))(577(897)(84)))))(724))(738(983)(106(779(592)(784(141)(716(841)(504))))(848))))(434(752)(265(34(352(413(877(529)(879))(163(658)(71)))(138))(969(278(382)(300(671)(602)))(410(181(198)(767))(847))))(580(888)(2)))))(240(977(609(257(46)(855(254(59)(39))(877(646(604)(919))(839(913)(533)))))(496))(84))(786(667(55)(749(47(250)(891))(260(994(277(862)(138))(439(816)(938)))(544(481(140)(950))(374)))))(864(693(988)(676))(334(79)(959(217)(877(190(178)(276))(869(704)(124))))))))) +(294(453(659(644)(625(75(687(802(311(562(830(80)(262))(805(512)(649)))(156))(43))(122(675(428(119(24)(667))(519(704)(777)))(430(185)(56(839)(684))))(814(223(931(634)(490))(987))(719))))(220))(504)))(863(446(366)(319(140)(453)))(1(922(226(744)(260(496)(288(269(639(248)(496))(940(820)(82)))(708(501)(331(341)(558))))))(698(967(864)(386(759(225(868)(953))(381))(727)))(822)))(604(182(667)(411(35(474)(138(205(64)(783))(495)))(995(300(103)(691(101)(524)))(451))))(644(125)(760(429(615(42(754)(595))(571))(526))(486(439)(700))))))))(912(761(407)(337(999)(896(206)(656))))(151(675(400(119(784(634)(800(673)(675(541(889)(282))(883(206)(884)))))(796(372(384(424(622)(397))(279(314)(36)))(24(474)(961(942)(409))))(343(683(17)(931(75)(284)))(328(29(525)(133))(5(236)(222))))))(882(697(466(727)(844(932)(555(87)(430))))(155(424(551(219)(924))(460(117)(245)))(321)))(35(665(249(6(482)(24))(454))(319(690(802)(430))(946(78)(338))))(67(597(787(162)(675))(653))(678)))))(784))(607(636(561)(505(630)(805)))(743(256)(87)))))) +(346(966(18(883(832(888)(759(549(782(505)(828))(571(341)(645)))(886(375(950)(506))(335(875)(949)))))(22))(357(44)(553(510(856)(488))(587(830(736(408)(864))(114))(864(354(635)(747))(667(774)(211)))))))(725(969)(166(970)(702(747(226)(340(830(371)(296))(496)))(139(765(688)(910(574)(298)))(739(830(817)(798))(809(359)(500))))))))(125(428(389(987(169)(738(678(422(414)(999))(941(852)(303)))(108(942(281)(277))(773))))(401(999)(559)))(655))(73(471(450(836)(18(253(124)(399(105)(736)))(532(510(243)(699))(575(444)(66)))))(834(784(2(345)(22(469)(6)))(752))(258(692(398)(311))(507))))(952)))) +(667(914(684(859)(730(220)(948)))(910(271)(191(644)(433))))(519(915(45(762(253)(94(314)(576)))(652(233)(73(916(511(682)(135(648)(428)))(598))(744(555)(28(516)(19(69(838(575)(40))(792(657)(600)))(210)))))))(998(729(308(520(698)(442(905(398(117(361)(809))(161))(119))(975(273(576)(919))(432(65)(95(264)(770))))))(560))(717(337)(761(491)(366(96(662(754(619)(579))(144))(679(597(724)(594))(876(522)(288))))(436(688(711(115)(861))(134(708)(170)))(533(546)(821(870)(672))))))))(745(109)(633(895(860(614)(735(256(112)(764))(796(237(390)(368))(917(834)(250)))))(184))(844(887)(346(789)(717(854(173(45)(943))(150))(941))))))))(791(669(799(419(874)(732(362)(225)))(981))(185(844(185(474(192(741)(722))(650(981(130(196)(307))(377))(774)))(33(848)(507(532)(33(328(407)(276))(153)))))(809))(189(393)(528(180(328(571(791)(36(154)(896)))(212(632)(153)))(167))(594(184(440(766(727)(683))(508(810)(675)))(966(537(188)(977))(888(65)(80))))(60(618(105)(290(312)(996)))(441)))))))(35(516)(883(805(920(240(382(684)(762(87(743)(5))(936(19)(190))))(697(321(41)(929(905)(934)))(776(919(957)(276))(267(900)(350)))))(136(431(822(272)(708(426)(653)))(592(743(778)(378))(758(689)(302))))(125(816(308)(332(18)(515)))(263))))(775))(501)))))) +(261(541(634(380)(941(594(171(633)(277(387(550)(52))(443(391)(261))))(510(608)(269)))(349)))(835(610(279(127(977(650(378)(442))(75(496)(891)))(298(95)(268(78)(687))))(403(883(529(346)(934))(497(487)(782)))(119(67)(868))))(890(783(160(620)(450(284)(239)))(16(636(194)(139))(207(535)(599))))(699(188)(901(570(774)(770))(554(144)(555))))))(457)))(701(605(235)(856(681(935(763(941(904)(584))(909))(68(409(832)(111))(823(860)(779))))(516))(83(370(831(471(906)(294))(788(673)(824)))(662(772(59)(624))(825(641)(135))))(762(131(644(280)(83))(603(328)(626)))(153(719(667)(451))(770(422)(245)))))))(984(912)(367(540(428(262(926)(65(505)(442)))(955(833(52)(62))(88(720)(865))))(718(442(65(310)(255))(418))(765(179(745)(43))(329(2)(667)))))(118(780(145(38(577)(460))(476))(281(606(957)(833))(984(262)(581))))(492(40(797(343)(98))(146(513)(642)))(577(730(740)(205))(725(997)(546))))))))) +(410(55(51(490(832)(240(429(150)(916(745(204(691)(932))(548(499)(124)))(155)))(90(638(720)(837(827)(600(792)(321))))(603))))(362))(540(88)(459(935(926)(791(128(868(480(402)(255))(51))(478(753(309)(195))(109)))(423(976(621(769)(842))(94))(875(230(42)(772))(483(706)(492))))))(48))))(634(200(825(804(990(978(896)(979(258)(380(380)(498))))(485(54(314)(410))(470)))(686(381(689)(608(937)(192(134)(591))))(952(363(936(169)(486))(771(251)(16)))(122(849(49)(931))(892(996)(97))))))(749(55(497(839)(774(27(648)(343))(46(53)(730))))(711))(569)))(20(358(833(164(857(612(578)(598))(523(440)(769)))(363))(398(111(719(394)(271))(703(912)(463)))(518)))(215(108(467(567(744)(829))(727(77)(723)))(788(57(741)(186))(226(774)(484))))(946(361)(966(29)(29(589)(534))))))(586(238(482(422(894)(261))(315(435(155)(578))(221(864)(622))))(429(398)(255(468(36)(989))(988(560)(926)))))(534))))(729(258(693(145(707(319(674(921)(194))(944(407)(268)))(837(131)(243(616)(881))))(107(899)(348(596(356)(108))(81(131)(66)))))(683))(996))(111(846)(582))))) +(99(760(785(571(577)(217(137(82)(937(453(48(930(388)(227(302)(687)))(848(99(689)(298))(253(856)(179))))(573(644)(695(244)(892))))(838(618(932(807)(896))(107(379)(228)))(367(692)(359(954(973)(794))(890))))))(329(159(633)(654(342(832(930(670)(194))(743))(641(418)(787)))(170(866(94(307)(173))(924(592)(277)))(82(22(460)(239))(333(965)(726))))))(921(995(895(836(212(176)(801))(637))(206(427(476)(738))(330(984)(470))))(647(837(313(892)(182))(524(176)(613)))(265(258(549)(482))(962(846)(519)))))(145(241(290(130(857)(538))(871(325)(7)))(680(140(205)(38))(97(381)(898))))(460(352)(601)))))))(277(857)(137(476(325(243(156(228(916(764)(602))(968(393)(220)))(805))(362))(875(947)(272(350(984(815)(762))(971(593)(691)))(272))))(799(595)(839)))(422))))(665(894(461)(544(880(888(719)(631(215)(829(714(488(129)(941))(628(169)(722)))(830))))(601(934(958(479)(614))(570(988(223)(503(104)(479)))(522)))(575(580(324(873)(158(81)(855)))(549))(701(113(767(545)(454))(164(282)(49)))(807)))))(238)))(91)))(115(46(641)(825(196(418(307(173(550)(152))(400(48(954(18)(965(485)(576)))(271(355(334)(549))(177)))(335(435)(472(94(932)(155))(215(523)(230))))))(473))(885))(635(365(341(835)(774(707(499)(144(757(691)(704))(534(106)(815))))(912(59(101)(301))(636(144(882)(103))(385(10)(687))))))(868))(516(395(321(472(104)(716(639(4)(497))(993)))(838(114)(131(217(588)(944))(780(889)(449)))))(471(927(76(505(729)(58))(929))(749(748(566)(729))(647(758)(285))))(300)))(733)))))(877(978(308(818(493(884(803(97)(62(395)(940)))(312))(461(526(77(520(48)(590))(906))(456(365(901)(264))(65)))(968)))(273(659(782(281(152(65)(953))(944(772)(75)))(976(55(925)(508))(526)))(827(134(673(309)(518))(696(629)(905)))(251)))(307)))(263))(471(447)(5(97(308)(729))(282))))(966(890)(86(977)(32)))))) +(252(556(259(58)(553))(252(553)(232(286(10(126)(654))(949(515(557)(242))(697(346)(638))))(430(704(806(516)(222))(70))(910(287)(865(848)(419)))))))(687(3(95(405)(888))(14(14(223(573)(551(689)(5)))(542(702)(22(211)(237))))(723)))(262(266(274(700(62)(493(640)(496)))(528(397(40)(245))(954)))(87(474)(427(813(916)(650))(916(841)(575)))))(750)))) +(734(442(130(617(578(626)(752(449(907)(888))(610(118)(316))))(538(231(597)(897(537)(299)))(731(776)(41(672)(511)))))(13))(398(303(972(266)(556(660(351)(638))(458)))(767(887)(353(133(152)(801))(997(856)(957)))))(6(427)(351(902(788)(27(105)(580)))(908(953(689)(465))(312))))))(517(963(20(792(287(566(423)(378))(73(727)(642)))(98(685(171)(69))(923(661)(989))))(436(355)(272)))(744))(91(667(164)(665))(473(70(610(431(127)(902))(84(177)(801)))(115(877(472)(927))(187)))(891(48(694(322)(821))(715))(216(509(513)(17))(896(619)(122)))))))) +(655(558(864(315(611(210)(547))(76(24)(409)))(596))(60(797(274(702(902)(307(800(642)(275))(494(625)(30))))(726))(949))(542)))(564(203(155(11(306)(992))(946(509(813)(645))(918(350(866)(815(357)(867)))(234(443(452)(253))(589(587)(407))))))(148(82(829)(878(61(110)(241))(763)))(198)))(485(111(829)(706(36(448(25)(781(963)(304)))(643(514(128)(709))(791(500)(161))))(460(202(250)(96(206)(405)))(736(65)(553(868)(296))))))(447)))) +(728(760(302(553(753(145)(709(773(337(932)(761))(456(991(317)(912(929(589)(132))(136(893)(192))))(511)))(935(817)(493(546(950)(37(841(811)(936))(355)))(356)))))(849))(991(398(963(324(547(382)(655(704(696(471)(166))(483(795)(146)))(517(462)(665(324)(880)))))(456))(628))(659(7)(669(347(921(653)(660(509(183)(903))(55(697)(251))))(575(318)(830)))(332))))(372(932(994(810(431)(683(137(700)(770(147)(52)))(946)))(336(580(43(954(517)(29))(568))(318(185(677)(107))(586(318)(926))))(108(412(802(33)(128))(173))(834))))(764))(603(60(877(248(613(571(833)(126))(357(290)(333)))(617))(671(384(12(39)(452))(752(137)(561)))(181(288(684)(929))(730(693)(961)))))(866(22(883(312(867)(159))(114))(901(37(956)(619))(190(436)(152))))(504(620)(538(686)(417(31)(758))))))(864)))))(891(369(935(818(949(141(258)(82(98)(99(385)(157(860)(651)))))(997(677(205(959(35)(78))(145(919)(470)))(121))(465)))(946(26(815)(607(298(971(615)(851))(685(892)(541)))(827(956(253)(784))(833(657)(389)))))(352(966(314(53(346)(468))(141(957)(208)))(170(32(873)(985))(511)))(94))))(780(353(609(87(365)(421(103(836)(15))(894(665)(214))))(171(201(441)(682(857)(312)))(259(291)(668(176)(592)))))(269(244(927(672(642)(333))(32))(877))(562(325(62)(875(68)(796)))(530(933)(259(756)(690))))))(595(895(456(543(919(226)(578))(890(158)(379)))(117))(907))(308(202(34(150(807)(241))(590(100)(877)))(980(137)(955(826)(732))))(106(650(929(326)(631))(780))(940))))))(19(1)(998(893(516(140(24(28(900)(149))(926(387)(913)))(484))(106))(789))(689(953)(679)))))(141(718)(500(603(801)(285))(781)))))(376(250(810)(68))(659(99(184)(776(822(553(548(345(181)(571(169(224)(644))(790(575)(939))))(62))(598))(718(283(711(929(678)(519))(628))(762(146(421)(514(289)(602)))(347(135(126)(683))(764(653)(588)))))(804(486(872(523(70)(247))(693))(230(33)(767(629)(956))))(430(48)(13)))))(59(717)(249(211(94(581(26)(424(568)(890)))(162(980(738)(64))(892(563)(879))))(10(623(450(87)(53))(836(981)(705)))(375(658(481)(49))(887))))(798)))))(617(178(728(646)(543(454(95(131)(377(152(406)(54))(654(155)(835))))(787(731(61)(785(354)(215)))(100(10)(692))))(399(569(790(330(351)(218))(868))(681(622)(66)))(443(993(524)(876(741)(557)))(59)))))(388(680(988)(167))(255(761(181(195(250)(903(457)(290)))(374))(352(194(911(972)(331))(2(746)(139)))(914(750(312)(991))(594(744)(773)))))(380))))(730(867)(241(745(933(904(916)(616(398(0)(95))(10(158)(642))))(816))(120(267(931)(466(821(528)(222))(567(376)(668))))(200)))(811(285(1(894)(719(972(379)(650))(422(994)(10))))(239))(120(259)(748(61(521(426)(755))(344(181)(600)))(640)))))))))) +(502(740(856(332(132(113)(964(502(925)(22))(195(997)(705))))(771))(385))(107(790(771(677)(639))(663))(861)))(728(986(362(559(524(720)(458(853)(589)))(450))(21))(993(230(581)(157(206(957)(270))(190(686)(205))))(327(374(769(571)(776))(143))(754(192(215)(393))(827(307)(951))))))(159(731)(924)))) +(79(999(151(586)(56))(631(606)(400(276(881)(748))(952(641(701)(249(281(821)(661))(554)))(881)))))(829(963(946(373)(604(377(805)(372))(828(243(665)(373(342(72)(998))(979(68)(247))))(938(98(802(105)(597))(570))(550)))))(667(468(442)(626(444)(580(337)(553))))(830(597)(151))))(898(58(404(235(325(888(251(574)(961))(687))(28(845(313)(977))(297(638)(240))))(868))(712(410(699)(447))(577(462(786)(870))(423))))(206(437(129(905(711(407)(298))(14))(635(201)(627(226)(135))))(781(646(384)(263))(590(454(77)(235))(145))))(996)))(6)))) +(896(250(11(658(389(504)(159(576(920)(836))(608)))(617(31(997(648)(647))(392(859)(846)))(855(513)(326))))(321(715(446)(929(908)(839(815)(337))))(590(338)(743(7)(446(28)(385))))))(439(838(14(736(256(177)(398))(866(653)(23)))(395))(953))(51)))(229(970(93(380)(999(251(339)(711(915)(300)))(428(472)(810))))(379(392(551)(86(700(593)(546))(788(897)(477))))(385)))(253(98(648)(717(642(196(749)(213))(736(395)(250)))(814(44(223)(990))(249(894)(338)))))(516)))) +(29(594(488(63)(746))(997(110(76(330)(579))(730(965(779(201(95)(14))(80(551)(760)))(577(329)(780)))(616)))(505(784(610(481)(452))(472(533(782)(961))(777)))(623(301(677)(803))(706(261(703)(718))(303(503)(556(618)(747))))))))(612(840(65(588(991(385)(203))(848))(571(301(224(260(518)(321))(222(237)(881)))(763(41(927)(59))(826(16)(249))))(816(209(912(74)(57))(18(343)(378)))(399(694(784)(523))(525(825)(903))))))(901))(729(749(4(329(515(382(80)(183))(25))(495(884(167)(284))(413(151)(864))))(477(603(144)(188(631)(341)))(790(897(334)(473))(1(163)(818)))))(500(299(749(922(601)(775))(751(832)(830)))(405(83)(222)))(33(167(664(340)(920))(163(824)(126)))(581(709)(861(373)(559))))))(568(94(697(229(785(497)(393))(214))(704))(121(969(28(444)(583))(870(254)(618)))(685(159)(284))))(194(22)(26(996(70(122)(769))(987))(464(598(601)(319))(192(912)(166))))))))) +(662(884(946(656(795(367)(60(626(56(704(241(740)(45))(465(122)(207)))(260(708(589)(916))(245)))(593(465(322(753)(630))(448(285)(451)))(481(321(78)(746))(413(145)(477)))))(602(942(217(176(456)(666))(2(503)(253)))(670))(948(510)(587(432(335)(533))(451(743)(224)))))))(376))(40))(868(453(680(795(788(284)(422(1(109)(805(750)(298)))(427)))(674(350(364(613(881)(33))(629))(812(891(135)(886))(263(625)(482))))(740(482)(520(591(821)(224))(774(670)(78))))))(379(101(743(867(548)(429(315)(984)))(267))(767))(827(724(212(516)(8))(229(980)(260(239)(229))))(383(883)(888(12(479)(527))(666))))))(751))(716(573(997(926)(67))(554(461)(3(12(974(840(997)(788))(907))(363))(604(787)(435)))))(550(958(475(968(866)(704(702(357)(59))(313)))(51(355)(119(352(669)(423))(673(389)(56)))))(255(484(316(545(468)(112))(501(649)(513)))(83(33)(542)))(754(343)(950(390)(393(659)(163))))))(736)))))(771(765(521(11)(16(437(352(570(461(608(433)(476))(907(805)(167)))(674))(453))(959(389(861(22)(685(23)(76)))(807(955)(438(32)(133))))(401)))(229(919(152(942)(673(393(391)(330))(213)))(274(408(447(491)(581))(324(26)(526)))(425(88(315)(420))(427))))(838(613(728(584(122)(435))(693(621)(393)))(809))(750(309)(332(772(922)(127))(436(238)(229))))))))(50(350)(312(609)(925(389(781(451(935(311)(368))(377(896)(777)))(811(641)(66)))(437(828)(420(48)(42(853)(938)))))(337(787)(288(487(313)(544))(68(394)(685))))))))(817(496(397(594(930)(119(720(49(785(418)(298))(826(508)(605)))(912(444(16)(411))(227)))(304)))(970))(14(176)(959)))(145(81)(161(895(378)(5(58(839(10)(508(542)(227)))(85))(261)))(616(861)(958(245(934(570(895)(102))(721(125)(311)))(631(544(51)(699))(191(290)(948))))(765(287(411)(202(241)(876)))(62(104)(238(654)(993))))))))))) +(801(628(263(35(303(401(417(942(141)(222))(426(527)(124)))(836(913(853)(773))(688(908)(220))))(430))(306(572(505)(183(888)(880)))(208(92(154)(137(0)(600)))(736(206(888)(450))(326(789)(114))))))(735))(304(942(393(892(984)(507(588(516)(99))(734(784)(999))))(925(446(612(752)(353))(339(730)(676)))(89(231)(685(461)(609)))))(828(268)(76(686(557(499)(177))(77(917)(18)))(266(24(934)(910))(837(226)(895))))))(948(666)(748(198(100)(994(592(637)(434))(253(858)(804))))(433(532(357(83)(145))(635(371)(995)))(144))))))(137(597(929(62(422(717(816)(301(638)(25)))(123))(132))(404))(843))(471(146)(536(896(822)(959(769(172)(284))(853)))(156))))) +(704(294(634(743(365(112(182)(488))(675(586)(822(968)(278))))(809(481(679(389)(765(73(810(782)(989))(286(445)(390)))(51(327(509)(350))(208))))(854(85(760(375(915)(954))(626(168)(243)))(61(83(786)(785))(709)))(73)))(133)))(178))(318(177(501)(316(621(364(447(980)(24))(546))(383(799(854(790(130)(963))(775(657)(30)))(30(222)(614(789)(874))))(630)))(371(710)(792(144(883(273(497)(162))(257(992)(463)))(767(614(324)(371))(566(43)(219))))(992(649(282(900)(797))(844))(462(53)(617(527)(139))))))))(698(272)(177))))(304(197(683(442(533(947(664)(253(212(679(858)(74))(158))(269)))(862(678(177(631(90)(180))(956(748)(755)))(322(373)(451(838)(371))))(792(851(715(302)(179))(609(732)(161)))(213(524(563)(746))(710)))))(264(106(251)(130))(774(285(24)(55(685)(618(783)(621))))(40(329)(244)))))(661(219(615)(808(314)(899(749(933(595)(432))(855(799)(882)))(706(231)(345(614)(238))))))(520)))(986))(997(730)(806(911(495)(292(255(29(379)(243))(473(319(740(719)(49))(697(820)(419)))(173(526)(251(513)(817)))))(13(284(83(602(470)(421))(752(432)(0)))(276(495(536)(675))(150(124)(534))))(510(857(502(721)(476))(649))(922(784)(440(721)(991)))))))(354(938(736(750(196(804(315)(124))(203(502)(810)))(838(416)(346)))(627(401(618(717)(468))(213(703)(163)))(637(101)(428(622)(153)))))(284(972(11(917(902)(317))(561(50)(289)))(597(663(742)(687))(772(688)(32))))(563(618)(38(9(236)(225))(905)))))(22)))))) +(503(796(915(843(514)(392(618(218)(289(733(709)(229))(408)))(206(25(93(680)(891))(391(268)(964)))(66))))(265(889)(157)))(808(302)(727)))(824(403(31(16(314)(465(474(604(6)(414))(294(246)(728)))(718(326)(51))))(832(910(174)(181(38(750)(199))(762(760)(980))))(864(229)(333(493)(391)))))(960(798)(336(437(587(299(294)(41))(349(227)(906)))(371(517(965)(226))(449(500)(51))))(807))))(544(194)(642(620(325(743(829(151)(700))(802(619)(173)))(345(689)(572(540)(28))))(290(675(515(309)(124))(330(847)(385)))(626)))(730(826)(413(797(807)(170(185)(885)))(217(851)(531(548)(493))))))))) +(840(452(552(6(903(632(381)(113(399)(353)))(180(504(121)(825))(605(57)(407))))(840(651)(1(387(358)(755))(520(647)(962)))))(837))(356(759(533(731(160(228)(548))(522(225)(461)))(379(156(667)(777))(438(200)(572))))(211(19(184)(863(928)(237)))(326(221(829)(867))(765(709)(743)))))(446)))(994(332(763(683)(957(821)(313)))(223(362(645(270)(921(232)(281)))(926))(133)))(957(736(851(236(848)(741(706)(90)))(378))(405(989(696)(884(995)(991)))(179(805(420)(464))(49(627)(88)))))(362)))) +(179(734(868(218(212(776(704(477)(639))(237(325)(127)))(821))(449(449(502)(362(680)(613)))(998)))(170))(648(331(736(47(325)(215))(375(134(607)(384))(273)))(517(570(665(93)(752))(826(230)(480)))(814(952(960)(644))(632(139)(675)))))(797(918(761(658(273)(628))(993(585)(874)))(307))(862(680)(138(596)(705))))))(904(144(251(620(467(185(431)(795))(668(398)(398)))(134(929(539)(451))(236(724)(555))))(989(824(562(471)(601))(101(210)(14)))(444(301)(755(127)(384)))))(684(524(676(95(460)(605))(323(717)(269)))(99(243(31)(875))(634)))(977(738(92(828)(581))(478))(340))))(534(584(838(641(516(405)(334))(220))(423(913(140)(593))(271(269)(499))))(594(534(646(475)(358))(252(94)(385)))(697(771)(542(353)(108)))))(744(867(396(225(788)(433))(933(406)(416)))(16(933)(52(78)(290))))(327))))) +(568(749(107(784(197(580(979(980(336)(392))(597(80(101)(315(188)(179)))(941(482)(821(112)(546)))))(745(316(209)(308(582(665)(745))(253(177)(756))))(797(487(403(234)(640))(190))(296))))(632))(537(879(442(236)(58(303(947(684)(262))(704(31)(990)))(543)))(269(276)(632(578(127(319)(409))(113(311)(284)))(964(572(811)(170))(573(932)(446))))))(305(789(70(96(401(592)(151))(76(832)(759)))(352(663(7)(144))(768)))(14(34(457(618)(808))(75(956)(915)))(178(370(189)(409))(938(947)(920)))))(258))))(642(876)(902(735)(710(761(318(236(504(974)(113))(222(96)(616)))(982(577(761)(920))(940(420)(725))))(622(863(578)(291(806)(307)))(527(711)(978(860)(220)))))(191(228(758(745(221)(774))(57(85)(400)))(40))(509(979(28(93)(60))(868))(26)))))))(650(237)(47(502(956(563(630)(48))(30(764(652(327)(282(412)(817)))(456(96(400)(395))(685)))(608(732)(96(659(268)(696))(329)))))(499))(121(392(495(681(759(330(214)(297))(42(826)(18)))(462(939(25)(442))(13(879)(859))))(640(751)(442(855(234)(468))(512(474)(408)))))(51(282)(68)))(730)))))(822(176(180)(691(521(676(830)(81))(897(889(898(10(691(236)(482))(468(304)(218)))(517))(725))(87)))(833(84(456(79(656(101)(293(433)(880)))(0(91(915)(280))(118)))(213(696(816(385)(582))(955(460)(622)))(298(667(868)(590))(859(984)(301)))))(932(621(69(543(89)(959))(678))(932(995)(367(585)(912))))(243(768)(970(890(397)(50))(175(463)(858))))))(870(987(902)(793(245(598)(181(556)(741)))(794(566(606)(23))(144(974)(113)))))(616)))))(138(294)(817(682(23(686)(621(57(469(0(165)(458))(939))(744))(679(359)(520))))(951(20)(720(919(382(346(227)(563))(581(75)(737)))(526(492)(988(338)(481))))(173(801(534(421)(997))(908(513)(767)))(85(837(577)(754))(705(300)(246)))))))(622(93)(794)))))) +(266(36(732(651(967(999(294(444)(272(901(19)(737))(594(832(563)(42(679)(909)))(148(118(773)(289))(526)))))(414(771)(927(577)(635(596(874)(466(507)(186)))(346(474(418)(696))(971))))))(260(379)(173(984(25(366(498(711)(978))(364(704)(854)))(762(23(32)(186))(917(149)(719))))(72(512(995(492)(156))(14(495)(633)))(998)))(605))))(495(699(164(979(526(591(250(153)(373))(546))(846))(426(550(788)(463(224)(467)))(969(398(940)(166))(613))))(36(335)(595)))(587(490(34(161(73(888)(542))(470))(130(181(193)(24))(161(893)(422))))(752(518(71)(23(578)(863)))(533)))(122)))(296(278)(615(942(85)(441(16)(697(318(947)(602))(831(979)(926)))))(261(121)(291))))))(819(241(391(454)(879(5)(324(237(914(760)(805(885)(486)))(980(85(457)(481))(938)))(48(765(928)(240(394)(904)))(266(783(956)(362))(685(376)(530)))))))(683(640(334(300(772(941(271)(847))(415(314)(412)))(263))(843(180)(911)))(540))(883(879)(819(430(396(526)(335))(846(605)(538(620)(83))))(713)))))(33(614(141(577)(590(375(538)(974(784(190)(123))(995(274)(790))))(650(631(541(891)(107))(8(885)(327)))(539(508(933)(962))(217(890)(312))))))(375(520)(6)))(871(99(711(314)(153))(296(390(479(924(23)(284))(148(766)(244)))(1(366(838)(291))(854(911)(781))))(848(436(802(268)(956))(960))(330(145)(443(353)(67))))))(586)))))(74(417)(74(376(879)(784(271(992(843(220(184(444)(568))(36))(741))(557))(150(125(825)(281(40(20)(389))(913)))(46)))(834)))(405(321(937(729)(288))(445(388)(273(256(13(792(38)(649))(661(257)(329)))(174(899(701)(264))(47(350)(452))))(251))))(534)))))(224(431(869(877(17)(95(83)(695)))(718))(276(647(181(41(120(209(119(472(305)(496))(843))(483(171(657)(179))(448)))(390))(352(671(628(805)(454(927)(952)))(210))(262(800(565(702)(260))(664(510)(486)))(317(364)(34(303)(396))))))(622(778)(546)))(279(356(613(947(910(626(806)(708))(59(769)(630)))(984))(996(1(739(449)(386))(986(917)(915)))(204(680(921)(507))(868(468)(661)))))(576(965(935(727)(26(447)(89)))(321(976)(119)))(519(877(779(687)(322))(25(993)(430)))(356(903(109)(181))(189(220)(490))))))(78(404(644(271(682(417)(470))(405(327)(430)))(265))(444))(123))))(622(691(292(881(549(561)(496(198)(654)))(744))(541(7(580)(671(313)(426(679)(687))))(735(399(351(321)(671))(82))(487(690(811)(847))(377(638)(860))))))(817))(319))))(766(841)(499)))) +(626(134(15(117(906(278(110(566(407)(722))(589(365)(624)))(369(320(87)(483))(48(751)(540))))(950))(838(545(505(280(807)(853))(205(216)(880)))(676(457)(302(892)(608))))(49(195(357(477)(32))(999(846)(699)))(257))))(286(981(205(616(990)(21(578)(527)))(545(297(93)(389))(811(516)(875))))(257(880(741(736)(861))(236(64)(430)))(823(767(687)(308))(9(748)(879)))))(487)))(297(102(157(10)(105(433(254)(90(304)(472)))(687(456)(72(32)(180)))))(378(25(328(109(616)(959))(443))(918(732(581)(984))(66)))(517(655)(110))))(977(16(516(631(217(501)(201))(976))(985(866(571)(698))(176(351)(764))))(336))(93(759)(623)))))(718(274(97)(88(626)(107)))(165(127(78)(167(282(76(584)(294))(906(993(55)(526))(840)))(182(671)(753(535)(946(22)(895))))))(340(190(669(411(464(848)(239))(647(706)(187)))(772(41(64)(756))(849(239)(747))))(840))(224(614(36(233)(326(721)(879)))(344(62(284)(203))(614)))(504(247)(386(995)(110(167)(203))))))))) +(594(992(560(64(251(42(7)(36(23(104)(603))(433)))(369(715)(178(37(261)(975))(837))))(286(953(606(312(5)(284))(957(26)(138)))(808))(321)))(759(516(658)(464(898)(363)))(22(23(446(268)(784(31)(954)))(184(830(267)(797))(857(194)(426))))(670(474)(140(636(726)(787))(333))))))(924(299)(704(447)(316(215)(866(642(828(382)(151))(562(66)(570)))(418(719)(688(575)(748))))))))(348(533(241)(860))(307(908)(199(876(317)(465(426(630(378)(349))(528(21)(912)))(599(267(847)(809))(76(10)(98)))))(441(913(175(466(268)(953))(790))(157(862(974)(809))(925(888)(863))))(504(746)(500(982)(350)))))))) +(642(19(981(379)(316(85(903(548(115(551)(876))(664))(352(794(137)(88))(772(668)(719))))(63(691(694(741)(9))(149(573)(921)))(258)))(573)))(283(776)(59(392)(955(240(754(601(272)(194))(822(217)(944)))(998(646)(219)))(342)))))(18(532(86(215(289)(413(226(484(569)(835))(922))(589(728)(0))))(480))(263))(511(11)(32(406(519)(788(221(22(940)(577))(541))(772(247(721)(991))(785(600)(751)))))(526))))) +(178(616(609(309)(215(292)(626)))(359(579(620(220(904)(225(461(859(351(80)(187))(535(511)(72)))(568(118(733)(817))(334(284)(875))))(283(862(486(210)(510))(877(137)(991)))(652(382(576)(674))(0)))))(185(665(824)(819(939(803)(937(650)(400)))(510)))(179(790(394)(622(174(417)(421))(774(689)(888))))(434(38(138)(771(360)(641)))(893(798(539)(613))(298(866)(381)))))))(559(769(524(529)(290))(57(808(141)(365(780(563)(279))(543(504)(11))))(751(904(367)(20(380)(620)))(743(705)(347)))))(886(620(908(473)(936))(170(924(569)(243(447)(569)))(161)))(575))))(933)))(942(519(24(641(38)(687(672(43(811(859(595)(531))(716(930)(414)))(622(864(164)(754))(174(308)(767))))(533(626)(429)))(829(688(634(716(391)(950))(944))(798(63(912)(955))(558(155)(26))))(878(952)(973(409)(885))))))(691))(287(836(912)(492))(627(819)(41(738(808(777(696(203)(801))(18(126)(882)))(583(433(695)(57))(430(905)(841))))(882(301)(829(425(909)(710))(903(86)(454)))))(661)))))(378(575(329(634(341(401(108(409)(918(314)(866)))(40(436)(841)))(940(409)(832)))(741(817(481)(563(464(210)(163))(19(651)(653))))(212)))(484))(396(701(600(967(812(858)(762))(753))(13(834(386(632)(272))(523))(695(400(316)(316))(748(845)(442)))))(240(7(910(636(942)(862))(582(110)(696)))(523(951)(725(782)(751))))(12(971)(390(11(650)(996))(834)))))(665(363(322(246(666)(544(356)(317)))(233(122)(245(176)(101))))(820))(809(626(933(0(570)(762))(892(180)(72)))(294(28(863)(135))(305(552)(965))))(465)))))(777(810(172(436)(847(828(385(838(836)(379))(987(692)(580)))(149))(66)))(362(474(436(581)(549))(360(347(199)(956(898)(53)))(700(299)(830(926)(525)))))(441(713)(946))))(317(42(378)(226(789(806(451(198)(859))(570(233)(468)))(508))(596(114(95)(233))(865(454)(444(252)(674))))))(940)))))) +(921(84(278(331(133)(942))(173(139(406(314(510)(656))(963(307)(503)))(370))(815(143(4)(168(123)(613)))(62))))(203(857(641(309(868(773)(697))(475(183)(97)))(316(767(256)(959))(319(475)(27))))(192(49(733(155)(755))(142(568)(654)))(841)))(572)))(914(311(813)(148))(55(545(880(480(257)(567(94)(150)))(779))(502))(731(988(21(644(298)(105))(164))(179))(676))))) +(444(439(690(270(836(864(967)(763(222)(329)))(213))(797))(257(709(12(937(555)(544))(442(236)(649)))(264(878(843)(689))(869)))(911)))(622(313(737(337(254(264)(645))(561(40)(891)))(966(742)(892(967)(14))))(979))(772(646(650(451(368)(983))(479))(25))(907(837(368(326)(446))(715))(962)))))(639(589(860)(180(72)(680(231)(120(445(607)(613))(121(840)(90))))))(160(984(669(288(898)(191))(989(572)(889(232)(867))))(301(969)(623(541(815)(624))(252(316)(879)))))(560(702(38(97(980)(394))(958))(204(583(659)(402))(39(752)(412))))(416(756(252(49)(837))(954(640)(605)))(731)))))) +(193(527(973(446(167)(603(268)(451(599(412(24(368)(885))(568))(215(647(523(393(105)(404))(354(539)(911)))(378(752(46)(581))(827)))(942(504)(154(802)(635(464)(350))))))(170(830(269)(312(857(76)(734(378)(158)))(256)))(580)))))(267(14(264(906(760(207(897(421(335)(523))(633(687)(481)))(966))(485))(918(826(914(343(962)(503))(47))(550(228)(243(944)(993))))(50(407)(608(433)(903)))))(413(651(939)(48(385(128)(583))(218(188)(900))))(920(960(589(434(464)(281))(573(542)(672)))(807(62(280)(129))(770)))(361(645)(962(403)(562(193)(894)))))))(990))(529(305(560)(623(935(36)(711))(221(322(969)(161(405(534)(603))(869(966)(249))))(185))))(497(410(689)(642))(316(749)(534(149(306)(678(935(278)(890))(155(923)(724))))(869(210)(734(511(637)(147))(220(606)(871))))))))))(866(379(198(422)(589(197(156)(569))(770(689(474(600(312(382)(477))(534))(155(84(313)(343))(890(445)(313))))(808))(879))))(435))(613(579)(120(432(14(714)(491))(868))(861(844)(93))))))(535(657(983(508(158(630)(970))(455(100)(168(676(890)(353(986(401(658)(935))(213(672)(265)))(201(472(553)(536))(476(397)(793)))))(368))))(277(418)(354(897)(779(267(762(700)(305(758(183)(611))(152(567)(653))))(680))(304(395(622(26)(425(792)(148)))(307(50(378)(212))(582)))(508))))))(993))(210(681(23(536)(811(445(152(671(22(896(856)(73))(594(538)(80)))(948(36)(842(220)(411))))(251(135(395)(86(201)(137)))(107(665(935)(305))(445(174)(915)))))(611(145(406)(713(181(558)(258))(339(736)(794))))(783(54(427(674)(640))(404))(776))))(670(422)(935(422(331(433)(24(654)(549)))(394))(669(754(656)(801(512)(248)))(666(904)(299)))))))(733(48(986(260(205)(362(950(590(896)(901))(773(142)(382)))(517(755)(766(795)(340)))))(137(690)(367(955)(680))))(868))(869(18)(666(342(804(806(339)(292))(482(232(420)(276))(764(949)(455))))(28(43(374(142)(542))(202(158)(62)))(570(811(330)(105))(304))))(375(209(464(737(669)(457))(311))(505(514)(586)))(322(338)(535(843(157)(824))(801(342)(497)))))))))(485(346)(882(801)(250(638(316(4(849)(288(241)(757)))(169))(572(308(502(254)(558(744)(699)))(972))(55)))(738(154(89(736)(997))(983(884)(448(498(885)(454))(840(187)(49)))))(276(791)(107(112(550(24)(109))(889))(199(888)(679(917)(585)))))))))))) +(150(648(364(555(790(992(428(668(860)(521))(80(317)(177)))(143(871(753)(617))(760)))(707(782(739(605)(358))(213))(293)))(888))(357(79)(486(546(774(596(984)(73))(655(494)(0)))(232))(845(626(85)(673(526)(423)))(234)))))(677(471)(157(898(135(764)(913))(684(303)(711(687)(94(465)(755)))))(416(585)(215(156)(196(964(54)(268))(227(901)(815))))))))(667(295(574(535(609(969(843(901)(978))(85(551)(696)))(467(971(263)(585))(910)))(958(64(514(956)(91))(967))(343(820(388)(733))(672(811)(411)))))(594(827(705(658(740)(415))(220(438)(821)))(372))(380)))(995(950(887(468(794)(644(81)(393)))(743(918(64)(297))(615(737)(662))))(714(646(160(22)(477))(238(595)(934)))(655(419(995)(494))(275))))(19(934(287(350(995)(526))(815(287)(700)))(657))(217(258(548(492)(234))(0(609)(129)))(623(910(407)(90))(819))))))(448(210(802)(488))(763(93(194(276(440)(39(349)(137)))(683(561)(286(765)(324))))(968(196(849(282)(451))(803(247)(949)))(201(163(554)(469))(641))))(92(687(281)(193(780)(745(44)(376))))(894(337)(547(632(400)(108))(132(564)(903))))))))) +(920(126(443(750)(378(337)(148(226)(226(407(233(152)(557))(819))(773(248(714)(832(63(210)(589))(326)))(755(739)(391(658(225)(996))(54))))))))(225(662)(943)))(241(922(95)(547(359)(326(390)(577(291(138(16(235(155)(230))(536(81)(825)))(157))(285(827(345)(560(492)(887)))(788(286(922)(519))(433(990)(977)))))(181(540(810)(899(539(9)(152))(996)))(59))))))(346(949(18(872(207(714(633(564(809)(501))(505(529)(861)))(385(406(966)(776))(669)))(601(305)(422(119(459)(789))(441(219)(293)))))(637(795)(898(96(264(220)(681))(712))(793(198(96)(100))(204(566)(668))))))(969(880(853(858(101(44)(884))(840(265)(513)))(613(841)(950(672)(254))))(972(112)(793(16(834)(984))(625(837)(139)))))(140(215)(497(868)(530(898(775)(679))(738(73)(963)))))))(159))(98)))) +(231(604(477(11(561)(237(719(224(373(84(982(340)(583))(667(433(369)(560))(235(363)(315))))(60(213(794(663)(349))(908))(483)))(586(693)(607(430)(918(800)(84(326)(310))))))(348(328)(56(59(630(828(654)(590))(66(643)(368)))(261(583(671)(999))(155(637)(482))))(87))))(824(772(472(616(71(50(753)(496))(86))(545(446(543)(639))(979(82)(272))))(884(554)(672(48(634)(128))(356(245)(564)))))(792(769(461(199)(848(82)(961)))(446))(100(830(269(451)(304))(507(966)(62)))(665(323(168)(986))(65)))))(157))))(138))(738(619)(573(543)(643(991)(565(619(81(406(655(412(923)(626))(216))(806(585(702)(793))(152(541)(302))))(51(287)(122(861)(753(806)(682)))))(490(311(724(104(311)(240))(922))(933))(847(252)(240(294(418)(495))(659)))))(915))))))(416(822(299)(343))(665(987)(599(13(713(708(986(172(697(150(510)(255))(398(176)(315)))(12(187(483)(932))(943(831)(587))))(637(361(782(613)(399))(150(234)(753)))(162(133(155)(114))(943(579)(880)))))(619))(791))(504(554(202)(118(458(940(410(597)(464))(136(640)(463)))(686))(145(360)(666))))(599(705)(912(560)(896)))))(158(107(467(649(894(872)(402(190(732)(553))(924)))(243(686(865(679)(486))(237(101)(100)))(742(607(540)(258))(353))))(829(521(372(915)(933(613)(425)))(146))(27)))(482(543)(397)))(545(979(268(356)(695(9(554(795)(609))(879(246)(567)))(388)))(829(508(635(837)(97(994)(564)))(751(634(998)(880))(6(279)(317))))(710(20(173(27)(182))(520))(935(977)(680)))))(854(990(423(1(367)(152))(503(794)(143)))(605(602(170(788)(829))(899(244)(778)))(886)))(253(195(336)(123(90)(905(734)(111))))(298))))))))) +(430(653(443(105)(232(443)(42)))(720(69)(892(555(236(236(980)(424(469)(333)))(228(829)(355(657(816)(411))(562(54)(807)))))(385(785(31)(114))(731(103(730)(486(757)(770)))(503(497(323)(219))(689(763)(502))))))(372(788(972)(269(793(698)(859))(965)))(765(418(334(663(588)(399))(244))(373(614(897)(232))(488)))(476(723)(568(426(284)(818))(739))))))))(883(715(61)(760(128)(767)))(475(210(447(99(681)(66(942(563)(806))(545(541(975)(226))(549))))(317))(742))(384)))) +(352(389(685(369)(593(172(379(229(63(402(852(181)(832))(254(856)(917)))(105(86(732)(753))(896(39)(955))))(821(464)(58(475(779)(454))(567(152)(941)))))(24(640(873(124)(53))(133))(479(444(887(776)(733))(709(892)(564)))(1(872(756)(95))(834)))))(259(140)(920)))(130(834(312)(311(211(171(919(417)(990))(845))(353(877(718)(877))(483(413)(637))))(862(258(820)(61(820)(381)))(817(15)(156(613)(245))))))(506(762)(431(479(161(815(394)(90))(255))(191(300)(327(647)(268))))(461(397(548(465)(935))(513(736)(150)))(941(700(569)(788))(440))))))))(72(26(193(891(685(428(267(187(165)(175))(296))(440(659(408)(974))(826(365)(204))))(690(309(531(559)(333))(375(21)(529)))(357)))(837(106(729)(227(684)(357(257)(340))))(683(981(240(758)(494))(184))(550(250(438)(428))(161)))))(960(717(379)(94))(116(750(873(947)(195(130)(605)))(945))(194(806(633)(487(667)(607)))(790(897)(588(472)(873)))))))(959(975(691)(515(145(896)(917(688(384)(958))(109(503)(752))))(905(139)(826(880(748)(789))(202(76)(0))))))(541(705(249)(165))(703(580(959(950(607)(756))(909(208)(648)))(337(749(550)(167))(555)))(225)))))(36(607(941(821(926)(438))(951(523)(268(878(448(300)(917))(942))(678(364)(37(438)(650))))))(286(204(978(35(726)(229(615)(151)))(94(384(482)(625))(792(621)(535))))(370(377(925)(109))(887)))(726(935)(535(20)(736)))))(140(782(755(626)(319(834(461)(547(348)(824)))(531(671(692)(45))(504(663)(858)))))(913(933(72(774)(897(82)(106)))(636(179(749)(526))(24(869)(801))))(738)))(513)))))(735(739(276(620(147(78(148)(941(336(190(475)(408))(489(902)(249)))(293(749)(522))))(232(916(498(703)(983))(408(659(533)(54))(986)))(899(272(948(829)(595))(627))(892(153)(534(339)(421))))))(887))(484))(157(328(120(516)(517(108(321(930)(883(902)(752)))(273(474(612)(204))(419(175)(199))))(756(907(195(296)(582))(309(943)(787)))(946))))(780(339(328(371(289(330)(232))(602(508)(420)))(36(271(563)(440))(593(692)(809))))(909(831(64)(961(509)(409)))(77(672(822)(750))(111(952)(397)))))(974(850(481(872(264)(975))(435(255)(791)))(786(823(696)(180))(235(636)(437))))(486))))(391(270)(732(870(810(665(338(55)(387))(20))(755(131)(876(585)(385))))(528(157(153(816)(48))(717(158)(755)))(752(804(112)(198))(208(592)(593)))))(23(368(82)(61(107)(756(603)(49))))(418))))))(822(294)(495(158(214(764(626)(426(327(657(29)(219))(668(153)(885)))(619(985(693)(923))(976(216)(261)))))(778))(932))(415(50(224)(348(688(384(893(99)(249))(188))(513(739)(173(870)(919))))(352(83)(693(815)(896(354)(706))))))(137(283)(247))))))) +(386(254(927(22)(509(232(22(538)(664(938(400(493)(687))(410(971)(401)))(12(736(513)(770))(11))))(365(24(162)(127(784)(214(340)(447))))(118(163(637(140)(487))(626(437)(361)))(357(108(100)(391))(919(193)(400))))))(851)))(635(477(784(468(473(475)(436(594(668)(40))(445(615)(760))))(934(709(987(115)(59))(7(620)(234)))(76(425(122)(219))(661(945)(169)))))(275(854(286)(434(915(845)(111))(527(627)(491))))(639)))(32))(977(157(727(959)(923(912(702(636)(512))(537(811)(622)))(509(904(619)(831))(260))))(287(102(275(472(292)(395))(277(805)(264)))(979(869(595)(842))(315(827)(425))))(12(522)(377(942)(208(418)(232))))))(923(216(403)(849(533(768(467)(926))(847))(762(82)(316))))(349)))))(133(728(783)(70(924(975(995(983(285(623)(181))(288(284)(205)))(389(131(192)(115))(303)))(75(571(828(500)(307))(467(442)(846)))(183(103(44)(647))(419(204)(180)))))(287(656(394)(990(584(693)(759))(108)))(616(883(31(854)(323))(633(589)(887)))(706(223(586)(474))(404)))))(767(472(851)(351(270(970)(82(548)(128)))(347)))(242(588(58(961)(30))(275))(737(437)(101))))))(55(266(252)(149(36(9(262(861(8)(350))(910(337)(513)))(660(900(338)(740))(291(31)(269))))(744(704)(502(842(740)(110))(193(608)(975)))))(465)))(933)))) +(437(610(409(875)(468(741(136(542)(641(978(972)(426(664(906(465)(739))(550(261)(104)))(869(712(274)(550))(600))))(256(360(910(406)(724(30)(686)))(204(673(684)(467))(35(156)(397))))(807(417)(200)))))(866(793(351(891(403(332(681)(146))(708))(679(581(501)(2))(620(9)(389))))(841(854)(533(49(300)(226))(56))))(560))(416(879(387(824)(646))(417))(728(829)(291(887(349(965)(549))(628(226)(903)))(660(76)(108(595)(26))))))))(869(484(813(138(197(497(723(641)(739))(382(670)(363)))(806(968)(260(876)(867))))(71))(259(289)(578)))(423(90(683(816(171(545)(8))(264))(134(832(310)(539))(822)))(981(621(343(431)(78))(512))(341(145(862)(487))(683))))(670(429)(461(672(27(55)(393))(263(464)(654)))(986)))))(587(103(203(68(521(39(183)(954))(779))(331))(360))(895))(145)))))(883(420(581(639(522(73(225(103(925(622)(543))(398))(771(37(469)(20))(472(215)(532))))(891(187)(640(321(387)(69))(183(881)(396)))))(833))(572))(241(918(770)(411(912(516(14(205)(586))(919(541)(543)))(420(711(813)(314))(478(747)(773))))(322)))(601(193)(740))))(531))(550(809(942(38)(608(699)(827(114)(502(937(84(725)(31))(831(275)(531)))(836(614)(350(926)(28)))))))(488(911(868)(439(53)(323(151(970(331)(29))(13(82)(708)))(198))))(489(64(489(788(202(841)(924))(564))(600))(759(515(397(941)(945))(416(419)(784)))(11(253(173)(933))(51(604)(140)))))(657(248(277(40(243)(240))(48))(696))(445(493(177(646)(120))(764(59)(261)))(590(60(733)(385))(673)))))))(518(873)(289(353(294)(939))(643(515(461(702(164(910)(857))(777(131)(576)))(299))(345(457(349(876)(544))(607(873)(413)))(330(820(875)(248))(240(185)(874)))))(959(189(164(324(304)(413))(845(154)(698)))(462(513(776)(97))(566(152)(256))))(153))))))))(331(26(671(101(994(136)(145(680)(389(813(724(102(569)(85))(62(845)(127)))(315(286)(224)))(271(845(666(416)(789))(781))(18(936(464)(742))(242(76)(233)))))))(661(597(934(335(673(493)(501))(329))(761))(464(284(212)(993(190(643)(692))(393)))(853)))(869(608)(610))))(726(895(85(494)(961(865)(140(794(507)(683(487)(963)))(560))))(230))(542(570(140)(485))(952(301(100(559(621)(388(290)(283)))(471(213(967)(503))(304(341)(153))))(710(159(875(909)(213))(356(651)(726)))(226(474)(620(923)(209)))))(259(759)(96(411(399(68)(891))(340(150)(890)))(552(472)(429(27)(647)))))))))(594(885(42(513(634)(430(722(874(930(298)(493))(888(124)(509)))(134(483)(835(42)(227))))(158)))(900))(161(138(674(39(277)(919))(642(871(81(775)(601))(850))(994)))(909(552)(846(935)(655(628)(530(932)(787))))))(437(6(237)(892(363(352)(792(667)(17)))(754(243)(11(843)(764)))))(196))))(214(749(722(480(46(129(227(682)(361))(531(95)(701)))(684(880(779)(884))(826(137)(723))))(782(809(887(419)(727))(562(767)(316)))(177(660)(164(823)(889)))))(876(269(968(957(754)(220))(273(219)(139)))(158))(304(477(638(601)(727))(280))(686))))(896(232(267(836(139)(394))(580(653)(394)))(683))(662(223(857)(491))(270(380)(909(138)(85(553)(701)))))))(943(608(326(69)(437(114(562)(724(235)(946)))(786(629(624)(64))(918(148)(632)))))(867(600)(319(894)(118(66(508)(942))(753(43)(90))))))(142)))))(227(739(957(778(958(637(604)(521(323(681)(406(536)(283)))(911(789(798)(450))(195))))(359))(393(619(663(938)(113(69(270)(947))(665(657)(558))))(964(275(959(815)(724))(568))(225)))(845(247)(425(896)(367(917)(197(475)(139)))))))(817(215)(63(528(280(459)(873(158(593)(661))(862(12)(514))))(86(412)(183)))(680(125)(834(619(769)(382(899)(273)))(484(145(633)(989))(47)))))))(817(341(233(232(104)(563(938)(365(20(387)(134))(638(424)(450)))))(720(378)(593(807)(800(390)(91(915)(987))))))(673(536(696(180)(876(861)(963)))(509(103(409(61)(341))(639(931)(187)))(134(83(615)(933))(859))))(373(61(709(612(141)(118))(982))(902(913(747)(565))(755)))(193))))(524(132(754(78)(194(785(156)(481))(769(894(732)(25))(278(826)(480)))))(511(9(301(866)(987))(976))(433(781(433(216)(797))(925(670)(128)))(868(847)(299(468)(530))))))(712(468(482(15(38(818)(333))(629(857)(979)))(132(276)(685(563)(590))))(525))(918(44(261(180)(935(329)(892)))(263))(895))))))(64(366(892(954(932(660)(664))(825(98(163(330(23)(164))(160(126)(720)))(481(529(421)(959))(285)))(161)))(883(755(139(232(241(422)(536))(653(754)(643)))(980(417)(865)))(170(65(689(240)(962))(485))(784(964(339)(788))(15))))(444(766(894(729(234)(723))(55(544)(537)))(566(493(821)(677))(77(756)(32))))(584(682)(525(173)(16(913)(125)))))))(223(303(110)(481))(893)))(67))))) +(414(317(558(596(895)(972(651(698(229(857(482(170)(799))(929(77)(890)))(368(487)(324(812)(731))))(50))(312(98)(513(678(275)(171(430)(943)))(771(685(238)(843))(29(360)(759))))))(900(511(452)(536))(15(998(352(183(828)(415))(391(488)(705)))(586))(119(793(701)(81(408)(793)))(887(614(511)(456))(441(867)(910))))))))(458))(269(641)(181(158)(956))))(526(636(343(943)(105(786(324(650)(775(780(200(819)(818))(641(389)(246)))(561(221(148)(695))(358))))(740))(98(783)(89(495(705(630(869)(426))(734))(221(731(178)(968))(623(565)(233))))(569)))))(397(787(317(462(29(57(698)(752(669)(105)))(166(14(384)(612))(714(586)(717))))(227(452)(656(504(100)(222))(191))))(271))(975(930(686)(353(784(453(288)(214))(598))(725)))(779(294)(450(264(682(360)(36))(563(867)(578)))(998(836(99)(542))(499(52)(342)))))))(624(866(501(51(58)(916(908(341)(833))(165(139)(333))))(503(278)(646(787)(668(664)(783)))))(380(643(949(529(350)(390))(753))(94(992)(151)))(181(269(301)(755(683)(307)))(719(235(710)(677))(88(345)(168))))))(735(780(245(454(701(220)(299))(520(332)(732)))(114(530(11)(477))(754(208)(652))))(469))(226(742)(169))))))(490(202(971(770(338(538)(256(195)(757(740(282)(152))(226(796)(423)))))(462(437(368)(875(243)(8)))(275)))(594))(246(152)(684)))(148)))) +(226(770(234(350(271(866(603(770)(728))(62(659)(52)))(425(685(836)(716))(515)))(965(414)(914(192(628)(92))(279))))(937(993(268(13(81)(958))(169(878)(203)))(169(911(711)(4))(370(58)(352))))(517(494(283(988)(9))(785(680)(379)))(725(298(639)(416))(50(265)(167))))))(757(921(180(97)(690(717(984)(312))(877(248)(964))))(213))(37(671(376(391(845)(557))(468(201)(491)))(392(592(31)(565))(544(171)(569))))(228(246)(799(106)(149(885)(290)))))))(181(849(630)(959))(361(824)(307)))) +(174(201(356(540)(797(158(446(853)(734(573)(265)))(326))(288(205)(579(261(162)(623))(382)))))(814(343)(862(841)(681))))(554(169(416)(3(417(144(260(317)(916))(70(791)(109)))(272(128(333)(414))(755(634)(697))))(556(75(438(809)(857))(164(550)(576)))(298))))(330(753(137)(300(294(343)(896(959)(706)))(818(32(386)(80))(202(95)(785)))))(497(407(822(318(344)(197))(319(777)(113)))(836))(989(703(691)(164(165)(498)))(175)))))) +(396(724(264(500)(455))(328(15(925)(274(524(427)(509(164)(400)))(380(845(545)(369(845(278(184(37)(850))(769(552)(647)))(729))(96(191)(573(803(970)(526))(21(295)(844))))))(484(239(28(979(557(805)(153))(951))(646(358(50)(890))(374(522)(289))))(478))(755)))))(376(615(589)(799))(811(93(51(815(83(836(958)(376))(455(197(975)(653))(367(654)(945))))(968(399(347(94)(187))(567(12)(809)))(515)))(72))(281(839)(449)))(857(583(135(93(183)(589(625)(617)))(538(847(940(191)(619))(726(240)(167)))(67(667(650)(944))(839(750)(238)))))(9))(463(912)(104)))))))(427(490(126)(405))(27(579(454(260)(550(395(878)(278(811)(311(97(14)(257(342)(399)))(478(213(763)(510))(927)))))(749)))(820))(744(864)(159(932(266(123(743(753)(491(481(725)(472))(830(564)(241))))(133(133(116)(453))(312(627(299)(190))(114(813)(347)))))(662(773(853)(440(688(297)(268))(511(137)(795))))(779(373(816(705)(702))(924))(713(738(436)(303))(28)))))(57(782(367(726(528(347)(357))(281(746)(892)))(87))(548(673(18(544)(41))(766(489)(496)))(935)))(792(417(34)(77(228(640)(148))(634(811)(990))))(184))))(83(682)(46(520)(914)))))))) +(812(323(627(316(479(971(438(688)(333))(422))(646))(914))(102(662(772(43)(681(862(35)(729))(830(24)(926))))(509(38)(844(833(627)(80))(655(803)(389)))))(327)))(178(678(626)(182(176)(294(484(346)(161(814)(308)))(824))))(814(310)(226(800(76)(785))(62(649)(946))))))(210(144(274(179(932)(437(754(242(78)(154))(250))(838)))(306))(309(289(895(916(850(962)(971))(452))(512(132(64)(845))(780)))(374(85(761(428)(223))(804(425)(339)))(523(912(690)(733))(441(112)(833)))))(463(408(318(807(334)(162))(911(256)(841)))(529(607)(334(116)(13))))(239))))(203(161(534)(602))(353)))) +(529(760(402(704(675(10(513(363(340(934(195(916)(190))(369(989)(160)))(65(725(236)(49))(404(454)(220))))(933))(205(727(481(580)(191(285)(120)))(47(607(151)(619))(661(821)(740))))(551(463(635)(380(267)(667)))(676(395(496)(510))(91(495)(824))))))(803(445)(675(773(217)(173(331(823)(234))(20(311)(289))))(951))))(682(901)(504(415(677)(679(985)(38)))(380(331(294)(371))(23)))))(752(341(66)(6(413(854(585(691(853)(295))(343(494)(831)))(997(359(156)(114))(137)))(923(116)(733)))(389(723(815)(956(498(933)(659))(406(167)(199))))(771(180(96(673)(701))(667))(857)))))(615(609(993(822(594)(450(606(208)(422))(564(866)(486))))(447(193(196(582)(765))(840(842)(614)))(615)))(899(595)(67)))(661(285(98(718)(726(414)(509(630)(184))))(164(619)(710)))(390)))))(342(468(60(437)(15(233(843(863(980)(324))(982(649(947)(683))(593(601)(330))))(269))(838(759(968(750(841)(653))(435(727)(913)))(241(94)(670)))(555))))(936(718(573(925(734)(537))(542(228(424(387)(315))(426(795)(781)))(67)))(680))(933(107(472(355(218(193)(270))(623(394)(818)))(181))(701(870(542(111)(554))(419))(310(933(726)(117))(255))))(123(813(749(352(404)(990))(766(113)(7)))(5))(825)))))(545)))(616(338(541(34(916(172(382)(921(114)(773)))(704(448)(980(927)(108(737(367)(28))(608)))))(865(591)(499(949(592(431)(765))(20(309(726)(502))(712)))(148(173(257(159)(117))(135))(900)))))(874(628(960)(676(531(334(438(469)(846))(230(725)(585)))(735(53)(628)))(684(850(63)(950(673)(274)))(544(12)(988)))))(33)))(122))(343)))(52(226(251)(375(507(538)(940))(608(315(400)(300(460)(782(802(148(779(358)(959))(829(333)(525)))(429(921(686)(402))(146)))(678))))(659))))(99(669(111(66(742)(777(944(343(411(683(839)(322))(118))(684))(838(311(352(50)(362))(634(573)(323)))(775(4(654)(233))(162(449)(909)))))(528(130(110(469)(116(923)(663)))(524(958(887)(814))(654(69)(59))))(903(310(138(290)(752))(100(508)(513)))(950(678(19)(512))(898(908)(968)))))))(56(730(756(786(46)(827))(775(28)(772(836)(607(883)(120)))))(438(821)(612(258(247(539)(771))(318(581)(427)))(159(483(159)(66))(304(791)(807))))))(397(211(496)(444(342(237(816)(723))(995))(508(822)(549(275)(604)))))(252(515(718)(525))(898(630)(992(378)(701(451)(738))))))))(197(92(243(214(743)(72(32)(309(205(94)(778))(774(508)(252)))))(50(197(789)(261(918(894)(916))(761(138)(820))))(107)))(477))(463(499(213(452(805(158)(885(120)(892)))(990(860(336)(760))(352(818)(734))))(546(729)(813(621(707)(441))(661(36)(827)))))(658))(705(787)(623(51(386(360(800)(253))(502))(702(912(386)(632))(170(648)(869))))(195(426)(804(434)(446))))))))(684)))) +(212(454(677(225(655(101(997(203)(529))(976(769)(58)))(800(500(517)(747))(665)))(874))(581(189)(215(89(838(367)(820))(614(107)(320)))(475(399(110)(997))(223)))))(245(855)(869(885(813)(388(243(338)(188))(221(898)(482))))(7))))(153(228(330(448(181(26(287)(246))(855(193)(404)))(472))(146))(41(696(432)(798))(514(235(779)(884(71)(503)))(941(509(575)(216))(521(827)(234))))))(649(937)(778)))) +(629(269(370(416)(444))(951(570)(665(782(695(691(931)(813))(315))(60(616)(12(181(945(261)(669))(525(487)(907)))(983(75)(503(592)(360))))))(501))))(310(186(101(736(472(857(451)(842(473(429)(420))(255(348)(309))))(783(356(881(598)(22))(884(504)(125)))(64(94)(525))))(905))(314(286)(696)))(3(454(85(2(292(126(568)(172))(833))(515(881(360)(773))(694(276)(91))))(387(896(266(610)(815))(726))(507)))(352(865)(244)))(106(146(829)(419(130)(393(249)(278(736)(294)))))(716))))(206(53(604(693(635(646(690(759)(493))(27))(980))(376(770(790)(277))(936(829(971)(234))(946(82)(374)))))(351))(678(204)(423(215)(963(11(13(602)(734))(305(196)(671)))(442(317(340)(705))(173))))))(393(32(174(436)(334))(536(147)(324)))(991))))) +(366(957(843(140(214(755)(408(487)(162(452(225(281(863)(484(68)(68)))(309))(428(59(752(29)(49))(786(515)(321)))(78)))(882(125(279)(983(141)(503(129)(777))))(688)))))(939))(148(869(249(302(563)(28(597(505)(616(597)(685)))(215)))(382(553(790(416(950)(433(507)(276)))(28(798(905)(20))(789(934)(213))))(889(888(623(13)(47))(838(861)(296)))(604(544(382)(580))(18(371)(605)))))(572(380(602(37(955)(885))(720))(452(232(275)(1))(999(383)(338))))(100(724(617(900)(719))(658(560)(790)))(632(750)(98))))))(886(691(96)(504(112(453(611(124)(792))(620(850)(228)))(313(128(230)(326))(195)))(50(853)(41(459(856)(317))(4)))))(380)))(955(790(670(706(37(725(635)(336(690)(909)))(215))(983(977(258)(865(438)(688)))(414(206(921)(850))(77(384)(913)))))(973(700(202(395(908)(308))(266(836)(326)))(909(11)(873(986)(262))))(797(421(968(794)(755))(235(13)(53)))(336(195(938)(140))(637(257)(609))))))(979))(379(144)(445(825)(128(710(990(606(896)(992))(238(845)(804)))(942(547(901)(911))(913(865)(26))))(25(728)(603))))))))(33(880)(5(597(277)(347))(240(374(119(609(69(496)(354(5(689)(927))(553(2)(902))))(743(711)(929(792)(897(560)(348)))))(570(48(434(107(519)(310))(182))(704(621(759)(64))(841)))(204(448)(525))))(618(645)(877)))(468(852)(527))))))(629(75(638(587(475(847)(337(861)(157(769)(31(28)(900)))))(161(780(299(700(189(566)(779(517)(536)))(517))(893(784(2(25)(277))(548))(519(388)(318(441)(185)))))(813(197)(503(577(597(806)(341))(240))(354))))(540(857)(444))))(863))(837(719(189)(796(778(401(79(663(492(947)(970))(575(586)(577)))(52(592(352)(46))(160)))(416(274(898(448)(846))(983(73)(381)))(90(874)(924(254)(244)))))(402(925)(295(149)(537(195(632)(820))(25(151)(734))))))(614(299(449(431)(534(787(548)(262))(821(622)(657))))(711))(478(564(988)(44(752(65)(969))(245(769)(390))))(705(613(596)(941))(326))))))(128(647(353(303(587)(212(556(674)(276))(657(67(405)(496))(886))))(917(544)(723(531(794(97)(337))(587))(879(532(858)(257))(381(567)(612))))))(6(386(599(323(772)(287(449)(323)))(642))(73(463(222(813)(637))(14(880)(303)))(19(458(231)(527))(612(638)(799)))))(389)))(182(291(132(352(700(170)(496))(158(931)(489(788)(104))))(312(7)(843)))(279))(654(397(729(6)(188(459(187)(646))(851(963)(328))))(488(614(117)(668))(243(259(999)(468))(779(198)(752)))))(670(553(445(392(191)(557))(207(119)(96)))(181))(190(767(898(1)(588))(504))(462(661(546)(40))(593(49)(876))))))))))(92(629(253(115)(327(441(737(778(393(865(387)(977))(663(468)(881)))(123(170(273)(117))(55(89)(2))))(469(912(869(676)(960))(290(21)(139)))(817)))(257(5)(484(978)(707(896(74)(967))(902)))))(136(603(381(691(230(108)(293))(497(2)(302)))(186(198(184)(901))(788)))(344(429(798)(80(626)(45)))(254)))(206(33)(18(547(293)(733(555)(834)))(70(509)(352)))))))(80))(283(851)(366(412(26(118(67(946(883)(510(303)(716)))(474))(746))(156(610(67(749(524)(376))(801(246)(982)))(919(626)(630(829)(396))))(858(612(157(285)(201))(868))(579))))(955(467)(974(296(545)(587))(451(594(99(483)(313))(359(323)(228)))(375(150(69)(958))(388(660)(995)))))))(372(785)(496(684(207(791)(196))(93(156(803)(649(706)(323)))(573(902(558)(742))(824(829)(775)))))(235(659(57(222(519)(237))(952(682)(329)))(487(929)(805)))(95(115(18)(518))(985(403)(793))))))))))) +(365(425(1(856)(393))(741(830)(219(688)(615(33(619)(964(346(686(668)(209))(223))(256(928(94(799(619)(18))(48))(114))(110(393(722)(557))(628(609(476)(582))(158))))))(308(755(419)(160(389(653(673(126)(340))(264))(561(185)(861(231)(726))))(674(771(648(642)(483))(569))(628(502(822)(625))(916(168)(596))))))(733))))))(364(49(346(165(938(721)(951(618)(741(323(244(285(532)(936))(647(422)(855)))(665(198(28)(352))(952(115)(922))))(721))))(608(779)(856(193(681)(794))(629(635)(506(342)(953(179(399)(189))(617)))))))(94))(739))(884(604)(581(49(189)(653(576(734(415)(682))(291(52(494(798(401)(928))(613(181)(151)))(956(807(119)(992))(151(458)(580))))(293(877(986(725)(342))(47))(701(300(809)(477))(63)))))(250(300(671(73(431(866)(323))(563(480)(79)))(384(291(881)(609))(24(736)(946))))(60(52(560)(222))(921(834(570)(807))(579(944)(394)))))(934))))(775(972(919(23(95(852(874)(305(457)(808)))(589))(324(122)(991(990)(324))))(618(814)(551(442(364(868)(963))(531(36)(475)))(551(176(276)(496))(802(749)(115))))))(939(531)(686(779(466(733(708)(15))(167(26)(582)))(742))(227(698(795)(224(73)(198)))(484(364(36)(286))(510(466)(548)))))))(251)))))) +(963(87(648(755(191)(334(790(853)(584(434)(84(13(549(699)(53))(429))(871))))(71)))(51(823)(977(2(252(316(345(142)(594(198)(697)))(934(992(916)(817))(600(337)(603))))(867))(344))(262(914(241(32(52(95)(174))(381(384)(158)))(110))(733(200(273)(211))(844(536(625)(167))(293(61)(283)))))(808(189(617(742(924)(812))(508(217)(394)))(100))(908(330)(754(499)(585(354)(129)))))))))(461(950)(520)))(261(831(276(290(641)(101(343(566(278)(367(618(47)(595))(358(328)(537))))(149(684)(612(805)(769(816)(578)))))(280(258(825(926(879)(606))(193))(564))(71(630(293(732)(946))(712(473)(625)))(374(67(218)(854))(895(862)(220)))))))(957))(861))(661(64(880(162(868)(654(251(465)(650(708(567)(669))(480(629)(825))))(734)))(743(413)(776(282(374(680(629)(384))(651(574)(174)))(357(835)(514(434)(570))))(904(994(219(989)(679))(977(539)(365)))(804(255(405)(986))(76(170)(185)))))))(457(230(341)(892(678(70(654(201)(978))(422))(502(312(773)(106))(857(770)(750))))(824(52(654(397)(186))(862(907)(82)))(960(239)(298(551)(854))))))(116)))(352(929(110(132(637)(12))(114))(565(540(413)(314))(39(287(826(757)(642))(398(916(351)(451))(925(909)(727))))(521(751(437(18)(293))(611))(23(665(487)(873))(609))))))(603))))) +(991(212(432(0(746)(924))(617(505)(327(629)(597(321)(836)))))(389(984(521)(38))(514)))(310(341(782)(246(222(564(951(759(323(682)(259))(532(407(680)(494))(754)))(83(634(232(70)(72))(515(588)(644)))(968(267(985)(86))(239(335)(637)))))(437))(751(53(581)(353(191(675(402)(120))(189))(787(559(285)(474))(765))))(126(168)(235(777)(264(685)(968))))))(39)))(804(817(424(512(887)(134(603(807(360(348)(254))(468(10)(352)))(829))(445(471(447(45)(637))(669))(720(938(560)(221))(510(609)(510))))))(204))(706(528(498)(769(667(915)(36(332(635)(584))(626(599)(888))))(690(287)(173(412(571)(630))(273(434)(874))))))(775)))(354(269(109(379(258(542(754(774)(853))(537))(502))(713(582)(605(662(755)(36))(575(172)(227)))))(292))(147))(130))))) +(507(30(140(749(204)(234(249(554(539(836)(9(663)(437)))(722))(768(160(624(127)(783))(865(41)(793)))(310(742)(694))))(153(715(887(272)(525(627)(399)))(612(627(65)(560))(680)))(237))))(378(222(49(196(434)(118(675(755)(719))(498)))(401(105(363(19)(548))(569(352)(715)))(657)))(378(957(613(395)(518(133)(545)))(967(570)(607(961)(245))))(530(625)(75(76)(901)))))(174)))(762(847(530(373)(55(480(32(554)(387))(161))(563)))(501(3)(109(769(251)(323))(833))))(152(928(233(535(161(838(913)(61))(816))(673(375)(131(451)(543))))(121))(10))(827))))(989(850(965(986)(894))(674))(157(71(400(659(794(17(703(544)(549))(732(707)(499)))(529(939(253)(588))(986(920)(589))))(146(317)(939)))(364(881)(801)))(919(589)(344(827(329(206(812)(910))(238(627)(182)))(488))(113(867(813(457)(886))(74))(352(447)(246(590)(707)))))))(148)))) +(494(696(54(206(236(544(467)(226))(932(327(332(425)(940))(751))(463(571)(768(860(652)(778))(423(87)(479))))))(916(850)(271)))(404(929(457(922)(187(394(176)(46(899)(232)))(208(753(644)(718))(746))))(841))(789(659(902(481(964)(767(273)(745)))(988(808)(188(529)(545))))(656))(545(953)(512(638(273)(200(915)(751)))(960(255(752)(880))(794(593)(953))))))))(250(534(470(889(676)(268(654(520(730)(156))(506))(721(991(574)(253))(495(93)(766)))))(132(282(138(973(731)(1))(795(312)(496)))(292(371(909)(322))(423)))(54(789)(388))))(730(343(332(395)(694(586(468)(344))(282(335)(64))))(427(515(500)(221(958)(465)))(597)))(427)))(554(581(59)(569(50)(88)))(359))))(839(328(939(877(699(624(810(551(635)(239))(914(691)(577)))(933))(710(225(187)(353))(23(352(375)(186))(731(1)(277)))))(735(917(439(619(979)(311))(820(210)(117)))(484))(425)))(239(593(210(986(716)(381(860)(732)))(741(3(661)(971))(968)))(526(264(532(364)(340))(740))(324)))(202(272(125(388(418)(162))(333))(130(12(428)(185))(284)))(0(219(632)(812))(632)))))(808))(662(13)(410(443)(375(635(816(757(769(636)(739))(629(988)(248)))(476))(719(224)(728(329)(386(706)(693)))))(181(366)(595))))))) +(420(450(527(243(482)(130(199)(34(648(718(993)(215(748)(563)))(290))(303(698(917(854)(324))(966(37)(947)))(471)))))(552))(487(216(910(604(465)(982(813(831)(788(115)(31)))(572(470(43)(315))(330(991)(688)))))(635(974)(389)))(910))(439(640(836(95(130(410(757)(649))(229(659)(705)))(675(477(505)(424))(752(130)(509))))(26))(691))(718(7(58(953)(840(530(594)(301))(243(955)(791))))(77))(55)))))(682(380(558(469(455(449(205)(757))(164))(439(358(104(781(962)(717))(938(624)(758)))(102))(778(841(607)(972(880)(945)))(156(948)(841(541)(423))))))(631))(241(346)(958(741(917)(949(97)(813(627(72)(872))(297(287)(312)))))(17(87(780)(636(515)(139(820)(616))))(890(921(246)(343))(111(599)(850)))))))(983(322(398(608)(801(479(700(448)(488(958)(783)))(30(334)(895)))(104(2)(620(333(722)(524))(470(73)(312))))))(402(860(82)(62(805)(158(286)(23(217)(376)))))(1(566)(976(254(112(77)(834))(75(626)(307)))(763(226(484)(362))(328(566)(758)))))))(406)))) +(443(975(318(463(260)(832))(968(854)(292(691(177(32)(79))(959(580)(51(293)(155))))(890))))(723(209(659(95(266)(684(903)(635(684)(170))))(403))(697(626(731(944(550)(454))(466(83)(755)))(272(455(879)(596))(752)))(377(492(973(823)(302))(173))(699(748)(776(48)(215))))))(443(812)(485(34)(120(456(633(357)(818))(777(500)(912)))(811))))))(144(595(370(489(847(151(607(959)(938))(364))(783))(680(228(339(983)(734))(554))(815(445)(798(669)(544)))))(146(830)(601)))(746))(553(279(72(742)(79(225(58)(146(672)(450)))(212(127(511)(916))(34(561)(148)))))(172(306(258)(8(532(374)(524))(951(381)(269))))(284(408(267)(821(129)(692)))(177(848(10)(944))(885(855)(510))))))(783(807)(271))))) +(455(339(734(839)(929(695(655(650(560)(829))(600(92)(660)))(997(442(697)(627))(664(471)(557))))(474(823(208(344)(744))(471(209)(566)))(947(999)(581(614)(767))))))(839(536(747)(881))(460(524)(252(829)(278)))))(228(853(925)(288(203(216(960(443)(160))(55))(993(385(170)(251))(419(390)(434))))(964)))(802(512)(956)))) +(73(767(422(408(82(896)(362(23)(82(839(488(228(339)(739))(891(977)(483)))(487(531(817)(36))(584(20)(773))))(437(89(372)(765(166)(72)))(376(824(195)(867))(397(225)(785)))))))(651(626(375(30(27(563)(960))(194))(92(937)(42(491(921)(302))(775(998)(930)))))(565(419)(441(992)(751(292)(517(436)(769))))))(807)))(1))(900(806)(189(650(16)(863(22)(339(845(46)(67(52)(389(641)(411))))(153(362(461(524)(310))(207(465)(275)))(311(17)(974(857)(716)))))))(683(618(381)(749(598(979(604(556)(698))(352(394)(913)))(36))(195)))(140)))))(478(532(738(352)(522(209)(627(837(624)(81(869(508(149)(313))(449(953)(683)))(40(833)(575(89)(307)))))(798(406(784(278)(671(275)(458)))(989))(644)))))(58(252(86(930(739(357)(846(626)(334)))(672(550)(754(796(868)(41))(316(331)(324)))))(164(148(310(169)(913))(804(824(859)(920))(243(67)(735))))(876(381(344(354)(15))(571(877)(29)))(419(282)(135(490)(581))))))(530(251(410(175(892(989)(834))(593(558)(235)))(811))(52(226)(511(646(443)(706))(704(217)(968)))))(984(443)(923(792(129(60)(420))(194(705)(291)))(409)))))(803(209(21(604(494(53(232)(704))(924(338)(746)))(891(87(133)(384))(669(195)(358))))(550(853(291(482)(815))(755(740)(7)))(490(104(201)(466))(303))))(602))(779(557)(86(677(524(636(579)(84))(96(173)(520)))(109))(168))))))(591(556(598(27)(457))(851))(542)))) +(65(232(525(329(183(74)(953(331(995(8)(128))(257(699(151)(934))(705)))(878(622(758)(327(246)(101)))(680))))(9(12(776)(174))(77(541(432(604(363)(98))(615))(586(266)(390(30)(372))))(785))))(199(20(593(884(271)(589))(609(519)(516(300(328)(211))(307(263)(359)))))(203(947(838)(42))(828(517(407)(485(886)(849)))(666(464(353)(684))(644(995)(720))))))(845)))(386(85(512(245(724(405(348(552)(382))(913))(669))(571))(834(781(185)(836))(843(909(36(65)(610))(142(505)(838)))(214(697(573)(881))(720)))))(507(553(159)(258))(847(122)(840(115(868(206)(662))(17(771)(982)))(572(290(24)(746))(666(783)(986)))))))(405)))(45(87(707(530(711(613(585)(947(823(635)(742))(315(82)(988))))(291(495)(433(749(570)(474))(592(823)(432)))))(712(629)(419(338(114(965)(419))(107(19)(335)))(674(720(910)(769))(25(210)(569))))))(711(78)(498(715)(674))))(721(187)(942(965(621)(433(57)(772)))(345))))(566(848(192(160(483)(390))(870(596(42(120)(366(485)(275)))(235(963(446)(869))(62(37)(354))))(603(457(678)(745(947)(28)))(614(495)(681(766)(588))))))(138))(617)))) +(475(409(68(109(84)(634(702(945(49)(477))(147))(287)))(356))(994(313(788)(151))(32(594(420(384(938)(491))(831(52)(196)))(338(402)(281)))(290(286(294(364)(927))(603(797)(200)))(348)))))(675(497(397(726(127)(444(891(993)(623))(327)))(586(8(118(300)(946))(716))(952)))(567))(326(805(989(391)(796(319)(436)))(747(802(189(416)(594))(772(951)(952)))(282(14)(97(830)(415)))))(977)))) +(131(145(274(990)(612))(201(139(655)(119(730(229)(803(80(312(811(374(959)(863))(180(867)(703)))(46(385)(79(181)(218))))(188(223)(956(487)(435))))(327)))(661)))(316(883(534)(315(803(248(251(84(788)(945(978)(483)))(309(321(656)(3))(49(464)(40))))(438(810(9(688)(994))(340(718)(852)))(28(175(949)(455))(559(609)(367)))))(225(828)(294)))(798(424(69(453(84(526)(852))(577))(811))(620))(789(560)(511(81)(324))))))(500(832(378(537(3)(156(942(768(149)(699))(286(917)(914)))(763)))(823(716(381(322(812)(237))(586(618)(644)))(222(479(446)(293))(306)))(850(379(563(383)(519))(371(752)(934)))(76))))(13(480(91(107(431(576)(52))(515(99)(812)))(237(68)(671(891)(809))))(69(255)(504)))(501(764(790)(687(246)(2(66)(306))))(682(560(31)(174(860)(794)))(922(533(593)(294))(870))))))(98(239)(857(491(684)(788(254(723(704)(180))(212))(167)))(54(404)(404(599(127(980)(956))(56))(801(569(267)(733))(841(871)(272)))))))))))(265(823(681)(373(261(54(471)(635(463(506(941)(860(184)(431)))(851))(435(741(26(790(871)(733))(944(526)(498)))(938))(1(211(92(981)(690))(534(499)(975)))(279(987)(129(195)(434)))))))(139))(587)))(608(72)(45(716(229(30(347)(773(265)(539(602)(912))))(455(907(859)(775(56(270(805)(884))(523(45)(342)))(219(215)(194))))(186(821(828)(978(555(971)(116))(106(575)(597))))(295))))(107(792)(237(451(219(517(252(114)(963))(374))(535(85(726)(941))(366)))(758(61(25(923)(539))(28))(76)))(843(382(584(813(123)(105))(712(953)(328)))(798(108(186)(828))(917)))(255)))))(418))))) +(642(524(376(111(612)(962(336(157(56(738)(252(164(990)(656(271)(12)))(262(406(250)(455))(478(42)(537)))))(822(408(51(318)(392(48)(402)))(995))(270(524(975(727)(246))(437))(86(369(747)(755))(909(697)(685))))))(982(492(787(914(671(617)(327))(512(365)(814)))(412))(534))(467)))(32(187)(103(343(605(727(330)(559(266)(489)))(889(901(248)(945))(212(393)(474))))(256))(361)))))(470(629)(738(786(518)(724(233(779(711(854(444)(615))(768))(765(607)(7)))(253))(220(979(350(21)(501(949)(739)))(662))(949(620(700(767)(294))(972(28)(892)))(784)))))(376(729(695)(476(683)(540(410)(646))))(142(398(241)(877(77)(539)))(133(930)(821(222(84)(554(120)(433)))(573))))))))(352(538(789(466(254(834)(778(295(698(428(103)(234))(736(107)(546)))(270))(47(262)(599(6(791)(409))(879(191)(795))))))(770))(830(172(671(405)(416(897(174(122)(680))(23(971)(498)))(702(422(17)(297))(44(368)(130)))))(918(540(154(576(86)(505))(397(116)(311)))(727(393(17)(25))(769(187)(675))))(311(222(381)(850(308)(584)))(396(557(609)(786))(471)))))(325)))(908(156)(506(640(283(270)(321(462(958(85)(914))(323))(978(502(59)(218))(971))))(614(626)(850(466(794(228)(720))(636(81)(636)))(657(628)(115)))))(173))))(851(127(444(242)(631(854)(803)))(458(956(354(217(377(363(688)(183))(745(722)(828)))(408))(831))(584(410(567(737(557)(575))(110(93)(779)))(143(620(853)(381))(505(313)(870))))(266)))(821)))(751(183(206(990(352(550)(926(883)(15(750)(654))))(336(869)(572)))(121(146(714(385(380)(320))(253))(578(671)(350(481)(50))))(849(555)(973))))(752))(478(587(951(117(521(175(525)(117))(929(64)(905)))(206(49)(611(312)(487))))(560(248(222)(543(880)(379)))(120(758(168)(492))(903(145)(161)))))(539))(789))))))(14(99(473)(822(49(960(325(628(511(515(738)(88))(49(765(549)(395))(932)))(227(565)(278(897(538)(991))(482(601)(112)))))(115(916(231(281(427)(360))(238(138)(172)))(797(83(422)(646))(680(365)(50))))(294)))(648))(64(7(52(684)(369(356(991(59)(748))(589))(924)))(24(401(293(470(417)(580))(435(640)(516)))(243(412)(222)))(342(849(557(962)(552))(89(707)(667)))(528(942(953)(49))(568)))))(143)))(222(564(438)(0))(352(947(593(508(73(712)(947))(422(445)(361(297)(141))))(180))(770(83(263(770(175)(137))(302))(849(102(115)(415))(688(553)(476))))(666(931(218)(60(411)(711)))(784))))(776)))))(694(519(226(181(19)(394(803(576(6)(284(915(177)(127))(326(132)(146))))(166(972)(996)))(437(920(652)(530))(397(38)(473)))))(324(683(726)(524(605)(1(866(967(955)(6))(21(278)(638)))(551(348(604)(628))(926(857)(758))))))(113)))(113(36(367(371)(810(859(312(908(95)(410))(892(248)(630)))(660(476(286)(727))(463)))(860(979(93)(358(10)(186)))(746(608(152)(391))(382(742)(606))))))(618))(85)))(387(861(385(498(101(91(949)(820))(728))(568(502(99)(723(322(530)(223))(698(610)(944))))(286(11(955(795)(607))(68(227)(138)))(520(786(945)(652))(944(174)(290))))))(984(954)(712)))(753))(826(632)(990)))))) +(856(996(876(525)(973(564(607)(316(599)(529)))(622)))(786(486(674(358(719(429)(742))(261))(161(73(586)(841))(772(653)(408))))(586(786(695)(126(280)(629)))(388(14(665)(143))(85(945)(797)))))(592)))(910(208(767(404(290)(386(813(29)(174))(849(265)(424))))(864))(432(381(689(684(299)(846))(205(911)(111)))(702(524(484)(236))(142(156)(705))))(985(63(450(144)(31))(841))(205(706)(597(685)(768))))))(862(332(227(563)(531(446)(844(191)(406))))(509))(992(560(921)(644(418)(519(178)(64))))(84))))) +(176(101(948(912)(486))(928(57(356)(199(755)(211(569(605(596(954)(618(319)(393)))(146))(890(855(688(129)(106))(982))(46)))(828(549(717(775)(460(58)(452)))(370))(708(506(313(442)(200))(521(62)(352)))(149))))))(64(150(4)(96))(944(30(619(77(587(701)(11(478)(837)))(984(547(148)(696))(773(262)(270))))(668))(802(166)(789(148(721(917)(265))(20(330)(271)))(155(608)(29(109)(950))))))(848(530(11(620(288(440)(906))(18(692)(294)))(296(335(256)(353))(499)))(872))(949))))))(819(68(181(382(370(295(681)(117(662(946(994)(184))(961(875)(933)))(221(242(919)(615))(197(155)(622)))))(587(718(490(708(555)(878))(635(316)(218)))(884))(231(280(186(96)(483))(828))(688(155(87)(185))(289(928)(929))))))(422))(968(809(918(289(663)(326))(453(20(518)(744))(96(267(972)(243))(239))))(738))(672(337(59(844(404)(403(572)(174)))(102))(675(832(699)(755(660)(825)))(345)))(401(226)(17)))))(25(120(102(301(260(830)(305(979(689)(549))(586(897)(364))))(579(177)(476(946(956)(947))(626(520)(711)))))(216))(692(457(731)(264))(372(846(4)(868(78(433)(303))(0(310)(211))))(311(790(151(876)(99))(181))(356(536(445)(745))(781))))))(919(736)(659(591(118(150(448(608)(362))(405))(991(485(84)(53))(964)))(611(758)(183(961(302)(811))(932(660)(977)))))(774(841)(995(332(10)(291))(963(387)(791(604)(888)))))))))(336(632(785(158)(771(554)(230(12)(510(528(812(803)(30))(504(577)(129)))(950(84)(521(626)(149)))))))(454))(226(380(215(777(654(50(965(970)(799))(556(859)(637)))(896(539(125)(419))(518(323)(687))))(504(59(674(743)(547))(490))(526(904(158)(916))(980(100)(389)))))(101(291(70(939(804)(239))(107(16)(310)))(914(364(583)(966))(333(593)(867))))(956)))(213(260)(568(407(697(761)(215(87)(576)))(598(467(555)(464))(940)))(137(613(562(256)(380))(973(194)(463)))(38(97(235)(534))(370(103)(831)))))))(779(877(268(508(434(316(812)(716))(631(905)(478)))(203))(700))(167(236)(524(846(117(676)(501))(402(71)(558)))(159(310(967)(491))(635(870)(178))))))(494(583)(54))))))) +(852(666(196(965(46(969)(50(560)(653(736(977(174)(799))(579(610)(187)))(535(224(319)(905))(659)))))(16))(823))(166(432(547(118(22(308)(222(604(187)(673))(810(780)(109))))(598(435(31)(945))(291(95(217)(110))(277(11)(311)))))(704(456(508(118(85)(886))(29))(614(497)(156(232)(940))))(768(756(268(535)(592))(302(651)(89)))(656(136(606)(255))(337)))))(5(615(988(615)(257))(289(279)(652)))(459(207(213(506(469)(919))(312(955)(974)))(210(94(775)(751))(114(374)(289))))(970))))(823(677(631)(111(23(70(252(833)(937))(96(627)(806)))(429))(849(810(700(99)(288))(809(712)(245)))(175))))(150(496(107)(967(247(953)(779(238)(795)))(707(186)(458(789)(128)))))(722(937)(694(205(529(73)(285))(608(130)(689)))(230(640(404)(451))(397(610)(485)))))))))(817(111(479)(493(640)(976)))(968(787(853(363)(810(352(620(800(398)(118))(63))(12))(35(515(828(570)(819))(866(586)(853)))(525(661(770)(93))(10(747)(545))))))(336(535(871(826)(918))(174(983)(152)))(551(175(758)(786(348(667)(264))(736(80)(377))))(471))))(338)))) +(159(588(648(580(809(334)(867))(720(992)(823(948(191(789)(447))(11(359)(278)))(932(524)(721(60)(137))))))(699(706(432)(424))(611(268(284)(505))(732))))(77(634)(587(495(920(97)(858(188(258)(356))(183(499)(877))))(374))(268(602)(266(32(176(989)(520))(615(969)(852)))(864(507)(112)))))))(141(659(312(679)(919(995)(909)))(188(274(613(941(33(898)(115))(664(417)(577)))(380(811(344)(209))(909(275)(408))))(103(817)(477)))(524)))(265(696(0(31)(444(296(920)(416(933)(798)))(235(869(622)(274))(401(169)(71)))))(611(515)(179)))(725(444)(536(990(419)(543(369)(498)))(141(984(858(914)(322))(340))(469(623)(285)))))))) +(336(864(658(181(900(275(751(471)(226(569)(643)))(648))(425(374(862(656(527(498(55)(653))(346(235)(476)))(438(714(588)(255))(411(829)(304))))(841(825)(327)))(210(639(586(677(84)(344))(593(334)(397)))(480))(555(30(7(941)(522))(320(862)(219)))(444(70(5)(734))(385)))))(7(553(547(466(45(793)(99))(982))(649))(244(382(782(140)(514))(664(584)(980)))(871(627)(457(816)(985)))))(705(612)(465)))))(859(44)(481(103(25)(283))(767(652)(772)))))(187(874(904)(407(225(368(745(743(32(334)(573))(337(243)(16)))(287))(380(80)(694)))(307(471(214(186(343)(653))(357(46)(263)))(845(250(20)(404))(814)))(492)))(318(602)(184(78(508(755(237)(697))(300))(12(269(860)(437))(35(952)(395))))(292(59)(173))))))(778(520)(61(146(876(761(700)(860))(525(179(275)(726(905)(322)))(438(198(574)(622))(228))))(858(365(670(485)(409(64)(234)))(213(582)(672)))(129)))(796(703(103)(49(599(219)(677(685)(280)))(210(881(922)(470))(38(421)(210)))))(266(95)(119)))))))(778(858(717)(534))(80(141(544(254(690(614(507(629)(10(300)(952)))(667(144(301)(209))(53)))(434(13(344(404)(324))(460(81)(926)))(711)))(875(51(112)(744))(875(164(686(561)(754))(866(448)(165)))(395(118(713)(700))(905(476)(590))))))(990(8(118(265(379)(543(7)(953)))(49(166(588)(695))(446)))(616(877(854(645)(206))(842(910)(94)))(9(440(734)(949))(873(555)(141)))))(532(934)(143))))(229(380)(642)))(568(820(462(665(264)(144))(840(671)(174)))(629))(731)))))(237(896(502(564(870)(392))(655(91)(821)))(448(51(63(690(471(562(296)(75(803(55)(176))(811)))(285))(837(105)(697(147)(32(984(270)(942))(180)))))(922))(922))(535(309)(421(420)(547(340(778(333(342(682)(773))(104))(684(410(822)(239))(851(768)(114))))(229(309(154(258)(459))(122))(88(661)(146(603)(508)))))(945(12(185)(792))(580(191)(396(399(728)(640))(496)))))))))(754(978(819)(263(522)(970(857(736(971)(961(126)(219(491(237)(736))(884(6)(52)))))(443(588)(973(328)(4(295)(922(5)(690))))))(466(464(223)(193))(665(940)(607(771(566(60)(804))(764(805)(19)))(31(826(212)(502))(735))))))))(335(216(662)(84(675)(410(987(823)(90))(768(625(375)(982(623(730)(312))(274)))(182)))))(375(892)(883)))))) +(577(685(6(618)(759(796)(450(498(2)(339(178)(280(991)(469))))(855(524)(759(916(197)(616))(787))))))(589(294)(184)))(930(157(636)(101(799)(349)))(703(983)(449(371(93)(739))(590(735(820(620)(972))(31))(523)))))) +(803(725(134(693(276(173(744)(147(680)(339)))(865(417(509(912)(113(923(505(82)(883))(176))(669)))(831))(922(388(330)(424(452(795(836)(21))(619(315)(562)))(104(455(168)(335))(569))))(697))))(722(896(266)(831(164(913(244(152(186)(342))(767(837)(285)))(764(655(924)(283))(707(306)(297))))(175(705(463)(177(871)(291)))(233(653)(60(706)(698)))))(601)))(339(615(626(368(682(485(608)(294))(638(458)(944)))(584(753)(754(690)(658))))(273(169)(548(205)(387))))(866))(999(620)(734(56)(269(139)(187)))))))(65))(418(8)(699(181)(343(846(769(306(78)(371(685(476)(573(435)(981)))(829)))(392))(110(763(638)(711(326(608(680)(30))(681))(205(257(337)(275))(260))))(702(133(103)(628))(610(59(971(323)(883))(368(741)(660)))(20(39)(637(424)(523)))))))(551(729(833(353(689)(263))(482))(544(498)(898(394(429(310)(93))(224(68)(996)))(773(410(321)(206))(382(854)(689))))))(961(477(987)(948(714(157(528)(742))(442(392)(673)))(378)))(319(964(947(923(811)(231))(78))(216(34(561)(536))(691)))(749(989)(793)))))))))(845(423(802(247(372(222(754)(822(238(538(820(148)(569))(83(14)(749)))(820(987(24)(795))(475)))(333(500(697(743)(402))(13))(977(894(744)(831))(728(286)(3))))))(356))(309(252(234)(69(689(813)(340))(701(153)(143(259)(422(48)(799))))))(102(103(496(30(453(291)(959))(377(533)(174)))(422(397(67)(719))(590(332)(260))))(957))(892(400(498(280(476)(834))(162))(125(467(630)(843))(221(604)(446))))(561)))))(922))(764(689(15(120(946)(743(330(596)(527))(779)))(306(947(412(717(787)(490))(906(497(849)(893))(3(433)(378))))(559(717(99(837)(414))(495))(319(623)(760))))(61(680(454(453(479)(206))(567(378)(718)))(669(193(223)(863))(188)))(332(727(577(518)(699))(866(56)(869)))(566)))))(800(860(985(205(148(141(644)(70))(35))(669(808)(191)))(440(648(384(870)(773))(217))(606)))(189(888(618(671(395)(223))(245(624)(662)))(458))(977(172)(500(340(837)(404))(848(189)(800))))))(619)))(625(424(2(876(229)(460))(243(186(741(201(218)(371))(218(473)(249)))(408(581(359)(788))(957)))(435)))(81(993(808)(983))(350)))(889(465(505(461)(670(462)(84(426(806)(377))(53))))(941(956)(551(823)(169(645(359)(643))(661)))))(544(644)(220(699(848(656)(672(163)(964)))(991))(794)))))))(67(500(240(344(375(288(923(979)(467))(191))(49))(328(451)(426)))(162(96(615)(78))(429)))(97))(512(387(310(138(735(1(749(227(983)(201))(828(691)(893)))(1(202(979)(25))(137(56)(497))))(332))(234(383(40(117)(686))(188(763(680)(955))(442)))(553(668(232(699)(219))(136(761)(530)))(81))))(618(959)(440)))(35(734(848)(641(796(503(133(290)(873))(172))(274(570(232)(809))(208(474)(588))))(871)))(486(146(694(82(655(89)(126))(222(268)(721)))(166(286(832)(166))(528(274)(860))))(609(951(420(665)(813))(841(783)(587)))(388)))(861))))(643(925(143(71)(704(542)(137(977(54)(602(103)(293)))(166(997)(327)))))(461(783)(466(545(772(584(890)(726))(462(654)(911)))(876))(251(330(776(291)(578))(545(295)(16)))(176)))))(640)))))) +(573(195(565(887(553)(947(759)(624(744)(995))))(460))(827(479(69)(436(220)(224)))(613(962)(235(134(395(96)(650(2(215)(389))(790(144)(392))))(390))(889(273)(811(124(627(832)(85))(193(540)(579)))(178(176(749)(716))(757(920)(935)))))))))(461(797(233(779(229(535(501(905(894)(663))(493(342)(123)))(266))(443(588(996(376)(964))(712))(11(735)(907(536)(937)))))(369(561(661(123(311)(172))(327))(313(107(545)(357))(701(283)(927))))(700(211)(281(378(496)(83))(719)))))(905(502(215(96)(45(651(418)(169))(846(950)(222))))(653))(499(512(177)(247))(286(309(437)(306(610)(659)))(681(21(603)(88))(336))))))(306(328(984(453)(693(975(540(857)(489))(117(735)(843)))(414(721(827)(250))(134))))(44(577)(168)))(454(999(662)(685))(745(905(977(286(648)(219))(433(105)(526)))(35(564)(112)))(368(809)(450(407)(849(82)(105))))))))(554(880(779(460(181(953(439(964)(897))(59))(929(302)(793(322)(757))))(29(947(324(921)(986))(241(237)(30)))(957(155(629)(455))(183(263)(773)))))(313(884(328)(487(151(246)(136))(316(567)(517))))(707(439)(37))))(522))(777(295(932)(649(223(699(651(542)(980))(46))(363(873(643)(427))(811(219)(314))))(970(188)(802))))(94))))) +(148(110(756(559(287)(578))(66(113(415)(320(364(636(995)(663))(101(538)(479)))(691(916(147)(404))(346))))(610(815(815(775(678)(598))(486(61)(340)))(154(578)(476)))(316(29(286(138)(871))(252(134)(609)))(116(415(708)(0))(511(213)(189)))))))(216(67)(466(999)(637(628)(83(367(636(225)(748))(779(908)(257)))(131))))))(64(826(945(229(308)(123(876(477(308)(319))(226(593)(597)))(290)))(935(931(149)(278(569(219)(357))(390(786)(615))))(151)))(957(25(950(877(90(855)(906))(692))(788(686(969)(182))(293(388)(32))))(662(63(582(900)(917))(256))(552(829(835)(955))(89))))(640(122(501(684)(152(372)(688)))(898))(9(52(528)(731))(946(26)(336(988)(581)))))))(839(307(660)(516(144(711)(605(39(489)(291))(763(359)(54))))(717(942(685)(892(52)(643)))(690(709(776)(996))(990(943)(962))))))(89)))) +(899(768(452(126)(211(769(533(767(835(530)(452(724)(998)))(473(609)(199)))(658(720(295(949(214)(990))(742))(658(361(14)(221))(739(147)(956))))(961(833(353(13)(682))(382))(505(306(5)(294))(293)))))(88(5)(60(164(151(611(920)(883))(302(478)(721)))(50(128(980)(267))(106(797)(814))))(952(524)(959(315)(595(469)(799)))))))(963)))(526(989(940(405(229(306)(310(349(38(828)(601))(887(621)(163)))(269(506(43)(386))(972))))(145(663)(545(406(682(645)(843))(48(286)(85)))(626(569(363)(994))(159(898)(324))))))(718(630(320(874)(703))(214(593(508(448)(695))(808))(945(606(725)(246))(446(949)(81)))))(246(18(695(384(595)(623))(505(772)(457)))(707(82(478)(886))(971)))(985(661)(741)))))(992))(834(313(446)(196))(325(993)(380)))))(853(668(806(258(427(645(35(568(76(935)(273))(690))(687(433(472)(548))(563(155)(118))))(597(70)(868(690)(749))))(562(124(508(43)(205))(14))(888(602(78(93)(914))(742(571)(985)))(476(663)(279(630)(219))))))(434(896(306(585(544)(862(498)(148)))(253))(719))(576(508(670(511)(939(466)(830)))(284))(138(740(646(624)(574))(29(144)(807)))(796(42(784)(264))(500(960)(447)))))))(49(713)(378(732(650)(702(783(320(538)(577))(249))(966(824(870)(272))(740(50)(339)))))(541(449)(521)))))(315))(556(330(759(648(924)(419))(968(332(146(872(999)(201))(351))(908))(253(479(863)(872(926(616)(418))(47(781)(609))))(276(570(772(137)(3))(493(137)(318)))(659(397(45)(440))(941(423)(311)))))))(3(302)(934(6(350(707(265)(372(954)(769)))(406(895)(832(274)(503))))(409(3(124)(399(223)(422)))(107(553(559)(930))(191))))(150(99(744)(784(713(291)(799))(68(905)(760))))(521(491(338(331)(519))(689(160)(261)))(471))))))(978)))) +(149(134(341(476(80(139(817)(642))(458(996(160)(784))(523)))(651(759)(412(819)(770(21)(488)))))(854(707(446(472)(722(765)(275)))(418(80(50)(193))(746(726)(241))))(430(369(450(763)(443))(737(914)(420)))(388))))(238(790)(295(554)(356))))(414(130(492(239(779(975)(105(992)(808)))(292))(89(773(468(99)(723))(688))(334)))(910(938)(650(947(266)(745(92)(143)))(344))))(82(446)(750(545(726)(275))(438(990(374)(571(418)(27)))(380)))))) +(227(232(166(722(506(717(947(527)(500))(563(67)(382)))(63(892)(954)))(665(44(330)(942(691)(618)))(465(593)(104(115)(202)))))(805(14(666)(659(256(927)(575))(536(33)(118))))(405(384(712(514)(50))(678(636)(563)))(133(938(191)(935))(246(572)(501))))))(625(942)(633(201(359(876)(296(672)(961)))(935))(772(478)(339(518)(257(119)(531)))))))(39(482(830)(738))(552(574)(230(52(396(596)(852(144)(702)))(959(35)(448(84)(280))))(478(82(764(856)(325))(235(639)(241)))(935(102)(955(903)(969)))))))) +(80(120(323(691)(921))(672(677(37(216(266(214(530)(786))(522))(440(892(374)(552))(874(459)(699))))(526(113(726)(612(381)(679)))(58(26(401)(490))(956(877)(154)))))(950(197(71)(253(687(573)(853))(873)))(94(936(179(383)(118))(916))(715(161(43)(708))(426(940)(855))))))(671(406(145(970(705(808)(61))(773))(27))(363(857(18(621)(646))(956(402)(553)))(244(997(851)(779))(877))))(229(540(684(512(98)(824))(270(0)(207)))(125))(849(489(255(375)(852))(749(328)(789)))(695))))))(943(462(816)(679(232)(737)))(83(813(553(973)(793(912)(111(744(68)(17))(751(319)(155)))))(421))(205(877(587(145(606(658)(119))(106(939)(254)))(342))(31(912(916(207)(170))(721(501)(219)))(876)))(242))))) +(361(590(696(221)(901(281(6)(151(879(581(678(61(910)(335(883)(850)))(594(951(207)(791))(305(765)(268))))(415))(620(147(147(77(408)(290))(964))(312))(306(160(401)(303(295)(310)))(623(240(822)(16))(954)))))(707(932(749(524)(421(347(502)(426))(391(359)(283))))(251(460)(422)))(152))))(901(26(82(374(22(937(669)(934(988)(456)))(849(320(362)(301))(994(929)(920))))(43(442(219)(621(470)(784)))(382)))(940(771(428)(419(888(604)(459))(545)))(262)))(103(98)(568)))(934(502(826(666)(149(746(544(937)(546))(970))(719)))(164(795(304(963)(331))(675(11(788)(417))(498(575)(876))))(785(290(137(190)(577))(282(759)(196)))(930(697(981)(532))(689(712)(899))))))(304(999(356(178)(95(356(607)(462))(949)))(970(474(38(75)(782))(665(296)(579)))(897(851(296)(235))(244(197)(831)))))(612))))))(522(581)(695(640(493(899)(657))(638(24)(186(128(325(356)(242))(271(415)(765(535(426)(625))(250))))(584(211)(876(82(51)(372(573)(200)))(54(423(34)(578))(669(121)(241))))))))(603(748(52(54)(73(322(931(897(481)(530))(872(314)(551)))(286(825(563)(898))(385(104)(872))))(949(256(34(829)(529))(310))(623))))(309(503(418(136)(331(218(926)(990))(879)))(649))(277(574(277)(762))(225(154(749(899)(415))(187(732)(587)))(713)))))(227)))))(308(903(529(654)(964(711(858)(739(417)(641(120(262(70(430)(586))(405(106)(981)))(185(198)(164(866)(279))))(196(594(708(898)(575))(955(359)(122)))(285(277(356)(940))(638(660)(861)))))))(457(717)(681(437)(199)))))(138))(858(54(193(612(808(544(865(733)(597))(598(215)(666)))(835(934)(450(103(601(482)(443))(881))(186(846)(518)))))(307(466(985(845(772(290)(104))(794))(453(986(870)(695))(367(769)(791))))(236(642(306)(411))(772(696)(198))))(783(156(744(841)(319(929)(303)))(868(711)(693)))(826(518)(49(422(71)(582))(281))))))(972))(146(808(483)(29))(51)))(18)))) +(788(640(948(971)(766))(483(209)(827)))(163(441(655)(638))(812(548(820)(913(798(680)(360(74(823(514)(470))(351(976)(887)))(576)))(537(935)(333(820(900)(256(766)(702)))(650)))))(722(234)(530(865(919(862(46(507)(813))(448))(661(946(721)(811))(927(61)(747))))(253(147(27(892)(843))(63(474)(603)))(198(279(811)(734))(85))))(378(717)(685(726(739(803)(243))(850))(995(140(902)(524))(757))))))))) +(857(510(140(224(959(282)(868(631(4(101)(627))(736(877)(858)))(358(67(502)(189))(352(957)(127)))))(261(463(110(448(380)(708))(877(11)(659)))(138(221(12)(707))(222(313)(983))))(351(42)(3))))(791(533(71)(178(246(996(22)(848))(6(160)(354)))(347(867)(633(333)(67)))))(410(963(372(274(162)(734))(401(130)(638)))(846(28)(872)))(589(341(910(158)(263))(365(715)(77)))(500(859)(746))))))(553(485(71)(463))(99(281)(522(921(683(516(461)(233))(978(908)(702)))(550))(47(364(982(725)(183))(905(14)(340)))(717))))))(520(285(761)(249(827)(526)))(723(918(371(236(158(831(846)(376))(457))(301))(150(542)(428(68(639)(471))(58(948)(370)))))(748))(811(807(284)(433(905)(870)))(517(861)(334(621)(241))))))) +(238(539(118(169(357(407(684)(763(960)(830(201)(670))))(150(34)(592(628(34)(637))(856(801)(263)))))(769(412(827(41(203)(401))(633(308)(456)))(36))(964)))(668(158)(365(60)(57))))(814(492(496)(991(669)(2(7(92(369)(446))(30(749)(636)))(732(745)(825(188)(927))))))(468(453(535(594)(918(622(444)(977))(970(912)(542))))(802))(301(993)(106(416(81(627)(262))(325(512)(341)))(570(402)(611(61)(443))))))))(837(258(572(790)(868))(369(153)(353(496(100(656)(928(951)(670)))(895))(284(447(981)(178))(815(738(46)(329))(316(533)(400)))))))(444(214)(608(972(493)(888(261(945(106)(362))(7))(541(822)(169(743)(852)))))(585(326)(986(411(863(623)(543))(406))(786(1(63)(161))(380(555)(700))))))))) +(671(793(527(312(836)(718(695(194)(835(728)(229(397(357)(551))(492(215)(707)))))(540(9(30)(333(543(393)(966))(842(319)(355))))(328(218)(830)))))(721(779)(410(234)(792(885)(268)))))(104(853)(120(439)(544))))(56(119(489(636(610(319)(963(970(490)(905))(657)))(498))(738))(138(147(514(288(913(358(868)(993))(106(753)(200)))(502(34(253)(667))(901(472)(257))))(373(191(927(249)(960))(769(976)(650)))(995(929(142)(156))(6))))(968(322(115(616)(670(469)(795)))(692))(327(892(967(882)(952))(102(796)(489)))(21(2(720)(425))(907(436)(994))))))(998(405(183(477(640(381)(485))(238(263)(417)))(490(207(900)(880))(959)))(350(707)(839(834)(350(164)(213)))))(899(401(520(759(658)(295))(952(568)(862)))(487(17(474)(87))(40)))(692)))))(594(632(489)(296))(597(233(589(461)(473(735(490)(17(566)(720)))(527(767(322)(719))(308(895)(138)))))(730))(37))))) +(33(822(142(902(619)(919(27(798(998(535)(995))(711(121)(302)))(173))(752(490)(820(139(529)(643))(780(402)(231))))))(122))(17(627(830(744)(581(387(417(758)(582))(579(522)(5)))(818(815)(351(510)(757)))))(687))(824)))(186(104(350(263(319(601(366(6)(213))(651))(328(211)(28)))(198(603)(846)))(629))(808(164)(750(461(945(968(230)(519))(1))(951))(492(939(811(611)(392))(559(952)(719)))(743(675(51)(595))(411(282)(300)))))))(724(840(440)(840(638(689(20(523)(193))(258(999)(221)))(629))(675(513)(856(904(650)(986))(564)))))(588(95)(396(476)(37(424(804(772)(698))(86(719)(158)))(96))))))) \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/Baumalgorithmen.java b/Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/Baumalgorithmen.java new file mode 100644 index 0000000..896223e --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/Baumalgorithmen.java @@ -0,0 +1,130 @@ + +/** + * Führt verschiedene Algorithmen auf Binärbäumen aus + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class Baumalgorithmen +{ + /** + * Die Wurzel des Baums, mit dem der Algorithmus durchgeführt werden soll + */ + protected Binaerbaum wurzel; + + /** + * Erzeugt ein neues Algorithmen-Objekt + * @param wurzel Die Wurzel des Baums, der verarbeitet werden soll + */ + public Baumalgorithmen(Binaerbaum wurzel) + { + this.wurzel = wurzel; + } + + /** + * Zeigt den Baum auf der Konsole an. + */ + public void baumAnzeigen() + { + if (wurzel != null) + { + System.out.println(wurzel.daten); + baumAnzeigen(wurzel.links, "", true); + baumAnzeigen(wurzel.rechts, "", false); + } + } + + private void baumAnzeigen(Binaerbaum b, String indent, boolean left) + { + System.out.print(indent); + System.out.print(left ? "\u251C " : "\u2514 "); + if (b != null) + { + System.out.println(b.daten); + if (b.links != null || b.rechts != null) + { + indent += (left ? "\u2502 " : " "); + baumAnzeigen(b.links, indent, true); + baumAnzeigen(b.rechts, indent, false); + } + } + else + { + System.out.println(""); + } + } + + /** + * Gibt die Tiefe des Baums zurück + * @return Die Tiefe des Baums, gezählt ab der Wurzel + */ + public int tiefe() + { + return tiefe(wurzel); + } + + /** + * Gibt die Tiefe eines Baums zurück + * @param b Der Baum, dessen Tiefe bestimmt werden soll + * @return Die Tiefe des Baums, gezählt ab b + */ + private int tiefe(Binaerbaum b) + { + if (b == null) + { + return 0; + } + return 1 + Math.max(tiefe(b.links), tiefe(b.rechts)); + } + + /** + * Gibt die Anzahl der Knoten im Baums zurück + * @return Die Anzahl aller Knoten im Baum + */ + public int anzahl() + { + return anzahl(wurzel); + } + + /** + * Gibt die Anzahl der Knoten in einem Baums zurück + * @param b Der Baum, in dem die Knoten gezählt werden sollen + * @return Die Anzahl der Knoten, die sich von b an im Baum befinden (inklusive b) + */ + private int anzahl(Binaerbaum b) + { + if (b == null) + { + return 0; + } + return 1 + anzahl(b.links) + anzahl(b.rechts); + } + + /** + * Prüft, ob sich ein Wert im Baum befindet + * @param wert Der zu suchende Wert + * @return true, wenn ein Knoten den Wert enthält; false sonst + */ + public boolean enthaelt(T wert) + { + return enthaelt(wurzel, wert); + } + + /** + * Prüft, ob sich ein Wert in b oder darunter befindet + * @param b Der Baum, in dem der Wert gesucht werden soll + * @return true, wenn b oder einer seiner Kindknoten den Wert enthält; false sonst + */ + private boolean enthaelt(Binaerbaum b, T wert) + { + if (b == null) + { + return false; + } + if (b.daten.equals(wert)) + { + return true; + } + return enthaelt(b.links, wert) || enthaelt(b.rechts, wert); + } +} diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/Binaerbaum.java b/Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/Binaerbaum.java new file mode 100644 index 0000000..2f05bbc --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/Binaerbaum.java @@ -0,0 +1,63 @@ + +/** + * Ein Knoten eines Binärbaums + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class Binaerbaum +{ + /** + * Der Datenwert des Knotens + */ + public T daten; + + /** + * Der linke Kindbaum + */ + public Binaerbaum links; + + /** + * Der rechte Kindbaum + */ + public Binaerbaum rechts; + + /** + * Erzeugt einen Blattknoten mit leerem Datenwert + */ + public Binaerbaum() + { + this(null, null, null); + } + + /** + * Erzeugt einen Knoten mit Datenwert und Kindern + * @param daten Der Datenwert + * @param links Der linke Kindbaum + * @param rechts Der rechte Kindbaum + */ + public Binaerbaum(T daten, Binaerbaum links, Binaerbaum rechts) + { + this.daten = daten; + this.links = links; + this.rechts = rechts; + } + + /** + * Erzeugt einen Blattknoten mit Datenwert + * @param daten Der Datenwert + */ + public Binaerbaum(T daten) + { + this(daten, null, null); + } + + /** + * Gibt zurück, ob der Knoten ein Blatt ist + * @return true, wenn der Knoten ein Blatt ist; false sonst + */ + public boolean istBlatt() + { + return links == null && rechts == null; + } +} diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/README.TXT b/Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/README.TXT new file mode 100644 index 0000000..2e30d29 --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/README.TXT @@ -0,0 +1,9 @@ +PROJEKTBEZEICHNUNG: Tiefer Baum +PROJEKTZWECK: Erzeugt einen tiefen Baum, auf den man rekursive Baumalgorithmen anwenden kann. Ab einer gewissen Baumtiefe (ca. 30.000; maschinenabhängig) kommt es zum Stack Overflow. +VERSION oder DATUM: Dezember 2020 +WIE IST DAS PROJEKT ZU STARTEN: +Rufen Sie die statische Methode erzeugeTiefenBaum der Klasse TieferBaum auf (Parameter tiefe > 30.000) und holen Sie sich das Objekt auf die Objektleiste +Erzeugen Sie ein Baumalgorithmen-Objekt und übergeben Sie ihm den erzeugten tiefen Baum. +Rufen Sie bei diesem Objekt eine der öffentlichen Methoden auf. +Es sollte ein Stack Overflow entstehen, wenn der Baum nur tief genug ist. +AUTOR(EN): Rainer Helfrich, ZPG Informatik diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/TieferBaum.java b/Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/TieferBaum.java new file mode 100644 index 0000000..fac1f4d --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/TieferBaum.java @@ -0,0 +1,30 @@ +import java.util.Random; + +/** + * Erzeugt einen "tiefen" Baum + * + * @author Rainer Helfrich + * @version Dezember 2020 + */ +public class TieferBaum +{ + /** + * Erzeugt einen "tiefen" Baum, bei dem nach rechts stets nur ein Knoten abgeht, + * der links aber eine lange Kette bildet + * @param tiefe Die gewünschte Tiefe + * @return Die Wurzel des erzeugten Binärbaums + */ + public static Binaerbaum erzeugeTiefenBaum(int tiefe) + { + Random r = new Random(); + Binaerbaum wurzel = new Binaerbaum(r.nextInt(1000)); + Binaerbaum k = wurzel; + for (int i = 1; i < tiefe; i++) + { + k.links = new Binaerbaum(r.nextInt(1000)); + k.rechts = new Binaerbaum(r.nextInt(1000)); + k = k.links; + } + return wurzel; + } +} diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/package.bluej b/Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/package.bluej new file mode 100644 index 0000000..b6c7523 --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/04_tiefer_baum_roh/package.bluej @@ -0,0 +1,52 @@ +#BlueJ package file +dependency1.from=TieferBaum +dependency1.to=Binaerbaum +dependency1.type=UsesDependency +dependency2.from=Baumalgorithmen +dependency2.to=Binaerbaum +dependency2.type=UsesDependency +editor.fx.0.height=739 +editor.fx.0.width=1071 +editor.fx.0.x=756 +editor.fx.0.y=182 +objectbench.height=155 +objectbench.width=760 +package.divider.horizontal=0.6 +package.divider.vertical=0.73 +package.editor.height=431 +package.editor.width=649 +package.editor.x=541 +package.editor.y=197 +package.frame.height=700 +package.frame.width=800 +package.numDependencies=2 +package.numTargets=3 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=Binaerbaum +target1.showInterface=false +target1.type=ClassTarget +target1.width=130 +target1.x=170 +target1.y=60 +target2.height=50 +target2.name=Baumalgorithmen +target2.showInterface=false +target2.type=ClassTarget +target2.width=160 +target2.x=300 +target2.y=130 +target3.height=50 +target3.name=TieferBaum +target3.showInterface=false +target3.type=ClassTarget +target3.width=100 +target3.x=101 +target3.y=182 diff --git a/Quellcodes/Alg_DS_Baumalgorithmen/readme.adoc b/Quellcodes/Alg_DS_Baumalgorithmen/readme.adoc new file mode 100644 index 0000000..849992d --- /dev/null +++ b/Quellcodes/Alg_DS_Baumalgorithmen/readme.adoc @@ -0,0 +1,11 @@ += Material : + +|=== +|Zuordnung| +|Klassenstufe| +|Bildungsplanbezug | +|Werkzeug| +|Autoren| +|=== + +== Inhalt diff --git a/Quellcodes/Alg_DS_Entscheidungsbaum/.gitignore b/Quellcodes/Alg_DS_Entscheidungsbaum/.gitignore new file mode 100644 index 0000000..2cc0cb6 --- /dev/null +++ b/Quellcodes/Alg_DS_Entscheidungsbaum/.gitignore @@ -0,0 +1,7 @@ +**/*.sh +**/*.class +**/*.ctxt +repo.adoc +repo_subtree.adoc +/alt +/hide diff --git a/Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/Binaerbaum.java b/Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/Binaerbaum.java new file mode 100644 index 0000000..312231d --- /dev/null +++ b/Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/Binaerbaum.java @@ -0,0 +1,11 @@ + +/** + * Ihre Implementation eines Binärbaums + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class Binaerbaum +{ + +} diff --git a/Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/EntscheidungsFrame.java b/Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/EntscheidungsFrame.java new file mode 100644 index 0000000..18dc6c5 --- /dev/null +++ b/Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/EntscheidungsFrame.java @@ -0,0 +1,73 @@ + +/** + * Stellt das Fenster dar, in dem der Baum dargestellt wird. + * Sie müssen die abstrakten Methoden der Oberklasse mit Inhalt füllen. + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class EntscheidungsFrame extends EntscheidungsFrameBase +{ + /** + * Der Entscheidungsbaum, der durchlaufen werden soll. + */ + private Binaerbaum baum; + + /** + * Erzeugt ein neues Fenster + * @param baum Der Entscheidungsbaum, der durchlaufen werden soll + */ + private EntscheidungsFrame(Binaerbaum baum) + { + this.baum = baum; + displayCurrent(); + } + + /** + * Erzeugt einen Entscheidungsbaum und übergibt ihn an ein Fenster + * Dann wird das Fenster geöffnet + */ + public static void entscheidungsbaumTesten() + { + Binaerbaum meinBaum = null; + //# Hier muss meinBaum auf einen Entscheidungsbaum gesetzt werden + + + //# der folgende Aufruf muss stehen bleiben + new EntscheidungsFrame(meinBaum); + } + + /** + * Wird ausgeführt, wenn der Benutzer auf "Ja" klickt. + * Setzt den aktuellen Knoten des Entscheidungsbaums entsprechend weiter. + */ + protected void jaGeklickt() + { + } + + /** + * Wird ausgeführt, wenn der Benutzer auf "Nein" klickt. + * Setzt den aktuellen Knoten des Entscheidungsbaums entsprechend weiter. + */ + protected void neinGeklickt() + { + } + + /** + * Prüft, ob der aktuelle Knoten ein Blattknoten ist und wir damit bei einer Lösung angekommen sind. + * @return true, wenn es sich beim aktuellen Knoten um einen Blattknoten handelt; false sonst + */ + protected boolean istLoesung() + { + return true; + } + + /** + * Gibt den Wert des momentan ausgewählten Knotens im Entscheidungsbaum zurück + * @return Die Beschreibung am aktuellen Knoten + */ + protected String aktuellerText() + { + return ""; + } +} diff --git a/Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/EntscheidungsFrameBase.java b/Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/EntscheidungsFrameBase.java new file mode 100644 index 0000000..3fc7ea7 --- /dev/null +++ b/Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/EntscheidungsFrameBase.java @@ -0,0 +1,94 @@ +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.swing.event.*; + +/** + * Das Fenster, in dem der Entscheidungsbaum durchlaufen wird + * Hier sollte nichts geändert werden. + * + * @version 1.0 vom 26.10.2020 + * @author Rainer Helfrich + */ + +public abstract class EntscheidungsFrameBase extends JFrame { + + private JTextArea jTextArea1 = new JTextArea(""); + private JScrollPane jTextArea1ScrollPane = new JScrollPane(jTextArea1); + private JButton bJa = new JButton(); + private JButton bNein = new JButton(); + + + public EntscheidungsFrameBase() + { + setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + int frameWidth = 537; + int frameHeight = 312; + setSize(frameWidth, frameHeight); + Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); + int x = (d.width - getSize().width) / 2; + int y = (d.height - getSize().height) / 2; + setLocation(x, y); + setTitle("Entscheidungsbaum"); + setResizable(false); + Container cp = getContentPane(); + cp.setLayout(null); + + jTextArea1ScrollPane.setBounds(8, 8, 505, 217); + jTextArea1.setEditable(false); + cp.add(jTextArea1ScrollPane); + bJa.setBounds(8, 232, 249, 33); + bJa.setText("Ja"); + bJa.setMargin(new Insets(2, 2, 2, 2)); + bJa.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent evt) { + jaGeklickt(); + displayCurrent(); + } + }); + cp.add(bJa); + bNein.setBounds(264, 232, 249, 33); + bNein.setText("Nein"); + bNein.setMargin(new Insets(2, 2, 2, 2)); + bNein.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent evt) { + neinGeklickt(); + displayCurrent(); + } + }); + cp.add(bNein); + + setVisible(true); + } + + protected void displayCurrent() + { + jTextArea1.setText(aktuellerText()); + bJa.setEnabled(!istLoesung()); + bNein.setEnabled(!istLoesung()); + } + + /** + * Gibt den Wert des momentan ausgewählten Knotens im Entscheidungsbaum zurück + * @return Die Beschreibung am aktuellen Knoten + */ + protected abstract String aktuellerText(); + + /** + * Wird ausgeführt, wenn der Benutzer auf "Ja" klickt. + * Setzt den aktuellen Knoten des Entscheidungsbaums entsprechend weiter. + */ + protected abstract void jaGeklickt(); + + /** + * Wird ausgeführt, wenn der Benutzer auf "Nein" klickt. + * Setzt den aktuellen Knoten des Entscheidungsbaums entsprechend weiter. + */ + protected abstract void neinGeklickt(); + + /** + * Prüft, ob der aktuelle Knoten ein Blattknoten ist und wir damit bei einer Lösung angekommen sind. + * @return true, wenn es sich beim aktuellen Knoten um einen Blattknoten handelt; false sonst + */ + protected abstract boolean istLoesung(); +} diff --git a/Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/Entscheidungsbaum.pdf b/Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/Entscheidungsbaum.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b99afc99d9e89704ea702e8bc907c1dc1fded5d6 GIT binary patch literal 24606 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/README.TXT b/Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/README.TXT new file mode 100644 index 0000000..a53c383 --- /dev/null +++ b/Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/README.TXT @@ -0,0 +1,5 @@ +PROJEKTBEZEICHNUNG: Entscheidungsbaum +PROJEKTZWECK: Implementieren Sie einen Binärbaum und wenden Sie ihn an, um einen Entscheidungsbaum zu implementieren +VERSION oder DATUM: Oktober 2020 +WIE IST DAS PROJEKT ZU STARTEN: Rufen Sie die statische Methode entscheidungsbaumTesten() der Klasse EntscheidungsFrame auf. +AUTOR(EN): Rainer Helfrich, ZPG Informatik diff --git a/Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/package.bluej b/Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/package.bluej new file mode 100644 index 0000000..1dcd4d9 --- /dev/null +++ b/Quellcodes/Alg_DS_Entscheidungsbaum/01_entscheidungsbaum_roh/package.bluej @@ -0,0 +1,49 @@ +#BlueJ package file +dependency1.from=EntscheidungsFrame +dependency1.to=Binaerbaum +dependency1.type=UsesDependency +editor.fx.0.height=0 +editor.fx.0.width=0 +editor.fx.0.x=0 +editor.fx.0.y=0 +objectbench.height=93 +objectbench.width=760 +package.divider.horizontal=0.6 +package.divider.vertical=0.8 +package.editor.height=393 +package.editor.width=649 +package.editor.x=329 +package.editor.y=161 +package.frame.height=600 +package.frame.width=800 +package.numDependencies=1 +package.numTargets=3 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=Binaerbaum +target1.showInterface=false +target1.type=ClassTarget +target1.width=130 +target1.x=240 +target1.y=170 +target2.height=50 +target2.name=EntscheidungsFrame +target2.showInterface=false +target2.type=ClassTarget +target2.width=150 +target2.x=380 +target2.y=30 +target3.height=50 +target3.name=EntscheidungsFrameBase +target3.showInterface=false +target3.type=AbstractTarget +target3.width=180 +target3.x=110 +target3.y=30 diff --git a/Quellcodes/Alg_DS_Entscheidungsbaum/02_entscheidungsbaum_loes/Binaerbaum.java b/Quellcodes/Alg_DS_Entscheidungsbaum/02_entscheidungsbaum_loes/Binaerbaum.java new file mode 100644 index 0000000..2f05bbc --- /dev/null +++ b/Quellcodes/Alg_DS_Entscheidungsbaum/02_entscheidungsbaum_loes/Binaerbaum.java @@ -0,0 +1,63 @@ + +/** + * Ein Knoten eines Binärbaums + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class Binaerbaum +{ + /** + * Der Datenwert des Knotens + */ + public T daten; + + /** + * Der linke Kindbaum + */ + public Binaerbaum links; + + /** + * Der rechte Kindbaum + */ + public Binaerbaum rechts; + + /** + * Erzeugt einen Blattknoten mit leerem Datenwert + */ + public Binaerbaum() + { + this(null, null, null); + } + + /** + * Erzeugt einen Knoten mit Datenwert und Kindern + * @param daten Der Datenwert + * @param links Der linke Kindbaum + * @param rechts Der rechte Kindbaum + */ + public Binaerbaum(T daten, Binaerbaum links, Binaerbaum rechts) + { + this.daten = daten; + this.links = links; + this.rechts = rechts; + } + + /** + * Erzeugt einen Blattknoten mit Datenwert + * @param daten Der Datenwert + */ + public Binaerbaum(T daten) + { + this(daten, null, null); + } + + /** + * Gibt zurück, ob der Knoten ein Blatt ist + * @return true, wenn der Knoten ein Blatt ist; false sonst + */ + public boolean istBlatt() + { + return links == null && rechts == null; + } +} diff --git a/Quellcodes/Alg_DS_Entscheidungsbaum/02_entscheidungsbaum_loes/EntscheidungsFrame.java b/Quellcodes/Alg_DS_Entscheidungsbaum/02_entscheidungsbaum_loes/EntscheidungsFrame.java new file mode 100644 index 0000000000000000000000000000000000000000..f4d6742cd5f30da75951f38e9ba385e3d78d141e GIT binary patch literal 2424 zcmc&$O>@&o5asM&(HjngRLZ8fvh0Eh5Fop3ZBoT~B(yZ>}$ML4P;Ht>u%uIK`?$@t1nH?NV=zvZG8xyEdp5CzafgRTFkhGbULro);T+`J4+v%(7_lzee(1PHfEDW%#6+{7wh!e2A|ig zi)btV#;KNxzaW}o+tyrpp8PW*d{QoCaX?2fzGfx^`on~xh%T>uGS>R=<(_c$SWBx_#}gI97oedAA(-rW%8Bda+QzlPvr| zjDwXiM18ITuft5)+P@>_$LW5bE5RCS?WY2Up08k%okIJCQJ1fxb8N%@;~wqTbU!^- zQoVv1sl1hRingHTHL6|dERe1(DVq{B5On}WN6Mlg;N%*MD_(vpOUq$6Hem1R;)4oc z&3UH_LY&`8BcRTN=XQS+^lbK!jy34fMo_IqrRI_W@IivwiU1wM;R+3t*z%x{1X7PRpq&%aS zsnNFasNP+^Ub^0uk67sN$kW2as)AdwzRjZJybilep4G@vaF<|@3R_L2pr-dTB;g2j zZFiXZKa@wEeH5rw4Rnbq@9>BV#K(?*Sv4!A7ac1*Q$bCbUdGa)?uiK?iy+Gk>x}L9 zB1>x5NZq&CSc09c@k!XMqOTYtS-Wru3W4NFjoHRMi$9Z#Bt^DD)iLB>?wE z`6n9eC*ZVjdoQFtWp_dS%Pp@P0j(B!;0?;|F-gS;1Z$HO5V2msRwJmPCv3tq zDwV<5_8s00)|K>T&}Cg`7}AWOPdb*^ZqZ^0N!T&PvE*p?aCj@4FC_lNP8LvHw5JX5 zlltOf`EPB6(>=940ohu&B_>`)= 20 && p.getY() <= Karte.CARD_HEIGHT+20) + { + if (p.getX() >= 10 && p.getX() <= Karte.CARD_WIDTH*4+40) + { + return FreecellGame.ZELLEN; + } // end of if + if (p.getX() >= Karte.CARD_WIDTH*4+90 && p.getY() <= Karte.CARD_WIDTH*8+120) + { + return FreecellGame.ABLAGESTAPEL; + } // end of if + } // end of if + if (p.getY() >= Karte.CARD_HEIGHT+55 && p.getX() >= 35 && p.getX() <= Karte.CARD_WIDTH*8+105) + { + return FreecellGame.KASKADEN; + } + return FreecellGame.KEINER; + } + + private int getIndex(Point p, int area) + { + if (area < 0) + { + return FreecellGame.KEINER; + } + int x = (int)p.getX(); + if (area == FreecellGame.ZELLEN) + { + x -= 10; + } // end of if + if (area == FreecellGame.ABLAGESTAPEL) + { + x -= 4*Karte.CARD_WIDTH+90; + } // end of if + if (area == FreecellGame.KASKADEN) + { + x -= 35; + } // end of if + if (x % (Karte.CARD_WIDTH+10) < Karte.CARD_WIDTH) + { + return x / (Karte.CARD_WIDTH+10); + } // end of if + return FreecellGame.KEINER; + } + + public void mouseReleased(MouseEvent e) + { + int area = getArea(e.getPoint()); + int index = getIndex(e.getPoint(), area); + if (area == FreecellGame.KEINER || index == FreecellGame.KEINER) { + if (markiert != null) + markiert.setMarkiert(false); + markiert = null; + } // end of if + else if (markiert == null) + { + if (area == FreecellGame.ZELLEN || area == FreecellGame.KASKADEN) + { + markiert = dasSpiel.getKarte(area, index); + } + if (markiert != null) + { + markiert.setMarkiert(true); + sourceArea = area; + sourceIndex = index; + } // end of if + } + else + { + if (sourceArea == area && sourceIndex == index || + dasSpiel.verschiebe(sourceArea, sourceIndex, area, index)) + { + markiert.setMarkiert(false); + markiert = null; + } + } + finishMove(); + } + + private void finishMove() + { + if (markiert != null) + { + repaint(); + return; + } + while(true) + { + paintImmediately(0, 0, getWidth(), getHeight()); + if (dasSpiel.automatischerZug()) + { + try + { + Thread.sleep(300); + } + catch(Exception x) + { + } + } + else + { + break; + } + } + if (dasSpiel.istGewonnen()) + { + JOptionPane.showMessageDialog(null,"Gewonnen!","Spiel beendet", JOptionPane.INFORMATION_MESSAGE); + } + } + + } +} // end of class FreecellFrame diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/FreecellGame.java b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/FreecellGame.java new file mode 100644 index 0000000..f62e830 --- /dev/null +++ b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/FreecellGame.java @@ -0,0 +1,191 @@ +import java.util.ArrayList; +import java.util.Random; + +/** + * Das Spielfeld selbst + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class FreecellGame +{ + /** + * Die vier Zellen oben links + */ + private Karte[] zellen; + + /** + * Die vier Stapel oben rechts + */ + private Stack[] ablagestapel; + + /** + * Die acht Stapel unten, auf denen die Karten zu Beginn liegen + */ + private Stack[] kaskaden; + + /** + * Konstanten, die für die verschiedenen Ablegebereiche stehen. + */ + public static final int ZELLEN = 0; + public static final int ABLAGESTAPEL = 1; + public static final int KASKADEN = 2; + public static final int KEINER = -1; + + /** + * Erzeugt ein neues Spiel mit einer zufälligen Ausgangssituation. + */ + public FreecellGame() + { + this(new Random()); + } + + /** + * Erzeugt ein neues Spiel mit einer vorgegebenen Nummer. + * Ein Spiel mit einer bestimmten Nummer beginnt immer in der gleichen Ausgangssituation. + * @param nummer Legt fest, welche Ausgangssituation verwendet wird. + */ + public FreecellGame(int nummer) + { + this(new Random(nummer)); + } + + /** + * Erzeugt ein neues Spiel + * @param r Der Zufallsgenerator, der zum zufälligen Füllen der Kaskaden verwendet wird. + */ + private FreecellGame(Random r) + { + zellen = new Karte[4]; + ablagestapel = new Stack[4]; + kaskaden = new Stack[8]; + ArrayList zahlen = new ArrayList(52); + for (int i = 0; i < 52; i++) { + zahlen.add(i); + } + //# TODO: Erzeugen Sie die Stacks für den Ablagestapel und die Kaskaden + + //# Ende TODO + for (int i = 0; i < kaskaden.length; i++) + { + for (int j = 0; j < ((i < 4) ? 7 : 6); j++) { + int rnd = r.nextInt(zahlen.size()); + Karte k = new Karte(zahlen.get(rnd)); + zahlen.remove(rnd); + if (kaskaden[i] != null) + { + kaskaden[i].push(k); + } + } + } + new FreecellFrame(this); + } + + /** + * Gibt die oberste Karte aus dem angegebenen Bereich zurück + * @param bereich Kann ZELLEN, ABLAGESTAPEL oder KASKADEN sein. + * @param index Kann 0 bis 7 (für Kaskaden) bzw. 0 bis 3 (andere Bereiche) sein. Gibt an, welches Feld des Bereichs gewünscht wird. + * @return Die oberste Karte, sofern eine dort liegt. null sonst. + */ + public Karte getKarte(int bereich, int index) + { + //# TODO: Sorgen Sie dafür, dass die (oberste) Karte aus dem gewünschten Bereich zurückgegeben wird. + //# Wenn ein Stapel leer ist, soll null zurückgegeben werden. + + return null; + } + + /** + * Gibt die Höhe der Kaskade mit der gegebenen Nummer zurück + * @param index Kann 0 bis 7 sein. Gibt an, welche Kaskade gewünscht wird. + * @return Die Höhe der Kaskade. + */ + public int getStapelHoehe(int index) + { + //# TODO: Lassen Sie zurückgeben, wie hoch der Stapel der Kaskade mit der Nummer index ist. + + return 0; + } + + /** + * Gibt die n-te Karte von oben in der Kaskade mit der Nummer index zurück. + * Die Parameter sind immer in gültigen Bereichen, wenn die Methode von FreecellFrame aufgerufen wird. + * @param index Kann 0 bis 7 sein. Gibt an, welche Kaskade gewünscht wird. + * @param n Kann 0 bis getStapelHoehe(index)-1 sein. Gibt an, welche Karte darin gewünscht wird. + * @return Die gewünschte Karte + */ + public Karte getKarteInStapel(int index, int n) + { + //# TODO: Lassen Sie die n-te Karte aus der Kaskade mit der Nummer index zurückgeben. + //# n ist dabei von oben gezählt, d.h. die oberste Karte hat den Index 0. + //# n ist immer ein gültiger Index, d.h. die Zahl liegt zwischen 0 und Höhe-1 + + return null; + } + + /** + * Gibt zurück, ob das Spiel gewonnen ist. + * @return true, wenn das Spiel gewonnen ist; false sonst + */ + public boolean istGewonnen() + { + //# TODO: Lassen Sie zurückgeben, ob das Spiel gewonnen ist. + //# Das Spiel ist gewonnen, wenn die Zellen keine Karte enthalten und alle Kaskaden leer sind. + //# Umgekehrt: Falls eine Zelle oder eine Kaskade noch eine Karte enthält, ist das Spiel noch nicht gewonnen. + + return false; + } + + /** + * Verschiebt eine Karte + * @param vonBereich Kann ZELLEN oder KASKADEN sein. Gibt an, aus welchem Bereich die Karte verschoben wird. + * @param vonIndex Kann 0 bis 7 (für Kaskaden) bzw. 0 bis 3 (für Zellen) sein. Gibt an, von welchem Feld des Bereichs die Karte verschoben wird. + * @param nachBereich Kann ZELLEN, ABLAGESTAPEL oder KASKADEN sein. Gibt an, zu welchem Bereich die Karte verschoben wird. + * @param nachIndex Kann 0 bis 7 (für Kaskaden) bzw. 0 bis 3 (andere Bereiche) sein. Gibt an, zu welchem Feld des Bereichs die Karte verschoben wird. + * @return true, wenn die Verschiebung gültig und erfolgreich war; false sonst + */ + public boolean verschiebe(int vonBereich, int vonIndex, int nachBereich, int nachIndex) + { + //# TODO: Verschieben Sie eine Karte. + //# vonBereich kann dabei ZELLEN oder KASKADEN sein, vonIndex ist ein jeweils gültiger Index (0 bis 3 für Zellen, 0 bis 7 für Kaskaden) + //# nachBereich kann ZELLEN, KASKADEN oder ABLAGESTAPEL sein, nachIndex ist ein jeweils gültiger Index + //# Sorgen Sie dafür, dass die Karten an Ihrem Ursprungsort auch entfernt wird! + //# Geben Sie true zurück, wenn die Verschiebung gültig und erfolgreich war, sonst false + + return false; + } + + /** + * Führt einen automatischen Zug aus, wenn dies möglich ist. + * @return true, wenn ein automatischer Zug möglich war; false sonst + */ + public boolean automatischerZug() + { + //# TODO: (optional) Lassen Sie einen automatischen Zug ausführen. + //# Eine Karte kann automatisch von einer Zelle oder einer Kaskade auf einen Ablagestapel gelegt werden, wenn... + //# - sie ein As oder eine 2 ist oder + //# - ihr Wert um höchstens 2 größer ist als die niederwertigste Karte auf allen Ablagestapeln + //# Geben Sie true zurück, wenn ein automatischer Zug möglich war, sonst false. + + return false; + } + + /** + * Führt einen schnellen Zug aus, wenn dies möglich ist. + * @param bereich Kann ZELLEN oder KASKADEN sein. Gibt an, aus welchem Bereich die Karte verschoben wird. + * @param index Kann 0 bis 7 (für Kaskaden) bzw. 0 bis 3 (für Zellen) sein. Gibt an, von welchem Feld des Bereichs die Karte verschoben wird. + * @return true, wenn ein schneller Zug möglich war; false sonst + */ + public boolean schnellerZug(int bereich, int index) + { + //# TODO: (optional) Lassen Sie einen "schnellen Zug" ausführen. "Schnelle Züge" werden durch einen Doppelklick ausgeführt. + //# Ein schneller Zug verschiebt die Karte + //# - von einer Kaskade auf eine freie Zelle oder + //# - von einer Zelle auf einen passenden Ablagestapel + //# bereich kann dabei ZELLEN oder KASKADEN sein, index ist ein jeweils gültiger Index (0 bis 3 für Zellen, 0 bis 7 für Kaskaden) + //# Geben Sie true zurück, wenn ein schneller Zug möglich war, sonst false. + + return false; + } + +} diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/Karte.java b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/Karte.java new file mode 100644 index 0000000..43fe8f8 --- /dev/null +++ b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/Karte.java @@ -0,0 +1,122 @@ +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; +import javax.imageio.ImageIO; +import javax.swing.*; +import java.awt.*; + +/** + * Die Klasse Karte repräsentiert eine Karte im Spiel + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class Karte +{ + /** + * Konstanten für die vier Kartenfarben + */ + public static final int PIK = 0; + public static final int KREUZ = 1; + public static final int HERZ = 2; + public static final int KARO = 3; + + /** + * Konstanten für die Maße der Karte + */ + public static final int CARD_WIDTH = 100; + public static final int CARD_HEIGHT = 150; + + final private int farbe; + final private int wert; + private BufferedImage image; + private boolean markiert; + + /** + * Erzeugt eine neue Karte + * @param nummer Das als Zahl codierte Bild der Karte + */ + public Karte(int nummer) + { + final String[] suits = { "spades", "clubs", "hearts", "diamonds"}; + farbe = nummer / 13; + wert = nummer % 13 + 1; + markiert = false; + String path = ""; + try + { + path = "img/"+String.format("%02d", wert)+"_of_"+suits[farbe]+".png"; + image = ImageIO.read(new File(path)); + }catch(Exception x){ + System.out.println(path); + System.out.println(x.getMessage()); + } + } + + /** + * Zeichnet die Karte an der Position (x,y) auf das Graphics-Objekt g. + * Sollte nicht direkt aufgerufen werden. + * @param g Das Graphics-Objekt, auf das gezeichnet wird + * @param x Die x-Koordinate der oberen linken Ecke + * @param y Die y-Koordinate der oberen linken Ecke + */ + public void zeichne(Graphics g, int x, int y) + { + if (image != null) { + g.drawImage(image, x, y, CARD_WIDTH, CARD_HEIGHT, null); + } // end of if + else + { + g.setColor(Color.RED); + g.fillRoundRect(x, y, CARD_WIDTH, CARD_HEIGHT, 8, 8); + } + g.setColor(markiert ? Color.BLUE : Color.BLACK); + ((Graphics2D)g).setStroke(new BasicStroke(markiert ? 5 : 1)); + g.drawRoundRect(x, y, CARD_WIDTH, CARD_HEIGHT, 8, 8); + ((Graphics2D)g).setStroke(new BasicStroke(1)); + } + + /** + * Gibt an, ob die Karte vom Spieler markiert (angeklickt) wurde + */ + public boolean getMarkiert() + { + return markiert; + } + + /** + * Setzt die Karte auf markiert/unmarkiert + * @param b true = markiert; false = unmarkiert + */ + public void setMarkiert(boolean b) + { + markiert = b; + } + + /** + * Gibt den Zahlwert der Karte zurück + * @return Der Zahlwert der Karte (1 = As, 2-10, 11 = Bube, 12 = Dame, 13 = König) + */ + public int getWert() + { + return wert; + } + + /** + * Gibt die Farbe der Karte zurück + * @return Einer der Werte PIK, KREUZ, HERZ, KARO + */ + public int getFarbe() + { + return farbe; + } + + /** + * Gibt zurück, ob es sich um eine rote Karte (Herz oder Karo) handelt + * @return true für eine rote Karte, false für eine schwarze + */ + public boolean istRot() + { + return farbe == HERZ || farbe == KARO; + } +} \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/README.TXT b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/README.TXT new file mode 100644 index 0000000..ec2c86e --- /dev/null +++ b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/README.TXT @@ -0,0 +1,8 @@ +PROJEKTBEZEICHNUNG: Freecell +PROJEKTZWECK: Implementieren Sie die Patience Freecell +VERSION oder DATUM: Oktober 2020 +WIE IST DAS PROJEKT ZU STARTEN: Erzeugen Sie ein neues Objekt vom Typ FreecellGame (mit dem int-Parameter kann man steuern, welche Ausgangssituation erzeugt werden soll; lässt man ihn weg, ist die Ausgangssituation zufällig) +AUTOR(EN): Rainer Helfrich, ZPG Informatik + +Quelle der Spielkarten-Bilder: +https://commons.wikimedia.org/wiki/File:English_pattern_playing_cards_deck.svg (Public Domain) \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/Stack.java b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/Stack.java new file mode 100644 index 0000000..332c28a --- /dev/null +++ b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/Stack.java @@ -0,0 +1,32 @@ +/** + * Abstrakte Basisklasse für Stacks + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public abstract class Stack +{ + /** + * Gibt zurück, ob der Stack leer ist + * @return true, wenn der Stack leer ist; false sonst + */ + public abstract boolean isEmpty(); + + /** + * Legt ein neues Element auf den Stack + * @param x Das neue Element + */ + public abstract void push(T x); + + /** + * Entfernt das oberste Element vom Stack (falls der Stack nicht leer ist) und gibt es zurück + * @return Das bisherige oberste Element + */ + public abstract T pop(); + + /** + * Gibt das oberste Element des Stacks zurück (falls der Stack nicht leer ist) + * @return Das oberste Element + */ + public abstract T top(); +} diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/01_of_clubs.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/01_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..e27c98b29629cb5c2363dd56e0385c579541d5cc GIT binary patch literal 5402 zcmd5=XH-+$wnhx0Mxw+x!xAh@MkF6DG@ zm%8Ee%TC{BP89=VU!0F;m(#oc-v7}_UtL)dF7JzT4cxk?(&6G=e{>o%b}@;lDHj$z zmNQTn$LR2Kb2GPjALjy@AA8eSrZl-Z+k`{m%eE>iUwtXaD;?PNowX!{9<=P`ZN0Rx z^Ix-fzLDfe&NK*43GZwKcPL!k znu}81TYi#t$oYGVdrz)P_7T&3F?)f^Fyrz=odUHCjwVv1PXV@nTjG}D&nr=pRh#PB zt;*j(gZiD}C5*^(*Nd9kdWwS+jbA!Re4p5`3T9tl=2t0hionbUNR=+G4XB1IzsQJu zALz>aT(;|svuX=TbokM(VAVzgZ6qh$DI^aGLe~2j8e?QBiC>qe5PbObtd=fgJU+o3 zr_k`K*BBO@NI@ImtTM_zG7j%!{f!wb+HL%U`*_z;=`?sx%YWS2Cw^C!wT3M;E%f6( zEAKB7HnH6It)UjSQwdr*_o{eRGF95SYUOIXU~6UrZ{VDcPrWea)#ysANQkOKZ7)|i zbF;{|A0u~;PUJFE!i)i#D|&n9NGMtO?0~?0Adub(LaF#h&%*O~dHj&ySn{HtzA`Ze zJU&>>iNyY}H>P~jc$Q$jQB@K9d7*^=h41adJeE?Tg!&L?N90UneN9VzJ-*6#E zZFjsKTv&yoDlMn*(Nin0UyW97-nO;6VzPIdG`s%b$5n$NhJ(W`V;(9~^G9%4t*BcQ zswKm%y%kqF{%Bc0*=1^3>weaE86vyK`_>du$`{Sn$8_&e8#rt+#3*lk*)CHoj6K9b zzvb7Hh)?SC)%zHI_@7h?(dr^e#l04=id@;+>~teWc(TJ z0OzdPruJ1%JsivFSD&{4<{kXH!_S@w;vwBUu$dNjp}Y*BD2lN~pzQ_sR;<3>XX1&` zf}0tgA^Fik!OSZ}b7NjAh#=w!#2E9ofKXQ)`*n4hGb9gL$ebp3ZkAAo zE@9h^3Lk3$=Lz7O>j_jriccxL6lG&w-m>@3d;kzpSJkThbyNPs z=1-_^%oJS9$+=l_Q!`~lv(=^2i=qL$3NXNrgCHkiEYS0aN4R5XFq{X*Vq;U4v|8Q| zefi6ntA&|@(>Umt(7x8orODhZ?A2U!&6v9d-0aW|Lidlk_Hu`VHAF~R0rHs_!#MD| zG2WGGHXX2e2f%j0KG08kI649@^OT?DRKj|Mz8uF-(x&S{L(LQL%@8|e53!oY<+;#B zUy(J}^%5~M3l1_B8=TODl%-x}fOTRCg>;`eT5A5D9{SAe|K5I5?B zC2g5Yc+E*k%HiD-4|IC z?R_{QmL|c#QQe&Bxl?@nqYAGFj`yCr47MwHdf|w1X9NQAT>K(`FVR%W5$`2KOfw*y z%#^X2GXTb5YQzVbm#5juy)Miek5}58ag8*n()jcyQx0JrHzjL#687Hq#Q6yvvw|A2 z`p>Cd%I{7^tH;@S-lLN#p(HhuJ)w+F0N`MB43H|i1t9~gcVY_{yA zgF~zD6DxJgRKM}zZ3>TTeYEL&IPU@sHDxIA74lkj2z{Jp(M&lTPc4{jrrFR ziw%XV>}!|zts+#SCX$Pwmn`+2_WBrhSR-2{_-2O9K{n1bqBT8q89G<|x9z?!BmKZg|qwMR< znG)R!XWp`CNH%Dn#Z_^FP{-*=A^_?eW2+cetpLJI02VRUydz1_U+RMYm)NcXe~XQd zpZpIZWP#E(`L{UH;D5yVr&j;ZuQR}-=u-dd>;G>5&vf`Fl7mI*icu?7bFOQC1(ica z5OUeFm%9}kj1Boj|dHI5k#Oyst-_o77A}% zdz%{7l910;(+DmSAYH}i0-LKzK0piy7Dq@+@c~rm2A_cn@ebXks=0&7`t|Hov|u|urdC5qA`>kp!cNSO9gc&veMDXgF z+OaoyookbwcUj3qwHN#&b>;;d3Pz*Jnnnw;x0uLxZq&NGL=|50@Gm?ecNeXhMTPF_ z46^&{4;>b1&MFtNe|@---^Y=OOZ>y+6H<7z+NvN6WNij5fTj`G#T?p{WD#gh=*}x! zwDqi`)Yu9C$BoTV0Wa=!a0?VSYC4XCa>8fL7KB>NRm(@+dGHn3+%ZS2;ev$o8AW*M z6h>6bS+EqU!HvJ4>+WxotT*p|1j=zaeUVbzV=1}l(RszdB1N;SlOr29?B;9e>ds*? z_8wo!I;+-wIcyRRxcRw$T2_k~z7N$FCz4c_UN944^LhO654BclhwI_`9h4&|Z7WK& z;>g7ff89LAO11}^0V~@Bm$*qwbjv0inn$mxX+wU}eS`tAR zUhn)JWCDO7Gd?F_N4zBwDv@nGejywWlW=B#vOCk*rO&9tOS{Wy?3#bF8^?nv0#USp z#!oN1R&A$87(1B^8}V<@sB$iA--z=rGCaO!=x<=yt(;DamfUM{q4S}~aC&5|gZqQz z)4qpfrG@jvntjW62Bkr*MHP{?wigNM?RFem_lck!Q~BiZvg?=J?Cw%j4Mw3^i{>s@ zywIjqG9!{N)q;eA@1xXTFKy$k$?c*~hYTF(zIs<4%(xYDY=i%B@C(7;wl3yQb>a58 zx4HMnK`5B|vpL~-SmIA#unC~|8QqX)$&v7m@n}DCV_9h&FTI(F ze@kM~79$qA#p_0Azf(6#lMO}5ydKzfshm11<`j0FUm5)fA%2j3f`aDPC)#1R3iEBX3;=Oec8A0ZuZsG}o$F&Kdv_vefyYBw?^N z5RR9I5gX5Pzz zekEdrE3H!G?d`^$>+@on)Y>*XvC%~{l!O$5D}U;7JjPMpmiOS&<-_OEvfgllfGQ)^> zk+}IPzDS%kH|(%h{3J;bjTs2(T0A^Qm5iRPe9TJL13_9f1b9d?EYR>!5iuf`Hnw_I z(f6)GiWSA78q0$5x#RKn9;`c9R8?`@Pb6p|1XhM#q zfIAu!|7t|q>lXZw74?cLxc+KU9%#LYi0&d+oE&1hQ!1kuaphmwLp5TOmW!}DuvLUtR%h&^%Y=}Trju*09%r*W>d zW)+GskN*m8&cMy*)h~dXv9u?Y5A*HLt-vQ&&=^;jXt0KSXW>bh!1lF|ti|0#26%_H zbnCoUGzikIK0bHQ&cUbfl?4PTEg#eOzv+q{A-hmC;DuHf{^?Bq(KhBF++$!mLm)8E zARteV73vw<*QF}Dsksbm@Vx-44p^IF zF$b4x+cbsns9FM58;v>GeA6~_8jt#e5H17nKn;xFmEk0WXA-Et(MDSncSB=6wR$`w z@^JGl(4{X-Q@Vrizr2_n@#r)8K^6dEPX*MWATzw&a~52_uz_;#eWo=J`$ zoJhG^_PtJZT{g!dB9nIc5M*vgefUEVl|jFsDEt`aEQXbF=0!lduJ!3Slh0YVO8`(m zX$4e5&tu+*-rwe$?c#W!b2uA!*Rt<>GR=gR*LD1)-GlTNyYk7O*xMvI$&>Yg+bS2; zGMJm{ERvj3{6!Hd^>a_9bQ$vqHknGZx4Lyd?aK26tvwQ6D$zp$C3kyB9SKY=SvF~{ zA3sPW=+w)f4q8Di>GXNOfj?hg=}=DOwTE)`?JMy-OKU|rLOLRmf@M7s12qa4OyhKp z()Zs>+wwihvM_GwEeqA%uQ^WLyQ5K%sinBR)VpbG^C^2SMh+s;hXP=dBFKF}j;a=Y zV5k7gY8??x&1_t+xiJ&;-s50Y#^!bJy)4mti~W)bEuFn{<(F2u`Yy@!d=|*FAb+st zIB_|oT&%vlCxS^kC;6z&t3@N)d1fql@Nm}{Im~f;B2c$r_=M2iIIl(2&yiQzh{l)m z4uztndej2_eUCIDIg^?f=kOI$HwGQO=d!WibaLv?mo6qObUz4`wHELfT6r@$9PexR z<68v3>{Pvwi*dI?(t@*5mDKaH+7P|a&aJv#q0)eVYh=GyO7UM$Dh@E$GJOB}_e+bQGIS`0)>!AbtPsDtrjfdQn zpTii7ITlP6bh48XSvAcr6FNt>sn2fD89NTcx1EAk-T@ej2Yx2`!t(PtxZE)U)#5Q zyJ~p&P}23~9j>Jj37pSqeNr#{mgh(07MhrSN?(`1tS%Lt@ml2sE7yj9^m-dKF}hT-`w+H|-D?dzA_jiGdatBvXKc{Kjvi@T!rGiS67^X5+$S5( zrzwYb7~Bf-M`L9+}2s*7ooALSbt&AV*hv)fK&Be6#{+clgUIl~dy?nVFf` zt%%<{@(s=h<;?IapTX^}v&|cSmnN(#>^gnfEMTGZnZ~6^6mY*`;3Ne2gKK*KU0_U6C6nWfoU+5V18stky zKC(qQRa(8ly2YgA;&6p0Rs!KX|KX|jwvY)oT$31&z=lD;I0CRAEKRbJrB6{0Utm@m zoR)1n>85V2qJoDdYj@}n_Yo0(>`Lc?Jn0CYRC000K0ie&N58qnMxDwzb87OFkVu0# zy%~o^1iJ8q_+eWEIiX2W4?GthX+fst^;&h(+r8O3dB8#1Y8-GX&kk zRBKY0GQ>oJg%Q@ep)?RrAU~^61XrV3IyxZ4p)<7Sbdm49~uc zCXg*47u2Y;Z@JQ}@n}nJNUnI?{D&VF?Fjlv4wiAm^y+1D=4?N?0diprRlw_yxaQZl z3%gKQd4~K5azTNLUcp6N!x_MQda_xReyhI?@`w@FypzmRZ23lOD~9OV@22j^BWaw1 zXuA(J`fDp8wdQ(|T#<%i?UY;ES=ev)k7=n{oKRy>v~iu01WwSdnff<_elXCGOVTHGT|nq_wZtK{M%k)Ch8IdQxQn;z1Djj z>9R>c)%FvYr9KpGDC<>ZWIIM%dx`}FM??Xevjj3+xG~L?Kk%fHsA0Jb-wYzwHbsjV zZ&yV&&MkB*W+m!rBqQ8TCuo-7(~j;#I#-&;KC1$2ISCyvB-UjunVGF$#!Efm)=rrP z97pOL`5J4t9r%87w{$a&e$6!-DiLvY$ygbUcErDfBM5qr%7)J@MRz1Z*2h_PANW|# z`7_`KLQTy}V!iQM_k!)fY9`Zku&9~4&{CUkW8LgIrU<6#M)jB2H~Jr&9PNy3K-LES zUL_(C(P_mxYEf<2L}EvU6)cQe^PYSk9gB3csDAS%5m_7H8rN93_WBG|q+zQxT-t|4 zE!MU?e?UT9n$;ZQp<5CErDoX6eM~nQAv1_opGCfu)4kogma<`%7QGNr3c+Yp+pg_U z|4@(WolNS(vz9Acz8)5WTKo6n%7nSBx6??$JJ(qn*+xht?q(7rBjTJ}r2(2-7s{s5 zTPJg&B5|b97IXCv>`6m3cf9fKsDMN4+oDOj@(hh$HMp_5Dr;fcJL%|Q8v1t4;AR~X zOh|yK4o)VO9hnm(l{z1x`;i^|BxR{W+*-6#+R}g{x3w@em6eplbqB-#5D^s!M(lfw zAPD_Si_y4OJF&6oL60(|+mk?cKefs%m4{&Z5O{dpmu}gLmIgDyUWoYy7C9^W&GFip zr&W-f83@IVS{~7!ZUk~aV=p97je6H>=UmAXh>3JWP|#}RsjwT$a&}G`RYFIr5Qd(4 zAhUP5&w$L{Mv7-EwC-RlQ0sP82qU^MShf{gfiif;$#7~R?_M1Y1lF9?%8y(LGsyhjGa}6m$-^lNNP^=H2_M?o@8}hY>%S}8l{tsT zJNeFkn8K@rl-i#reRX%p#}{M|71z>~Z#}wwn>9)DZ%Mm3W;loMh}+Wz5PExh*9tdsQeEGA}T-7`cI?( zVEo+(%<^xH5d_iy7jLOY^6mUXqts;my9-vB8Nwne;rB|mryMIz*XBz>Vdji4Ia(f( zC&M}l_Y<_lEiCNn_^TC&ELFv}mshZoP?!mu$Mgg!<|s=TzdP#ZCy}F5B5dtr7q;H- z{`!6vz|unu*zE~9OUGb)5riVKeWCN#eI<;Ue5@Q4mYZ)>Oh-(jvdAe2`_jC;RghmD z$d8(&o42?NdbXs!eimL5#uv`Fr!E4_&kb9KN*JFQXU(q3R9jle`rm(M60`~jpd9@b zVK3jID@?ER{e;1e#x=-dQg_BMIx!#zlLYa^O_#2_GeGH*MnzBAc=~oh-vYURStru#d(D% zZ1PvSnaH(MvaE^2@ITAgbH3RVl`*MF`PPkbz{H!^7Un=G@}8Pb3j|Bxe-kIFVp7-h z$}TZ63Zr3dkwP0)j}}qEJ^%-3PfiucSstsb6Rj$u68H47&oc1wbA}ok^jM3%&oipr z>9YRR&Y{PhK`)<6vz`y9K8dYjVi4_R8?VZS)|af?=Od+yp1+UXPcZLMw>Xi&jPjaF z_%ix}Oc#T`IaFSxg$6ch8sSN@{?5nyt#T%TtUxA_t+Yt^3tovPDVwwx;Z%-gSECbx zV7|lHltRX4hCAXj;>ZpZ7-mMKHa?p1+?D8rcOpC5?zH(;8v16#gU9+QhjOs3V2gO; zWVEn^vF>le;&ylT(Kwl?fWx_)+lX+>LNIzQ#+LCqm$=SlT~cy-U`~jIrTraKddGEC zz!K7otmsWD&a$@+)CcJkd%=y{r&%IjJwO2dN-Ij5T(SMSCzDpEL>xpZaB%sscC zQZD!EuUu!oF-;?V{Mw{R`u54Vu;<-^ob%2YGpqFPvS7p$bn>P7V zaU)gbaEduf%}+#SHDt0ywhQ~%3r}vbUF`;#(u&4ej2%xyv}=yXBd5s;lZjY8DD2Ae zM0}@tuAV$4sA7W;#hEA%0Dt<~y>N_I&1=R1LecqUx{MEx^O9)Z5~{Z#DWbBI+Nrqa z1JcCf>%7!wtfiO+r7mPl9Hhm|JQHD=h%p5bm52VTEIu*zqcIVNNqso_q)34AYMltP zCuqqr_UD9?tx%=ps|fo`d3mp7SY4S|MUc>WM#W9Fs4EEjt|?P;3v}&Ao||l<_g$s{ zCNQs#i=<=t%tCdzh)ST2jWUo>7JYI$F@azydGY*}2m+dINfZU0IqFY+$KBGIbzxd+ zR@6Gc36d^0Bl1+vUJ2tb2b`Q3kM({KljBUk%;%Tl>f(UD%IfRQ{)K1%6NUasI;=DI zpNwVw|D-YgHzEI5gFn&x5BGmM1O76dBlNFJ_=|)8Liw706LESer8*d~?t*$$hCMiP zzpSzCmCW~~lvhgoutULxOd?$7^TYCVU&eXRyK1MEGFLITF@k5Fq(g$3)Fi~Z0bTI@ z`@4@SfT=7;3xkX~31dXply!e|XT9;v z8#({v!zTNd)hUCgs~iYIdj@YeAchiyn%1ehecG*{YC9SVWhvP9gNsdy%nBXW0&oh!1=-$YNm~X zb^Jr>lp=&VK9Q9HVuKb7x)Pyb6wjm|wE-PgY|($b)~*cFFj~Q^;hs zpx|A$q@bY_OKzL|lNVEkI3Jv)dWo>HALfc9z z++#C&Oek#kIaSlrc8kbB0b8ziwxzHRi4jvGta0s?jHakhy4*Y>qi(lm0lhzbzB92a zQPTK@CXYj$1*Mx@=1MbraC9=f9qmlqV2rrh#Bi{vep|+F9-kB> z#x*X@0W6&V_;IjEo$4PV@1LCBFk1>3bfLHnU~A^}OYv2Tts)q9Z;1E?h!%up=fX4& zC=53*5cc$VNSG`$KYx13YG72=&38wVYr^1A z*iq3O-Lh7BB*Ot*!cmqW9rSMccWSi7PT2jS=r3oxUYa_suF9 z&M1uZMo#~N5xbw))fExr_xfNZTSjoxi@r1r79V)_?BM6Mfvmx~OjVp0y*LZt?O{c$ zjrwGBeB*6mVWVN|=hTO57GUb|e(PCCrRV5#UMpX(nKuy+ZvU!a=q%0|@oT&-m@%E5 z4pRlwJi~eYBF@2xH{2GywJpIBLx9UyHNl6(Im@FzT%x%lz^(y{m36>cS-cqbkZaQ| z+ybA*+QRF1RjAg2t&tjwa$j{{tO?Ny9?#=jRk;5QgKcqQL8OG(oU7DGI*l?^^=pn@~I8 z|FjEoVS(R87Y1huK}To3EF-6T=|^VHyq>itp(tSc-&n0htjk$o<8Z2S!J35TSAk@G zy)fP^zPiQ+J9i1FoBNe6MDrvC96%QA2&fpbssnP@m?enls7oxgNHW>M-rjgDRve8)#;apu)lj`bXy@VK7_QMZ63mP_X6w%a;n*Xq=&x-jvG19Lv zaTyCrUS{jnuB5fq-4Rq0EwVio#(fLwW|Z}MSGv4j+qci{-W5(Q4z|Xo#g2+X)X_(0 zs@i7D3i*hp405TFZ&&sAvRdG~`*wpf3?mW_kLIsDmfnD{Ntku=4s`m+d#^<8-|k)F zK9R`wbQC3Y)r5>H7$U1XKpkwj0M%!%r>df2^%#28SH_li*)Lq2xHr;~)7Wd!_^7i; z=>B75;+#8Ul<5surfQWHM4g?Rd6TcMo~#nfrPVs&OjFgAsWFY?Ja@5h{F>;{UmfDxc{y-@WQ{>smR(w<$Pe1qsJrN((FOWaukrxr!#&9 zOXUr|b-Q=O6xG*{3_!aNy1Kd^EGQHvJsQV z+)}lAhUaI#v{2inRS}Wf+17C9JnpH%3BfV9Qh~Bz$-yt7=;c2~8zSe*Dj%dH?XJUk z!8R0+6!XYgZDn+R6ZzW+=TtJY&$2RvMIE43`SnZdxm8H1?hBT%jGC9w*Po~mRkJ-` zb-wX@`}y8WZ}Q|FGF48RfuA2nvxgE{BbFipoh6;$@Qr55raA&4W*SU&S&$tsh}wqk z8N+$B^37JPlu~`vWVH9`)y!ph^QM+Rx2Lsc8|x=IX%yb5Jhhh~fNu*+FR(Z9_v`-vpOJrR literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/01_of_hearts.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/01_of_hearts.png new file mode 100644 index 0000000000000000000000000000000000000000..63c1e048df3fbfebec87f077dae98e9b471446d4 GIT binary patch literal 7293 zcmb7JcU;rUvJX9o2w3Q$96+%kiX1>%BB-bcsE7>#5oywU2@rBbP^2j;(qjWrihvL) zfpb8JNJ$PTEkGopgc<_Dgph={c<%e$`#$%b`#$fJKQ=S_-Pzgw&CJg1-alt+CAmd$ z3j_j@Jbmi;1qejI3jz^ThKd3XsY$;OG@>`Ht&T%BHh&mgaV7+!tatkOv5S$z3!~l{ z4&R>B7`9P|gHmKKwH+ppl{LyAkzeW7ytc+3i)F>0uROL>OjJwzy70tJ;ql~T%=tXX zL+#yLon@fMH3lNx3Qk`9B~vZ4>kb7G@lsN7ZsAF7-(W*-2#0yJfiT18y}h*S+w^>O z1M4lP+NaR$qQjG(fk#2d^f-kv%N^O#S`F_ZpGxmazYg|TR@pl!eh<~f4$fne3jbWHT%DQ{VE)PMkaR`X_r#1*PkyA1yMc)esj3I0G}(ZzWu2Gn`XD;vk&wQ&6kcx z6W2y2P>++`9_!ZAUc~kl*+`JE0fz4o#aKU5?V+&QuS-n-zlMWR| zeA!!U8b-OlC(a;p={tu-Mv;95ocfDwa$9t;Bf*EfDbvOI;lq7F(={3`BMVAocKhdv ztU-A2#OFJzvCN0r0_@%~9I|z3yw&XuYY)C6$uo*ZZRl`bX?NjL8f!cJT7*}3wyk@`p~Z;eMsHTPF~#J9w<$CK2(y`6&1 zSC3SdEsTZO+A2g%6~lSnPA&Z+Ud4mG4|JO%QN8`y3&WYVKl1iC1^yutR#Q_`yASbj zp4<%QE+xTBdCP%Tt}f7aw;o2Q3?v!#kvbAWD6_tXbZ}hf5*WUzlbuYr)V&ALx$WnHHz9g9!-B(d>mJ#s4{Dj@Y^ z11^Yq(s8Sr#@s-K)M?CIS`1K6mn0wk`S$;{Vzz}-Q{PykJ7Qu7VoJd*x!{Y`%`FdIjod?%v zpBaDig(zzo9IZVnYTQthrubxAC|3dEB16h^!cd)~>0>hpe4%@dn3Nh(XAoxsn{Kc4 zOdo>K-XnCKhNCf5A4upq%yf^R8IfS_V*oKeK$}u z`>Md_14M#Z);7iwLc*aC56<+;RQ9g;E$Cw1lBx$0bfO>vh98evH?8&;4J2)| zX;#S+kfv=H6b-0GYx6k!E1oGJFxDzGGIuxZyNE=Nb0Hkg0N8~uCZ}{^$gOwhl(zHin9L`*y0DmI0XaLSP;&H+Texem=@{||~>B1*C@9R9! zpbCKvW&fhG>{b4{Rjo5C7X~JhrLo;_tSq(bO6KMsrVhGj3PM94w)M^ABpDWj4~%r` zs;*x&g`f{sMIJk2F8ADb9V@Xr%wak z2&)lK^!Jt>CmB<8P74Uvf4)|)fO52IEP=-(U8^gd$*@RW{$(V-sdngV^(m)$V2CYak5}!$BPp)MBBmwWF5O;s#C|=_b1Rw)g~#t z)njlx)ijmhaA8(mfS4#1l!K=z`Y>h(7!smNSi6dmWWMVc1gz-SM>0cWdi zOtR)r>!SK>esb65tC?5jamb{=iBtSS8M0EAcbx1gt}jrNnDgrlj!X&&Sf5T&e8SJG z@#&UTBZ?r$?}lC}w((h?KAWGz&y#b}cZ^2}sSzPi{l8j4$$x2~q5EqCq{bO|rA5SL zCzu7fNz!oMrDh+iYX4<}k@xU}JF;L#hZ6SME1GYrJ}!mwg8Hnid+Db|rl&q#^p!)& zT8<0{GmcPW%^|||5S>x&lGluh%o+D$J3_!!!?S|I^{EB{+n!scbAM5yFT^m*EU7wY za>@9w~bNxruq9H7oA!0h933 zY#_Wij<@B({0bpyX(Z&Xj>(PqpUeU?39>}m%M5qqs$NJuV*28#8xIacgpHGG3+|pz zkr@zIBObkuiv593W6eUOY08OPJIsleNjaOd+@5<9-zIP6av!QjEPH0CyNvVZ~ut!L&mU|pHQ%@^* z?X?8+HxUmBY1(gXo?D+%I$PM;jB4N^FputiaTscd6!@P%JDZGjcO5~Nm;GuFeB;D( zf?}wfW;}=~zoT1Jcaym7+|^YNacSC%=<&Nh#5iqo-O|7@6M*V!tBA{NU{& zqE?N-OV}*eMQS-ezF_Zm38E(v`XSJD5wXE%c?hemfbE;|Z>n20!aF`uG4(nL(US_@ zX_p^z4Tew%Rb_H?ggUU9f-TU7erVQff11Qf}lnJr4?2LG+_R-{j2kTfQ7GN z1pXu7zoq^Y^xsndH))$w0{-8D(X#*0@$UftQ@6j9mh*+lz^fm)wzGxJP-o7`S%if_ z&7up{A16@MYhREYy|XyT+&jaQn&H2~5ciYWoxO$9Cq~ z&h#C2kK=F=qwaAsUi-c-j=nxBIugU2+0ioIYBOgR`bHn$=x8k3tX;T$sIJ zRTcEfQZd!Q?~6aKnOC;SKV+4bK*R=wKaZJtT@<##NFOT0qEI2J2z%Em_M=4_lFQkS8ijY!n^U0)3ayAq#^UHipW6oS%W!a2zd+RLGn!JjjV!lYF47V1?| zBQYApiy0T3HG6yS;Tx1j11)Rk%=_E))QFGsl>)j99)Xjq%w!CIv@=Xf*{cbx;1qpq z=%ij6TRPsT%9;M{a&CZd&X(<}>QBP7t~r;U`Tu3QKvnd`P?SzbMI?F1T_2oB$8Ca^ARX+<=W;>F@nzJoAn5ZKJx^Mecjch z%@k1=v^f#IHrb;}gY!B}!HO}F0aKm2^v0kxlp|N^7^dXZ2A`g9NVI~#kpD zTY(6I;gGZqH?q02l%ci=3x-VXY1K;TTVTF0_Ahs>x&<(_opv3{* z1Wq(b6`kl7J^5r_h)3S=YtSHO^gYy2PmzDK5JbVeNADZ#n+EFSrMp9VOn8;?#7^N$DHmDJaq0zXqZs6OPM?aw?9(0`ln{TnzQA@Q$? z;lE4!KLP*G=}6oE4}Eor{~6#uRfbheLaB_;1 zdp%)7Y1_}RkONv5lX>NlU`5p)U_}ivKd!c_1XK#eu6|RWC+iX+B1rxk1z#8RDOU&d z3#2KFk7qR>0JZnRDXOusA|~}xskT#|lGXJjgwTgSEv25A6N6xal0;F4_ukj+;P8j(_$qg>71)lF|5=%9|*%Y(6{I# zY}*BmewFbj*f)b{XjRdoWZtvFMS75AYfxRU^_)P0rt2kV3$~>&kMl@_5$uL za0{RgTIT%KD>v|Ie)4w@kltk>geJZ=qsEKBv`tIOR?VjxZq5-gcJ<1wtOMfX>8Jy~ zLqSxaY4Onzkn6v7P%piH6%+;2n=nVLY`ARuW&zRqzRVMSJuV7L!b$-3+f%$9Z_yhn zyoVwkZa6+oO}aRI3~af3=Tj~#fvU2Er2neZ5boDXSRP$TL(Xq*jBe92ms_4)r*uK) z5!czSyNh%hj8K}Ho$Y7kftqWrV}#*pUtHU?2L`W(2FZG1d>*)bx5?h#@;h46bpeD! zF%_?m0ig#OU1{s|fGfKXD#0}pk@&P1yl7x4MSq{&XpGyDvm&5#{LD^G?$~I{p2%&1#e!sey~(p4~L8tJTA-or_Nkwwoh2N0R0$ ziiJ#qZt^?vVqXkg_!TH%_u-_vBe20^ca~kuo3Lxkj3dCj^C_TMjebpNc~e2a`Nr6- zR3j*!HIoOV(V|9)B!6qVNQFxwvMy|{w=-4w>Q@(=O&hPo_da*3(qske;vRz%{wXl^ z4ocfUO87kmr*!4u*1$V%eR~_~MgOS53U1~&MAv14hU zo}jIV7X3I^{zEL98;KUxuJo&?moC41mhQbc>oU%Y^E3ou{yWM|(vZl#C0-kx&0IiPLJ zCNFlqcO3U)n7LlwaFEwz2M62wsGiRWje+w&&aATOQx)Vu%Z@l0_$K<{zQ(`P8~d0X zGXH5@?1&KH+NPT0X>7*=tTs4 z?G-}kmOr?vLGvp%z`R{$E`=sU#!vznS^2bJWR!cKyt)efQC(E>wi(fooYzqS&O4oK zqsmo;U5+LZ0-GB0+&o=vK-33GW|+-`8`*|Pa+ z;1bq*dd~u>#wSZh@Z9e3`9T?5^R)@Px3*@hUtvD|rIjZjUp~!#d)Mk+oL`H3i)1ZU z=v@2oSyn)MhlK0_sApbK`#XmYf9A_fz4}m@_>tXbpGn)AGCn0yt}62?>Sy2b48##p zZ_3Ndt%pYpMLEA!6U-ahcME7skvaX?+nEL^!1U=TXEuRHgQ0y8m~ZD(9mZ07)8Ldm z?QNeOJa+tRiM>;qAn^|s`Nh-9X8h#yf+9L$RP0Y`d;T^dnrk8uLWMZut+fHE?GK? ztGR)Nr6LK1S~}*%uMzmpCe)FepYGi;*oCM~+y;yO{@C6&s%log$7YK&*0ojCQ3715 z_m@d@u;Lk%$JOb(Xm2NEBQ)apD}@ak+K7_}am?O&O(OQvSYIPmzm@Jd{18ciZ*Yeb%EZrUuCwS;aP}Wkw=?%#ORcz_RH3!UhS12S zJYXUH)e-A$u(4MqVI4u!#cz|pe|)uUhoU3N@4`L`VFD|k%UusV<`mrB(N|gKaALVe zvv)_28Ed3|*Zxa`Um$)TV%C)5-Kr4% zd-xpi0701~xomI-l4>V^d3@7&&)A5@7;>yHpjs|~zIi(Skumr%t82^Xe%>`pdMNIe_DAz2$)dFxn>wcRV36YSOL4#FK* z`IA~Hn<4_@R&q%M@CebYY4ZTt5u3>vy&%fm5V|6}^?h$S)(X5QLQbEsJzj2c@${(?afw5N|q5xV`qx2WnMG3k@LE5dGjYB^zB#-Xq$qCiNy zq(RYMrDwHiM`aK5QVi4l#)r94veJgMNu|_{_o(R9KK)eWeZRzQrg*1}RjzC(wx=Mw z#;X?jOXY0M;g27SWi0O$2m7l#RcmeI)dliJD#Gfce@(qf5XPyuFBZ83Ktms`|43Lp z>3-3s@=m+7)w7$uhM56-DdjLV&0_?Dm`y&0C*C?#%lSF;IqtI0b^@ZzuKYTAsxRz2l1lWFimZ=h43 z(h~ztdt0nouvqitdgunbvY6O~M%iibje_iXMJDBo)+KI9mzAu0TY}YapKWb@F*&0( zi@9wd4uhGF?MpYu_}6iz^^2Pbqv*blAzQN#twi~!N-(ZaazLhGRH(z!*HhMNEa7!g zAGG=fVP<%D30H9FdP_&Dg$T?H8Wzas^%;4=x}~32P^|=S)S-_gT=b-h1Wdnba^NMm zEvYYrTlud`ztC^=OSl&Dy0=mX&kYyIv&>>HUQUuxj1Hc@Ze6ZA?b*V~O2&D{jl7;g z{8UfeJ%>rxh6&e(+0uUPzLr$JYpnUkvbg_c+40gj4bt^duHH*s=SfD^V`!bb<^ZbM>F5lrkJ{jS1jj&fMeF&z`#G;kmO!h^#r()4h?*dBTyIAy1w(!w5_Hw!vpDdrd@Do>qGn2aJdwgl6Q#JGKcJlqLk27xA7G{ceaH zMVaKUF?B`Sq;7mXt5){#G!-sFAxfJl{}{(t0T6){q1dJuDU-<+WvoQhvE*6e!k@o> zQwinY-eOd~ljKRerM@`tPq#$D);`rq75)Vur|kB`!hCZ|GH@pWvk0i>#(Z<9(~}ay4{lAhK!|jnBv8 zE$&;_O9c9gtZsgu{kFQ{bce6vR5O&>{F9BWmUYC|(&}k!p3`(Nq4EbUiqnGn61NKD zuevb7fxx5$c@N+n;SvFyjcq$41O_M*2z&;jPdE#IjAlfgWDy3L6V8&>C*L;OogvGR zvaH`o9>swB#Zk@`N~)^MMHY5kEvLk+qYi#HFeX+@9db~&>(^^VzNAvLND8bj{hWzsj)TuwsMDm?PP?Lk=B-oho)FyZg8h2>1NYg z-inh)H#)Soz(szVB&HfRgzv|=Bxq}zb?=vVi=a*MZQmLW>dE0aBvc|Th;aRmz#8-9 zl@)Xd%&A@=P<{oCD?7c1Qu?Y*x<&U1F-czuW*nJOcCrH;BYsbJbU)>o)GFHD;HOO5 zIsr?8KWT0;Nc)V>!P718m|)GfPOt97QLU$7$6a)j`Pjv&ovkPc{wKn0<-||tF^3&` zgco^c`;?*ECUv6@b?@ijXGHCv9nSDReL3cZY-x#MnSiNhnA`fg9zW85VnoQy&8}Vq zyZyq*L%cAS2cOTWT)6G=pDDXMflf&R=L|70<9)I1 zwt5Lhmj`q$*B?s!no7AsvYJJS_tKTzkNY(NpJ&mwGKWrne5P$gv^#Ut9tTB(6u^xV z?@6azCKYHKTdCVBlbCykZs!&jD6-~9$%9yg>12ZbFWfo{r&H};ocr7DZ_fQi!N2Tu z3jT|W|AU(UY&rup=5J=xr~h~T|H|Zmq%_&X0-AJgD&yu`l3<4t$X^}>Wu{rmMRW;* z$c-f@yC69Bc15Nl3P5^c_IO8Di!qR|Hw zjU!%$6n^J@Vh%`b;8BMR>Em8T&YZVvAloc=po7Cp`lp;>cTqkL*8_yNRoKl450^4? z7J&6hO7R4aYpE_mC3-tSlQz!1VL%F}1+&rP9W<;7K~4n%t&5XcCdfhs;3_blz_r|Q zS)h&Qe)|E+^;)Uj$Dq8G=k32ufpQ%}KH33uGX!(c0bZ3F;0EPFuTES6>hvPH&J)P*L`0x>aQS`s??@EeUm4>a_Q9Id7n$X2zM9^=q?iC!pY1d`NQz2q@&pLk9 zYJ2F!@B~)$SV0rd`1&AR3%j^eGe>>L>b2%W#(QAiD4)}HSm7DJ*Q=P%v!&i^<+S+? zn|N8$N7ai<4kmp*h#f@}WoF$O8Dw~E?@g*W2`TgnJw6~QCPsNQvru2Tmdz!&lFa`U z{=J7$*)(+;vJ1-PqzxE=tuM#%^+yUksg2?%D87Gf;f#Vw`D+{KMBwr^S zYw3CraDoZwqgvPiI^?b>YPV<8hWM^JCz@qUSaZ%v-Qtq+>a+kU7{iext+ z=-Oq>TxVbow|Rz+P*tACm+nK@pvbwI=TMin8zA!2=7D`jASWJ|w}*n|meDPDfwPY* z!?py#G_G@DB_cJU?#f~nX$?1QJ>JMJpLZ%s)1Jr^^?}d_ZxTQ~zVoK{hrL>4NuYSi zf7plr-7x>(Z5&Dff&a6m|KmTxBabR0j~cgSA)Ufk*=3f(W(3N}CshZ>jx&%$b-8mS zJd5zLeeRiUPgHy#qGNs{NrG*{kVR2shj@RlPXgH<>Zc~OZp0?1OU>Yh(`fnv<|X-~;**w#u1v3^xXSw-kzN(U^68Y9 zKQVIf`o$-)w^NckJPMkRF-oVyyRAUry=2y8^)i`VDt8={gjzg$I**A7rjCG2*&oj9 zqvDYb(qGlN{VpC4WCBC!(w~Z3o^wMcczU%-EKrfSUsbC8ZwGDN767bW4EQ*{m-!P2Ps0AYxtM=$QXK7rDs zP3C?XU{U^+6viT)8frVwm@g520q1@Wt~vWNndo3l@Ef!9*P=-#xu1n=78%8O_Z}1- zHM*nXYjsC<&DYBg6icHl2!7osGBKJxAwFjyS1&mY)*jb^Qi9|D>(cS>O9YGX+Ut+) zuUcYqd?f;up}2=VizzygB^ZZ?zmFX%eo$j<-8`{Gg~FAB!4h+C19fxS8m&SRX-(h7 zi76ulKcagz#Vgg|kAX_zk~GG?u;L?KpEer+h>E=_f=xwFC*@i#O#D^exk*-qm}6g5yk3Qg z&~_*w7mC=aDuC3jn%+%mjIuz|?gL1pv`k^*+RzWAmo>Z(Tk{G%oe@E%wfl}A{H)m{ zXMIuQf{6MRr-Z~euS1bUI}o^a;@)g?_s@{`&FeQ&@h-=1vtpj>SGs=gg#f6fdLy`c zFX+QwggLOAsTxFOX_Hbi*+)o+6N+QSk3G)Ml0K?zju3_7^lX1T_RWx<^z@}AqNnqX zy+6M*O*a}HS7Q}E4jVan^+r0juK7qDaNIfX!B%guGv?~cSDJ^OE@a%L&F$?dBO~s{ z_gy3S{pq1GV~6*;t&={oCu9Lbl0?=KNGX2h3$Dk~-7 z`<4SG!Ls5W}>?SM-;JmoBnz2xCq2gP`Z?I6Ifcy#Ii-645Tg=@T@?WUX z@a6B*C-`+z>d{d~1j;xVxE0?3WQIRf&k&F`_2?`f$l-9w`PW;)CO6$J2$ary8YEmT zbR$jxc-zo$uZ^r6C1A$b(<0Wl+}nm+YCvOgLzp|h7@Md+fmZ|mQqRn# z!{u7~tAR&QSo>|W107SeQ@v9`W3m=)Tew&s>1W@atm39$mtq#ZdpDtE$=wWEf?#$4 zo+x;K-epTx5zB9R+FJe@IVfDZAOuTRky~@=5v5F`J=InZ&`E7WrlU;G4w%i9;{5}( zdAn2AcNNy~U`waa#Oh%7p-7x8Wmq`Q(|m6MZ9b2)^|{Z#@97vZ2jzKZEWfMJ_}SEy zH?jSQ=AEn}W6QA+QA8O?>mTr!g<8&KEP<1mh!cZn?CvL;J)Xo>hm4+b4s$7Zx#Wf7 zOI_xgtrMf*N0!Ae9DXvXI9zCc(`3sUSEMiliFn6T?xq-tiJzqM^8|0$;qu zn#6qEDaWYlem$FCRSJ+L7UF=^uK4ROcIz0VVqk`e%e2RQzXwr8)DiOGoahBn4^^!3 z+^j^q?mZpN2TwSX40Tl-Un}xvI*TVdS@x}X)NeL~IY!9aAnYjlmIH%2oBCm7!=R=< zre8ZxlrWqTBAXruB$wu{3&4c1a`oC>FRtfMsWzCGWPhqu)iUs$Yd-WqC^@-p=@ zE94ST8s8tdW6xvf@S)~g(tJiYsc3!h#te-SL$yPm_Y-3TUMLw%3~w4#T)T_<59UrN A3IG5A literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/02_of_clubs.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/02_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..1352718a4cef4a202706a0f6c99560944cd33c52 GIT binary patch literal 6163 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 Uv81N}OAWegW__XT{OyPT2EGiBbN~PV literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/02_of_spades.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/02_of_spades.png new file mode 100644 index 0000000000000000000000000000000000000000..6a89abd7bc218bb123a51fbf1469e7b8966bfd18 GIT binary patch literal 5961 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/03_of_diamonds.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/03_of_diamonds.png new file mode 100644 index 0000000000000000000000000000000000000000..58e85f51411227ca338f45367df120294975b40f GIT binary patch literal 8015 zcmbVx2UJs8*LDacD2Ac}N)Z@FQL0L)ArN5%g`p@4DosQnfPzR9LV(DC0s`XzqM-$m z-b8vIrNjbB44pubpd_>)gx>PqIPoQFc{8yjN*B*Zg};n7&v zl}BQ|@xks;YI^N_E$T*%n)Jk0OVIAS#*vMB3yszlBO-jUrNiDi)Sdc$vLm_Yg{D#~ zFkx|Hqn@npJ^9+&+T&4sKjFj|;$sn<9rn!RBRQ*%SSb8{m$-e6d%4diT)n=}1c%ri z6?T9g)*{g?oGa1*pF(6o37P*Sp+n7?So^HEN=~5lJsIaVAPCl-;XiE5Tf=t{8usl~E5H96ap=s@3wMygD>ek)+h*cot@NGhQ(P z)Nhx0Mp7j@xao>l8Dr-Y@Gcs>z)b0p%lQN&7wfGY(%9p!wFR^Q6JAvip}NKC($wE0 zi9~#lw(H|1*H^UfZ4H)v;A|!96A*k;+E+m<<@`btnICaG^F|WCd<_1zz8g~uVmd@_ zQzzn^_4e9+r_@ies0I9ZL&u2CZ;z_AU8J#lo7~8JelTk5bRd(gcs;|cYbK~Y10GUw zl&9!WwI?Yl;3Y!~%H07%8Z9?XL9?B+1EqcL=}v3rjSB+p#Hc8YJH)FdgE=s zF|GX7Ke4I*g|b;#8N`4Z{xRlx1Q&z+IL>NgU)`Q zp5@=V9ZV=w%4Qn&xX4%=UVoq(g|t6KZjB4@SG|5~4g_{eLlS%wY2A&w+P*b0AZ$gE z?(oonA>+|8b1!OLYLcwVllf;;GjAcyG^K?<739g{hdplxN{o5tENq>zHX7e_qi5*? zb6&{Q9vXo&SUb}?vU2Opyt;#csb=sU0=e5ak=4mc(lAsfrU-~K_aD_Rb3++zzS<_p zB1V_|ms&x5O~(4vbjJh&Sg;1k%l(7Z$RO??bC^k+omWkw`qihM9MAA8=%?H|Cd!Pb zHr2Y}7aIw7F9X@r;sSz!F^KO`D*I+y2M1FHMAV;b90BIc4l7~rk}BJMRW9MKmRcG4 z(cMIuXFCUCsvPpFLx^WsZB*~z)alN+R94g6N`U9r_o+#8IvRq37sINLtxWgUiRNFg zE|_8~8A8BLF~~|suQ?lB!{pM&l5CDi70SNWFZMvA&`RrinCqn`%Z#Q7^{yc#US&r( ztZTo+Bg(JYW2@|wZ31AYNhD!|#HoqVZJwTH<(N_HGnDw62u;mOxz)N%Vt?^CBy1GM z{tcO)Uy43B`sjjvFiUl}zUo0C6zmjBWL?~#PK=rd`gT8|@FD^VHjVM0C?kk{XA&>7683?|V~BRu(uQMpFY`{>h8;tB2FjD&-yDOD$Eo~^4zT;Z)K(0IEr_Rs z3*ru;<(Lo367ZtHjs1fa3z*D=sr>XFMc|EJxgwKyM5|;6Nhk?fYDMDtar>{=mF?(C z5|+PBr(_C@TDle2L_>r^%!{w!Ay9KKP6Rt1DFk!RFl@c=ub$LE=I6VCKV>4*UmBR1 z;5M$$P5^pa?=x-86-}>bkVD3vQXa|SJOQJbs*&naNe2D#z+nX)>@n@KsRVgnQL1cu zSU|z>uFV4Ab8B@vBa=^`#lPMqiB$cqKdYf*T~bcRH?us|3?h7ZFQDQo{*kby*P=7q zN*KKRUa@ssYZ(jCH)MS_yPMyl=l@gw#T0MA$Me&<-$P7HAX@|W@JOD{mpe|Ov&BR? z_NY(YWt!@ZE8BoGde?N0fJoq2fp^byq6?_%WaK>SF@|#HR=ug`V&?d=a*lIE<05^& zAAVnq`P$WFQzO-A@3X|m6a;$z_QP#`vPtZ#8lUuqbG#6JgU#EEE`Zdvr$`HiK#idw@5QnNQF>OIIJCB1o!x#EHofiUX@iqs?hMahm8^En?SF zk7nH==rPpB%MI(zL5Ddb@{(rv$Z>h{S7QqcOlH-k*~hg-85wtV_;3R2tmYW1)oMEM z>{%fa>gOQX0tHz^M_m?q0`Rz0O=#!g!^Pg8zh<7Iv_1h??XIWS=_?Atc8xQ0H3K|2 z$pQYqW_i0F2j;prd&N9}p=||3QtqQnsd!``X{zPsxv8#3-RWMH9qDuUnUGtSX{L$Q zL2ja`t@1P#X(M8n7{?Cv9LZU&Jhd?9B?N4IlX3nqV&=O))rFgN@k!ua8v4|Du!FhL zuGeJAS*i5s-^e5|X4-hKYE3gyZpPH0*LP5L?pfbWY!cjaEMj{`DKuOrC$Fl}hJWiE z9uB|v6=Y%9&@Vl!OZHE$pX`7ePP$F*4ca*4$==LScFVfXMVp=6~t$;~&YOA}q8 zOSjn8ypXL%hBD{n_14j6A5(M_JSne638C-!JVihMiQVhV2@A1#of;i0tuuNf^kDjx zkUC$BTGRP$TJum#A0C_JaP2A^WF5Y^0e_!7Ea_N^taR~f^CBbLcY`O(61>|V-&#PK z4YA$V=4Xv6k3|d{a0j`Zk6f!BZS9M*UEfj0$vqOjx^BeTpvgtv$p(gUwuWkro*#-- z3J%iE7sjp$XnU?7AwYgs!#c72Oo(l`>XK+YO{({)a!#BH{p z!XiS!7>R)CK#nmEJ|vOrNzd{RA(bvrdk=vzc5;|h%4=7r_Q!M}zVL;_VDmyv9Z}{% zH5cEze9C@(1r<5=0AWRlGXJQl4T{KVe6T(?>g_{@`@4VP(vH0wp~+hm%X*ro0&n}B z9$=HC<)d#{=^XyKMV^eH(44OgZT4toPXQgeTAFsnaCWyaAvr@5pqpo^db`H)$+-vZ z%Jp|!;*-ze(F%jZ4GVSe+`lZg`KZ_&^_Nj(H683Y1LbQv;O|_+&MvMAWnT`PKf{hf zrXN@DOXNxGr(8ZFPX-CXqL94*)`FpbUH@nWVIVN{N9RA<|BLYtqW`Di|BnIS;s3?m z3y>%Z#3zNs^8hVY;NMz4Dc~BQLg4@34Pwu>YW1BSnoL!@kCbC|4Exo>f zdG{E2m$_DDH_|9-^@mNv4}hUTU;Yvmfq1i|UuQP_*$IS$p+03|8{Vgia`_7|si zCodjhR=Eke@M2>P-+0*)bS2Hgp?p$X@4tRYN`KSDRQB;#y80~>4#IK5gI z8bF!?fc+XU;$g$td-P5kME}^_tTCTd$<2jP8lh3wIqZYMPh^`*X2}IG?<Jz)Fe6u#s<8$qWWzD@h9|Kx634VF&y9xUV(j>Vz+o=^;WwZ#O1*F1$4mP?12L?p6 zZkpnAe})LZf`va=03!lX=IC`?2%i*j7I>p4EK8h#MZEj%-2@a2b-Gqlv<66yu7qAA zFf=P{^IKa&we6xPiuo=Z5rcV)k!32FTpq3cw1&h_E{;-dr8El`f#=UNE9@WiXa*<| z5V7K{7AFmVL$>dirD`lP#Q^|s7r@0{I2D3DQJ5Xk6akDN8Mwg}$X|P6p{K^fe0CxF z5#74Ye0(@Zlox=?+UBxV5Ud-;Wz@z2 zsF3cN9LXyPgMJ&XNz>3=xFsNiZ&0XV^vhC*^zyBMHJ9hiKW9=Vw+AF+S(ndizv6 ziJ~@|5$M^eo+R!UXr*$$Ku*iD`2-|vT%QVTAuF{T{UQF&EyFvCWODws-%x)ul90Rt znOxrRDs1EXXqVm^W^vqyCWbnBab5^edP9{u6N0dn_wyqI$?Oi13~u1elXFu|pASPtW z=hl2u%G1oxsiuj_M#LW+B2TtC_ZNSdIOzu|=W_)!DsXu?CD9b-;=uw#%WmX=vJM#mcg zxaj860+!Y`ZU8*65`F%Fr!V03k@nqLeew?iKruD{!u%7C7=BJ>IYnBzK7(uYm@fkicS5&)7b8VX=z_0Re_nQJNR`!&W|)Ts<{@-@>(%V6)HKFmx-l_BH^5$yvHjDNZ3-5ekViFDOe> z(=p36^@V}k3xzrMOa9?j_*}?fncnVC%1IkCsczpsCXq@vGLa^6R$1o2xl)qGD=zd$ z(@;JZUK`(mPS+0a;3p>d84eHw8{AP+E8WZAoQx{%%0y8oKLDK2{yW`=Y%7Pk@}O{R zfUVpn5owB_RK;a9M~I1YDIzXAE+D%Z?cAHCLcV8bTNn&T5ba)rOHFDHO_5gOgy~)Y zCgUyqEHDaP@ViW_%nChU#~D&-^P;)|Fq4o+&&k~w7?5DTL`QCz%#e!dj|qaXOjklu zcKh#jcQyS2@6HXr`!`gDri_ zogDTOnB0VvpM;*CE^Utp(I+X z1O5YcrcZ?fju&!zpUw-pyfs29kz;83$y9|@BK!WNjGEP4t<8RF3fa@^j3$EY3F{>+OFhhfYlfVRU%T#^1(*^vspwSkA+)jcJa9HDUXiq zeks{}s61tVX-k1|&P1bgt10Egz}`*bZ~Lw~QPcImnj157&nI}xG3eI-d}Jin>f(RV zXdesl51w^0yxuEp{@T+zNMtNkpPLN~sZ$lL%OFtC&p#j-1B^O?(9f^arXIH*yTsqL zA+Gsv4EI!yby3j8=0h|r?HCuzL+KT?d$EN%72NDjlQe7<`o`U2e9YJqKLeN6KD;(D zfW}XGKB=~NpR5~^%q`|KyV?l+bjCb+kTAN~gxKaIZ-TbAgZGdVOBi1%_$QyLnC*ojqTnMSW9Bdh_ z7hHDM{?6*^W0h{h&Ca!+Xh81zayA?j1!1-S$&#l;=-`rnh+eQ|hi*{Gz0T%KfD#cw zd^LV%aP7_47476?p9}cnh)hXUR15H+Euk@yiis-!5WoIW4tTF47U|l)z-smqVRgD1 zO#%#r5UjRugy)&5td_yOU*v`xt55SuVI@$asCoM91YYckdYPa3umwcL@yCTDy|^^W zhm<-Eu%!{hSX>k}``n`S9KP61!UBvfNV@KO7@$#)w-MY92WKpoSz*t@R{nXece&wH z$WEQ4qG1xLYlsdID%5ZC-Bu!dXS2?l*0OfPynW;RIw|pt+x~X`{V=E+@oBbp`5s-y zC}lO9t*EXaMvu!jvd#{F<1MMW54Nhnx-7PMVfHvTn`B)yi&!~9yz2bk1z#+OUh5~k zkma6Jpz9Z&){jelGxXE;J&ckXQ>k3R;D^eqWtV>zUJI%v>G}H9-F28$9zGJeX<;s6 zIJ{~&vtLg4Flv_c@;pY80f??hTIbQDSqRB&Ox+wIFlg;k%OOdW)D2Z*nAhcnDFfGs z{J$@sw91&9&k6{MU}q#HqgO6rPeAB@%uaRyn`n5wHKa0>lvm{jH6}4IUvtuT=yi!-7v7j z&#eC~F}w8I)(LVMp1_AHYIc&fDmKCA{@Pb)Z%E`OmVitR{(jTda@xEr^lvBtXuR`{ zdz#Qny!dnq?iV}!hex{Q+;nnErk)zV$Pb2!*94dIMhn9F^KA<+<8-Um{gVjY>mY2b z@^DMzIyQ*_XnS$X7ZkRxb@m+^v#46j#k{fK0iP=b4_+}K=c`7U>^+g2SZX{dq_7W= z#_F(BT0~7xoQD3;$o;&klkG^8qriC|g529Xoj|-h+P@iaLgJew>SRZMasGIgbkji{ zFXn7)*N^ikW*&wDw&X}GK4}(O;X-~jdMc5YCH^y+oTv-$cp;stqRx>-6}_%lQ|NxM z8^kv80uKBdH1Yun?{Y0GOIds!7cd~7f1_;-jw*@=lE=0O+~m;)$Jx@@#^-v|FNBv} zwhy0t@;9eZvf)lyT}xz>7@^E0*|`)sOT3p%sa;ltYZt*L-e|9it!uP>Cx?RqTTY?w zs*MF52NIxs=Dhj42Mk9DAFlf!^5dkFC*=9u?QscgK~+u7VS&_--oc=tkCtvcfKcV( zCT9HH`UA=PTZ)qHjW@3tz}M|`Yf z?tS@lC_8d5R1=sY8_jAA9C1%?9ZPLZ%r^2Q%5d*`0D!}-SVbmR>qZ#f8Gfx;z=tCSAg%Zj@D^>Lq5%6HY8q*9# zvSqq+*vxE^r)*5G(DA($WH9=Fk({&MoM@98ZC;KY>cx zP@T_^dNnWEj21RmPG=?ZcnauS)n|l|5bH8J=Rp{^`Qa+U8wn2DR;l9sN6gCZ`h<=J zNNepaM6R=$k#{|za#oe>KeC?EzBN#3^;|h>v}v7&PIduGah%E-)e7Q%8jV7^RR{9E z%^+r-f(sv!EOZR5L+ZF&jP1@6fVf*VV!97J$X%Tl+rhX~%h&Uai2BH%XEt%D1rX9f_DM)Yb8)xb-6@yj&y zVr$^QRr^}ca#>2h^oZfpM-{DWqa8=9_x)WR+a!hvdxq46;foKre6+$j2TvvH9P^(r zj#}=Lrj->hj6^VwTZ-SavfIp`*cz-CrjGNF(Vxk470nfh=IPsBHMPaYZK>zO1_$h2 z#`hRToDo&t74kDRhrKqEp3jUQu0($*^~r{&Ji%_<)cjaQUkDzzbm zQL31n)ghOOrkigc+WNbwMVZ!nlCs+;3Y1yD9fae z_68d*xK}A0Vq6?BNr~|^Xw0&59Ap=LD|*JmAdTC t(mts-&!?4nEvbiI(Qdom8?_fH?k{d|r#@5&sE~s$p11m?!uaOH{{ey4yy*Y{ literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/03_of_hearts.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/03_of_hearts.png new file mode 100644 index 0000000000000000000000000000000000000000..609ce36a69c2e6f4687f7e6fe53c56f5a0e54b4a GIT binary patch literal 9049 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/04_of_clubs.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/04_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..45e16debc16dcb322f930afe091d56e04d9f1a22 GIT binary patch literal 6185 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 Q_s?NvZfo}P+~vgo0W@`xGXMYp literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/04_of_diamonds.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/04_of_diamonds.png new file mode 100644 index 0000000000000000000000000000000000000000..93caeff579b7ce4c39ff32f82e7ff0033d4eb379 GIT binary patch literal 6833 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 F{2y&PU@HIs literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/04_of_hearts.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/04_of_hearts.png new file mode 100644 index 0000000000000000000000000000000000000000..289e42c903a2295f51f656bb366f346e7b86a16c GIT binary patch literal 7698 zcmeHMc|6o>+aEe8PPC9y43$dAc9ID*mXH%6WZ#OS2nWM3WABtCRD{TwvafTjWB16G zEHhbSj45LojWLaFFqro@I_G(x_x(KY`~Um-ydQtK@B3QsYrenhzOVa=yJ2Q@Q1FBx z2n0HK?KcBU5Qyg<2*fM7pC4Euwy0$T|M=ZZj0`{=?jNSPAQ=P#cV9EmyBRV;C*A)O zd^bzyySJ*I{XwzfJ8Put8mE<>FmAjJ)8K64n-2fB|Mua1SL|LMIN))!_UDra+G3vE z;dy6ZsH<||kEm45OM?1#XN1n2;o%*R`l-is>Cu^Uq4|+6<#ChrH-YA?aqaBlf{%l5 zhy{(U5qJ%fIRaNRJ1;YSSye(DjHJHRIiddGvsJ8g#739Cu*Mx)w18Bd44aXB`)b@xOK4`QK3j%I;rX6i8| zr*xZgr`PH}6DhSm#8l7;L%0px7XCRWNjt;0el``pKJJN-3Sa$1tSl#{22I73vUelZ z9}l~$N~eXt+g35&oJltK&4!_Z9ai@ljNe?}YgFZcv-4o*g>h@;WHZ>>P0ycr1doXC-eobI5i;$;PK50nHk-84@!jHlJr3sV z<|&64k>+>`%aYABi(s^w$Q?(m?u$QBRINe7qtA|CT=&R=GW;M0ABC^ux&v!Kg=LVb zkQ}y3x2s?7>UhXjZ9ne~=|s(Mg>-vJ_94FTPh4R79EsXe37GjXP?~Afz1pDV*Su!q z_!GwLdY0y;IRkS)3GNplB(79#2>R9$!zVQO!boZ}wyp`){_&N9&*3Od=Aemk-dp|H z@}z?NYQKr>;hhR2Y9)!Tdqq;UphoZQkN2Ud!!R_tf>R|1#Ar2{c@dVYD=Q>X~Qz`hkXRFG zxA8^Ke6_F;JZqAeu5v0*XXpO+-h|{rN_Sdq-~N!M?)6}~t7x&+lWK#j4F%a|3)?Fu zLe_q=P{iW-$k&Y4>_H!#b!}e=77vx_0n|!$$ljN^jzw*JO)=AHuDlhLbS>FZex7;T z|L5J}5`J7?2!3VWu9TdnRMblU(_-r$z?zBN z5Y5Y)V3IZ`UcAKYl7OW(2K(&xI=494*PIBoA>5S8#wGoBT?%t2m^4J)4G%m5`?#r8~i#*xPRN$8kVKVj+1@rxMV0U zS8j6>FWB&4cCxvg8lyCw+qDZMjdew>2tCpI#UPrfT@^PlwE;^mws1XVhno)y-2^Rh zUM}~oKR)rhtOnukL}7j@$WVMWDFUE&B@l6o74GrQ>(7o0mX7a5q8@=&Xuzzzxk)BI zp*$qH9W!~+yTq90&3Fh^pjM`!SPk!lwx;9b502P-(j9{*S+yVTCLPcDM@H6v(vic3 zZu(*}z8O+E)LC?3BCmHacWahQ?YHBVs39|EpV}JcGRiGh1KgeO`|gqGS(ZMAvBjeg z=g#2;9rT3M1Rc;~)iKBJ&Df(IYccWKD^9(KX~u!T21z&hoI6OkZ+APaUhYW?apF=7 z-pwbB1~>)8{jil;jEQfF)KxTszIe^m*ia<6RZDb`CG0q#GzfgYrzD)SQ+AXpAbs;z zzZqH#ZY8!l-3ctrqpkkAFxL+(=y2?#FKGd>Gqon1lFA-hyuCY$OR+8ap@k$UYxCyh z12C`)z-T0!I482oh$yIYcm%{FU!Gc*Mqem^_@%p(+`#t_a=8W~cRg45ksJZkX*@8O z7{Er1G)1FzTyOVO0W$ox{_ZRMnxh9pQvo*#<#q2i-$R2-D_?qYUHBs2dap%S=X=z< zAM;x~NF9L}Tv8B_)aMSYbi^4Kj{v` zZgq*Q&h)Iy01mJZ%gTB5QIWxR&}hUeH6`EF;95oqJzZ6<|IPRs zWMzFOIYF9QfVR92fO)CiJ!y@zf5X1Ya-tD8Pn&LyKfT1Tpv51XZ9EH{hbc;R82@%j zMmWp2^ABKWE(X!5m0ub41@qoOPOKi&-VJGSq)eeCAcVkq`Li?jdMr2kM9KiPYIPq+ z!FCBne=3%jO?Yy*iFq}`QD)9jeY)pW2tHH&8aIic{QED>(xc?8)|=PoGJ8?$q{I`iNT?6b*`xCm6cQpf z+P4m@f)T$d0^u@Q{odZm7*2m@n~Nhaag@Rh6TY@vA!&+5h5#bsT*4|g!0bVjPQRi$ zA=k2fFwew}(?D>3_Q#K|3@G>(pi#bK&A#!qz_F2YbwsJJVlhO7n~g5`OBRVG+QT+( z(Rp`zU5yn0TMFMN13T%T=d-b-(TVyh+OI3`+9lJ57@tp-0p6E?S22=A-WzR~V6%4^ z@gl2{99%A73wg-56~+Ne^cL2HL`+-TiiyuDU>A2Z61isX7*0ORbMei$oaqyTJl6wU zw$_eQZdPjrYk6D`4_}^wTkYOXjE~agQu;E}$OBnAtu3`qQ)zu&Q4`g!;hrLht+ue|Z-a$>fPcQ|FeOcg5$h|OCP z{2y87i6rlQPuP_B`ZPyOp_rBXbhbC|Na(rl7-43W$Ddj(X19c=iCL!l#@bGs$eAOd z`B5>6*_YCsZ8irI#?%MRa}*sL(CRJ=TU|q+DB8^@@iQ)judhAj$!&OTVu<5Pw1B)T zxvuJ$4;LSa!PBAj+gT`jO+x)81l@SyrHOo_@vkmI%h%uXfo(-z1wOKb8Z57kNg(32 zci@}RiDOYvs}Q|d`zm8{z5gYvoW`$@2gg`jw7f&1`H%U);u$FcOyepi|LXfz_eEx( z#d>tX4(Xzc?Db;#g!rf0lAwc7$Mty~>5ynPhEsarl?7lSJWl%r3MRB!Bu+iH)OcMkW*z zs@J+XN6!BJ38x9jg}z_^xg1;98pslE;q1tD{1HFPt(H zRHwx0(c+;)-}w$k#qi%CfX?3o?G1JH_5njtHDLAcAxQ89FvMVZMAd*Hzy=HfiNA(o z|H}G9>TlK`Qvb>NPpSVmxfkRAdw~_L{x4wpft&vYEdLGxe2~Q1}a* ze@So=`!_cK9pL^AO#dt3xO%9gtBY06`)0jkf(x;@1?+1lMa?__9=P5<=sS3Z*#>vV?=*9||pZjodUbPIDdw zKJ#ns&W)n*_N`4kkQhjm7WM<#nR==IY@P30N_H5G#9+Q@WTe|$tZG<@v4r|(mk)uk z@fKL#%78>jI35PcTMy3f}rWt7?rHoS%Iz!$V|s19#k zw6`CrVek471fx7l87;Ra96V)qVij?^^ML+LeM_fkL%2$$Kt7+fe2i4f?vYnfa(K*x)Ue{~A^`eiI=m0B!~vL!sM z@iaH4blb}Isdgpw&K4Z`5GXB$EJV`S-`fQn$}c$CHD_f~%+EfbcY(uGf-Q`TWRzUu zgq%g;;3r`J-OUjZ_~MKY@qz1%hF_l3dzYoc>9Y($q>2Z=e0P8@#l-2MS5~G_&eBpN zE@OcM*NUpF^u}&Z24dbQBz^=lapaKp;H&7B|%i^k>ld z+l;9cCE!pEN+7=I`c)Kuuw(dbQ~M+=RjH==#k^NM>l27pj8WK}$+}!or|TMe7dV9V z(5yf%*_&4kz0QD;;0FhWOcB|Ebko(jXAW@mg6 z9|D6`S*2}WN%PsZghz2&a51n4qER1R;=Q#xJ-U*pB?>=P>uY*{xNw3`GZoC>nW+!( z9}m5RmF(M8iH%VjAtA;9LliV>QD7!ig?oKj3tKqLmsL`S^^p_l??ZLyYmkw>ySiuv z>we&T)|`&{g^zTmyEH&MpHDGszRoV68q~Du!IzcUq#Uh?=+Kv^w56WJ&q`?3ZUk*7 zac&UmvP$ENBg;;&LncDbGU!{h#;a$s2?aR{RC)F~ zj;2FMJ~wXuAy7l9p>Vk(QS_M}!G_}U z`h0(0aP+=VrT!h3?Rv{Jdb~H)dVNAb>IT8O3K>NCqaM|?UAglZns!>M(YoitGZvYF ze0;mUO4n_)Z);7k!OP1(&*C8V<`uM~5`N6ZaT7`pn13O%EFK**Mea&i(=vx+%oj{E z7jL++XN*YIJX++ zQ-t7smi+W#E~c>)=BNzR0Q(eE6BEWBNd7YX5h`AaePNhTUxJmlS{8? zC{TA`n|COW>rv3Pl$|HgG#Rrm{cm0mrmH%4o=Bo>wTUz=Nx+_`kNeZgoUw6ZUF0Xz zi4vC9aWP9a3)WZG)c94&M?zEQw{kG;sfr1qzvkhx?^Y;%;FeVRhtvGkk?D=yO`(E+ z6-Tx%s(JD&uuQhoi=#8r|UP> zg=TBsoo0rd%APV^rIxxNUNG(H9`%=bG*L5Jn-j*>a1?#(wy@# z0zSiq(+|a1v;?5w$7>ix0~?+PoQu8_f)r_myt`m7h$KvV<(}3T!^JF)63zPA1?Pb{j3`oVT^4p8dUp%+!R{fZ?EiYx z2>B!IMK4;zifhWY5ktv0mEJ`_CU30ahBEk??^#s5-C9Dh6dS4Rb5Q0Vyvcye!FsIP zDIsxrYO!5o?dKbvkT<@FNsGnGF|6$^uB8jq#KbAjfd>=0n38wcecPc4vn1rMnbxpNR5?%<(!m|K*Ly zA0Zu|-2wp57K;(e0GQfmdNyOd2Hv216U>QCX(&>Vu?c#%euB@Lu&T)iPF3pHv7?Qy zIr(lI^r7l|(-bc3#S5-CL=%PMGJT8tbGM+%O6k8E+W&|(pDEUgK&pMvGyjW&q=-{h zK4Z4r;T2xB-7XD4)J^XGl&HJ~V{*VpxC38nxBhs19<@}o%ZWRtY-3qwhF+2TK^Dn` zU>nS(rfR&u-0f;Dnlo?b6IwKy(NN|y11y9;LjFmHPXA)PEh=xlO}v)O&oQOEFanYY zz+ld02%URfE-PSrq_l3a=H-GqGh<3S%j7tDGr0aXuE@k+I%=ci*-7W$ z^^9#@vj*`Ise|7}MqGX09Of*TH>Mu$1u*SB&Xk&NhOXO}nR|_8RF-Lk`=2HKjx_UwPrg>d^)PJ37I}uQ-a; z8(V=P+7);JJdpVOlzwn<%8H!?D4<3W71G9S=H$?y>kHo}-~3*%4-`)P^R~X`DnXy@ zqqY6L9a3sn@t*sZt=zKVb^>UXY}MXwe+=8C<|Iv=1_in8Zf`DpkV)Fku3hwAP0BaT z^oR!y$H`gc=ROqC-dIoX^#3&OnN7N%3>uC-EOQlphXmCW-0I+VgfdNmhj?vfocRNM z!{(3$LAs~K7>9Ml4cPD$R*bnu!i4>*jUYyPIIw@mVIhzHj9D+Ss1uDV16nMPioUk zE3|x0M@`f%R`v$paSlT{DklzPu$%icAw**kAF=YTNf;_ZnKtc?QlQo?vb$}agGQ7x z1u=G%?j&;P=i9NQq0uBtB|pQi$|IqS@5XcM5}Uk5=q;x=0oNn>NU5ahrDANvTFH`* z;Em@)W?E%33RDH6vC0{CM)SE$@#b!ieIIPq8KLH*^~#~EFOlt~(9I(tsq$@ulEhFc*@xMhieS^>ixu5~*C-puvz6|rA=$sbKR~=# zd+x6WPxw+Gu}ao~^jUqsbk8|cJZv__N)v`VbnE-Hkl$z#c-((JyV|;q$G(@$evJ?F zXlw_AUd0Q;m>oy8D!t8?5`2A1UMAf+3!AN@B+~2};6-IW-^f2}lDfT?9ypo@shK^c zl^z}(?1W_Zy}pPbPJ;5{is1ID2%E4gfBu~PF)^!Ddu`at*?&JFsqV^m1=mgEZh@6I zoT9Rm`jra8vK`yaaYtpBo@R!D2xk*7bpsuvWqMM?Y7V8het%v@VnQaW1DvkZy1fj> zwrmx{_EneG6-10a(yB5G(?Q99e8a;iv$$!|y^~AH=g4NkE!o^=PZ!YP$skSCcyqSW zi$jhW!@mfy0?Xswmi(zQ5}XVe<#!jT*cSk;Q`+42PLWkXKA+IBTrmZk+=CM8x$D8^ zW4tGf_8O3O@bMHmtHCFSWi)@ZhsJz%z8sI?V7rrVe49KlUZ>(1z0m&nAlqG?<)KDu<-~0RPeVlbHbvSsa^{86?kQR|aO2RF$R4QD<%nc~eUO(^3W1g` P2z1TR%%J?rt(gA+g}^Ez literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/04_of_spades.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/04_of_spades.png new file mode 100644 index 0000000000000000000000000000000000000000..8c8177a500f5027d3974ff451041a54e72285416 GIT binary patch literal 5998 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 JSE2I=@gEDld}#mx literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/05_of_clubs.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/05_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..743e3d5e8b3b0a0fef49405254202bf441f21e0a GIT binary patch literal 7236 zcmb_>XIPV6vo0uAdhbOML8M64P<`kqy#z!EiXt76gch0x1*9rPloA3cq4y>o5qJe5 z3B4mABmx0}Akt)q*LR=qJLg>c$3AEOdDi{R+%s#klB_i|>xH?g0n<7Da}*R5Oh$&f zmJ}3}ZWI(}1nH>AlE)24oaEt*^DP5iij(N1FYOc*0>?(WfOXImF*_uPb2&Gf5BZWZS8FKbUT8`ioDc5=%i zImJO9qgI1eoa%Klm$d=&Z^;kn(_bD9iu5RFW>03{4yf57?zQchP29$BA3Ri4RO7k- z(cC#vaoqYO52IEmVoQ{szyGP@_yJBf35-LYG1s*dw4z`mT z+vdzC?OHn+um5;MJ0=~kJm2Cf1j$7mS!qr2OwU4J74>VbRL4%=Z}ypQV9I2r*BmB= zRXHvX*GwPr+FPBJ{nDzUd*xi#)9pEyk*_o60C$)Eol{1Ll-v&T94)WDe4csGX5i2x zlxa@1x^%1~Xf(2unUDt72n*$y9$@vZU;PzCbhgUa8vX#^D%!fsCaBo$6BOHD8ATmC28~ub|OcHEeO?_i0MMi4?~Ns`lmw;E0E;XY2i@+cG3l zOj#3%bFo~NuQ8mS8@_(-yJ8LNdgms-B>e=-84Au9dO08Rtv}3`5@^3Zwl$l=&w8eQ zr;bJu$9vzn!ZzYLQzf!@3f}r4US7N^D&pSRQrAc+0h1TA696a z%_+M(x|_dPTOAWHS1I*6bz)_%hRxkhq?bGg!F5Jlt;^K>M8!#cf<_9M*mONKzF|>m zWTR$02^r*nzKF6|4vBa7WFW1e0u!kuIlUFUFS#M8m~g!@sHZ4;emZ{94B#xQ62<9* zRS7uz?=O*YKm^G8yQE_wenfeXZMwo1Rz-8A;0?{1b8GSOk;o^gY~*ie-gn}`P9qI4 zhrZCH;X9;g{0y!41K2G{L=wJm1X}(c{)A>LD+!h0GcfHu_bQ+*5PKfE!&ZwMYLWg1 z<-<3>)>H_3!T9e8b{`Je0sKVw4fyrEf6tyECk-)&yrgt+=vj+FHX3$ zm6eHl|KbH#n`AG;ujvlkz82k-pg|jKg#>u7FiRFv5=G6eVXXdu4FfvYRMiCr%LZ#y zJ`~HpCOI5T7O6Tp#XE7|BrT_YZ^0YV&I;abZ(cGlc{l}|fxe3jS4<^SxkkP>l6A*7 z+;GsM;m4R)%m*{rJj{F3UJV0P!a}ZI66z16%+(vWKrbQ1gkUaixU@fJLJTrZv8qCQ zg5Oar3^E6Ft7OlEvdIGmSTUVAVWaHCkVF`EJc>I^$X|5>Gz7>o%D~zFz(?jrk^|yX zH~w&j3eEEjh6{F(I#iC?cDV(qkC}u9KlO=gv53PdT~s$gx>$n(Q0L)ZaFer3NVHSF zv5s+$#ozp}d(LTtMtp(bx$?^`=PL;U-`O$u5F0_`QHLo#Gnu_5ZEH5%hS0aGMW^z) z5&TceQs>(uXc#{ZnB(JGbz!o8NKj5g@T7}bk)j8CZjCY^nTNtly|`nWCPtdn=4^DDnZf9#Y*KiE9Ns zb!M(KZ~Ao6kpbP%!NKUk#D=rNhgqdyjYZHy%$@VYk zHT|L5j^XQFlc?D(2Q11qN;UFs{6Rs>*tI1U$L+5xIOcS99woxGc20B%stYC&8Sohj zL~1tm>#_JNxRG^N33ZO;lYhCDK|#&SAD#eOR;)OTDo^blBm*z06cN+b{{c0-?a+a0 zw`Il62gxhjCZGgN^O1}(T#eaU&%OL6 z8b9NTRdYg`qQlzU?gfBps;ulrkUF%jeSuuy=&aosve(X2uY#%si7?xR&o66`)~q-@ z=rnd6T8-X7E@3**+9WkwSP~RyUIxLiP%^FaWevoV6?ZH9bn@KD@UcKHBm-z|Kr{XR z0n0qykDCX%nJQ|3e6-HtS0==7&oFwxB#k&mQn&3>dZIIWiu~Bp$zQ$Tfi=eF*F$c_ z2+3!8er349RNFug|Bg(?@W;gJxW;dwI26yydXc~#Yc4yS*~PM->efMKG3Yh#$EOQV z%M8y(4hhQOe271T%4hFQmCf4cf#5eqp1(Q%(h>2|{-TUoaM*`;+}Z5DQi{t`8$ryR zuo_ug_r>jA8~fENv*w#R(-E?x%O1?v4~eTngwI1cCp}uP6;`T#nxUE~tiG2K2Wg0j zcnYAw%?mBCT{iN`^jd`dr^+ zQnzs76%H+@qNm7+ApWy*pU%u{5ZH`p&zjxhi?AP}>|SU~vIx@s8ikJsTqD>*-^kg6 z-Lrc6>T2pFzB}qz&M97WKN21Qvm~AHmAFmvk-fGlt)b)?K1gnQ7W5S7zzZAnSLad> z85`cK({vVUduPw>R&9(L?t)o%hwWzP7FaGfeg)mfI$=}^DSj=50vh=07us8bmk5zH z%uSCHdHkvOLO0mge`d)O)+-GAcWqqSe`fV_aK^Z*MYeT8Wosl^F#$e)S(~7A1~R;d z(7e2cG8^2=Lr#b{Bkwkl19w_J)NLBcNscZdPtY1VC`h3mO?M!U8NEXM;qbnJLqb-Z zMJ}+j^CI)iGXJ!OD@BvrBej!Qdq5*)9Zg+571dHvo2 z=KtD0Su^(z4BQ8@?e}Xz1@6bTWu7C4?&b~|((is7Te8$$jky^sp>e;~ngt&U9OvAF zb8{_%9I!*p8KqB)vA!B};r$hIk6f?XCXW>N`nO0anWyaf2y>5|yz36Pj=@&~Xg_af zy^1wN_mL!#@?#Q#6+_EU;(IYFI8Pn-L9&d1zRY$iL4ERI-avF`Wq?VesWJGo4Dh5T z32;padbn$+Q(j%9{#NBY^fhoI@2)rhc}Lr4_rsmxbXt0?Ts?IWL+nm6n6#iS_pLe} zpCFyDe=168B0)N?J>(4IP+r`>fhb>tF$IP5y|y4#jl|&BBTY4)y4)A$d3-BMrWw<) zp)xFnOsm0jYNqt+IS3Ng*IXspF_Sc5dVL;{x4n8t&OT?AZl);N3{OWFWxTWC$7=pO z7yAiX4l%e_>McZX6Q8x+%ji}o{ z!~Y;Y_4>Cv^5cI5i@N=rqksASFJiBcK8EY@cvd>cx>w4Ml}sgZBI?r`U|GiKh3l=) zc@g!mKvE{3C;uw6W)Y1>c`q?z-n8>>++YQ!KSAB0Dhl>77ZLT(S!^=p2_9ttCotVf zhzAMqC0Gj-)2SXDshAJy>&u;wL*<*2lN)CE8+$f=EN*4DgUo4tdKHnVlK%YMf!{MW zSgJd-Z)pB$I`fVV1`AfSCL3OPNhU8p#R3>Te!w6dszVzlJ4C12#K07ZwkCw`=7~$ z^Z%Y)=v)N?#Ur*gEJ!foOC>GrR)Ub~tm`^OnXUp5$hBE?$)xyC8i7>$CynTw*HHoj zsWV69y3m`v$|Vquu--lE)(quKUDgL{_aAV;euLCHnCIV4pvBbw);+eVo#HaO1=Kxp!w^7|Or zVJx3GlmHH;%Fh6HopU9E_gN5PkVWhqJBj{p^CD3oC;C)W!@y3`I2BdC69we-)B$`n z`8aO<*KsU{MD27F%;inZt@=Do_(eSU(HF8&JH0yREv3i#iN?YHXfSQd+a;dyn6m&r zL8kaz)*|`9H4XN!dl#au-tEgUM6a6jg|Vdwd%-=pZ>?Xvj*$Aq>g@~i%E(QRs$n@= zv`!v`NxOWxPs}0tQx*)}nPxL3ukiEu^FK#viJK;^Zl2)7H_F0$>x83cr93Z9u#TN! zd_L8`!WXlxEPG6i;zOK{hfVS5m`j9m=ck*mV%dxWziP?29Jveil<&0`mKZ0AzC|@B z+wkKbuWWk}jo{-iQ}-B+_}dL?M!UogZ0N{__^^QyyIm`m-7&-2Og}AreQK`>uT5du zaI@xED}T}4YHm1x$+VhRB?Vv*n}E#Z$Yj;Q22>+LG&x}MTb>wH&J9Lj`m+!cz-XU> zeI(%Yg#6!6;n0ZGq?f1imLQ*5SPDe_%Y-&359rrKl*~8rd6bhrGceuj*aple2qNlP zPF%Z@&;JG~I)~>^H;epQylTWVQAB;5o_l0CKS1TpV>L_@ri`GQl1*ILucUHR_p&jH zVz{dXumjUw)$z7bayq9dfqaP58&P?)bScn;Nhi}yao0bXK>QB9k}>^_y;fYB88+YK z%BqJA@YM^c{=YYNUA9^wV=QB9fp^CW`7v~FI~V(KV~ADL^orXe@jIU`L6kGrYhA&Yw$TRXSYle+IM zJ(&IR9-p4btt7pL;JZUJZT6)GAfGRi2bVmg&tdT51H>a|CircATz_Geq`Fp?QbP`x zC-#n_*K8Vrsr=T5*YvO@)&z5o%aV3I*9nNnf$h1lfGY`?l$@bGRzYFiZzqsiNAHpyFtjmkj#`jrDNsaos~L})=i=}%TR zySSAoR@-nLF-KP3KULmB?ns&(Jd@oG#q@Wx)sFN-cj3dRG-Sp0eqGV-ugk%W#dZiy z9CX(-@5U9498SWzXT`!dXZnLs%xLqIGi9Vu-!WiM<~3^bhePXaPPg~??b65%3u)kF z3c8C#k!?6?!9nG7cgQMN6_9%Qbw!0K-KSvqZ}=FH^WYZtB>ydcennw4-1FUr320-o zAT~9v#QY9AFsw90*|K$1#|g(fFmht)c2UDA!ylVI$x6ym9=w0YJpgUh68)~l)o|#S zMn;+NROrp*!CCUSS{PPn2$-=1LjS&e|DyE-<+aUcS;$9FVK8E&-JtZ zF437^7)eJ6wEQYCpZ;^Ns(sF^1$wh@;_{2fn`qD$?k@s*5HF~V*$ZCZXf4TSKT*B8 zS^TIkWTXG;D1x^2Vh4ms-Y~P5LtwCk-r_)Eh_5Q15bT4SFm-}gjC^`$d&$EEE!WXo zBt8W^vfZS(W8yz`!3ci3_a?uSDQ38uHaE55HHah4l=gE-h%${z$(Xzyvn(6JetK~$ zy#%zR#2`re@#>$J9Rw$mIv-KC0b#45|zIed|FbqqGqScx-1J|Zvs3UAXq^S zt{-PA5j3rOHc$7wBQCi6_mz~0&vFFu+YobZl;4ZSKSvJRbNWe9Gaclz(t7sQ>8n{m zW{XDKLN*{>>JpLlT{}fctAhd)AnBa{(bgRg!{9QDB^{F`PO`3Z2cFZcl6FzZJRXM4 z9F_TYe)kbokoYlnpmTa-YGLvu?ls@Lr7Z% zH1RFw4gOFq)X6RnblbS|L-t3piOcb|c&-eT=4w8@{j1Rkrw&v!k1mN0j|k|8QbzuU z0J;(L|8xLcxpYa6gVe;=_%k%e#(=KYngiA+SoSW~li>oq?6k)IfRgwnGQ6A-{aMdp zo7|2-2Yw*%nbHuG@#OVaNPQ z{SeQD+*<`XqVlcZO9{Pa*ma0Cc5KbcT-NBUZQ#r^xN1N7{{+tS*>q=Nr zMS3+>!f5k?lG=pVV#NJ@!MSBIZH(RR3J`yVj!iC76$tcjJX{;6ovQgK=`=Mrvmuz1 zlTL5cVoZo>c>HnTZoy*g8dLW0!f5ByKo+qR&eDS?*XX6KG|KG1?}O$u`)20vec9<| zC+$9E!O!1F1H;=YyU;Z!ojq}}Vg&DEW@%OKgLC&{5O^^Tt8hh^nKdC~qa`PBVo<0^ zw_;WB9NB(k<8hO3{0*qpFeg>rbc=RUj7&kYZdB%sON zq~@2ZWjpKU*zsrFVKV;q_{m(9K@_(}@*k-algxqdYV9C&;(-jaDz`l>{*OG3iulAe z8d1(50~h^c)TJf#jf%{y(E)M<>`5O++_T99BpF8jfez&L{O$XCVa!^u)ah(_8kqR=Ttc_4Y9z&B&m-fuZx-_yN^nq!F#f1oygkA&SfR{B7CB4*!-q8HiDs&1yaT$Ib?|mQI`A;PO1>W*4I)4x8xqS z=n}4x+^X>6Pk*a$T40BS+-?22W$ZWhxyKQ&h0Tlb9gRmyjj9=Xt07b>si+x{sJq|pqrQ!ikC3{Ad26L-SZcZ zYzKVo%GlkT@$#*Z;H*t>2VB^DZ9h-Ghj%BNLjX%z57mwYt?i)tr3BWtD8V(RRWw#V zgRuqh&Vdk%Gb+$wI_Dt_%pnGmfMf96tqxlGMvNEoyGSN*bY zd6IVInD!Xz=7%i^?cp61qrSq&Q*l&flw10cxHRL-SGt57%V>YQ(GwXF*L@N%QW-lM z+dY8m$s7`4jEB~qU0<+bib;n&I4a6gD=nfoJH2mdDOwFrd7Zq9Hk<68JFlB_DVx3G zwwr>beH~%ql8UB7r`xIm3}wj^6`_Hl0@+zor_*rtL2m?Z8!iY2b^=YiB7E8k4ydsv<* zL)Zx*78DCDHz)A&`e~(ZmQOv#_C%hrWHqzd*hgq%hJm)h*Y) Gi}(-hZp?B3 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/05_of_diamonds.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/05_of_diamonds.png new file mode 100644 index 0000000000000000000000000000000000000000..6cf0e7a561519ff34073dbbe3496806c8fb44f07 GIT binary patch literal 8427 zcmb7KXH-*bvnF&z1Vuoah^UAHkuD_=ML`Y%A_yW)L8Uh-p(i3mKtMq{gixgS-cb

_qx_y>#n=_!R)=?cV^!DJTsHfN80Kvr+7|LQBkpIJh=Cm ziV9>+MMcfWNDsW3XqHX`{?S`#s^6nJq5Pqma$=~cE}=B;-O=|PU!C&#_++R_c!Se? z&;Rx7Zhgr_{aF<~J&h0977?9A4?7Me6f}N>X5<#-UI&5DL=Fx*!SmT7zs^2Fr6sn^j&mZ|@w3pxU_)h(5#GWS7hIOWX`5dnVqAyF|>fslLDsluF;ZDZu5 zF5tI~Z1y{-MtT$SlA}e96Dt$_$lG1_MkRJc4?XZZNfaO8)# zX8gk~N2^Y4TrGR;{5fg`t87N;~nj zldQmeoL}I&!O`s(^Za-Ur@UJ?JXT@F%Y@KgnXHpi+W1Pd+9}!=X&D9C$$k^ERVSS0 zyEzeW>S46JvpPXihB9G2=OQ*1!07D!d=q$&(uk%DqnRaFJq z71zDCI@j-X&5P{Re;Rl4NhzbIJ59wLOtby<{aK;$n8f$HF(yY*Hi28L(Hd*~CC%h~ zB;A8=^PMrf*QCzzM*AN5>a^|$%(rC8h@#>r(zz$3N_yBd{_(IlGnKHj*Tigk*O?mH0_&v&%7?RTZ(*!a$_v!e4_%;4(2&-RM}d5z6@ zbOdjWdOS$K~kNky&?s+jxCC(%74DUxgcnSZM=GM;V{unoAaR# z9G@Q24Jgxnqp6v)Si3DHmvKc7R9R?Lp|(z?|I^8TE17NG8FC8+mOnY%s#)Se5XS4> z?H(Aot{fh8wa&l%a+18lTyvA|5>2n-dgEe?d3kw zB|%Ah9b17uxPuV&++T>FQ`!!@fWg5@1?CRJSE14PwMz!{Eb9+4P#6AmQhAZz9pSVavPMkhD-lgWbr0TyJ zlg4OG1rkGnXr&PdaT!#QC;~yxhN0$xLTMPSK`fV0AT|sY^)t%T?{=Gf82+l8C8u9t zP;6?Er(dj1vMH0Vw?LZUa7GrE8)rxlBWSn36~Rx~X4lK?43E9N+r!uh%c|CPdhWSa zwzp8>tG$X_yVCq6=fl%_^cV<d0{2Wbp zgwM=pB|T)Jb2BmK9=R`|w71@y&OEBR)*o;k1C+_~X{4fhU3lZjh-2 zGna>h&%t8PjkBZ=2=Rv6>W0Cb2#av$lRFS0RF^%rv3Nbp5n7> zPyb4m){x0Sp2fUk@2gx}s}mw_BxYaZ2=!Kj=7=M8F+UAR#g)35`d0uWsrB!4_6Uxy zk{2is8Scxcz-s;1@t)0&DF-wpQIr(S#$Jrxtx-=R!a}@ytm4Tvpxute3{URmQgW?8sbRIZnwpO>Z$n2aYN|aBrBbH|{5eYHvqd%i#$Tt0WM4kO`7scT zps-GXV+`@@>5F`=nqUrO_U?)ZpXQ#9=88=zrnMC4$wU% zM4Twg0bledhTCsHR;oOF%aCu}-7f2zoqwO=e4&|Xg6dlD*LGvR@=f7KjaFjJfMXpl zKQG6I1Jfk(v@By8&53n4^cdFcXeSwoELwzb9T1_skNT+V(X#f8FAn#FSoM9!{bxg0 z3di4XO&glVHU)_HE;vo)2LSW0&@K{n;VW#KzxC_eAdAptq=5JJK&!N#VTZ58g$2@x zRYgL$*p6jf+@)w!V2C(1CF$3Aj6IiYSp+Xm>o)Le_gn)k#Ch7UO1HcH^$K8DVRyEA zMEzo35wPsR^m8GApYogsD9-S@T0dFGG6rBZU2*$3yP5=6rSUE7=mq?Y4}%+dU3egJeo`tpHPYYAFLh$i?}U@XmX=EV=8`1iH}{;p=ckB(eZFV z%?2EZI%`3^GLUrJf>^(r<@+uZ4rBY*A__Fi4Z2CBAg*E*Fw&aUNh8LIwbSEZcw(wq zl7x_AJD=e<(Pvq2C~k$E!Agt{?aYRc;lI>|E`DRE(8W}|&U;2NlP>Kc+5XPF{EdK- zt1II>`X@CB=nuqTUdoJI?};-_7gsaaE7L=s$VLO z-8N2!iMdvV@3ea=ZI*m{uWIUFB_vAHx_#bF4NSGMS=z@%f*(U6dew-?O>a*0r|#5= z3QMl!B;a06lw@%GTr;rp*IC?nz0cjzERFoLq=!M&3WOyu47f?(2Qr@OK0^$8$T{r( z&U@`XC^eqyi% zPsM&wc7K>w3;>6|1PZn;Uf6N{6+&32SG`YGHcr;C#wO+l0731D$T%=~^>(Y6@#fZ` zOO}?RUQRv~fIUV$ekO!fG)BeV!bY$mKXo)!-uVJJb!Z~cbsH-$^ z2^r$^3&$^UcLDhN9IDQ+e(QtN`>mBSbjn7MceWa}_v*L~F2kwrYKu^CO;V%76gTP1T0(Xs* z^Hm`+L_{Q<6S8ZvzO=OG1#tl8DHK8fo0m{g*a}4i=n1Vf)o->!5i2R&g^I#dSbozO ziumuQ|A?Fbo8bYz|3hpj;(wa{7XLKxyVrjkpxFAe^CcABKfe4ATmN6T{xtCSxG1#i zzik1^Dc%Ji9jIDcV^|rj|CPdV^KNblYkHBE`6ZN~UPlz`%w`wlz7QY}m$1%+-8=>I zTP_k@naI&$!+c~K$mVFR8|4HK3o}~h*2l%M71u3Rfc#F5$aElXfh@e+XQ_E^h!+oDkS*LoL^=@kj{*_F zVRrUPzPHgH3$cRs<5?wam`6Wza5HUDe3&w=wBi=v86Z7zoV{hFb%EB!9`b1r%c~lg z(~?eKJEvSZFfPetxe~h>laz4(b%VSX9&jENIC4t=^i+$EnWB&dLhd zVQOj~<+H3a@Lz8U!LDUJDK<)Mm<<>a`&Bg1mH4#(e)tC_paoVmIu@`&CbxpLE}@pH z%;1o~g5n=$z*KoUGaA?M2+>M6J!%x%ATL*N_qKcNP6@7zzba(IY+oj_Wu>cD@b|XM zI;O<(Gg^CxPBp03t~ZY};w-jK&eBTPan-n}Y(8)ZaxIgQzMw)YEzfCJ#MxF?%kMiT zY55*;Ed&W~_GsJxn*0>&+4l4@s`FDvM=SluXRP>H?tZ)B3wl78(w7>fGte7`4NKW< zSorklWmMjak|xf(C&&Aza25@uVYX^}i4I0<+eb+xmZX2Z;<#0OqNb(S`YR~WZo0j-^H8y)m*Y$dZ9t>0V$8#hh+ z4p2N247vIiaV?Wi?i6*>Y1ii}jMkFfv4%j;Tk#zMh-+>C%-8GNtN;}pF6v+eX@RSs z-`Q!cYgP_)U;e;C&C~jUdyENJoBsOeWy=6WaMbD)Z|ghO*Fq?(9?6T0)_WfSCQHwf z?|3_k+p?XWnn&S$)b*m_Z-1!<2V%x;PqSe#d1Dm?6%jr|H~gXy!EIp^-_!x1gaSZ0 zeHQa5`nG`IR!?j)EYkcGaJ=qm#v3f!<9d=wGSocv_OstN>D?x;&;YXF#r*Rn@i)|O zNAbL}r2(-(%AH?$IjW8Qy=&3^W<$hoDe`#`OWu11t}j(@7lw^ht(``4fYU$$H`?v! ztK@UQS6dsVnP6V;V+%G~>CfLL>mZ71m3bNhz|I$)opgceGy;*ui6APyaIt3@`{IFs zFKQh)vIa!wlbN;#P7IMw2)Gpx#r9@P)6-tOfSlmDtdXblb0B9KOe?LgZ)s`c+LtW5 zbQ5?u6!9J{ZDZIT%p)@aH;V)iJA4&kB_NFY9k%}8xBDMJ@HZy>bJhMENq)!1e_qgk zBEX;U@i+eb0XlznhC-SDz^DHebpB7b{xI;rV429=fP7mLsE{W@450q5eL z?c2@#xT$jB6>^5<#kv_NmAT@zpNDg}18_RtdH2=>g!{OWnUfKpG=jYdL^}Me8<|l6 zV{nZtGTvR9-1_FQ@hhzRJ~RGJl1j_mw}>M17B*RXjCwAv(0gyDSH&sFpp+5+Ce*1q zghla?N+&fx?NOgmrSJZXik9 zStctPK}Y5XIyPp$uxxBEk(o&;S9O$)#;wGvN6gqUGOuP@`x$D0godosuvIQj)N^-= zt++nl4&*oC0NkusQFeDt1dIp+YGv&~Cn#ir9j^E8sK-JD=L8rog0gFE^fDEgybasM z`jF3%Otcu*FRa-55CLvzY`^ClXx8;2&aUvB7GkF z*jz^qyxCwfpK{QySA`g=Dfyl}NOl5(p5a|j=5RzWqSor<7ki2Krto7*I>1Dk$OO38 z#opTaMWRZ?;-@>`y#JzFG#2!wLK@{f~i_U_p+P6I990zN1ah2_+ zp8)254KO@rMdvoOSnAkVru2>{&Ej!F8#T!nu~xXeW)m)aZb4MR;q+$m3J&9K|Qsj6*>er8@K(2=WdFF7x`L#XmD|9tiiR z$dma=DYDBb*X!ck`P-VowbzEOR^;Ng$21azoSI^>)W^luf~t3|9c1VM&*Z~}gty!% z@M@v#d@SA^L{CZ)&lwvk^|aonVb!lm2zOX~IQQ0DJOqhkIO^BTJNb*c{yY&`C3@bK zcmYj8TfhNF{k%IaE`A1Kb)$r3W`=Quw|2ZDlih4gs(W&oXtsufe+eK4^U<47E2e|x+kF50PBSSU}LzuCYfLB&^SY1GSfcM%H5}&zA z$CGQRJ&9=5cv?5QcIDi53vtIZ)9UUE8OQ-?7mFuR+8mhsHY->1J;LP-8;QZs0Y_gQ zkyUHj(EEqAW9m>tAg;&3e+)hg2a7+(I)-_#4Uv2|&a{oTa9l>ki{@e9N-WsQO`UH& zSZBTgMCSvg9;-R#p2WlGQxG5ouKlWX(K$NDLU}{KND>UX3)xNb7RS1o%~TZnI6={w zoFz@NX+SQgX4>p2O}Mu~AB4SxHr#cV<9K>K6~vFLEN?EjQRIQ1SWzRe|qyV-S6x`@PfP1W0U7mfHLa(#RZ2KaJ?85p$CW} zds7?jBmB0sKtYt0#=JB4UFLU*#ua$hw7lb~usWj-FbBx*3eh&Xki*r_ zZ>CxLQQs1I1inf(=Ye63s&i~WreWMt<$B#NG_4u;J7`HM)lUlQTb=;nGuty`I=3g^ zdCy<;y~Rrhv5O-@Avt2f%U|C@4n*hB%=mm8NAbo>xvwRnxaU~p2z7i&&x|eABs2dy z=SO;n7U5O_-@&o9U1gbY_`+WxQyJm|v@QQVsh1Cojst-;AbUGHfxF)c94cagoUDTb z|4Dbldho61P;?h9of}8b?}*;T|MZ|Mc{XnI9USdhz4OT+wsG@Ex(bXmlvhk(!`5Q|a4x-N?z6}jlBxQ@J(r_OMDga~RF9mYBT}4`Iv2N@AiIj0 zcEvXK`^z?8P};MaOPr*x|1m4p5__8&w)Gk~;Nm%*F|0?XCx^JrlR|`eMJRihF~&s? z1Y~f;Pz{0?@3QaW<1-V~BP6T-&N8ZVii`GXo#T}w7y}CoBqu0Qy%q9j&hH+2XIZ^9 z?7qP#>&|oa0yyFijZZ{qYpQFy*AF~4$)Ev}PV7~cfzE9#5cnr*;E5S8`MySUdw#S% z`5HW{Yk{yo{B)exhXLl7Qx zt%3ka(X@piE?T#>p0sH%iQQ$c)?gMgBgw>Js!8`gbfmU6va+IJQurZ81ppg7Uc1$k z+PtyT7>b(&VsjIWQ%jK(0B`%VODhKJH>Q=uQC(t48@84RR=&NnLfgy)dClXEkjNHK zde$>DU*b>c3_PiIhC&Tnzkvl)o`!h$#_eUL47b(v)|n zfhx&?8w1oM#b>Rq$365|h5R$Bdie}u<-uz?k9NfIqG9u9?CUAeM;6}bF1r|nV<^b) z2N5mM;?swOcmp*YPSK}q(HtH(EubT*{^X?sF0p4>hE$TzzrR206C;c__vOO~1I5ad z{rx`p+I>MNeF_ZgMWmZ)cTd|}pFUiat6Aa%Dn#Y4G#_NA!aA&Q7El3R;jEEDqf8i8 zzBOSm@1XDY+y{8EB1R-9WpgxFH?vWMHaDXLezZIh{h&E(?b7t^gOv){3bx6Z6{P>I z{8d-0hHz@7e6KAZAI3!nZJw=@)@&{Z(#KwnH|h5Vk}k(3_1Y$Gz4Ew9&oKJjLXMjT z-*a#d49$E>-)(YIclt-mEPL+L=>O|?DXp1QH2jj(fvFeTvnUt$R@c*uF{8;v%=dpj z>ipT~M5(}iqE>J;@%q)u47Q&FYNbe;>zVG$!$B_>E!597aSg`i>TJ@KT$x~*a2J4j zeV6(etrbwzsY>*7H{D*3W?C-lQ$8qs!cX;TV<7F=&2aP9WWxNauKSd;fAmTbGne>a z43!8E#M{lM{EoAGbcNL*=__k==Q6)$oaoO?Dv<;wuT5->j{!-7`WF|U zZce&#VytpF!)jdP;Hn@36)`9_;cnjk0gwvK9O>w}lsRr*8o~{H#{9wzVcmbXL5xx|{Y15QZ*qQjP){dl-ad2qityZ6?@4p< zsmP^)oW5W4bhFvv;`P=Ohx=P?&3@UrZ?Sn*RWjWP5<A4C7{ZeZr+ZLDpCp#oJ) zOUndVhiA2`)f3|_J5?nz0XyC{x0cX*{_mdn&Z%jgTx-Hl$f70z!g{C`yxFqo4v(A_fQq0y%mV=_*C(QKXju z(h?G40U|YYq((pp(n1S?kihrAIq!S#d)K$_cmKSLwZeYp*)y|e_Uyf9e*1|qGcgnq zk`m(K;SsrU{pxKV9*{c^53kJLJpg5>PAwDox5wqC;Z>gPoj)uoH=c**SmKSV`j&x% z^CKRmiM`3Hk8W25$YedU@@=giN=&Wa*BEjk!dh>1sG1=uE+!_{c@c|!-__n>#BVNt zPUzxZko|n02X3Ii9z62VRX&>F3V~un(Y$^**-^;9| zRmyI=F_5-}HaJd*yr<#4`3m&f0G&k&W@V6Qp_}MZ)@U$p)HP05<3U)ansK+(JA(%X z0rwAA9cwA4%Xc3eDqnkwD=#@Z_o^~X=Ld#Qb_hY$?FT>pcGOdFzf4W&czwjLC5oJ> zu!PceMVpdap8X}pJTb@4E0!ys_nK-={x#@{Gv?c~&o*rFvmmam+{Zg9=tBA2Cd6)t zB>QxubWXFGaV#NDdnQlaBG<&Y<&COlA++0}%F8b0{Cy+#FVir>$uHV1UvAi)l(iTA z9I{@wxe(m%96Zn5cyT~pqYfDU17UYNM%|{5Ha!iY;g(!;cbm&1>*x{tj=e>0Pid01 zw1W@L8pg?zHo8qA>KAxmc9jpU2tS?(AIs}^qvKRhFZWPb<)&>6&WsKDVH8b*$IoYJ zyy4e(*EsK%^9bLhbXuEwGIGefT7LlkSCs>tEIU_czs_7~m6E4mLMnCpAkwonU8nyv@6Y2t zgcn6^=UHJ%95JI|`kb{khGU#@Dd=VrKFSF7_C)Z^{nc|6nTg0FQ2p`GWG`@>Fu}<| zUeAZT(ynuDANEL;gtCzxw0i#WeC*sPvDVdFB9PRkA zw!Rd{qJ4wEZfBQetbBVVuX*?+X7F3mnUU3AR2Phlke3)jE*!=NxEOP7SHmbe+FJ~2 z=-Nm1=YrU(*h|ab)a_1g&qBJi*2JQ{3wZL19enWjJ(HTcx66*)4sbyk&lL(ly_KB^ z6%%R{n&fTv-MKn%Tb`M(`hwsJm6j=nAv9Ct(T`8e=loc`RR%2#oz(Vqe2tKbt6k8R z=QTTZ^4421)>YG)-dZGMAP%xsa{!cg=)!~6>w>a@Kf)*zBZ?AAws)@b%+#mC>yp=K zVcU~sp3NzViZ)UQFxq7<4Uq}=SKLVD-k&rF;9}U&BBxr7`!^x*=-P`_4+>cEaXKXg z5p2WNlZG0GP#e}MVRwvdl$S&Y53fCxZ?8KK$jJrDcLWRKufXgP`!|(e4TIU~BL#&5 z3=j5Cx7%-TDWszVjQU}jT?lISYJ((GT{~>k!RUfpjvupEAszM5h|A9I$u%{)5}xDt zD_g-hHR-mjPG>zeIuqS=VjgXf*@+~E`%c`BoNvbDaBDw0Uv?e^DmT>cm zoYT90HYqUY9R@dL)z4)2JI@A@adjzOLG;8vx8DPa6m?I_b2D~ONwE&_e7latV0pHN z{PK8|g2>_91DhFY3fVEzEeyoh=Lw;kL(S}H7Q5@_nZryatgz6uJ95N|<9=!Rx)DW= z_K~HF@-v$Bl1uXTj8`F+x}h6`Ls!jvqfrta0s?*&lFp}nj?0GDpcp#sbnnq&bmkIV zrLG3WHOVY_Z%*YU7>&<%b2b#XQ<_eh@hanA?sASz|2h=|9s(o%XbkUat7_`S=j%o{ zJuRrb+HY{K>Be0vRQeF3z)C?x%93lm=Y5TY${c}KQ|>gs9r3=QEQFo^@}U)A8~vmY ze!%z1xXYD{@uaMWl2(SbbLAzQF%GfIGprO(eyhUUfJjYWf-9vdV)MhwdAM_^L2qZ0 z$_Soz;^s0#v+;G`j%Q2swnOLv%u*Z#`!MpGs} z8my7Ll6gD>03$W6pwtvAFY^ZF>)?Wo4^|4wdSe~KJs&YX1(+=^BTBj8m3%c**X3#% zn)W#A-#qjn3$&YZyJ*10$pn|p(cZ5DYJz_&GKG-7zt>)>2NV&i4c5T3$^Q~3d$IKU z`$&nX979C{E#Bndoi>xdt@{2rclrx~v%F^QNA@jJ)7%LY;elhkgz5JM{#p2ZH;^(` zT#eUWSJ)j?j5Vju;P3MhrWL7`UjOvovCkG==xjgt`W6D1XM$4M^OaaWX@@do?nfqe zLgM{HMRr}Mebt3_vA?yJ?~`*Lh~0}LJGaK3F~G^0wMgik@7}RnrG?qgxKvt(Kq9q= zOqJtwf17ZtGSa6!bln|T%knTHUDRi8cq9?BRaWCfk_*K83$fpY^V@#h)eH;i+-ePR zqn6E;Gbn^laG=sxG-g+{WD-$+>aUwV-N~C5ik0^$cR#5MU^~k zhC^valwI4xGf9HpDbj>JE-1b4dnatGizC2oz3`;aD$flxBJW$Ky6~-L?0G`FRxbB$ zlKT>UeO``UMCO#&$j4QB#X;(VqO@X_V_)@QcVcRT6$T%DG8*b?+Vc_6D?&F7dpP<8 zSe<`nXY>LQaz`$tgD3!|JV#jrK7ZGswfI1B>VW)TiM!9gamGa3Y&t~sPUr2i8{gS@ z3=;%q&kovOY@U^p`&P9Edc9J6Cv2Kmf0YDe?FcQoS!k_JG2Zgs=c|=f+1={a6mra}4HG!MA|U-|=;CFyrb zMHJA5oQXIUKoa02C@6T35LRZ#8OL5AD|^{Rb{nx*i^R|Sxlc$Sh^%A%=ik)G6QC4knLCbtE*9_(mnFb;rAe? z!X~B5X`+ad*az=29L{1}NWxiC%50@C;|{w}6^!dxWD6g&huad#vPJO8GN^Uj)EIOF5dHjyNp2un}t=Cka z<`-YEOVwSzz7#K2JuUugA`VG1f|(b?X$gAl>%BWWX~bw?)_MebrET2sjP+Qdzdp@3 zJaUKae0@ssQ$b11{HJ>=asCb!y@eK17fS;gWYCmg9>B>h2kEcu$I^PQi1wCXx7Q7O zBLTOF2TmrApIqy;@zk_W)u@C#aP~V#nOK$9EU*S*360Z4g8Z0A;hz8#CJCsCPy<0l) zlM(a)&7A^ks%*Q&hGU?>m5`k!tDS5qJW(z=CUgFP?T%i1C`I;ZkfTy`=3z+f z=&ke=m_7|vICB+XIkU&FW_xSK)MqZ(Hm?I&^UEPaILV5XerAellL&C`n-+t4qO|d*dIJ~bwR~NuaV++%)$y5RUS93GK425w z_}S(e1UCZ`EMr9E{HyN4>FY4A^HUz*p5cAd; z2%K|E0sVNwBj*~j*D70%@%CJS81t40pSG-;!sJ-ugP?Ku$>uJN$!OyXt|I(q)E+=l z^x+ZHMb|iW>bFrOj75=-Yj}#vnF4{UTY>zkKVJG~qDJ?#XMwhEHj=h3g-3_Buo?ML znEk%9ju%F(`_r`$1ijI9I6zFr?6-lDR(>`X2euXT#=e=#$w<9~g>V*UC1u8`JKLcA z@I%T?;OsG$?Ks+pTzLCKP}Y6R+^2HFK)3r72n=-d$g;+lc08m+p>qD@)2=u8{D63N zI?$Y|7V>x2r?#8p?IeIZ$)6MtNaTNOVs=x)og`5NXhL`M#huLX@8*AW{hRAwT>)7@ z^M7^ycXKDv{Qp6vu`7x}N@$ET^_cERFu8a%dm`2oPLa#(dU;eK2AtaEiL)ZpY+%M7 zt#1?dh;E_COLPm98y;W&N*E2JagJa;^l!e&QFE!Ux-(Z|;9j?So4T2PA(#6`KcCwe z>{vG(aun-vpgX5B?6Qjb@oIR#V|-U*%p?nc_lnU(qg9_9v43;n0(`G~%5WIR@cvOe zT8A~9FgR$$K+F#=>lGt=kNwbxb|;Ld!A-A}XE_DlHA>Y)(%d+y=2->(j9!~mLw+^m zsfF4?$=Bfdsv!acIny)4lFoI9Lc4#LP%Yu4A&~Uvk~=A;fbjCHX6$eLY9hF_+LO)R zlCWWavZPZ2jQsU^vJF7?VXty7muEF72kY3EAKwm@3vT5c!+P9VD!nnPf0&+(R112% z#mxvQ-!Oo7W2dN8$nh+ZKVEhvDG#x^%Pk3PmTC?|lcq-9>n_zX-P!Qhy^4$3ons@& zs9B^9{gXb_;?4LWZ&{?7UvEaBiv#U~n?ygnXavNY^89>ofbUWK1mE$pPq$y8fsA0| z8nhc)Qd{!<<)xKYZ*->bH6R0g^mLcpu2=j0rHq=p1MO70r5BB!=2~~4L+$0Cd{H7z zb?9p5NUmuanxe`t)}aiKO25aIucP)7sugum?JLr9dJ;WhB4bu-P|LA=rsOfFO9e zXP^7%qu6j?z=qNiLO~E8YWU(x6ej1-w)7z)2u#@nII<51TX}|%IRt2SzM!{;ZV;am z2N@p%UGZezD2)Y98KDI~XVcMhEAwIyE^Rhu7e0fo9zm;d0oCdWo zK8j1S0QvEFe7-652sYn>$yu*P0Fh)r_>tNNhi=ouQsns6lvNhal~g~{V_L2}!8~6b z^khnQsFJ;$#X1&|Zs}H#u}dK}8&K$1h?1=t1jL<6o#F$Dzz|y-m7;X>tX4i=sep1n zkIj^pN=Js)C{XrJ*NfZqs9-74=eB@{E`opMfd2`$)Rov5@hIc{HH?U~8I({&ApO&hZfeKU7rYSL?|>CJSO+*W{HtqxSe-=vc@C zzEKh+BEGr!l_TrC@q=$73iDhRzcx4%zT)417+75~9OFiDkcibe zPirPGyNnWjidU*&rlK1q+n$^0BXgj`%s)zkc?s(};vv@Y@@Ymq4Pd{#3z#*n9-+ zRug|=o_}drv#llEahKk)po7E;0C%v4T|>k=%q-HC=OFi9`07Kiw6$fD5m0Knrz1d@ zRH^lHxCjfyF9EVfrfcp@e>uV{HPgXmRcrpeWD{3qA{ zaWwr6T>QuB^6yjZzfti2a5QNg{2$J~|9M!(Gm~$Ir1RV;irCq2ImQarPG^7b2#OFEc1!DI^4H#ZfhvK)LSA(( zjycJ}9o2@3K#g6rxiE`*tTV`ENuTOL=%Q9T7vhkO`#>WvtxGuUXU|IPX>|(4ws(nu z)O#ZY;GA373KSGE@@SI+jXVN&n$4zpch|;0Q~~DXOZe4^^z#N#%>+r95*io`aZe9o zUfCh(cBWpo-0V(@eJ=vzv)8xtj*aAP$Fo;;`>Si7l?+di#)Uv5VzMEn96*|=?mdnf zwX&jcXm72jD(N_Ob`U^Bm<-qke`cVIkzAOUj5)P(aq>-VU2#dR1TH4?D0a4|J|fZ7 z#}L5FCIB;^*?mNX5|=LU`+-rj#R;*HI{G0Q@2!xD2$ah0OMf9|@^vA7cfS^dE;vD1 zJxR(6=}2e)NUgzdukayOyv*Te;c_LTOM1&MFeQp{5NA?T+fw1dJi19mW#XEdQNFUQ zbA+H1ApAwdALl=?1;FvdfZ`qLtv*$h{R_ZWMVT4dlLKto-yT7ADrU zS9EPCC2LYe0l`cwkkeb+cZJg~RfFIeJmIAAnT3mR!VRdT3v(u6&;BAOeM8!kEL7J< zMOFtl75`K#b4siun=oHBD2_0!7qo=nn(n2ht^fP^x%J;ili4I=P8=Zzz zd`!puhbqyQ52FNK`2FJ3J~nTpNmTghQof!ykeg8N-#b10le^aoudIgXGa4_l^%; zSyjLy9!(}P?OHokYFjzjj25fHi9;P$8b}|m#K&g|X4J%pkw(QJxNBoYwUM)QZ5B|; z)K0%=t4?=jwH=zl%jBk8ZxlZ+qun`y)8+bsMjmHsghXD`l|-h{sbMC+@^jAw&wnrD zB@_Tj0#MZo?e9T&$OdA|S>m1#$XlrUIP{`E$VnZjm`%HCuVe1P_Bo8em}xZ za>jRY-eufe+S<$xI~dC<=bmB<2ph?DpYcji#8xBwonmZS!QO*vE8!@W-gwibHNAxz zS9*UE;ou!d%ekYVk)wTHVC@QDVeQf2B7fl-{OZevhgRhEgiHPp>6@n-X~xN2%u~PC zldbjwH8_c$2_JS@aR2C*YS@F&8s{Aaz*k_~3NCF7aO{WC>U{i=$RBu%uNEI62~xpKikTJbE-LhYn4i|0?eWv4Ce*qqBQBP&fw}V z-hy5L-x#rMhmeDWP(7zXy)!_$=_BR)3Tp?%?SQX=ZXxjg_XRR}LrA+%8oK+q2;_Pj zLhLjI|1PRC*#DW}ZAFwkv@3n-j1y+47rqPcXhnf#QYx{kb+&i%cW@i&o|)b@-wWF% zKFiy47v2Gg5#of4ay&i5Gi*+$eU?)9q;s6Qgj}MH)AmlMaVAyU99qHi$!`2_0Q6`w z(*IWb#jH)%Ay4>EqVx6HJ*)7rA&!8q$Lk-r0sPO>p{hbv)qY`Ixq+^NU43tzTzg7rojrC4RHaYhI$d$3Fq`M-yx0 zvxb9lwFLSly$E4)___V#DH{IAMaja;Wjxd=`cyiO(?4at6yxbauuL00f?Qo@q$C@)?_vT9P49@kF8nfE)m*ui#7 z_0W;31ud#@xB*L=5(zj~UDyufR01UGsztUqP5Vx6hTm%*iycf(^W}SnwC*l$Yc+jr zGnNT5+a*T_O67lhADMkbXP>k+$HshjvPCAQQvZR5!4BUf2UtIwcyH~-3-m$TnW{V$ z{5=Pn0WNj1$Kqe~BqfEayzxUO;i*1nsu+_k0&jOw!au!6?C0^F zYUby5X5aqlj)6KCgJH`|`d5Joim)OO88>?eGX5$$WXWJtN-mug zzJBdsuFgY06MHD~tsaS>BMSffR-<5}_fg}%72sg4pBwPUJ6B>x%kqNRP4cp6Z%;)M zb-g;vkj05_bd5`f^dL;@tNB4rbZ1mPn*PJ+sdbrA^aQx&|w!gqe=Us>BYa zmIuhm(1r4XA_pg%iOurVU!F9-zH^f_a9?307;Y3L0aWBQ$3m&P^XRKE^kx+c%s4vQ za>%rT45URHFNDLXkjyR-%?j20!GW(zyi(ZM-~ItE{z=~Uy8j!o*v%j@*Y?>(odEqq z=J%`QLwPn{1@RJ0c(u=KmE-#tY8iF;#cAH&Jl}c;y;h#+u6=iP#gTwJ-nQmM#hAU& zblWl)gF&}UwBBqbaC==GI9psD4UhvTVl=z9HW_514P%s)nW=@y*}2t=(__19FMi_N zhT-O1R~e^F(%g6M_12drx`7*Hf7js#Utme{^+_MZusd)ta+OkQxB*no_uJ9%BK6}u z%&{Tb)*3-6l`IM3#>{1{rrd8yIxLQn3I=YNCsrF%zD@0&b{3R*^eI}wA}7#Z0NdzO zw=q>b0G5ec9c(9q{d>$k_lZEgxj#=qB21~GP0;s!#@ zX4_;5zKrjOh3Ts7Ys`;ftev6w)Xr-xE`Ak-BWwhrOf+YS@~h*DsCP^GTD^1PxAq9f z6)qzz%&F0x*RqMtob8SaUCr_zh_$w1&HM?!r)g}e!=BFSAF39^(#QGWN%`IbLG)Ub z)n^~OW*YaY9Oq7YH<%|eYM<`-3;DrvH%AP%}b1e5Z?bk!I8*`3AV)}P!tT$h@zW9Qd;juJR7c1Lpj zx6d%nxTH61gw9bV36%%0)sN-XgfX57t9+M<3gPKcX;-HVN-eFgLAF;QnKtcLPWSq` zD=i#QJev-DK_N{;vz#vQRTSA;Kw7>S+nx0J7GQwS8md%}6q>O$)t2BwmcPmO4?k{E zc5sC$V;)rBYkEzFTZrqtySgW|G6UhnzhaWBSH6ZDkPYv4wZS|U)eCgm-s1L~zCC-i z?d>^v60^_2qajipC=O~pK{4{XUsNcSdvVs6@?qpqZ$YqM2SI7pI;=AM$M&elsRV5n zwC;oWvydww^h|!(pTg1VQm@$k6xf3r}NO?=ine z>9ESty}$lVME0Uk=%-Fy+3%fo{C9My^vvSDAR$b*csqok!lL~78tD8xh`5GwR-xF$ zgSzS3_Ul`>I?gW`LRdZW3_PEFm^q#uHys+8vIay9kIfv6YU8Fxx5)BVPF=R0R3F>p z6+CTbhEMA8Ox6w(`1tqlKWST6S^F0_&74dur}uvFC>EDfLx1I++Q7b(LZn#)AThMn z_Br?Trm)z2`1--=_MdvyvqK{dQMQdmiw(l2Bpq^M;8G~o!C zVO$UG4IBNzweROKc>s-u|3*btDE$tdY3zO7>n6RSAU3G(xgzR!>$(@{Xw=YGFT$fy z;9#`rpqUtE_w06s{+lc%-`@NuN~tLB*y+)yT699S!Jz7t%!@yNI*wGkB(ywNp_3}} z!Fr9195WN&*-SZ&eT`IjmTm#!EOGKP9y*4UIv*mv*j-p*S?c-K}X!Q=oBqf9yi7wn>K*L-0_)SxXCx(CB>(- z0nP9!c(0JO0e2Odd1*5$=2*!V+wzjDJUIl!HMPW@h;Ll<(_({nL z`MJ@-{BNF9($Xc)j{-C-KYK(DI0LkU!?Qm{A9yg76IHxQ<>z@K3eJ)1 zd>6LX6fk5!C###D}Cv7YcVjxXS8Uz@zm&gduS7O%Gb%La5)?vZ8D zhkJ#b&N1}Y8A|WCw=A9fK)ipF?u|~$zanq%tpQ6ux4=3{$XYtSQ>u(n7c4H)L{Vw`X~>$^$^{5iiS zEtKuF!`wHkmI~zQ`@X+ilP_IUHGsbr0_}f*)9-oQ@CliAv9_vh`?tmyfZr~!pqES* z%+w%gl5|h)2nN0LRU3VwfCW3jNWM_ITC-&GxTdfNlq}ewyN44%Rq|Cq-2H|udI#c4 zE#DE$&2yczfSR5fL<2V-EqSq`{etHrQx8wlpz4gMN?r)qud)bSp3JANxnMh>v;X)7 zVU-3sd1-#fJF&F)qrT?kMbhI$8Sz*b`xKlI%AbyGHbPcE=Ug)8brE}yrQxnncp|O5 zu@q#fiSU{>BKcvTzP{M)yls>YAL;AOw1oJ8Y_l#vj4ILAn#&F%(0nV?JdD{NC&kTY zSD7?Gw-v9R3W!lAE^&D)%cmLVGKVpH<3c=&C%!%UlH7)>41VLMj5sztf(bX2jSd!O zqjau7Vwjhb7G+A+i8;1nfEZa~C}7mjefVaDIgHr}_t5kcUzj}(qxN9N}O zG;I~d30W-J9tN78YcQhh$q!k1SV|_=9LfyD84&bH75%hp&k1naqZHVJ9z>>j7Sdk| zm4@OJerHX5BQjzT!5!eIi0NX(XIJO4a0)B{DPhHWGo%>yWyIdIR80K2KOVF?G9? zGD;8u9^3-I+N@TtH~QDsfKPF+ZQJ$mXluPV{ZC^CAD>yHtRg9^zhL8m?fByWgKJ=>seGOCFJ>asvi zN1$aSe|pOk_<`ER=J|GRc|L%afn4Uj+x49k{zNa4<;K#ama~xx-`|m#Ss_LGWL3NQ zlZyH-S}oS$v`zeFffaUbGw@$mbmSW@Jij+uH~}i?tPeg$P=Bkmij0dG$&3qlDQpWO za-1M&DFSOJWTn!8NXgC?&^3+{M%B~<Dv_ zdO+6zKsZ3j2TeIu(_=q6Ly!p5@ZU>cl5^Gyx0Nzq{*qXS?y^BVSX5nzzFXiiRlu%LvE#ABdwRJ z<5G}Y8Op@w?O@vpX5@5N0Mpz=6b>V%=FqCXOBgZYkBNlY*h21F4zS$5iaMe_ z62m5>PpuV%V1+{+f5#P<5;JnLqV%Gny8@8LuBVOmO3TyZGwasbU6G_|AMA3Rxw! z^k%~X=*jpxCS>aTJ5z1Y_oLw#1QgX#c3oda@~MVyLhY{x;Ewsy4>lp+N$<22LMgDo zoW4FU?U|J*-BZe%)`zu&^MEquWw5?MMn24Ww>B%JeiF1_k!Yl@$7EkjyMw-51jKk*GTR1zlE$_9n35y2`A7HF zGp=nF^J_KnKS7_R<9>1q3r>swqfEzr;U?}371Q6xe-{6L^1oc)#Ql%5KWDA4)F?D7&qiPn^nMhO=XVa`9cY zq{G{!6bN4>UYtT)f!8Ei7aD(?_?B-eb2SF-KX1jf-Ag&+eaTcnD*sCqyy4xiuOIV! z;WgSnOX~qe2EW$D)s+93?{S?=Z4-HM&5H+WRqYK{mMp4(JNNQ4 zHb|XXcL>EsOfVkZ*8BCQ8V}dhb456_WLcs7BU}WDVUA8czRC;oGb15hKc6dl-E zgt)a9FH+!z`6R0eE_!ykm~aXX?$bB0hUYJ5P&s7>eG?%bg8j@Xb0W(BVren&S2s%6S+4Nav|8L9{~EF_h^6V%_2W0&gDklkORc66f~!DOdfCEP8cqUSujd zQBM&_K-3OP$^iEUdA^Afe<%paP>hgI{owsd=^Wh-xOZgsSt_JMX^#UXS{1b$)&vWr*^Y{KGXiNzvMibm2{RM&vfc@k;XJI z&;FwGWDfXz{{ln%B}jlBw`@l$3HH^u%?s?8lZ8(W7eSBtXYsk&xDxFIf zo1<5^<-M|5L8=vQf@Kqmx-qeaV#FV_Q7^W?_@qJtzpii^`V0vMyb&SFmJjR+(x@0E zM<#EQAx4%6Y&~ejjj{~V1$!KGQ2$inM6q7}8%Fq2b(igWy3>VJ-mhCMHN`?AV3cbN zn0eb9zfT(Tct%;dyUEJ!Gr!yQjSj ztJUes$-usQAxaDnj2NU1K;hTa5Eih=xvlX7hoJk(^>2O8Cey2DHWhEcR?QF91K1NL z-|%PJtYS!xiABX?J{)j*^^;;yGxOlOgtb7zKq%Q2vqyl^06Z}k&6o+iZ3L)rYKIS5 z)_OGs-PX;HMO)lt1WtAzqk#Vqq*1^-$@aAluBJkCA&A?TO&1p&Xz(4)Df9xpHir>MXkDUgY|b_- z8UW4d4nHvr+tS)&xLBokRU89BwO~(7Rsa@*;y$?hfPC6& zJ0^9#H*s=As|W7xinnJ5S(J1XtSL9zFyj%W_PI2~BHM5UkU3f%&o_jn^wXnHUs9UV zNg54v&WO&v%SwU?q?uGDT`SpZlD-$Z61QzK`>iUgYtZcubXp<6+eKSs99dErmEYi z?8YF}+UG?c8BbjyOjHurE6dfD1h`}m27tB0FhWwEM#=r_yRnu|4mW@%=aYT-4P$Iz z&ZWu76rA8v;rL8x^6=};YDj1W)lr#|o`6yGWmv%2G`&f_b@qC~(VDYTq4KOkSW&Yo zyhXNvSP%00NH_qb$~j=$j}MDILL(QS&e6d_Ee9m?aksFTFzIajBDW~#5+5u!!fcv62eRum^RBbvqt({Si{OttV&>HXy595;Fy1?MWat;rCQ9uHj;}v0$hjC!j9?3k0=`r zex%)5oq=eDOWBI8VC!9x+Ya>gfx!7c?TrcBOI|HGCmB7Fsbv ztb3o0Y(JoIOvN?L3*02@78Q52Rw^WxFfgFJHXEijrojcV13VlkefoHP#mzGh4LmV< zl2C6wSVCVmE$n^oNj>kXJ8pL8F#RU*q`!;z!W9zD4nw)zyfENbsL}lUGhp!%ZDfyH zFKSZh`<`aZLBoZnCqNmdx)YLZbJ8YWqWQ`r>2)TfO99xE)JH-#pW2=#lG9wyB2YZH z2V{nmH}Rr<6dp$5Y3i#e?5-8gDO$G%@ zhrmRZaNOcefwG)*=10=R&9KPsc}vV6U)@6%2Aj|5z3+egA}#V}`>FjAgkggmnG3R* zb2L+}f>~2M9c?sN3S?T!U>*t9fR|o>L3{xQPR@qD=~Cr$VT2tUq4(KkiI3r(U=?T3 z!^EOPXG&-k<1)c4T2;;}0E!ce`dB4O{2G3DB1R_q>TbAkB1^?(Sz;_TTf}>ct6yq` zffZ`2goAOgA^i9*P`6PDl3l@fy=#k475shP>-rnqC7`Zx^~<@55GQ5oM0FC517)2zKBz*(q+X)vHo zM^j)c9})Gd7vl_@TtYi-@xliT61!g#=NHriPV*Qtzw}7pzj=(?j8Lsu-_^|<1x|ZQ zR0*JWg^HF|K`v>S&gaTR%>I77r_@#*y>EUB{z{di8YV3fz3@708g*YV9qeCkRHGpo z!A$qA8+7qcOVyl6G0G~jN3o{`jY!;>k4iJ{y1LgSyw;RD!AW|allXOQ0#vjE;`PC< z1s?Qw5d-x&M%>gT)|0NR)lf@0y}2}?f_wB0Ff-;aZQIcdeoz~dGR{e=Vbs58qB0T$ zP@?*}66#Z%*{@MK&-Pdh&sjwZAEedsP=2@V>V82p@kJkD>)9TELbJ+XCp!0Kr3Bd$ zU;P;z$4Sme%YQFcmVUJ;q*Y9WnMH2$zX3^;uP*(IyS<3OL3d$B0VptUBTb zGpe#=@(g?d8kGEAJ&weem3lMEk&t6s4J8xnVyPgf~0fe-!92lp2YpBj}IrZqz&JG)gTQ0`S=p z-bL{B;kT-N21N*R+~;je7lY3)WxWdYf~NZIlm?uWpju-i=vd%7OXvW#zOi}Upjs=bS5!>v|IV=}X!l=)s{>UWxMR;O z=mn>N)0E2*%~1yDI@ll>Q;hgS&(}KFnbWKXJPOm4@1KiCS-meKaf(;Ki=@+>x2%+p#}$PDR*PGRte=un9xiUi*USWF z&lP)?TrUN#phC+CSnX|2yb)3!O? zZ==|%3Q*dWd?Kz2ClfYPuJ>2j_E#@uJgHWc`2B&aNyy8pk$70*b=Kj-lruOc*3D4( z`->h|v4=(SJ~SP){u2G#?^g`J7>nvjMtNVnUUnBO$s%=j#cur0c8a(HKVzb<%NG{A zj-oi-zU%X5OWk4mYWTCen-w$$CKig_1x-GtCKphj8SJZFOh(>`iinJa2n>I()uGdt zQon8w#u%A+k2twGjBh=8v>n^2=er@F+es^8ZOamS%;(8!Z{z)_YPq&kJ9kLZAzJJq=T+SBmesJZ4;<9&6v@?~=t2-MvNmU3SJu M&s?|kmMi=}09$8H9{>OV literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/06_of_clubs.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/06_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..6a221859d384b305331e8ba05ee057b5bdde1c21 GIT binary patch literal 7580 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 z�HUmois+f(B5^%) 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 bwf5{kXefh4w1b}$uwA}rb)oFs&4~X3>7kZG literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/06_of_hearts.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/06_of_hearts.png new file mode 100644 index 0000000000000000000000000000000000000000..5ed84d2deaaaba2615ccc68571cdbb957396d44b GIT binary patch literal 9485 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/07_of_clubs.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/07_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..fb7c677a18875272baf12aaf69c3e7190bdf8c74 GIT binary patch literal 8429 zcma)CcRZEv`&T&j-n&TId!1wT7?~N_q!3Y7vX7N>vUfygCnG8mM~KMGb`G*P2}Rb) zIFa9T^!a?hzt``t-(UCjT=%u^XI%I7zV0W^#7KvRl9Q5%h=@i{SL+55(K$CFqVwG3 zBp}D9?wA=I&N~_CXc3*pr1XCxBD(NWPYW;)n%c|{^J7_wjG3q3_1^=?O|T@N9Nr*w z-J+~pAVR$q-2o}FwyX)e44<$Kyq3-KK`jva5X%K~{c$>aEb-^_nGs4l33kj@0m7tp zwSrMv8du3vzcOlQ>`trK-+U-58+iBUc)#-2R(8bpp#RS%I=Y^jVAnZ@Hd;NW)F7E3 zwS-iL=4{BqwZuGhR2r<5uZK6SF3`1uD{c=)3KMw?=p zHZge|8BJNI;-RYL;tZr!#5 zyG1DDDqdL;e)RDHTEr9SPKXExi7my=3LSs%VbP95O_6)W_3 zysVY2GAb+YXf8i##{2TmZ*o6zs~(I!FV*wW3bV@xBWymZ;fWtpe--o?ulJ9W9dWJ4 z>$Z|IE8MN1{%x@hIpu)!Gj0YkAExuke?R)Ib_&4wZ}_mQeX6$)WEX6FLiRm2^!TOt z?=6_7_$#VwJB=68o;*L4{dRwFa{Ea1UbJq{eA?ocU$V~NXHs!yP3M))%#A<|Bl=(V zD%VA|YzJG$zbt+oE`Kk1vyhoz7IVATmPw^KZK(Uim0wXOZRo)->#k4KZ%gU^WpYd{Z%9%2VGbzTxbaM(|4w8;J6nlf6wiu8NUwpb11LjiH;no0Jo4@ zV{;=YAX`y&!$N85YX}GI$B9f`J~=Xr*iwYi464^7`Oko-QI41`yKdTbs3ma4$z&yL z#LQChoi;rAI(CQ8{0IVlS%_}of{yqaB9c#0z2pX2EX*(RuMhj;fUXdemB7r(jLE^v z>(D9GvTE6IbY!MB9f^0fF2)qXvjsdg7ISB%Kg@6u*@E^G1a|Aihem8(?iLhL!`6%FVgF8NJKNzdjlHU0 zEkh(9pn4sq3#n}WBYIS;&GycyQ&oq-@3_*u=bbnV=`ZpV8jo6zD2d0^t{D;(g}`Mz z6;YgG4U_$0KI6*_be-xy<)1E0Ah;Bug)vyYR&lYzjg*`DU>L~qV?`|#CRm%&2!@tW zOwuP-@=rYO8EME9lsmvXimzO()k<;5?F~s*TI(=8{S_@fP8&1L5`V8kH|W77_}^2b|dOxq9$K)5f^0@ zyAE-R`W-#oMhiN{Nt$wqX1$(v*(6z{_I1W;EF$>?rO$J>(EW=4x{#*mBQsVB`rg(+ zB3sjFoRNEj6YF>DDwzTSO4t}u|L2R81kAI=i1x;I3L|O${XG0HpNzPo4*3Q)1Omzx@ibLq#0i=WV|kqx&n|25X_*Eh=>eZG%@)9Uu9Ej^)>wUQ7e{)W#n0#v@biD_RQI`-SDE6>D<=xCTgDfaNJdWUg zG5{+|t=^`eE7>&4FvKT9SfVFcQ|Gq8NAJB7cN&Q0&myrlZjedbRSs3$HA-A0m1DpR(_do%O zCH~q%?yaR~NmGaqAzJoOjdUk~kf z$((PKN$)wOC3z0Ljt;PWFnbP1(U@=b0(L)0fu`Zytp8lV?SAS%!I$yh|18~mcYJw_ zJsc@P4P{rlh7LFEKG)eAU1w@dRT%9$f)e;dJ~w!^4@ew?7S)!IoSehE7mTPohspLL z4p`R?vwTv;MVBY#*1Gs<@jkiUD@5P!FvA6Cf`!^{45+kk=1gB8FD_~tK^r*;$EU`~ z;XVtAt!*b{lr4ZdeAl>fSoTk&%MFz`+BMcEjj*Z$v<+5?^WS*~kMiih?t5_heYGm? z#J{et^Siy`$*PNa2x&4ouwbpa3eWV-T6UbZ3VuvFjLt{JfTrGorWzS{N7K7ELE|>j zfyE<#g#EHvmg}Zw7y8d>U=$E@6~A|$D9>2k^WN?#!Mf<2r@g$>Vqcy%i@t}=dVn5` z2{|{~s&2JRI@^Pn=)@&?DKa-9S%%TSP?3}a+Ez?h&RwPk7ACpXn-(31NzKkeco$1u zOaKC68MR@a7{kXSnK^sDh3{d?kn>00J;nQ>bR!hysRf&)G#l;AIBgi@PMAY)rTYj+ zIT2Bfqv}sB7~Y9;zjHB(^LfogF6d|$^}a`CDgvRU#_x=V1u z(~DXZubQcg8G?ivY~R^8XqgtH5yevwIHa?Q6|E_g??=`bcNPNX_!KU7Z$aBo>U2k_ z+Z{*O3lyHcU7rHl%skQxiYVX~-DF{^gWlC`xQ}U+W1u>TD)fc#IdyjtJoN0+9=p!D zeJF!9$MKY>6$sGThMe!)QEKi?zZ?=^wg2<}q=2fx-2>qn?ykD}p5e*yT$@W^md8;K zbmeh$)dl?;-IeA}H;w-gS;Cwy&3zR4Ue@|dz|FAzzDJwHM%(4`&vJ>$%XVU|DjV1G z7xA!-&ng-3bm7;S1)@4Qv#OZPhUnA|v2@v=$fl=0?_zezu3ALO8S(rFfEo| zY1**VWG|r(CvF;*KZzwMSF(aI<^%deAnSAB9XZ|bG#9KLC@a&(;F%l|Mt*GVhgj!5sazM7hIyEeOCUYA_ zW&%Sdv*|DvpdYm`#Jgg59MJ-R_lqD14<9R(5of@RK`plvCzG69=#*VMl$uCGLGuNW z$xMn+M!8i>C#+9li~w*@Opw39Ljg-#;*dk$#XfH2rp~!dx%_EHV}}~1#tdV`(VrQw z768<>2&@dyIO7@XjQ|j#OJIHByt#k>_;ka@)ky}Kxq{{aES%|bsyhgDIK!D?bs99 zN)Intelr7ajihUu>pJb6Rd{v9NVyH$q26r=N6}yy8uhnMcM6?p>n@|5}UufVAo#6K#Y^}JaBNPqv_1HH6bS3N%@hh`5gV+nywi?M?wDXhky(*)JCbU)+92t5#O^wVK6LX2iE1CQjSqueLa{(!=jV68Cmn#= zRzklWaza8X?e?KQ{~*Q%JGUtJ#8Bdqsy3KMcts2=sVh;JAmVhG9LNc`ptM^syBjBt zC!+)9vRK^1i+kGSW|ZEC5_C*23I3sA#*EBFazr}s{omv#6c6+P6yF>bzf+HoJ1TyA z@wo5{EnX(TNd(_Y#)o$lQTy!jhh`XE4n#x)IZap~Zy8arLfrrYnA_z~s`9`o4?vPS zq{iW*aMir|sZpvH@+* z#LJ}udmbF0$30g1iFOc@Y z0YjN;du;n6-Q5CB&^`8O{1=eF&l8 z)DI~pd*xRKIvlp=@~R(1n$R{AW8-Ct18qlG&~1k9Z#d@;HsVpAWK<%3#0Jk@CBBxO=w)EudoiIqs0MZ3-f!H$RmZJ0h{`Uz%n$oIC_rhgi8Uq62;ds~ zUSSgzpmNto^!wm`WwL7wvUz-W@fiAOu(HvK$XCpJS?#QjECROb{2_oe{2uQQmj+|D zhO*!qO+idDtEkXjR<7#F+nK^i|tKMG8t-zqhJK75eXE_mD0YcWg1I0W>op`%4-`VVYz*3nWgzKOk0h(|_8OY&d7 zrH)oa**|<+WS?|WR-?EIWB5A4_RLMumBW;Gg0D!Da=JLB2gekCM#lfeQRo*!|4phr z3#0B?7FvY+5XP9D$V3(}w#?SP z)~*t9gMnUCkf)}dXsWw>_IG8D<|7wmOYe;tQB^2EQgf`^6EWAJ!BjlsgC{L2uC=9R zFLt?&rL4cJ?cH`NVlF2&ZATm2-Bynsg1LUld;$Gxb0Uvf=c{h!aM2w(>Qm~@e7dty z7*fvN5}K&tU3`&F+xm63YrVZM7fGaFO(1-XLQI=sH#K^WJ&KekJdKe>rSXr1^|(^S zZ}*Dms9|&-u(g@ zXtDt*R$SG))dk)=F*q?RELVGcc#7aK`X-PS&2mCwQ0)2v(F~^F64xydVd`CGyIbIt zfD<#uvb?ksvwC+8o_S@>^}4ot7w5W70g5aqz8NV$j1~i)%T1yis{^h2c-L)`QHnM> z#-6eXghW`tV3M7(_$={8KaE()v&6-2y7K&1eu9vJ6kVgKYkf0qqcokM*pq^bqb#D2 zrQF(36pmPM)L@spc-F@{8|fj}$&r_-bN-Hx0VYrkdHL^nCjP(F{^@`HtM~5+>VxuU zcK)MxX6Ijb|Bj$r(9Qo(tqpZA^50nh-%8-p{*SMk^b7~yfTF<%VLSnMc=Znhg_~A~ zo<)yNJhq>Rx^A6xkA1Tf<$Cq%)eC&>(i|nvxUBW1Ioi|std)`4`ddfemFsK!aZcD= zIX*M*$$tKlgO9?H%F6)uN}BU)D8+lR8*ogQd}ZKF?rqAmXQm2o^PNw%YHWR@11*qe zIpKE4JzkB`xV7n639)w+X+X%s+xC83tlSr^goI5wZ%I&;S{GeWiD1};|Nh7+_aMZ2 zhC`pP4NJ5C7=jR4GlVv=5Is^T@5EzG5h=?N00SNKI*mt^NEaT#;|YHw+o9THBR2!pY{ta z_AsJ7INf?VU`vX*DV;@s?TFE9EI5hHgy+~-{uVa)^FaOAB$PXi_H&0QMmPvbIeRXu zzex9gj&A1yh-dxPZ}D?fD)HL{3WwL9j2KxcbyV_2n`>Z<59+nL@_7i2)?YEcl|%0zTR zeJq!}T>}G~55u%ca-jGvqHk{C%YW~vaZ{9t_8zY)i9_6qr!yq{{Htj00>w2i_o9Kf zN}M=%1=_LVC8|X0U;N;()TxR>;bDBCo>r9mQLoJ+m zFDV#`0@Ab_(ZcM=NHW{bFr*50*jO?6qHL zpISi@^l$J_Z7~N%3&wI*XQ(a3t_hscI>y_dR2Or|G{C0bh8xzGNdjK*1b9Q}nI23( zF)x?Bq9w^ZJ@q;K-`#x1-DZgUs?L4sN6^eVA3k$!9tQPV0j2Zi8N4c1lzlhXS~0-Ws^Tm>+$uE>ESA&!awf$8gc%Ab%kOMkn}DgtDuG^1%$C;FdJk(H_5 z7u?PYNW8lj%_CoScO{C&aQa{sHqyF!<3Us;tY5=wz>~fgOSzD-sH&~}$N7-*E!xzv^}+Luq%=epLS0HXQ~bUGtb8X97yOYi;afw{gr|58J+Cslr>dh)@SZDn zlbIPFX~Og)W6T#v5a7%#RrpYC=$Z@ahnr|4Q0i5Jc(Y95s?{|zi%aAUG{l~Ui&LLv z1oyd5Q1K)H@w9ltT&slO{!N}DfNPwLCb7CW_)>1hl&=`X;t~bElC>G>y6DaduELu7 zwJxLFcG|k22H!iK9@Q=<6YU&SWR#=4q*KC^kmLbWycR&*msTzcwPD>^cw4G3xT^#E;Ban>iM>Ji`B zZ&9?P;+8w^n?wOjR`hQG7RdFRKsm&MUC!s+BAG=656l^>McGF8TFQ-|17xtvr6q0? zly$Ei5`-_ce}5|TZxK{M+0c}48FvNY730PxoON8IuL2O?$ko0ZCJvqxnjp)4`Afe^ z$^j~^R8GWegYZv3ww1it>ECDqQ?BDOL_P^56UsYnOv2N!{!OLBTd zuh)$CUPtH}vxNTQ*CQVaTZJdTrC$$5s~!kkd`!Po8aQf3mX?3j#UIY)k86l)S$@0O8*ca5 zWMPl*1slI$gl6>Zn|z!#y7^Z9d%AHM;GywxBR2I(n6v7Yo0o@o?%M6&*0y@lu6}eJ zQOL*760@+EF#TAqM}6zZ>JTkI-TcM*=f{<8&k|XPxwzKjz;j`0um0l_a)TRVAp(-y z(-(czli1fWa~BNt24{kF1OioJ8=*%W&5K1pYRR1 z9S^v~3wV7UsO_h6{6zWvq22zxjt?%iKJn9H*Po3~@mmSxx_V(ltIww&Mzh8l?B}lD z?A6kCBa?Wp)wfkFV>7=WE2i!jKPcoDI7@dDeb-(3Dt!`+U4$U7#zIB}NAGM_By$^hG zzmZl&9nT_{DCTo`LwxVcU`lQ=FSH5n8+`BV_nl2XI4<&jFT_H;L5e?p5-X2yUYu|O Q|6d@|(>Bto&~QNf4Qwn3t@mTX~WN~L5elHHUw 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/07_of_hearts.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/07_of_hearts.png new file mode 100644 index 0000000000000000000000000000000000000000..ecf7d57b46144af9db699ec441caa5ffebc1589b GIT binary patch literal 10321 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/07_of_spades.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/07_of_spades.png new file mode 100644 index 0000000000000000000000000000000000000000..1e49b2f0db9b8fb124dcf5c9e8dc771b8281ecfe GIT binary patch literal 8100 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/08_of_clubs.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/08_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..1bdad87d750bd0e79113d8673dd73ad0d870099f GIT binary patch literal 9604 zcmZ{KcRbtS_b;U?vG-oJLhT(}?7g+6R@L64Hq}a~U9|Q}ZKaf;sM%UY1VznKD{8jX zEN-Ixe($}%*S&uvIj{F~&htFUC!cfP@AG`(j0`kMfQ&#K92^pDEj1Gy99$P1oEyx9 z_!z{u`42VbO*NdW*p%T;92{;1Z8a6M;Mtx0kN_I_^NnP<4Xr<Oxyd@z4Fth>c?bzidmJ{!d~;`(^hpsHpP(2s-V3+#uz=5#K^v4 zaOaQx^A8_q$|tsneU`_6>4sV#ZGKQ?iOf8>vtqmw%Gv9~vDx>n>06q)zvJ)G(GSTr zC#0H2Br(36lQPft_N@f^@SNXPAgjDOXWlPpxr4J4{1%6+THrqleP2{(Ta4Q7OGQ3- zWuD*g1@s|2yKP;FY*Nv>Ir9O7;eqp?hzPXDC9oJ2l06}|0Ywg1Dyifo3i~mOZ>c(u zJM#pckMTDDDqmJgzrFHiyL;bfm$kULWTcWTrsry0D?E|yAkg6`8=*}pyireQOS7o& zmFV3-Wc_ibHohIDI}+LXgk&$5;mO9WL$Zw;2@@8je1D5YX3})Jm2;@*p&s&_v~YZ; z_Lyk;1x>LUvgkd}`6M*u*KZNnc%?&dV% zAN0R}878$nsXwXWjzEei5{c=omoHammnkyAeYgijbk+?AfYMtlsm%`!6uL#K)@RP< zgH~jp#~?42`4j8G$wr=f8{>J>g_Us!IrC;xBMiwHs%z$eHcn@|+&~cxfNn zoj&FA53#X`%D{zlqN@hd>PneXkNp=TL^p}F^P3LFu4iDm`ZyqW$f7Osbl~dtRZ*(- zV<=aa@+x_~A%pA2SNE3yjjB`|XL^18w5x6AsU_A!h*bR;(eXo)uN2UqsyTKN3^A)p zmI+>EzseWhB}*`{eTsUC+W3j^)c@w}Qy|aK2#u7r&;DWig10yg<<4@a)|=f}g9bj@ zyC8Q(T*#3qqS(75>K?ZL^M$cGT2l18P`rBxxXe*7Tg;6x!h5*f{~$4;X+g6rkr86c z^y*05bdGnd$>!1L3XT8+GfRKb{vR$@q}R@yiuXHS*@GlL8o9(kOs`)WzVHLe4{H_i zO^yCPAB{SQ?`o1k$suI(DT3Ri>c~N&2y3%hLw!#+&AGGpfmMaYg_V0+O5p}q17I** zIKniztl<|j=VZN{8NUrYdNnT*#pEEgxAr~*CMuZw06fwHI6oOFja?NG4qyrW z^k7~l{2AkyrIjp0XFLV#P0!}OcXL1dTD6e%5WK7P;O@@H%ha6-Ae=gdt_5oW4VgSBS_@WZ zJiI+y3C4u`!}_S#o0bNXG6@t40^N`^(--htTG2vf`8obajVRc7Q35tLLNFjh0xf`z zu_a@V`+h+R>4De^KE~g7#;BO*Z9t>UC=7BCJmc zJiFVZC>Eu^18z0~FH~g}+!M@}E>RXP&7So)s9HKLFKbG%<`0e(Tkjum1uV;qd?{$y zBO1}8Be>vd=h}G0OHwZ^F)^M_V18Sl(4Udtl^Z;yzcsZm2@yXxPBunA(?h6=t~+=? zx}bs-m1{OFCY*va_%Xv^#7r44t?NEc%55;tB&+;Q(@#!2s zt6EGQI>a$l-nxr47Dj3lwUZQ&;j)OxZhoJh4!&X8Ija-uYhZ%T zbRg&`FOsiR4cf;K(A36J@jp^~{%m%zWD~xv{Ty!$HIn&aUvFS(_fAK~=i28=*ykkgeYPmgpc) z;brSVRl|M!L+k5pyTXSs5Y3=!X2^}ur~kavn=<#SR^ihaDEc2X*_2tQ@e8Ht5#ul` zEDfmE{($JFz;3hwfjak$cPQsFCU$#HT{2c7TJxqGR2eZ(%u-CX!L_LR%_9V$r2T!V zR-0X?-z!h5Mj^@inL2@Rvh|dxtgitCy(TEN)o1*Oh%*$oOK9jWjEKu=TCNKFbJNm> z3NNaHrRwHT6V%WWh!e>XFjy#t+*d^ zXjbQveMjPzJiRUAAImV}8``yV78#sK)z^fGjD64=@=CCz9AUGZR^34N+*d}^2?|~4 z9>!;zujwWXg&Utx+XR3vn>kz8xJFhEUkr#1gPF5^^ zke5X`4CqArEUJTqmt#*c6Dt{5qM58t%*ZTR*T_k@of+VAJc0q`w2G6S)u;3P#<|$V zQ?%SSjU79i= z7@09fS2l@{XJ1iw>Ul1kdU{XzM{!^>tMq*v8@J&PI<{(ZLcPLlO+7)58TA&<@?ql{?_jxQD^Vq1oKo&&<6_v!UH2N^Pd>T_^r9DGeYAH(B-qVSF#h>%o3n1v*U zGHf1Iv$@9^xk#FNiOUF@hXUneAYlb9fN!+J-0Z*_lPQ@F94iAYYRgyQ&Q|lw<7v?g z`0DV<=U<1TxXW%g62p${70KTUHOAF}5Z@+1sKJfzu#>_HVUk_P6n{Nu@c&tBsRUqN7kOPDMbqc3 z?}-`55a9IV6Fgj74#ObunfK%_rU+PZ#-e7HCz`1nE7UqX!xZ_A6HH>;1G?>d z%22x-QcrJnh*oIcoW0l7*sbx!A+gJ*k3tF-C}&I9;ZX2gwxn0&Fn2Hya_FdSG}z*vfYWH~+fa}gZ5JVy%Ld06mjcQ3qUNDoqu z+AR%wL$nZ!;zL-?O#F~#5~+(_;zP*YUyDP%0Te*m(nAUeFPOVcU4r~#c_H7l_o-*| ziTBl9GW<(WLTikMP$y4r;EsuG@a+K2XPD`@7O3FjgasI$3mnWQ(?){`XRnWO8{};2qVHN6bl# z6RnJiX|w$!P|TMaa;M}kbC5R3ohs-P>VB9^*Z*9cdbW{Sy{Rr<80V{_WgAh~jkx>7 zDU`CXK=B5cHw`0>hh)t+U=gnB&113LE#6h!n3B_-Qa$P z8F*FNV0ANSLcCcg-#E-FXaBje#A? z0kR;?k%4wnF>rA)qbN!NiAjGiF@0%!b}IdmCfP(7NCj66#qd#tcRdD%x#vEs49&%< z;;X_Zhoz>%%TOwxYXxDEv34LtPPRMWq5LyA%5B|C7rw_q53F(Ws-r&Bz(Qs1`eY<2pB!yWBALXmcQDF?hbIPN~ zi<-*RmNnH{pu=-~HTdLb1QenK!9oxEPwn{ve174XFcWmKa&iG{4EUKfWA2hu!Yp_V zWq}ve9L6q>$ES_aTYxyoo3vumAQav1>-#*JkUMFwAdj~!D5zl;oTj%w(>@g8v14@7 z$Z*Yy>INku3^+i*8VwBxTE!l~+!56YVS`9c(IM@bywpnMp)w)IVb{giX9s`SxSY*l zm&_M>LGX)vE6*^Mu9dkmgUq5b7)F}b;077hKWVZPQs8oa1+`f@x#0n}#sokwNkfv0 z{OfWR(;65d2_wY!9`c(Ep$BG;Ay3%lac6mCwULo@t;R*^qrIiVjGLuLc@aW~ye8>{ zPjti^H@5xZY-u+XvYp&UXQm<3K>474p^%Ew+-sRpsBJH0XUDYjC9k0t7Wp4_VoRi8 z!+03{S9B;SGX{wMbr5<9Y+IFA{OfX^+_FC@?&e_bOQCD2|7Q-5R!ZL1n% z0N~%WdW?rFf6>qu2{g@L^DIhPrRLSne}?8D*y#ep+ksIp;-M?2kt zabn=WCmMQ~-*)*MOW&h76z{&stdwfz|4VRu!FTk0th*0BhoEaci;xTyDD7nOI#%RjO`tZ_rWT?;41GFl7d%w~s-qP&$wZWA3dS?9L-c-Tl4AG%xMM;iUOde_qeT3VNc~cO~m;=0%Jp33;krX^p z?|6U#GiT^Y(|e zo~VyDvtUGm8QQt@eA#AK%v2Zt_&dg{-HIiEO%OH}*ANTYbA3EaK)gL>;C!tO_zjh7 zr~c^#c|&ET@_bY%R%Xb_<3^NYx%Z4J{1#Rz_$6QC?((=bww~PB*nnGx%0d4$MnEfX zk@&Utpw7YM&P)DP!CT(o@LzS~`DC!C>)UWtZ$T7m#lOh`1yLQka`4~ZF}Pzvlugk; z{Bc3l;(u&TsgI&NnYs8=TsE^y&#!kfL3*iL!k(m&gr?7z3FAL>r+hyC zj;UPV-OwS^F10(sA@gw}RyUo2>R}Y^IChz?J3=`Bo7Eq^Pwe(swzVh0Y08=MzKM#0 zKMTtyu`b5`&Wf0*ro) zs2ybIPGLFu%&kdH+y5U2PdG#AdKMNXtnh#QZ+iU-BDrSVhWsacm;}q(_&*YC?~^`* z)@l-Gwvl)BcnzY&`KeEDytIQ?B7M?b8S(M5UEG=`?FG~Tz!y)E^f6%3PAvu&ne#~6 zYF)6)srxRLVN1dm`*KECnYrLkJOO7cj9N%Hpu#leq5QQK(aenwb72R+;X5SBDDp0O zx>{X^+VKn}6o*lCmB3c33s9po&ms$G(;7k{bEEdM8Go%H z%WXXjDVBsEb8kntrLd+oSVC&G2+tyNFzW#n1Ub-}F1NvNxDOxav1Q~%a~_gu`O;^F zBnqW9$U^SQB;R|Bp`_KxsDEq}10Fxdk5KT$COpOegMdmxZTQR#J!z7-oF$>c-y#&S?B>52LCqkXm*}*6A@srZ3P}Ebq#fNz(HK&#}vd_E=WU2Epx&b3KlkrG|+~Q~cstd=X$*?Ix z;SwdR7@?INt7}lr6xc#D+R()XBQ;S((1eOF8@c@U`(%Os2vvof6PJ$_p`HSHWnW|7 z%U>5`ZK6`F?O%p^8b3>gVGd>YN&TGEF&y@isKGd%jRWr{s2ehIzQ*$?CjhBt+E7F4 zz@cLlMf``bG%M+f=N@q3?3Cc6e!Wu>@nc`B-x8h^;&0nY9S1}_#hJg6i(rcMho=&` z-na?xl$_cq%8n>RYtBWxoP=HP=?qY}HvW3p(}A?E`>#Aq#%IwZp%0EL;tOzpl)v(P z7b`S(#uq8arCvO)@q)r`N$?HOwkZd<-P>Ty;D@$739WFx2ioFQ3DZ0Mj+q z5;KI_C}U}y-o6^T?HYP$2xZm6LJwBrPz%=_jkJJpAr(u=w2#%$#299W$xGrN){0Q! zpnxZv8vke@`XQF{t&$o-JJPYv*&A`FQ3?!c<9#Df5h{u0c=i2M@Z)P9H{IBZi~!_A z+A_0igboF;b-dCFb?#rDa|gz8 zmi=LyLV2SvAk79H5U(2)x8RIP^l3&@94=~-1l(V5lU-?}u$Nd8=&8mWXNr>{vuGf2 z(+9}unV|4%hXCd^nb&28kkpsHCjKurKmn{Bw@^`H69^jDtavJXJ-C$;wqN(2GJBw3 z`Cr*ww9~t;o1)~W1D{@D>LxS$J>X8c8IaaNPnFvqBX2eU%eDGtRJ5?8tMQ*36K#Ep+pQ2Cvyl%XO|F|uX@$D{;muq;Oc+}ZfRyYMXpj1fCm>&C8dwrhd) z5~HRdST)t6V~KVrOoE(CbGX7)uZ5BTP#+%s@-{|FQDUXkseUj@6P2kTAlm=)DCn8Kt!bW|LsqvlC$h=F6QwFl58)ZgHO< zdkg$wmCVbcqNL7**M0i-eenW|8T<~j%3V~SvQMPKuFDm<8T^UQ`!?Nf(OG&zWM_)p zVx|fW<9i_vv|@lLd*0SVp3m+HtxLeadHbQAOi&7Iji$+!4F&uz7ygB!J~8ozRk0=$ z%_B^{$8S&JA&5C}7%Ns_eFT3h)RZMRq3Q^J5*KC+)g$hjOEs{{S>3N#eF7Jn4&%OL>L((YkPmwu|n1%JfsGvxU(ZDTpLBoKNwQw`BUeh@Ox&Z3dI@0&`?_{0sr8s#%BFT zx=a-eL^`c3CkS#i`|H;t{Hcy#8A>W$p{@^>lNT~% zFZz8r>Zz)Pkv8(W!(~o!)+xeNdP4D66SW_EK*~11i;aEpc=Pezb4qG5AxrVBEu? zgZ|v1i3!`Zn`mXj^EgV2DGiu$&U+)+*|ixT>kvO2(D>(B`RpE~Gi!h29Z{fKbKWDj zd}`0R)S{JQTs&b+2mG5%r_0ax$K0XnS5ri`80wfy$8z+e1+|4=;3jO*TIhTp7|`5X zDs4OEUej4yQ=82EQi4_`C8{WI~_ZZ`JiJ1fL6ZG|ggSFvQ{#Z>%ITLb9Q1~Mwj@DHTkUT0@&gp^{kT~9Z+$`e zJ1Nu1>@`=;zN9>cj7>w>RG0?u{`lKZ9;@4a%b2&*>2kj~9<`Nr`4;V$K@x7ip^L2j zy6c+C5Bb-ke$x%cf&8a~O|TKrg9_kVT@Z_%;KwY{_S#QKfHE)k|v?raDvnE6rU?E3e}A+(LU#3Uhy zJl}}FF=fXRSVQHUGDJUrJJE%}4!4oIi+DL=9{86sUqZ;o)FfsTt!)x{oL<>Y4^2TC%RshgND^N^vlKEKiD_9XpKECRFnR<_5vz6`}Fe zpJ0Cp$L$iG1FJhIG5oEF0YGd;449eDn{KjuMTTYGY-{weJE?Ku#Gk^qld7LU(1W3& zkG9&gQl1WI^1S^7dbxrlcm&=!aov6rGfJ*OU-UBFA)EyH> zFB&u;oxBTVLEs&;WQ?uEPjV(YTgmL41Qkjpu!hLJTB%M&-PMlnhzaEHzt0I*9WPQv zn1YdvfP8hhh-?7i5OFqqU6&=A5=)4IC&5$Wqyq&A%!!9U-(|`FusQg~dgelve}_Q@O0RGU zK$6!_D<4%r$N?<~#<4nC2jk@V!+;~J1ja5r&&Mj1Bvj#im={9~M4TArl(jxc!DyPL z31^V>t3hS;*ih#fb229JJqj3Lgp0!5`6P-pkiEZ~h)%K~8nM;>+ho=pAB2G;C+wqK zUrsYA!(O8j$^2M5>n1~DLere%K|FlcSaXvv+0LQcul$mHk$` zFWVH{#*a*2BqtH!Z(slDMygxMG{cO!rq(ln8Y#!d%hVt=8CN&{?QfW86~>l>I=KNn zGZuL;_s0untmrMd<}E?|Q6#am9Ud=3KPg`KnLbPfji~;i^ULlf(gs?Uh#-P6 zfprTNHMtT$hg1nU$5D*Xz-QS8pvF@D6jhQyVSwjqyY!oad-UewD-U+%G#vis?87%WP%F@VT~xEjo2OYP5Wq%sSUBuCY(;1j0Hw*fc7) zAs~-Ksp|BzgSYk_J9b|Nk3q!ci_Twp-HpHHF#0`wIlw?%F&H_cmGv_3IJRJUf@9_C zi=B&1P|I@Gmu;Hq>HWUwpFxqzoj!{|&Pj4DoufDE%U2xYea$m*JwAag90gx))w^A8 z%6E%K4qGM7I8!PDEz5#-3uAuHsrEUaD*fTgJJ(#XeH6?C69e5?1ynQhUH z@gDZ6pAzmz$%~QnE3@7}b8BP&tL*7Ih9_MdKJ&CI230=iSw%vi@Z zLt$nZTXrMd_h;(++~2+Tzx&Md%;)*Mm-F7vd7alepLe{e$vJ)=F&-EU#&39D&kP1* zbA!Ry_ig6{C4-G8^T31iy3sj3*cSA|U<*@WFzI|lJ>-?3foZab=~Wtb#al!DRl9RL z-FTrdkY+slYU1p(Mx((S%=saj4z0cX!1jk|AB{AbbX^UTy)HY>U+F%@)gs0dc%?E? zW$#6;@4UIlJ(5Mod&KTZiFHajzCb$0IHqk`Z50>i^M|yBUlSx*udip-y6o{ArI48I zg!Tb_*7~jbL=^)`V)2P#Hc~Gcda`nEyp4Ep%MY!RnTF{O_l7 zmiG0bYbVZe!gK;BI*$ZTyv(S4-BPkZQd|q39L?^nr}`q+zF)e|Y=Xn28YvX};N^Z- zXA9S5Yw{ZZrR=pt&6#U=Hj;L@-@aYQHrbi!ue}s7 z-TQc0-6rGlovojO5qm0>>S4(TraKGs!cjw$z3GoBhBmV~B*gEpLgnS<$}S=>+Y>rE z3d0*Sfh{@+atehj8ilt~6lH_eMAVIToRdtjvdhl9jo3=HFY%u2mUY<)(|RFl=SH&5 zU5|Lu$gN-IOEuGg%~9OTumN8thbj!oxa;Jl_w!k<=$}GJ*jzki)wN{wcW1G?JAH84 zmxfn%hK;0FxDp;-C6*7ClAY|bt1psz9qV8p9YjP#NX6z7Wzx1Mu2?#DUfRtD+w7F1 z`rRbf7(Jat;hX-9D;8!Rg>8?mx-!vCV;F92JQc6&)1jf+q)ykpYE)oueUsDJoaRET ze%ju}0sDlS|1N#5*km(f%fpp?*0lN!J8YZ#0=2!%Lb_?KiT9wD^s94z4##1-@4!|z zsTZp2*qomjtXn_T#SU``n)}4nQtTOS%gdy};qXyoZdj(%&(HTqE!0FO#{HWH-#Kxp zu)|_smz9y+Ux@oq+p_}~a|0<(2C$DiLRMy;t}W0cI|u6({Q?734#6BBsJP-=hiZM- z{YhylpFSa7w!!$ke}0CS*9D($8Q=_kxWUQxabJFZ{`KPNIDx=#^#(- zhW{AcSo7I<(7B&k6@F>UcuN4LTbWvwU4_AJWF+p}x%N#_Z*ybV3vuCsUgG}oR#>Ed zeSdv)qtkTe5|dFOx**z;etg-PEi!ufHKt3})%6bfM+ciOGQ^CCvOYxi31}{N-gf{d zTv@dErBRQTLn_`mF(sUpQyEt^UQ=wJyP9)SavwVeV^?5#Tf(V426xaf8BVH``oxm!Nwy6VNlOzeX1|ZozD3@;?5`|arZxd@Re@_W*pAB?VRIZpmBqNUI%yw_f^TFr-3S+85+Vd$Nvo*Af?r|meo}7-Fe^S6ygjz0 zyTE-Kl0d&>Cultzilf#a-FbX0D>~5_$w*KgAD`f|mTV(mlOkX++QflpYyQJr0?Fr- zT}_FloxU`E{VXnPOYW{bI8>r=>(+NI9G*Bh$~Mo(GXOt(b{W6R6Rx3VdBZXCMzmH; zH2&Jfgb=5ISjrw)vMbNCXnbV&_Fn;+xgEU*8c4LP8;{2EFJBJczfXaqeqT>%%P^Dy zn|cvhSlmddS1Nojq@jzJrKgS2&aGQ`ZTPn{lr;0PxoOc_=0t@~?H`Rnj(!IU`so70 z4xvNy<1X!eBaVNn3>w6EMISD%q+S6-4jlQNE`E_p%Fb{=uhm#OsJedeI~4tpXY2D6 zADMJ{%OeuV+N&9QdNZm+e@*DGD*1fP>A!t@9)ZKVc^)m1A_!OV`enb>v$3Ce@ds6R zmSD&rc8UF_sAqo|@A(w->3){cQ!r0AO9|~~Yi!*m6~;u8Yn~>r1~EAJAPt{l4b1~? z^PwPO?t_PlbL{ogXhH!%!Kn|IkG;SOnK9nrZij^ z@?J;n?*s$nYqzSFW;1=P&#In!ChFpPXFv}H?O+ByE)1m~JJVT`{bRCSUSrW6n`T0= z%3f@GZSQ^kc4lt5s~|TgP=bobo37=KQEO4XwAXpf9N@_DJXowt=;z!iVpT|ey}Bn@ zsNYw+1~;!Rp>!op=kL4L)9s+qQ%;_8$rBW`$;^FDuyf#mj^un+j_{jeJ})5N=cZ2) zXS7zTE02co;*XTNy1BUiy*)khda3PTX%c(8x(ze_J`j_Yyh14K6=UK`oRl2AZb zB~(c4+t@a+?at17G6x94iypZePyZk%=}OKneK&+yt!fr`WsSF`BF-x|IO1=r-Z4*N zwd9LfJv+%|Bo*#s^DvmlBnol zh8#OMR+GV(MhA^DUPX-X@J_30Ldw`I{S#6}LMo(+8ebe<4%MU@&K_ninya`>5}%K7 zkb4cTL!$X=*PQNc%A225g^N6fe;oz;(xlb;zeMegUa=ihjRVOPom$r`&@W113~a-D>5>hRV_)C8Kl=^(#g$a>zB z%_%v{^AJYlB9U86(q=>}X3M2JLUn8xG@WOG#Jz9dcyFop_C7IAcD*a0;S3;2?1Lw^ zdB`>;itP#aJYVUryZT0tLdv@C<=#vtxB715wZ8eqpZMF@_<^v<%}ovekb@gmu;AFc z($7PzZPujV9Z2*cYvQrD?%qTA#me)+!OSvq$sz>sPji)+{F-NWC;aM5{Tzy9ZNk{b z)PKQCUR3V)JNEXiSwsmlZ?7);rwy`5X6p5mw*ZkHyj-OXS-4*Exk1{gZt?S<8xHPv z60+NZ4RqlWR6A@}Pgm+6#`Mh5`@sLb#`L@~?_c?O#^2wkelO(Jc2`U!QpJuM}L-d;*EylSnnu%uwqY-b@wP%6gs;B!?3--Ro_U7pTfL#@n8 z2ZQ2w7-!`WJDLqCsCQQXsr`x9MJRIJ&yU^0-#LO~qu?cAn}Z{l7_SGb7*s}28E^^C zyw;??pc(b`Q*)0*^AT;RaJ#@a#GT)Kr&|?RTeVn6m$6&X%8unsNf0;O*Q#>Hl!#h? zop`5X&|NT6>&t31XT#lP`EP7IVoJ-FUJ@`k|DJn-Wx7a?*kALCro_monkaVRla8;0 zs-+k!Fdnh(J07h@MsxD{*WXlHB0vS(dB4Yig0B|F7!2Fl@+?^yw~xAY=|=DCzcDmD zK-*9=o9s{|sYlrXG;r|qKjMJL)2D7wz#!OO+7}$cCr8Q?6T92`_cE`6E?SsC z&h(5z2O{&@jKVfJe-NfhbpueZC=T2qApWY5&_UoRMJr2DfEEF%8I_ec?D6=%#@sc~ zy5_oDD@FEONi@D)WbYnFdnA%$Z_yj?vYg!KYIQK-lgVrwri5vq00SHG1zsMp^KEnQ z&O1F1gkyusTgTgQDl%?THOT;d}*imV=z&Kuh$PAIr0e%!SY$^3K&evc&S5mAm!A{94|7zZJxL; z@{l`lOqO7kmGPq-JYrV2S3G^ehJ`HO%>k8d`?Qa}2i^x>LbzO}z$W8%<37b+rL^yS z0NuKqOx~wvN_AoZqAd(N#z8j|e z_%W9bR$nSyi+VcB%_Fw+IZ24rbH6Dk_p)94=L?`8+h4C!n3G%X!msu|GTNZEEqH-S z2b(4)HbvTQO5C37G5Ep;k0-KTp5|)igL5a6cua{HjI5g}5mtEmG^BSa-{S58wfkbE z@i3#m#7@p`)q2p0R5W_6p-L)#0(Cc761oQ^Xyr)9F6Kil?3XNtZ?Sa<)0Di8Bfb$ zyJXxPEl@`O$f$_%Vp=1J^}+G$nl0MCbAXd6_)uU9W@ZkvVd`ZzEr6bJnw`>;H@il+ zQ)dtweeMTy0{aSl8)GyH^Z-KArW|+oEK4AvIW~4mHH&AP2WP%Q#f zA@K4no;&5m3tXF3^WH^u+UAg)c zrEY0)!V8oW{QY0r6LWKM;=qDLQTc}N$89ZJLZg6zc6FtOB0=cIGSI7*($$)3V17DX zfz1^ni&-i-Az%?ZQ2v~jo{;JL{R#RNt>YcN#s=r#W-!Yqe>~R;-K<$M8Tp)O6@8v-}wFrX2k$hIGF7{yL!*vmErtg1qTcartB>J=p+bq3Z5fxj2ckc zK$9GbeF(79Cjk&HLA1Be0qYMN+bdj&T%F^Ap3iIk@Ip@roLKL_$kD~a9IYxcbXfTV zLGW}tOZMDryrB{a&OiV{DDXVB!$vs@dJ1P}LDcz_=_SGxpw2ADFXNWi-FsA$UZ+82 ziB_zudm>n&qM@0k1`%-xsI-Zp>;lkyoFydQ015`S7)V);1mJFu4#zB&4<*2%YL1eU z2~f=?pp*oWd^=U;17=s!f-(M2l_1B*37>wFo{sx6^>}(P>k^Ci?-6?+n0{A|SX+CL zg98T$nGF4LPj?OAZ}bE>;1q#(1`PgY(6xeh#ClytdwHL=6AOHR zNSG64i^^6M029PM3x+5up!W1KcYDxpdK#w&`Xv?+J}kVV-X;V7{dLD0nCjBU!QR=F92F`au=OZLCA$m{D)sqnU2t-__VZb zk}j^oqK_UY`q)AoRz7f}4r^X6>(uDKawE(WT1bV3bAGT>K=Z4M`y?THV>C_i@MKZw z7H)_zpE#HFQ2v@D*iH4x!r!bOXS~Yx=G~Rn^qZ#4cqWR2MM!vyDh>=T-a7&o3UKVE zC`5J+CnUtDrN=6QXo*%@#s(D?7@Iu2ViBtbn$?<(O5+Q)?C>KhSc2gVp-fp6X^6y&rItSKxrixm!%R)*%)x=Wk}G{cB{iEeeVO1|09a z=l<8|qW0fLFG*>o);H}lm(qrMd+!tGmX7=+?wad$D%x<7K zF4~rT!-NJ%E6zVeYc9wU|5L5BZc>OO)t`~+3NgiKlm5SM)u}fxY@Fwxel~C1Zau=1 z2V$~kVk=*4ZQ2@Gacmzk85>(-Ya{X zbY+9=9>PE=IBPczo}qWkDqce1nAbM;vWzS$F>#TjBnc!DWZVR=UVXWr`r`tXAL>S{ zt1}bybCq7;gv?bGI+<3Y;KkPIFPrYa;&{6AcT=IxCNnP!7zv|ex} znC%0Y?i{hy%Lbqn0!DzGG74Ml081Z;%K-R}eHh65K3otuGYAs_=9^aAaGG!Nfr7|) z$yyLgyYp=u;C&Dr0$A_vQVCJlJUe^~B4eoo17o}(>#+vpt-dIdTLVl6+AtomIoqpO zC*kcPfIP4z`TG?B+C^*u6mf(NtMaZvYa_b1#V7CpkPg8hAT$E|9QOkXRr)M*hwQN* z4H*9(O@M-cq!qk8vH&RE@-$8wv=#wzgo&)Dh@WR^>qpoE506+Yl-U@c;=^{p!IT01 zp*$f9HjwE6Jd1T~oIVdPR*wGdk-mb%Uy=r(uN2S`lpkMLm@VUC2+>XCK`N@gX zGG?YD4oF2?nNCQ3qd7ep1F9)N#eekgy?JxF33w!3_KO!c!5Gi7vm(HoEteptCEgar z1(CTjf{y4uKO}8DK1Z|VH<*9u(cMC_vfPb;68$qWcmfOX7Cy+1hcY}zm_vZRSQV9b zG=Nn?cn8kStUfRsP@=wyxKXh4R#f`s6gV$V(Jd?y<koWbRgr&k>%rb7(C&;n7EMaaelxx&*s%Pasul059q4F>V00e_7v^A1bEzb zEV`yt;m`Qg%w?+oq+ zDbCnN=;iek$Php;7QpKRj|2AX^tVs40zkIB&f#rtZoqj?Tc?Ptoo)oA&}Zm1 zyD3p=Pc;hY5MT3kL$FUVZ1P~3X&slf}t|{BN5Q%1)4fUo11*;rgLy|Z?iX$ z_O+*5*j8OlO=Szz-1FP{0-SAIZSiAxGBAdUPMf#9fU>)4uaN&9|C1NA=#69aQ&;lRfla|v5Bpa-p{7ZcXUS(p{gdE(T` z8)e_8EYxY#hkSfWWxyaTD=TX(iJAdQdEkZgH{!L&*OAjV<-s1>b`SjEiUBo;E?#<+ z2ErRW3#_2463W%_)&$PS z{=?&XPGFi*gVkOx$XT#0V23#elW?t`<9Z3G!$}L-b9( zL5F#Mtd^!1&NNSXBq~d9{W-6gOq&~cKTc(k>z+m@3VUK;!2)I1jBj+j$S$*N>Ycqz z+_`gh_YEjp++OWV!;y-H^D&1a^+R>hU)=q!6kr^wjCR7x^pGZe`sLv9m^Tre$*#U0 z!|2tenLZ>kZa+i-#o=-qZtMSS%4$BDL9$ZpQX zjX4ylEGh%3e*Q1RBQ+t~NWAo2a*M0ipc=Pm;;;*Yz7h*z2U<=#lrwXenKERyI0~O&OX@4UI!Q#?guMoUa1j>3>Ugx^0 zQkEcpl0-fxp`-H`8}Se8zQn4otyUi>3re(?5)1+wpv-~fq4o95#A4q*rsdP@;Jowe!7525HV8qocJ z(Kl3l?rCy|LzrLTb@R`mjG6BM&F7~SmJjpoR6}Up4Y@P$^*38^fOtJB?&}Ph8v8E{ zN0S34)0AyOE)#$6)4rW&c|x1W+_%&f6scA3zQOFzn~mj1Blvlkk5D1)tM@efpS!OF z1o{r?qRETjr4O#H#pe}nW^GFF44nIa81765*>RV4i-cxqFpqGh^Bv=Y%9EiWdeI3C ztQmhA8%b zWtLqH{$-%%>21 z+@|s$eZDL3j~VOl_}A!YwiKa1n|28yq8@r}Os%OraIJUv3xuKyf1^EQ{h?N z(|>C?_su9dP~W1=B-CVJTu?xke&t_=m?}Be&x_JGXrQf9v*RUG>2LRhNt+NAO-hW~&zs>?iLrjUw)FN;G|Jlf6sm6YQBoJ9 zK$adkQLEC#&PrTpg~%czs0+p}BG~x&tfVdoTQH53btP6NLo4Js#dm46T(~msFZJTB zfKtW(xc;db%d-k^I9L%UABbEfsRPzj5fCB0!l*!A(urY_>FcY{$(d=%iVXsw3~>~t zJZ24wl4RXT^zl<5p%-UWEe*08f16x(my_g+){0XGk=$-TUH%8Vhq^#%4oSB#c_>=t z8900O>YF&0*9;c8&`@>06WbHgagb-g&Cc!(mqyloD`33|ot;@_NYOLT+9$eHB&)B( z;T~F8B}Bgxl$w+xARkr_y;k^v03WhkYCB9PCk%CnWHP{a-{eHeq%CW|%bR+XphKI^ zCOH_)+2@eUeGGtHo~$L+VNh2m(}bQO`gUq8RvI(};x+7pqK=oHISVq#yXh*fnbOIw zLOI~$r~mMN+uAe85JM0>{NM-PhB(;SbsT*9)DFHNT$!;ecW{2hRzw%AQlQpL508J7 zzVJv96<{s^pI%~13gk|jiE6fs0p6&;kzAwyT*j?zdQfe_aR&0;TG?ZY5#RspTg=-s zM#d$EpD8XvsdIV%OTCQs7m(8E#}ZZDr^LOEN>4uri5JyQ+iyD$)CZ8Y9zfAX`|lP+ zvm)z@^&YH&2E}<%OB*h6;?SXG1rhMo3k-0Gl6#Md4?cxTSQM3985}kvKJO+-w%KfraB4F{A+3t<6V(aG8cQ~I(%KuA{9)t={N#>Yv92c^lf z!Bj%0-5ta$>ejNYi4N~67m`9(f5zc>VB4l*1a*jA;)e#>t%>S_T5}&M&CLcg7HpA` z;Cf0^_J`7uzFgl&5n+>W3Jo&FVB33F8dtQ#R{jvGcQ58Zw}=+O^$MH-Y}?qz%5b2G z7p}Gnv*c4BDsv2pcRci0MfWy{xd^m5TBXDk+r+YMVSC@efzOki80rp0+# z64iTm1vW8%Cq>|x`QUboYhKtX7ZJZ;lU>wnUKJrFj2B)?9qVX;v^E?B`O&Bb_W^aHDvoI72f?cU!ril5l8)AN&>H<_fS z6K$~M7v_Z~VFCF5$xch32FF|+z8Y_ogk2tRCuMoU&L`Sma1~hy8j#%nYDB!ZHnoDF zwZIp+kNu+uT_PI6>`1zv=Ro^&NnIz)ne2V-IcXNV*l9%aOA&-cUL>e82E5a+Tl3up-{VVv~m3(+}sF;PTMw)$TfUCAi@; zmU=1i4y7U3dZmXw@->6OSih5fjLfaCIk&KslORLgTc}g~Td{Y4oY!P2Oi+7~*!TH9 zZwqL5bC!bb?CCios$iR(vNM3hzGMI2Yh?pB-AScSX?YPk%Of#@iB@)j;|to`wq_sa zn)0pGsBU(l*!aPvA>w%w`hkg4rBEow9$K5uPWfQY!6T0p5UgP5M5mBqrZ2R5x bEtuX&Z$@-O#t^u`2Q$<+(JMXU82!Hhl*ARt literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/08_of_hearts.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/08_of_hearts.png new file mode 100644 index 0000000000000000000000000000000000000000..d8fcf5d0b868f7e4eef052e8dc5b2428fbf4a647 GIT binary patch literal 11909 zcmZ8{2RM~)`2UMzW%gCcUdbjS9Q$NOQD$~FDSKqEQZlk7;~Yh@GeS62ij#R{@9a$- zD>DAiIrY1Kzw3XwF1*jUpL;y-bALY1d&k_;)ucJYd`Vd6q3_--K6l9=f zyjcnf{*c+~XsSV{_#YIyFa?4{<*utC3?Ghd^~iHYGF?um1N3!mRK#CLclSp?dgBfoND$I*Hk!Pk>1(rP|$)R=rfb) zqah|PmE_&M-Z}B4Z11XGrJ#!HC%uLDjBaC;T({mghk8}*G3)DR&pBxXOz}r?g#MnP zYw+7>_|vD!f&PtEr5l_GJ3YSHHZ64K@wH#q&N{_3Qa>?b79Ho+WvF9X*jKLaVVH1F zJqcZ3>@WadEMrk%>tm1T{s<>P+y`jyDBV z2QKCK8zPlLn2~|2MRKjazR}y#Oq+j{HCARd#Fbr-)B>#Yk7i@VhD5EJ?id*wVoRVO zK^>i)gRj(M2dqzU8D>fEXFglB#`M-Bx_T9H7@kg!;GdteR#sMSI`!rj)Ipr@vfgRk zt7u|`5BgX<@TAZ`O=<2P0T3u$DnnGVtNVRLUYw;H#aL)-KoMf2*U z*I;)bXz@zhTk|+m&UniPpOrOCDtxYW`e3&rY|>+WMBI!8;?zxGS1isA+WbJ)T2Q@_ z{n8)#D}pracPqy#lPekYu4k~sByHw9nVr&Z`|Qx87C4K6hSJIS^vTd&l{I4M($o5# zf()yBQWIv0SQ(eOtnG;{XK|s(=%x7ggj^~v*n`KcU3!4htn^?5jiCa*3eiC+kIGStrx-ujfurfbYr*0w5^4lS-`VmaFW6a%fF;HWz=p zA&}^0TJK>~GBf{*Lq<)4?2YS!g$M*`i86{>P|$e?w^K4n+ z<&HgZN|(E1RUs9uG`FM#H)Y*h{==(l! zqk+OvXQlqne=5naoR{~eg%g@XQikP*D}>$$RO|N_3SD(h)K?4=97H$jySQlIe3@^E zh|t%~R^vemAQe4r--;F)tfmJgewg)A7>#GiXT(TG)_#0@n@wHFJ6nEkxi4Y3pm5DS z?Im*o4wt&x*E*5Qm6@r{rj-2<{e)KFYGBO=Io=;$&)>h#zX+x#L}>|8I<&<1BqG

PG5(2hHY+N7 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/08_of_spades.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/08_of_spades.png new file mode 100644 index 0000000000000000000000000000000000000000..e8b225e397ddb51f09b0f954d3447510bc29ab6c GIT binary patch literal 9177 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 G)c*sF33Len literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/09_of_clubs.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/09_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..d2ee501db24e7dc08b8c5ec17b7f1f22d2683c04 GIT binary patch literal 9291 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/09_of_diamonds.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/09_of_diamonds.png new file mode 100644 index 0000000000000000000000000000000000000000..33febd34f9b8dc85d6faa645e6d2acf57eaffad0 GIT binary patch literal 10073 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 R+?9haY3rRYI(I+de*w>Yvbz8P literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/09_of_hearts.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/09_of_hearts.png new file mode 100644 index 0000000000000000000000000000000000000000..85fff0a7460ff5cb2f24b31fd575f1462d06fbec GIT binary patch literal 11770 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/09_of_spades.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/09_of_spades.png new file mode 100644 index 0000000000000000000000000000000000000000..7a94875a365c325a4726c1ed0cd66b65d73fbc59 GIT binary patch literal 8944 zcmbW7XIK+m*YBe=2~9fE6zS5Xn9zjKdzB^~AxMYNL^=r|RX_nD0s#~S1Qnzsy+{cI zs0bJ-QbH3Eq$-@jyS&f!ocDY=A95vo&01^knQJn?|5|(Q85?TRK-r-X2!uvQTip}_ zIpYq2oaH=63R?W@e=&hyXPx!5)FCGc=|gQ0$mQoc>Z<0UQyY)(hB7Zc?wdIupdhHz z;iw8^=i8oD5B#vGak=dN)6_tD^cqMqt*MxI`ATVx#fQcJ;~P zMN86ZtGcrYy(y1WU8r5vJ9q~Ae)t~USDu7NaHLxR{?5#!nLUM*_MxrEA<74AZc8nj zn>PmZe!OSQe(oWqa6NM z#|GnhIZo26eh>r4T(43}3gZNaIj7Gb!wt=J%rln;l6!|wZ&#F6{9WP+gq$>rVNebkIcp9LI|N)j*+(Ecgs#0`#x8l&pvET?EauV zU2QU;ypSv}5PGM$bv<3q;SCd>V+5%xaR0!qK(LA?(N%C@G&;?tY!+pCK=uT4j$!D7;#jVH^zTP9Gz^8+A z{00s!Yq_C1yfKohBO0lzVNV{IwniN=-Ik0QDNp+%apj4*ed(6jnB&<(Bjd5s9}mh` zM^>iwg~lYFY6|}(+#Xi%K=VY+RC<`N3}|V`QfhD`ZZ(#NBBgaCas7kD?Wb3KpYc)( zFdcA(ZCH->lJIq)FViG)n~}ZXlpR3x8VGrrl$UgUjry1rlp8yjcsXe=5rvD=?W^SK9a%t`#O5SqY*R{U_;~xl)hm>dFgVB@ShF~-x}>kK5!C}=`wbYN0|Nn zK?;eyjJ*yIpiKsRi_VjMLd^8TsS#1=8eEZa3>}dZPGLu6>*d3nQL-%XE~`)xV&3V* z-4Kk`>%3p%i!+P(Nyufyv0C*yNR&n_tXmStR+nI(dAnIKZ1CLTH{olgjcUjr33WGDfg3$%}yI3lB-cw71UK}9tNwL)G zqKy?X9!wDd4OzA#%0Fm648bwoUEzb@Wj@@VkpD=LQ0=BeWQ%X^tSpjb5S7=#E2GJ6 zwiJCj&OIn5jq{U^O#3KG8IkWf1cjQpKMlpdMF+bJeMMYfq^ybU^k@>s)^s2?HM*sV z&g;d6#c&RhK+cB+QX)dsBooiFh9<3WWk+CYKLs)7p-E%h#C~sO(aY?Dq(!e%;K<*i zUS+SdFYtyCk_7WjTe`S?IGA6aSfPz4hyHf22eT+@x@ZK*84@Fe-kl>lM>30N);OV{ z(|)%#B}Ig6(OEkdoXaUA!lIiNAuPA3!4+N36G=n$E;9v}%^n2r3<(hnLUX=BzhbxG znB$yM_b##vJ>ZGP*K>8kkl}{76OFiRH%>6_D!XVBDt?)X_GfG5w4mL$QR&8qb7u0Q ziKj-NAA}4Y>yFBz?_4&ZMRS?yxIg6D7d*Qg8774IiVc4OYZhvBO`y@?;SFE{xFv;^ zmMQbozUCtreXS&?;$cX5I1AGhL)zOzJK zPoDLP2CglU?x=4e24^eni1IuAltjf}hP8N8m?vwPn<048?-N;UpvYmw#ce6fmraXU zUgx0fF6$a#Fd*Jqbm=~isQuFU?RoJa+#UxlHOZ0AYULxhTuen zeHFFBX*ISCW9V*;jeshNJ>NEqczjr4qe90Z zSSt$NGgWT_XGXf5B*cnDx+%qyYv^z@8W~TH$dr3KSlrLp37rNiQALoFcuUMGa{dTi zMTiw8|MAqqO>fnw<$O0t&$=a28~u& zC9<&Ab2xY{m-KviP8XV&pvd0tHuz;2qIuW-2?g!xbwuVMB(`>R4hJSLFQO5{xc8~?4q|`FGQQfWW#`DMbsA;rsIUa#XrFNf0z=gJp<`gV4_gO zT(R63ihJKbw~indy88Eany_AzJ_v2y9#<3Vix1|$!*y_b8cwCv0~JfCp~6XQ@drK} zr1jFC9?QfV1s8n^sDzoEan_ldxW{n`ZVD@7KAd>lHas);n(8^dfo_r4OQkRO_oYhh zl@=nk)2Z>dF~_fbaVNt;g4qgb^p8H?v7~@ZkG)UvRdC@pm>8W(kIU$QzW~0Xu2y)} z8w4F(7B##g{AOxbw4yn@m?YU-;G%5|A<&w7xfVh9Lu}`Ky4~cxMz-{~LI|cCxv7WJ zX(RPYgTJJeZ=_E?LojI&lecmc9@knif&N+%R9wS;mcDgLgG}tYczg8j^%%kNEI)D3 zz%O$j+j@@Br#cakf1TeKiEOB7<@yqKbzxoAy{sM>nffJsr&*?ii?F#bp-RHVhulL< z=QxXL*v*dw(GKE}b!_jG(~2C5F$?SV?nhKDWrO7*zHrf;Ujdp5O#uDQWgBh$H;m7l zJN}kwT~_(~(>9!Sjp^Lzk14@BHd?^MC?X(OLgwYWs|V#Q?Q!?ol+LZSceePv`0dTQ zOdl0-n+JZEo;?(HJLSV;NR#2C-`tQ{e5wD&NZ0W&XI!u0V(K&^k{W{{>y=_Hwhj;dg1g-kC+dj^%YTBFoOY zsl;>sH3H`&hCqG;zU6O}zk|mxZ?hH+xpmDL`RJl>$qS#ka2N3_oHGWu`%=A%Q%}c& z%e85fd*iXkXS~6fa}nPz^x$jqO{!LZOD?RNxvxR8e_OB5tFqqs`GYij|MGGQWovH$ zZp8IfvZrn8+sHJ{%o+#W3qAO;8cXwj&m{TmReenww-6uM+>}AdqHQ8IyAD1QQ`H;z z-kCE{-k^~46U3sO2c+t-r*2ZKT`)>3!seyF3x!g37OB5 z$ZO$MS>@xU>^{nRmxe5G-oh#1tuFdso?79CQ&o}B{y z=nu&(lgq2i(ib>MacjokJWPI?u0P3I@M;32s6#LyMEK@+Ocjw`n76~SAa{gi%oLF& zn8*P}aPT3}42F!ud`V730zIEJu4|y=EQqixN-h@0Z1Do}S8{7!A&mCGBy+(w-~flH z-bw{CiYYM9f9>&4H^B?r}x(|3aTq*&{ z()+zmjSU%xw$Jki1;wEIOCfykx!;t!HD{Zs3&)&Pv8nW7rWRn9@B|jBd9Osk7fA!s zSz*VD8mWeUd!?eN8u!i_#=*0bZw-R{WvV#UoEIASU`=6XkdN_`Qz5ROd@(i-O>QgH zI301I&W06-;#~bciU)FqEszFsM+({?g|Tm_l%xg0^?0aLiD7EoaOnrRh|Lg@4*FN} zfB5MN?*eK6%nG;Y_fa&^)lfD4yu!FKEy&NdY%_4>H#Js8@6}k~kV~99T;Z3f;mA}( zeTgq#wUF1(Rm~bJ3vK-$l7h!1CeDUEf#F>JKML*qOV3n9`uN#H=qX4lO^DSX$+S;N z=E>BQ!vZj$vdOvxAhS_n{lnT+1gpmxJHAu=$wKXLWPum|4vYaY%W}#pcFcc)PZp~5 zf8h>H`M+R}9b>;qKT6x;D^2Q_&}Sj{_ly_6%h27Ci5|{w%|DZ}3+U2uoe7yf8(6_eg>Xk?e3T+qEZ5oL)bQrIlnWN+rE)D z8kFso6c~-umB~cqVw6{%->ihUd^uRbWxJ>;q_?E~s@=e1O4zGjeofhHXM8hMM|B;% zQ^@5?$!hs}&zPGB8RBb(KTp2BP2|0;y@S-|o;5|Bw9quanIp?PY*JEj_@49KU zZJH2Z>7eq!Spu%d9M)FCLKFW}CVsA}PccOui*<$mF6JfXP_M0c7xdB?@gN@|BmzlW z`=3QBFW%WDcm!k%?Yv1Vs+NA1b2ma1ZoLmb59|H>rSZo}H()SG>li+CX`q2=wH& zL9abVxucIGZGh{*r)D|ZyjOXTS?BoR2@b?l@DK-LQ?hY(>UbyC!=egYZj-K&x7J7s zl)$)|30}G2y~sVdK|KfStrqirHiLRD0Tk^+z(JG~4#{!4>LJ;Ts_3|78-M1p7SerX zdaTmC%|R3I#1eLPX_lGOUon!j+L2bkoj55dG@Jyu?mxhG{W5m<5ODRzWNw}p$KZp$ z;8%+kHqT39@ZMDe<-o-0FV`_k90_#m`ElmSkmm#9s*AW$x#7JTAhl(hy2;+bsJgO_ZP zWEdqs~~?sPA9B;WSKFuP1O11*t+xFn;qR<|dcq3w*^HV5(AcpjFiO2lWnMwV9>4I#O{ zlWhT8hN~JI*%hbNf3GqT=r_y&^;vsorcL%j6N^4n;}Ic*Ul=Qo?%=rY+)&R2cA6cgUTk~#g z{`Ui8fioCac&hkZjv{Kjqss2r1mf1rVymvz&9F}I?lA;pi^~8b^eBh8yM*bvjjQlv z)kSjMY}$kA6L5*c8)LjdXT*RLY%*;L@M{qXyUi+-fP zkuFE!FI)<%d66rK?K8<(H31oim<-f2^imGf0;dozDz1?&K?1q%xgg=fxiqijJ>jxC z(eLyXtn8a#!+0mcO9_>7tu1nQ+CJVBfI6P|}J zMH?ZZBA}pHLYoDE|JX0OXU!EV>3T9Drf?1cndG|r;H37eO`H}ESjfxv*C!5hFDgHF z!JDqu40vF2YMc-bOSoHej1Y^)&ucAq1tlWV72lmg;T-%jdgGa3?5@3Hc)IJ1Jqw*6 z(hR-ygLZ-Q3a(YWU79pCJHo&=Ist1ypQl&)=iDx5pB`)+l7uJdx{H$<;c*O2DpW+o z-?05+qhk4|s`IDA#O)iid7M(WjBMv0TuawR7YP5w=vD+3@y6d2Z?290BJ!7+kcJ9K zYm71_gI>t!v0j6m<3r}^)v~CJa=@`~a?TDCNCvs?bDoNt-*=5rnZJFNUK-T`rZ5iUh(KpU z6{Fal{?pFFCfHfHIgiQim`sda{$Sl_OQT7Sfu^scn8E zUIiS{tPcYHgmbIJ7b^H(N*cv%dSGy+^0W&?h@m9(hClo?88-&!5Rw6Aon2Q?F@tcx z1jw1XJG#`XR6nV3hI3r0C4`Op)K9NGcf|KXxwM{040QqOdSsvwc6Y2!XVn8`u@)$c zt=wmYM~b3!uVYYhHtvpjf%e zydKGoOm~T(=r?kAEE!hQcn8l#Ob?@Ps-N`38xSG0Px*#sG!-^@muI0g-Nqjl zIVv=pwD27)?9cipjg6nRQ|zQ+<0NFh|4~qZV41=r^YW|+kprHf^`{{E|1E!nWQ6~p zWfWSCNSPaF>DRrrPu~&?&uuSsorPPv$a}mZ&wq8n(>QtM8Epw5EuW*w7Ck6=K{l7r z_`&h2cvm#OMB4qJ)48buW*fd9xSHpko~z)w_gcXo%-8DhN?t51|K zA+BdJ?9|9e6=CaLuHZHPsiX11LCXbYQY`#1Rx>+7EU7y2@IleqZRbny>*!zNFJ>qq z`}XsjGbE7DlZ%W8p)gSd$!|`ny(bAV3oY+{oU@^t?dYE2CN=iFBT8Um!BwM3e~a0$ zso-C*-GZyZX-51?o2i~8(j~?Z8^6cn= z4Th(fGYg92yPQv+>HTV?eNtEW=mIT{4iYeh`M98cRb7;PX zSD&_n0&zK|>&K7sNNMwxi%eM=1D*yMT=2>GZQ zZ+Mf5LSxnI%JPvSRfO-9+#6`?`=6Md9!dz6=+Ox?C^MRUz%3j^{=h*)G6$~erUa+- zP2!-U?a)7<5jS;5!Dlvgh$nud#hN&}qJ)Ix3p9>3uA6R<5~bQPHOF_7S@3#i^qSmA zh%A+D39zQr7WLU>vVLOwXec$@3CXm4;%{QIx&6-artOc&r5 zKF!8hUM`6ogM&x5tBIUZ$J0d34q|H{SEO_dq(9d zJiK6u%r)zfg#u2_-OK2X8%m`!g?90zf@S^1cf!OIG}r+J zTjDN>3)HB4vk2(`n5P6;b~6Rb$|QH;s%oQz&AVFbGd45eD+ zND_49HNm1828mi~ye5-kHC}$nLvjh_(<86n;ipdDW4|?>Cwg70Kai!V56$ToX zrL8gmHr(|ftMZoSn-_M+olD^L0t5x4Zi{aEKF+}ZBP zip5Xa-LK|Unb@szO@Ql9o6pRK9~LOP!9PBLS+MKlz}=NzNr&#~R24sELgrpcFV(+% z_PzwWdqd6txn%RH* zP;hMGJT#9DPdh&>tpBitZ8hkg((jQoPJI_o?yc=Hme-#<1%jr$GF92 zjFXKxobD=qj?2oGT-wQGI^9fUU79P=hm8k~7ExrTiPCOEq68{$_sojV+oy{q^2A#< z{|dHXW3Lmo($B3?-r$=wsG2SYQqDArJi%Z80We_PsQZOKZ#>&pauSj0>hIU2e$}to z-8I~M8>i5~P3hA6b#A+XjMq5HG^PE8)#ja!2HIz|H-Lf53Hq=xbSDe5x1tIIxQiS; z=2G6`bn$ev*mu;ktvvL|@^pt-0yn}@z9Tqzx}ltX*|g$)h_9yrRDimXzslnQ`*@)U zP70?zlUr_nMPh7U*c#lc?n{&@SA1f=nNzqBBBDQA^SWe0;(@8|a}Ei&M=*i!jW12? z_8I{)euImd6pX}hw06mreOvb%P2mT|DvNWQnp;khcVbeH{Q5tD*ZQ+NE|ZaBtfopeQq9={lX^V6jz_4MDP zRL}EQ6+MjBebh3Bl<-{|=W&U2Zcwz}m3}C9FpAXd3;o)W`&f;QQ6frnQH1qfvbfT< zW93Iuy>8dYyGu^0J`0}IWqx8TJC`OUB?7*uAbgR`Te^5X{p-O7kBilDblbh0-}W?S z%BIHq5*hpJSqVBBQVVYn3O;6rjwa1hKM4U4-2eap literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/10_of_clubs.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/10_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..ced71e75b900d642fd5aed73bb000e545797f703 GIT binary patch literal 10661 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 M=-;XZ-+T1`0PCb$qyPW_ literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/10_of_diamonds.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/10_of_diamonds.png new file mode 100644 index 0000000000000000000000000000000000000000..0b096a63cd1918740faab642f3a499fd75986ed9 GIT binary patch literal 10877 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 A)c^nh literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/10_of_spades.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/10_of_spades.png new file mode 100644 index 0000000000000000000000000000000000000000..345c991c639cfe5bd185368c6cf198610b0e3128 GIT binary patch literal 10194 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%0Aq7%)5N1?Xr_P20=s#_;i7pz)(V$$j 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ℑ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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/11_of_diamonds.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/11_of_diamonds.png new file mode 100644 index 0000000000000000000000000000000000000000..d4a68513fbe8d3ddd13d2115435ec0e333ea2a6f GIT binary patch literal 95611 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 Ktq?Z&^Zx*t0Si|E literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/11_of_spades.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/11_of_spades.png new file mode 100644 index 0000000000000000000000000000000000000000..95ebf37a4c0fbc64cc5674224befd227214008dc GIT binary patch literal 90987 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

OCsw`{O7=EBd>E)O5fjrgzKO$3@C1K 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 z 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

@B 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�v;^Fq~?&HYA!7qVMHt{@!z!!FN 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/12_of_diamonds.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/12_of_diamonds.png new file mode 100644 index 0000000000000000000000000000000000000000..3f61d1011ba5ef4747497a6c77b8339f01ef4aa7 GIT binary patch literal 95548 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$=ki#X*WRI)z>+{fj=qN`m8 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 z�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�#P{$y* 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/13_of_clubs.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/13_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..2c70d7f6b21e9cb9d672e080234da69a6dc0bb15 GIT binary patch literal 95316 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

||Tl7y=~?v}S?ePw^>!eG1mw1CHCi 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%0A&2g?c)L91c>bd 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 Y)Nu{*glh6c5d!$hORGrLNPG$YKM#U*vH$=8 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/13_of_diamonds.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/13_of_diamonds.png new file mode 100644 index 0000000000000000000000000000000000000000..91d75f4ab655baceb91a5cab6a7a7aa272199645 GIT binary patch literal 98444 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

ed{KMI5i!B1M-dg?lrF-w~j6V5fXT1V; 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 blmz;JShXe()!5co00000NkvXXu0mjf&lr32 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/13_of_hearts.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/13_of_hearts.png new file mode 100644 index 0000000000000000000000000000000000000000..af869ede30a766a75834a79b93553fe576c73b04 GIT binary patch literal 101666 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/13_of_spades.png b/Quellcodes/Alg_DS_Freecell/01_freecell_roh/img/13_of_spades.png new file mode 100644 index 0000000000000000000000000000000000000000..ad6673dfe82592bee0eaed1012ab55510f7efdd5 GIT binary patch literal 97963 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%0A?L^ zYtbo4H=u&bfw0LeB16i>tr>s{4In2Me`D!p2W5MT2K0I79qDcpp>vjb?g^_Ne-*$g zj5>c-+6&WT!{W`GE_S=rOP9W#q}By-#dcK@Z1iQ9P28sgv^1yu6Ud@m;poyzyIUcCvP)euhA zI*_#)o2LP~*@-8*B1y;@81b?q@nFN(t8}oXR4A)Rft$*8#RP@JHdZ}6<`{CVnUdOB zE@nB(V0DdDufzffDZ~RL5?DconZug6u|oB`)@z*ftXZ$?n6Q2O4=R8^qyJ7epAFEu z+kUEQ^vrS53ecPT_g}9q<=J`cXbc^ZSG@JsC)D4~0cqcUrP~yfNroMzVaSm3h)sRA zah_zzHflg70f7t~tS8M8WJTEy-kG35@IWh-o<9~~PV zZ|dCG`0cnB(+p({8SBPX%bQWEq`1caG@hJ;CEKDUiwO?Iz@DfWGrAb3>zk zPavgH$oUOQNq7M?{OZ*!>LH!T{ua?B^rYqbY18IpmyIji=pC3kc41fK2oa=c*zsMu z4lO+xR+iFd61W|BXrOkKI>@wfSotTUE+Sr!Sabd719ZN81zan6YDt1P2pintjLO?e zeP9?g!GMs7J}w6YwX1Z417!{bOaA>_oeeo@u=^3`4%zn5Ll-2`RErcj(8cA7o(DmL z#~==*Sp~)#$dZ`65@SB*-7kKLpE5ojPb> zeIp`6shC0xK2K^m zv#iGGl*gb0cr0~jRz6^L1J&ZxXYPprjYRA8>C@GDGEJ4_o>27rB{>Sv^c>_k(>#7& z;pX!~)$X&)8@P>bk_}3AcF73(wghBh(+d2NauOM~G|xq|1N4V!J|E=5R)wi(Hwsay zOEbN|qg9$+;ivDwM1i6FL1nAzq&CQhMGmnL= zLf^p7#^moJ3Cjuw6iCo}7u-VuI;S^5e}INrD*XpJ&fJ{2N$2)Cb?PBTp9T%+Wy`9% z7iI(W<(HeKd6>{i&;gMUp*_W!XDQEq`rHX{G_%md3w71Zs&%JNYCCbapYu58Bp9*AZi&x(lff8Wup=( zcjcxH7Uei$6n^nV0~hirgdynxP~MZKA7wwk-VNnJzp;gArf_T$;$!={s1@9~qh!1S zk)turDqFDsI2BRPHVBv>Q@#%+kuhVQcdrr3umAY~EwZ6u7VBieK-D=7iK)?i_ zd+@;r?{%2nefJqZJaMfNxR*%4mMwdjYhBjAzo|d78j|u7kI^&U+c3MF1!!-HL*zzj zjQgp|KrW^90TdHR=Fhufi}m#t4K*|rMMla1pg~{0Op;(ojh{(U!#1F%siY7DZU=N# zk`^gVA&Fp%rU8L9&BAEPc0g@!PkvB#1?o^Ar} zH)Vr!+|KtIiUg3C0eVKO(fW5m>|uzwIjfeSAkeyXYi$P0K)aZ%nE|Qd(n~MZB#W2| zLa7W+b0f$-7D7~ESuDpypmb2a2^wg23rU6LH0HlhzGc}gm|G#Z_~-hIF50I9bltk6 zJwz1@Qng_J&5wG{WkkUqfBZv@Y=GP)IN&z11@VVsx5WR>VI%P@2cu2aEDS-Y-+r4h z$XcnS5FmSjtl>G3z-+lvpnLXn#myvY7A=GFhRBS9hlbR~H6XejefvJD$#2-o(X)aS zN4XS|oS}J-$OdQ|2YvkU6+M_m4hZzi*I)lK$B*%LSz^jB!GvQ5o4!_~h*k zs<%C%%|oBhBtUb_ICf&|1diACtOWZ$Z{8a&vo37XJVrJk({t&%Q%kw~n^mG9V?;KT zRire}!=w<9NwDkA$SCj_Sp~UH#AMlI(FZ9xhMA6O#TSv|i#P|N2W=Z!AQREO`5mD;t4Dfy}2WW)%aMH!<<8?k*< zF#QA7yCCr-zz6r<`>F#NxF?%IOMpJ{#H#xL*Iv6eiK-knXeg3tQ)d$ozC;b~FU{lU zJ!u*Qi7)vF4M?7kbykq>gQ(JBt0dcmp%!dzo8Kj;i2NugAi;u~8(E+%PrZpDgCj@;nUsVCT8HE@Fu!bob^>(u>H|D=(x?L%ozOb5xnVhjy9%P+qU`qStI?K4K|0Aa zoaDq3YO#&|yIfaSLsE|5`E@8noX6D!H2G?yse zQ37<3a6hI9NV=vA(C3|ZgF`y{#6=(3rVP|qrGc1gP&Q;4@9I&g+VoROfGf)RgxQ3s z*&!;X_027Tu_*KY`zyOmcTi4}G26s0u05}I$&uP*!>qC&*LC)E1FaIUYD2nG5sWbK57KgxD-a9Y|v0 z0KT^@uc+h8KE3hAQm(@{SsS!`sfCJ(udqA!mgSXM@*k+}!h#coP1dhY74uylq<6G6+8wBqHpfks<9_}DAbyTkirdAN+BdRG~Btt z(vuPQ8(Fb>rDlt{P(x%MD03p%AB1JbaF!AV^ltfm$QfgoM=ig4^}d=VD3*GxoKHEW zhDS6l8=$q+=au?jYGmO!<$siW^Jk72iZ>8b@F#Ny;Q_$>uDhObG0m`tq7H(&sm%`Z z92g8O#mYzEclOCgotmr~tS3g9z>cJmC`&*wpSAJ2{7v9{WmTZds{lPDHqleJ?AOl- zQk`{H^FW0)MERqPi4*fq4KL~xmktmevP>4n8d!93{HFGAd*1D>*`r5~l>0QDTTQug z?ewvG=%GZAm%4JQUQD_k&8Sh&X@g?^-(MLPV_Y06&ZU^I0=J{?KY4QbBrLPAX)*Qn zn=1=1K(sh8WacrhH?~YK5In!$jk*2~)vMfua@{fwv&AGDn=2Zo{un`4T%ts6Ptz~c z`JWBYB0?Ty5Q(lUC!@`fV#xvtMa*J@28=|OaGbn;3!JdQ9hdjS^4&f#T;uL7Kd=4M2sFi472dG)2;|S5hqNTkak}I zzdI_V^spx<qfwK<2&B*VzQ)b0sRPj+|%Xz#W#f(?7Uv7%B zVgag3LtNOnRjM4JlA*d9{&@7!1>9ylnYFlmBL~a-(9=n`U!h_jdgzHdU>|+-nW{`t zQw8n;uD7X7aR02BnO`K$G3kz@mvF*j>TuBId(mvOpfcduhEq3DBKl_j^1E zn>IByJVepMe&3`?lS21XD*W@_nC#ybE6$GxIe9?0-&ejT<%_7})?0&<1c94Po3_b) zu3RhczyH1F1_bqEn3OYuk{J=Y7ujB(Gg_5A^lCM>F#bmDy1+6AHdw3_3C5x`1N~dF zUt|#sbki^mNotVs_5UWC=E5ulU(L1#4HC`5N|mBzzxndzcTIIo>0^<)dEKW-Jk!;x zBoVA>G#+t8sce9b8lVy9u3vw0(g{U&ykyDSp*~||ykyZl7X$}2Ryw=Dh@^9CXBz2I z9A>$P<$KhFR;}7mZh#g$CHWiK1&t1oVMIlZze|=amO)ZGeWpguJP}K39$Ta@TFIcU zymE&AorMdBo4+1;{VKCy@L6aNxi*bay(;?=DQ_M`RjTWZ?3h zi7l3fUnxY3j3!M?Mt$IcsdY7|h1z4;vSk{Du&)JYnJ1l8P?H`&ad6|@w{9RsGP*Xv zMhCsmi6@@#I9RWDpG$K+s>TFvBL0Cj6n_IFZ4VNosZ&jmZX25){~*@Yb8dm%H%7L` z(FS288*^@Jbc56o=M~fj?H-PlriA(}GO?7Z#O%Va5SiROZR=pb=csd_VvfQ}NNO*5{jF8EWL5GrfB!E$W%>aB{bk_gi15&+bvrUv-DXU|8H zPShYxSR6+(&7hMroI<+R2F07&8{T+eJz3fbd`M&&#i2z^W~W!EnCk)h(^w}@GnK}X z$sq2Jl=UGm%2>X9`92+-6D5E{G}LZi`(Et3Uw{2I^0o2UV~>R}5X9%cM(?Va#rf<7#Qj)AgHbAEd z(B;c_)Q>sg(hZs$Yu3Ey@gnTk?=crjM$KB>z71yb0S&oZv}m)YbO+Vqa2(;eRjORK z+ZQBVYnp&8+59I6#+$ZusVJ?DQR;EI9iTVIdN^HrBQ*2*=RfJk_3Dj}^gB*J{dCQG z`!@vVeSJRo;De#(Gqm|c=K7Dy?iz%!Q%gFG+r)}U%qF7D`|f)!kZnicMqrF<#J;8| zjfwH9ZaAuj^KY@M-Sex>$;F-3qme{F@5H8lBQGil4{<2+2WERx%eLKEAbO?CqR%)Z z=6+wPf2W(h z9(>ZlhCvs_MhlfZUQ@Pg>s-4isi$$03H*pTb!r7iXW5iEki_IM#+&G=}49Nz~Jv>X6Ea|E1Q^t7Ufd};e5l$j&UcY|5T17SqeUCzgj&&G= z%iQ-7k*_Edgoiz(Jkq`UL!RfgYPCY^D0{R!97Vi4W8+;lyr*l_aP8nI?}?*5^=PR( z+s#6MV5Sz0@q!?mpym@~sXr6c;T({i+qLKdJ^`&7HSTb3CX3Z~Xcn17cHMPGJ@c@` zPRR!7bOHLvBTE~Vt((?`KA+52n1ksiCm0!aIzK{tfEMAk#~pWW9xQS9*BZr$_aL@p zJGMyYdSIC|ay>w=iWw_0w6z(NCYgp%<;vIoD}!8x3WsM5n?uk?n1y?L9<3KYeW`oiinDjR={HP;5-u!6CP@y^RvVVe^@HX#8p-#~Zrro_j$qLZVwS~@w4&LXq({nvQ-y6Hj z_EC?yAJ z7WxCTJwby=AA#(fhOcO_=}d zR*QG)MqtoqtX*qF*?RPtr4l5=sErD@`%edGvQ_Ar;F@hbCNyse&Oqv(dTP7Ya^a9hqL#H)lP2Y^WSaDT`r;33xF!qR zACuHDTEG4xZLhSi1ZQl;gf{=d2Onr9!Dy~3qddJDR+3?YVdBYW3ktpS&Nr_59j+po zlmW@I?Iz-2B~=R6{+g0TE4^DcgYCyL$kvSxn#debd!~ee>kZpPJPgV{Sat%sxZwy? zk7lFM_}b=~o$~5D3otpW`BmMOL0?h=$ zB^#h4pg1a3>gGazdi8q5GJjmE1c}yr8W#4PG-*?gzXLELp~^OHe80n7oUSs?n^Y#y zJPDrj&O6=Q+7+{S@!iWr?La;F%rkR6K(}>HSh+y2ywc#z!JX%3u)&%>XWnngla)(> z0)>-4gBzJ&F%4X;Ef6mgX;}MtplL++feX^U5&LJ8CJPldeOAg@zy1{c9zpYxOGc@i zOsPoN=yT6KH!_OAl}1%k1bk0ew-PkNq%=u*-h4Bm==kx+Ke*Qs(xifBLPZkf6DpCE z2*s2(Xdr-Z5*X7DdLVYIX2I^iAENsQXdF5L_prmv>PCzbWYRE)o-YJ0n zvfXvp)0zqnJP3?4@HzelhB+rgd%6dMu41P$Xy&iGAxAq6GW(2C^R%_M9>oXD%p8y#=kfPq0%Tomo>@A2@%@4L@| z_$3V6tFK4xCZob_ zv13Q6)%XDQdt2%NZEnO1)VXq8Hb6%W&~~S~NRboOlKD8b6X)rZ0JSa1Cu9rM-k99| z5#;7Qh75T!qtB))BBry5s#LAo(>dvTXV3*6qhE9S=?!!3;wyH@A@LP0TEzcu({{H5 z^joTlV>>=S^UPcNF~*~*zC&5n^qDbZhAI=(Qp#c_w6k}*?@i5~_ujg-Tjc%cpR8Eq z!bx=lp>A)#PTZwsBF1C?oh7kd+SqTue45yRRzpxji5v9Joh?(&Z@y`(N^$Lz=3|fb zb;wSA^DIE0byf@g8OxTv?Vitq`KR20@dR4QlPACA{++U+>+r4QIY0Q|dlkrj)2OLb zHyWU;K|@|QY0`@Zrq}%b_}Yu>c!Dh@j6)AS(Bs)Ds~7^aNFyLODuG=rv}~;!(P9_t zGEpf6vL_8gR$Q!VWCcuF!+%@}&U5Ar)g=y|SE59nEY&+F0otBOVuqbO1a3}D@R?)) z{sFoJiA^lnA*f)c2^xfswU|aC;C=GR)s-yaP5SZ1jW1;j~1wse< zNw@En(&NMoA`q+*}|iG`j4D;(Qph;7Irh9oafYlR7i~BVMhae8_mr?|-3MZXZO&=tTD1plnV8lvj z{`}h`UyLksja$RyJn#4yP?`s$6`bk!uGd5k&^NZ8=O8#t2GqQ{sk0w@Y}r8dx(XF4 z=%x$*kD5Ijk)mq)eQBQBfoj;WvAPC0c<>}$a~?W$yjyD?KYnCT&yx4{VoougFtz&vTx5;^Kgk%-xQ5gO}LA_aW=zJ5HWFT&=i$YSo)GQ?5dVu4;DCO%=9b zObf-iZrw3D6AyZ?sZ)nV4$#8qzy2x}_)a)M+W_Ttpw6dGz#&&$5&z}dYtyROaS;Je zWT^|3$_SV**7C0Qdv@*GRRyM<4rJ>~wXdo=%jB<wH$(~m z8#nf}^cik;I_uYmeio#jAkRm8ib|l3^bko{nRw9|>hpEJvek_lHw1?b8|Qfsk+cjl z9t|vK9hO<(peb#dzsoH);Rkx#lqoMIU1#)a1d0kFiyCy)-v&Rx-@BnM&EIG)Cdg#} zxTTJM^#;0S3~JE?SI8$?Z)S`seTbPdH(VPINtTSkGJ;F?ZD4cocg=`5O*q*p~`;V2>LKDB++(4drrkCe=FTQ93bidfN z_=Z@Y_+zoY@wKr53Q9IGzEZ)-=Ed&NbEf)T6V!1x%+}eS_ZUC^p2!eP8eH$c|GuVv zXXef_%YjcCk$n;Rf@LeU=b$lS#B-6a58!x$pHD#Swz}eDsNLD)v(J8VOC1-KuI_=# z0eh7CGP>wL{nW^{CxbyKnK0}_`HfdzSxn=ikx8H#D9}l6xOjl_9BBUtDecgdOHX?~@kDQ(slEE@bxI4PyYd$7r~vS-BP(Bp z%^^dK8S4|;u0G-D{GJlK*^_~~n-Z+~>LwK&n>KR;^sLyO`n$25Wegp<$kE{N;yyuZ zL>=fs2YvqKmrrwUwC&>wTQ4K$_)6^hB**K2)NB=7pl^_L*5x%cb9hbZ()B}~Q-shU z6GBR|B1gI;2+qm%)1$X>O*Py@p zD$$Un#KP-4Hkqlds17?Uzs5zgUx3@$D;zX8OhC=Ab!vo$kALLawbd=O)H$v~B)*_* z`}*rEbe&u1{H8%$Utyy2JDB-`*#Nz-1n9jnH*Ypr)HY2Q#&>G@#pDZ^K;7W@SocbdAv_kLkHfx*>v@r zE%v#Z~%7f(rg-o%L$ zBOkBtzWYvh%DsaA4IQlYUG9ED=YVY!oZ7s9u8Q5_1joBP`xm<+w)5SCf71a;$3!kr z|3p#E|6H+TGSu|yrhlO7#X&gcUQK64I;P8FgY@&~%}bzvzW=_p-qx_;y(uaFZ@>L^ z=)T^%b!*C6YVqPVobUgl`3a1MNlalpmPDm;h!Bk+^<(tp}!P!4cm#*Q|pL+yoB{z?JylA2(!`^Oo@V7T7HOU@{^$Xk= zlNF(Xzd!nDKM#wLtP33sh%ZqC^b0T43VbdecmC&!D7>wn2({l!mT6h!Jmg+|yd76HI9KB^AgAjBbwQv7GQnSy7%prb+8@SzE z+`RcK9o!QojOALmEL8)N0mD};=5)Op<-}u7b8*l{CZW2ktzx^ZByMmG)pshP12NA- zKb`Gl*rJk015ut&!%^f+FTJ#=4%*bcM>m`=KJ_4ChHM?#5^wSV$SCl!!;X-X&%zh=!Ado*xy zlQ0g)v5e-`B}%w1Dr9}BWHNK#Q97Si-V4$UfyTXS*RHh3>eEj@4McHBgAjC$?8k21 z3_|1MSf{{!F(5Y8VZ9}2;TU}y^3a5ozl99Uf84kzQ&GKb9f*W=)Txe5+BDxeVCd$p zRBs{5as4!AzBle1_WPj!!1f?zKJ7oL8iG;A9e3Oj`1%75I9Nj_(ZfhI=(dDjD`d7| zHEG-a?bl!b)b>|)$pVdbL5oBgFc-l{yQP-P?{-ang#jp~sk(KGdYbi1mQ;0hzCmw@ zwhHh(p^X!Gg(jXTt6k>44(h)c(dOoL_8+c62XCk2ylva}TFaQb_w3oPX$&TJ=%~&r z{z>zSz%E#8f=Rn}^R>!V(DPe1U8E%yACC1`+PAGU4$S%@zWnm|f$A;}!2aWpjnEHE zv0HB~vrh=fFI~Dc<#8f_SF2VnKwa)=ccmi@LLu+8Q!dc|1R@`rYKLe85lhglUw!rZ zv?LYgmMwLY0xt*+VUuBz^x})P0t2)yszfb5jQt26pTGSPVTJUU`aR8Ki*-Qz-~XBi zK@kQjuZ1Lj3ZZP%h8x#>}3dXzdew*^#r+F77eq`{?|7bac7A+FV5w&IX zZxUGNzx6cL6-7IawUAY8cN{Y21e>>kelPz2 z%riCg@#lGHPaFN`>TaOVR5dUgpwk5Cbc5v-Hds?sYUPI=SxwPCv{wnt+?hxcTOr zLs*rjyaWc?+(`cn)r6KgapH@CpJ9t8k(HAW$pD#w7?~h9_>7xxepCyUg?W8`^2v{` zlA^9}HyR$#w;$}m{apmd%9ZE4r7Il4ZGryMr3>rT5;tF9c$7l~FP(rho~K`nON-pN zMIW46HQBgqBN2jSxI5*JY=F)%Knt@;gpbG|(hcyTKmD{zV>g-dSz%DQ-JL%-ZX7Ri zkjWJMnO)hkhC#Ms#rZm;2GkF3bZ-Rdr=Na0FgUkq(|sNaROz} zBu3%|7xW9reCua)os1njHbm4a<}@hZbf4R{?aH)?h`8(61Lz!q7sKUUyZ&;Rq&s!F zBh`C>xfbg!|3Di@5FbdA_B^YKxSRcQqx-cOtZuKmUPgwPmsaIu`>pWA5D7T`k-ke}_B>&idkY{Mu^NIK~qM zUU{Xq3(}X9RZ1UwBT(0_UE9}{|54Qk>!y6oC70ZjR7-}Hsbxn)>hvod)WhuAUU*y2 zp2pFg+Hg8w!XJKUlyQJwy!gD(`Zd=R#*1Qu_45}l9OAwQy$^$&nHKQ5 zmuGa2_V3?6SejNj(wG%Y;^qnxBYp4YLDw$JTgv*=1FaL>bGo@?$>zZCEedR4$=o|)U*i-_b&(!@YF9Y;0MN~PVka7E1z1r*WAt#GCdk5838#gYd8zg%= zi-tUL#u;a%d@kq&)WJZui1UoV%i5?K^IswGL%|Irnw~&#G}GG5WVEo)(tS^tLxBG{lq^gJ&(I)O2?I`C7G|QpbL}W-N7LLoV50qjK1W z!LLY*3VRe`EOE~{`sf0##x&Oo4M?`*IVmQ=(sQ7>_|i+Y^)}EU0>4B3E*qftK!E1t zBskm3ZTmuio?O1XTVuAV$1Jxw!T1{|ogEyYvVzx@zw<9b=6fQeuA`uU&p!LC>V_Ya z_PKZm`b!leb`(~B*7bOYd1q^$i0D*0BLSPrE!IcrO#qrC=|#)Ly~ns+-{^S_B^#ab z#fC&W&R@hj1TrJ>vSd4uKL2OWpFcmT8HlsD!83Q$5W98j)+xr|c`5frvu1`c1*X{~ zE8j*AteZ9^yAWlfbSD#+mY~E45{uB$r3^{gXh4}VP7kA?O9MxGRFEDVTgn(>eMO+1 zH?NB8-HGOgG}{x*-nwps5ff&?NQ(gg4N0EEb=barapwkCNL^n?X9ILz2WSRD{JduQ z@-6#Bfc`^e&&8eWSI72O#K$~a;A+fe2gFJ7$C6NpjWaKjDp2@@vhb8^U#A(8h(&6>A3E0T{~ z$eb9$rkga-{fG<*CsFFy_8c+d*}z^82oCDc5MJCeq|%7_^D5P_br`7)8XT`PTW+MH z6D@`d1XM~|UggCSuJovXvPz{nNH#7FLf)6pkRXj*DM7kTo0FZDV1B)#$p+{=4$vYN zGjQOBeIh_luTa5li1>wj<|3nqBIEolM9a31$IcXk3n;Ap|aGqZ+1bm zOqnJoQ(iE{^L^fWt4Bt3Z|1<5(IbEJ%^vRiJpJ^|j{Q}ilv1O@b{jWtoP#6Yk)(MN zHcOSNpCmIX_E%9R*lGV*z53nAuSZS*vWtJLTxs;72M;!Cid(mu%>Kq^v$UAkC-pCn zAK^6Xs3QvzMX=7IB`rcpH2iE72S&84E)ia`anyp0q9H7+Q?xx~6~+6L3~|1QRT}7y zbkzE6fZojjO@jk?5Uvrn#r)m~&}7dgoa`AWkbUtZL@t8kz=P!A`t#dYS)!_Ra)us>p zKKF;_ndQuxncunY-}SqGS7MCTI)|N?=?OzA+;PWX-+SrQ$@qjYhcee=;ylFV>v!Aj zL|1y|Z};~stV{c;27zc0AJ+0)&g zQrPfM6>gwqbw&%jUD}Q}d&wjU5%=38gaCKjzkqGMY}pDc$s6FAT*>Rx>Z~Pq8QS2b z#TyDi9yfconWoN!ld|3k0Ge7|pfdR2d8fmWzb#P(z$l;lqC^MR=JP(^^9&w*o4%d# zY}t;diyFRwMmnxlCR2oX4S?D3zkfxxOEAVpPw2-41N+dRgWVl>%++*7FuwfqXH74f zMwSV>D=}C&q_IV}j<+1<0rZ~@RWZ=DSH*giOqYcbzv!dkk>z}zd+zpL@&f?N5L&YE zbl{B2m>8GV-EWO*n-+6> zdy+ODDm)ffys`#plYKs%QnX~DPSFEXLk13n(pu{MHC6>sDgX zN5NsklHT57R-&2KlTUt>^4ox0MxlX@8E_3!A%uLT^hY1+q;WAa+X47xx7{lgExd%Do_0O*yfYj9ili$-^#{evef z5O=Mhsw2}HKmJJ1RL16|gY?O?X~)OPo|`sps-5iO(h7{L=X~Mrmuv#L-WzX~-V?ih zsHu=--f*eqQS4+sWw1@#{D2J|^L!ddzOdCbai1$8>}V-T3^z|xPodre+`Va^pX_C= z_uV%y7C_@2y*5NECtZbh&|wIb5v3T3Jt=MDV#p+NyDxPiISJCUmAhY!YU}%~VxcTV z#c|hNhj`}{o*G(%g8EZWnMvVf!T_}m&in=i%%!EA;=BAE%Tk%ZLRatN#bbxVYZ)fM!VGsT6-G)dHr$$=%bIm${k+Y zH6Yn?J*zWt>cMqq!nCVTo!Z^kgk#K?9#t9JMg@BxOuOf`89_y0FB(_ROg5aZ&w%HH ztG@KoXG8ryD9-oj@si5o-_#wwg9p#?TD^^O=UMH~amO96rSQ7{$B*`vF8ov8Nnpd2CD5rqc{k<@vp?brZc z1n4{fG+j+RcEyTSWeU(sRQv8GE_cN?%wKf6KvN$4ZS2^?ow#kvG`jHE0Rs;71pc-b zR6LR6WW&rClt7Og`8zPh9Yk=?Jp+Bu#k3i2-)5US1$!S*DE16WK($%3iLn4W z%qju-UW*n_q~)&fymPLmGghulRZdYf#AxY?D_-zaAEJjIq5Rath8Oc+QS>W#WCs+<8wAnE5Y7Li_I&95elRcT(fF z`uFdzlosPuwtAkv?aeohZg$b4MJjXHETZxMnQmjk9o9CokK5F7OUColAz{=E_&z5a zTa0o4UVEKUZUCK}OyZZ?iA0X+<59l@pC&rG+j@VYaO~KA`t}14Y*euKvHkXkx>Hf6 zdf#pF!ic(<$YQe`_&Nu(WL)f^H^`{hM)Xyn8AdYajvdX!m8;au%rJnaiRF}Sw(&Y} z0Z+hH{G%CrC16ZF=9E*m@%jz$Xpx}|0JP|g2fN^)(q_%Z>*+bG5=|q057F6}Aqqb>9@%cdi%-@17<3c0yJY?XqTP*@~9sn8> z7!4S2E-5pBmMgy4BiifMTkCq+^Ft3Ep(h+OnK-Pef(mpPK=WmkEgN4h`)_3InSQua zrc6nB&)+Ci_RLuGR{=1P&Z?x55)Ixz$Cg1EAUH;i_P~owr ziDP7>CXT|jwr`^OVZd0LZe(3~rRy7_By>@~3)d%xx?21$PSUKYiB@+&4^^*TBhqoz zQ(F3uKmItYqoBY2{R-Ed=wq)rBshIL+j`-JMH!mG)+qbVMT(o99@7g=20Z4ctq?e!)a zU@y7EP#A|DwnZpFCpqT-)18QNJLdFc0qLf)&>2ORoG$DwDg#V2iS+B%ZQ%}wy~$FT z++gHgiGdl<(QOH%1%BzJWby397Y%41dF17Jl+BqRD6%RpfKfU5`t^snN{;r9zXjbC z{a#628TtG0aNv8| zxt@MAY|;nWvV1w1mj+i%2K>x3$LcZiNxt)JeIHuC!@elOF^h+;EbK@#{a}wc;)q!1 z?()koPXm1Gt1M=O&zchoK&EhipfjO#MnWZ8A8j1h+E_b_+amjKa1oMsKZ7@xb{oH_Bj3aQ})qZ$EHfsHH&rYmYm%3fL6$qWL&dO zJjvO}ExzAygV{a84U5|&pd4nNM4_I~oZ=oH9(EIp_;v8TuqW_9htM8wKOgi8o*jJu ziU6GlfbQGZc+kH4?so+T==Sa)SSX92tPU;<4vP<#DaP3ffn?=iuic!x7jLi(O@K?X%B0DZ2xcl^O21Z{n`V-w7u3l<2Wh z<2|2jd*)*O`nN>Tn(vwRGnzhqdPdKPdi5?zQFEBAH5#yT-(c}ijE>?g9q)pFr{N3RU;Fv+ zlP&^u9spYWINpE%`+@@W+>=js)?d$Dp~D85iY}P~U=*dsA%_@lO$^IrHEd`&W+p_0 zIpSqnyYIextaF!c_8nuJOt)DdOUh)n{}U3|Wjs%q-g7_hFOU7;gHBofpE<8o@$DZ9 z++g$OyQqs*wKOJ9)%CVCoi8*$yfE5h>#YxT6%hVHq3E>RsvSU_??yM*^ZMhDlY;>M z_@jyO_fVWY6S*^eZe6=}&GUAiPq zn7XOPo+tp#y1(Ax`uApc5M}~tv6-bCQLz0bgl*{^M1}Rn&;qlzfPSN8R?4Px#JwL z-6V?+vl8We1V@Y6iwPcf78RvXNKsVl>Ju#^e?QRp22G)CJ#?6Xzr7|;o}BgbVk-Dv zu4Xt$N1b!deLh7-wrStN6_(tzZTn=b=eYUinV}ps1wv_bX;<=KWPp}N7C@TM8QTO= zF$qZ1vMnG@{YU&f7|1N6v!F3(Vi7JnXs|?M*y*Ql>q+r$yzv09W48#rj(R)&LH zSulX^d*FfIPfW<`y?^GR&>FJ|Ofp`N5!gvEMVDWn{?WpO9`r z1zmK}9--Zu+?LKGx?#gnu72L%@_oY%LtRgfOCx_jX1KPhwqD%0rrqHBaAzon^^00+ z#|0jbmN+0i^033SMJXUHp3%^NVnTM_c{_L6V){+u5^14C6!7t&t-S(~oP> zVi!kj6@`1ojZ5xFm0GgJC;%-}Ix@wOAw$w?YtKFRez%1xa9B(JWwVy`eVb2N-2>&d8o@7c^O68MGNVYV1N^e)%fL-=c4( zqD)FNr95o?kT4fDW)lAMPg3_Sp4sQ0KQe>A^Omu`@6vb_<`IqRLOd`i+C>G}=b!&H zq(1RRq{l)r;)xR$Obj=lnC2_lo0?+9jOvitHI^RK66 zuVI;U*aiKC7mo9?^Idk?xCqdt1!!7J(Py&w|9k`VZ^{g5pIWtiu3N#8J5sEo$3ITD zAX_l8SLEMp)q`f__U%zurU}v%gRZ~+`m}PiJ@z=wOcuFzm_;+R(E!_0X`fA_LHhGG z+}-NaZ77dNYR7FyAAM!UNh$VwW=Jfc8|Qs*ym58CJq4uebULFKZE#{*2q;3nx*olAts4ix40h%?aPF*ii89MY3 z52R&6IQ0v={TpBwB@cCsFmNUj2sWD0>Mix5B0!fCpvju$OAz}QBK+t&x~dH-#6fC< zW)eIB>>@^-MKMg|cmnhQ72))XTl;g5%F zFNH)#d7ZR(+fH$8`;ENrC5-uP^CKIa8A8kCcYa$8uob!k1(0OsMSw0PK;xEWD%j8G9iX2&<`}QaYilQE zHE6Jdt9YpG6&3ih(A9)A2#yP>SI|hw&aOlTCK4eV=-IBrdFRr=@%ZD9`-*{38req9 ziyDA-Y$=@K%+|K;gYIAkD@5!nSox-e~E zrs%`u^XH!XubwZ5@ePJHaMZR8kI%}MCJr84H?7pJdi9#R(+{P^>eY>{&!xnB&&zbS z7m*5c>78q?@dN(cxn1?`r=B{X)EP88prejDD((9@?>wW4{_3k=T=mCKIh!WM3A{Jv z&tIy2qA~dwvwu9LlbU;@hyGg4smv9iSz`}B!js^MF%pd@Qs`snWxLn0Q>6giy7jIe zIHSUnj>DvKskTmtgrmkxsR+=e1nBwmzjH?z&B!Z2f2O=EEL{V89bMOst;V+1*tXpm zjg!VU8a6ggY@@N0#!gOb+qS;*yw~>&W@gXqS!>_xMzbTV{wk!t`KSi0|2tCMz(2{5 z`*QS(t~raDUGSfW2X?zj$l!}kL}zAAwkv8qOIn6rl8_=Cda8Rj@AK+Q+D7*3@2C0H zg=Uat!{~=MAk*xoK_rcs-54Yw8;k-mEa}?)aJ~6aNRDuGnL-FQUkFmBT`i`=1z!A) zAq96wuo3@Tj>kW+Icpx8874N7y{#E-gFjX`&9InNx(o9SBp{$&H-9WsL9!2I{8nLm zCI2JjO-YuAU(&g?tYdCrOxq^3Lb3{Yiq_yi{{h2p!MNCO z8IBqtZ@^RPRlUwg?So1zu+||%3BEdV(M?As(g2DjrZvFX6$FiciTOkeL})jHfV!g7 z$a-6hcx?VW`uFB4BK3itg-Y=tSWqtTFv=ur)NqzxQXN0_M2#6{=7Xn@C2uBu z#}dw8^J{dqarpuIME7n>T~)L}4(t`xsiz4hRKu@dIByJvmW>6qjMry~29$J5$V9 zk%?8c!M1Lr3bkASmwV+2)#~I_>yr6XN+3fj!pC8z!!bBBMRfhmi=fYCC6$^P&`d_A zc2B*I~7#R(2f&F)vs4UJg&~pZBAV%bTjSo8p-n_s@S|KaN-k zuk;+cikX3WUesE_FvyYbIytUt0b1E6twu09D$C;&qNShy_FZnV+zu)oGo0Rx^R2?R z#y<4HP?TnrOQ@G2SH4x&!@1k@tB#P$_%uCQ-O|np!uLQXjl+O2(+<%-K|~q#WEwq~ z_^c93hK)%NNJvaN9H2yu=m71SUD9R#|_qeQD#@3_%I!`~BQibpAkDiMu4tF-eN! z*vT=n&yE`e&s|#ruk??=`7+h<%of^MKSo-Fe`VIA&(Sr0C;RS9dP3(mZ(M5q!0Cy_1YaMWLzD6wi{8xT?qT|!72RuU+G#=JDHKc>tWy&>2Y0mBCe$}bv%d0 zVFKg`9*}K7SPcp?*y=F@T5h##|ib>XngzP=x1%;$f6HlA-O-E()tFWMH#+EAa~%8J65^0$H$Vm@ zwg0LCQ&ojRN)vhZt;SMCLrIpoAC!$?(<2qGao~d8#gqx@Lz|v*sBN zj;RlOZ50b^oGH89G~M_>tTHbN)VLXd-Hv=dKuP1R1JXch$N=hC4Xn{BPp>h3Um|M& z0|7XJy}q(RP8QQZV;MzKogN%jMKiV=C7Q`b(&@J#h5P-z%x(%|WMrYU>NtiXwv`cD z!7=A-d1j<(bNVL({aJ(rNsCG*hqUhBZScU3&Y-XiXME%>6Gi|i-q@OX>JX0>+N7%tN0+kROv(Dz@yJj z)!;mjzfX+q z)*3@D@fS!{U&*6LSGmID}wJ%f;;62S&l}0kh)H3g+FudzD#(5P$cd_~2;jjfc$5mz9d81i#yCa%w0xKd( zvC&HT3RktwD++l*0_Rw{*68ft`@P%kl*8i;qSkB656}LaeuITyN;4P<2v5_UxOo0} z>Y10cPUMa`7#kP~g5Zd{vc39voZG^hf@IUaIo%eEV`JdO^W)#>_-Q%kZfX22PaYg- zJAUsPXY6q3iqz;tqPJ$orr~CO2(WAHhk~U;fcYXeA3f*TsghhnQnnB#S=iG@2nOY< z6tE3irxiLEcB~Zvx0Z@#sxzIWe01=@%(HECtj>OCVh$p8u`;7~fm?05Oy}cG?^u`O z6_2Y%27EO7`+c+raM_l9;8j#xdj9J0VT?Q!aO)d0=-z=64k~82HrD>6tqA3@nN#Hc0r9kEC7lx&Hji#O9NKQniMnFnrOR!s+T z<--60id+p!xN+CBSvTGO=>Gu&E3+DjT(5hRGHE`F^Aq&{7Yu+O8eMxbe#@S8Ftu@G zJy~feb+6$6PuX*^0>CEus@%1Si+JxZRvF~|hcYLWYEy$}VHPDfo#|KLMltPUy3-e> z)_em?7(e0-`Wdrl3sZC2w9Uoxhs9;`J!sU9Qmt9u92ZKLxHTuivk7`fUkh5ykhk~= z-iVxoqjGn2FaMXHebaI9;KC%ccjarP3*fX#9fOODat%PrK#F;2{pGKl!W9K#$S=_K zB>8_BMnD7KiTi`>#cOfPd$g#`+x>Zt^pAL2JY}jO9jpRapB-!WTq~=&)H^I1-i)7A zp^gc`GrniKDpbd)lQkM5IyOHH*Mq#ktPFmFu?$C-m--hyWNR4-ss=-&=p54!aBs>! zUAEYD=t-&kRQsFWI0D_f_)ySQrApxgu*2> zTHMu}{UqgzsBQ3XX2}K{H-@8(uVDm<+lbKUj|6@FyqmWDj>3c)n)^amRuyGM6HC8- z2-wwX?n<-fy|Dw|3n@N4kbAdi?bD8AvsJU$;7T2ag2rWV8(w;uJ zu8@4)0j6e8Cg^NMuu#(P?!w9`i|OGmnI^D=E!7wMdvL`B_`qj^lum zl45*o>Kk7h10~WzX|IeIHTXqfns-J)gi4?G(|FNPMZP`0tbH&w+ePWLth`Hc*t{9B zc!u*T$qDTu;A?Fz8*1+d!9a9ux z{hQeZ126OX{=WfV=+m%WqQO2X1J`$IqXA1^fkVWsbCf$)!`olrrs*VA_u@{Zlf7t! z@VLYTR_UWdW|5H_Quz9CTL*1s(VdJH<17BjTruCUF=&)D*0 zlkCE2F_GT5_1}M3OxacWdnw1@=r@YZdfI3$!KAOhB1BkCO>Y&Ih8i28<%NqNJ$F9H z*8}}2je%!8qtx?cgKKS~nBy1yPx~5c(mfhBwF`(ZTDO29K2#uxbzHwz{a{zMWXXU7 z11w`Ks#vR9VQx1vDsno(Ui)>aEN|WZ_6Gs#SAPyJ1PT7&5uVFOS%SS>WOa<-+xfSA z3n5Q(8yfzFdLn2~>W=D-V3>^@h+8Tu)BCJWE4+`dlh`qZTgm3!0#r-8+DIYJjXGrk zp$R({+rMIb0E7BqCmRR)NWs$hLxRZiq2p4;a}%;jycm4Jif(1Q&LfGF+44C^<^^|^ zBA3DKWrez53-lm9G){8MTo%2O3tL7c9c>K0;yik*LpOZw-uA@=SfI~Uc4=f3NadKC zr9QHkCt9NL!lPjV`_to?Wu@b*y8WcQNURF0qWqvr@KHMG+Z4N_ymEo0)iS`sL$eYa;87v{h4$V!T%jg2&Dk$L!*%9*KAY5s_Fk_7z6f6U13m7;2<+1j`9-h= zMYH>jHcZ|~4EdjeptsKG)_ZR>Rmj*a{daDbR!kNudYV3J6P%QsSDVteUqxCNJbp@f zg>W2ZW(^ZG*R_CM_hhT8GMdzfbYhi*h(Uqk2+lmNSF>oLT3RidcEoi0Or zVtd3i|HX*{k9hBaDE31F;~llGNbVP}o$X*X3+?83*ZBIFn6M~W#h8kS_q3JVTlxix z$%hj!x_Daw6`4cZje{iKulL`_iU#=;*Og|}mxnX*Aut+)jhcB&Bm<{*B(^^$`~b%) z_<^Ytfc)x}D)D}7J$vHskc{RLs=|_VdTPVzC9OgPAYp#=`({o1X+?Cy)3)lUYZ7)k zQ_~>r%0~D%0dDQ6^*YV#Mw4>~9}nBE2XH)|>xcO*8}FPBtARN>^Z5RRhud`84t(9? zgEnBh#a<>mZ!f3Sbzo&}5AbFhn?qwzoOLoOnsUZ$n}{#^0jW4z)t8~`ZiEZH%5JT> zuKVbuUEXH?IgJ||@h7KTe1HJEA5tu3Dx*$$uP)N)E+aKzeoM~%b9hOD?2Nzx{L~zV z7C)2xPzQexU1XoGA$=!3glpI~!jvDLg%0RRoi5q}8!obqmEZp|$=czOc-u5zI)N8D zY;}M8!Gs!SF}+Z+01T7N5cVsG+w+)b_dO$u=uP;2_&88q)9W*vksMTb^F@@TnhAcZPbYSI75MbRV3k~iw*V0=px zyepLs6<5bLgMmitXDZgqb3JuflhBO1E%w<>EXz$cON}~Sps1I1lD#e=%O!gLIM1%p$UJ^{=?D5)voQVf7P~&4?y{_LOfM!Q4 zLk7iHs{$%Lxy%Mq#hqc#$rFmMF~~rN))>KaE?f4mY2mAFe;N|C;ZB`n))_&3PLSL= zg7NY<0WJMl^kHJen#6R@oUabcMmYDDfcnkVmiK8G$ZgXQvZHiDMO|waocPx_dYG^+?2>t+VWC%90+@(@^aBe zLzcO2j_*l&6UP(b4N!7DIR*PgY znkabrXY<0dJw9t!kjqYJFdyL1b6ndk>&;p9gIfG<2B#Y*Yt44kUtz^tFY+Vw#xTiC&i@fwgBYH2@VB{)`lm2stdk>~pcL6K5#wKh-Cb$)=~Xds%so^Yyi5dm zOdz%VMH7`b@IR!F-6nnn(O3;C6JNyPLNoU(;=yD9BYNtw`yhJ-(S-;cVcA|Z& zL$lkwDo#fO^V_RoxTdJ6Ag zL{hn;Mf=4G=n%xw)uxwWP%SH6@WRJKv#V?iK?c$?ox8o?d@YLW7w?@nubuL(9BxPC z);)_ZCkchbF<%^4bJ03kHXg;7=#tMAT{ zpT9^yDwOSjkhF<&ubKK)b%82f9^22n@NGRvA9d>v1w=fR$7+)G(LXA4e*(c}KTb}! zW{8T+-rm>14qL3vQ%|<`3U%dLYykin37clKA!Ec#9X9Kv-r7ZC!oDk*lbF=V<`?<5 zc1-N7o*(E!fHM2A?-TPeJfZ(9>Ok$t?)pZs>`T}0Ij-3^fzwiW%v2(VB~hf9i6?`#IfcJUDwdyK z>^FajR`G?)7Jc+x`0?g>1weGLukUzB&M?)mnj3>9Ne_#Q!jFq$RBT+zlHgwYxBxdY z09*JoT0jzO#zAFs49wqr@&Sd`)P?bk2*`D)Qms*9wZmRaiGmTtE+N@HFCO$Fcd<&~ z)fhJfS<6>U?)M#!_Ai*U?kvNXr`dLk5nd|EuUXatJb{-8p8}M|27?n;!?~Z`oKR9P3jNP=J+)z>4xV$NYUV%c^^Ry2Iaz_@- z?8Gh0CLS&ETuL@w7e`qFE1obEJCTUMsug=|yLQ&3=`J%_y{^0b)+lb70Li{mL4=AWIzSPYtUS0|_ok53@x%7XUIti?DUk&G@4 zv9smbrn0qg3GN&$l6(*UbS%Uh|oTPR3V%5*$Sj<0R_1W5#w6K0Xdr z)Uxi3YS%V;MDuUlfk_?5*b&GG30|}!3E9dlb~L^I=Xb;Hs_#-Nvw@ENe|r&0G zzf5st>$-CUmgT#a+E7PwtnM*VS&A<=L@K$RzlyrwLmQ^rhbue7b%fZA zF5j*K?tZL#ZN&-Pc0XsY0SrY}DQw-X7N)9xxwq40)LIzJwTQRyG1YU5r;v@*Bs66I;nj8NHPXDwhoY zG~@|f)tgsygoqIJ1bN6nFoXrTpm?8J3NYlNHJPLi6TkKd&Y87Y0L(`Y~>$MTf&u$k&MHizkRQJQ8V6<@hhG# z1t*Vm`cUK62)M`e8GVIkMzi&vi@MQf>8RHXSm(*cP402^4*)or?{U(w|Hl z^UnsR(IS`<+#rH_I4UJegz5zKeovZ|btyQ;dX4Ii8Q=4bFQhVy0kOaI} z2YT5@Qc=bl^ucDbD!B;C!BxuGpOsJeESAjN7%q9Xe)qxlPk=zfMZ!^hb4Zuc)V&6G z8?9&!lGrfH3u5(TD_l<0U>Eb!yJhXtZUzm;*{2pS8h+n9h(vqa|{EEULex7N+ ztHfK_wz+tn%lA36+W-k*cv$7eUMyZycyw;pvf<9_Jh$MNVWopApfcTY9md45h>2slwX_mN4-Qw&yfp)NK^Qd3^?#F;=G3K&5^yv6xo8dN7|x!e1~j z7C$@<5dL~6ul*^msuEO{vBq&7P%pOixMC@cUtRGFws|j-p$3i<>eqT}U1GN4Tw&(< zKUz5Py#LT}Z0J5ETHA2fvuZcLBuy~0&q+*dm=87AdmOAKb)m6-F+^__8iV%qZ$Dj} z9otO(a;$2pe9E}HKe%+F&D?iVwD1i*xBRBZUvo}&C$Qzym>2s0?5PuddD?B%FBjJp z7B}g(_%QIV9>cs=HzlZ1w1CM(@$NMbbe5A#{12~->!99Ncx0Yr1!a_DrqHdQna^!> z7*#cPhx@?rcX?kNWrigp@?;{tucr^E!CjyYaQ{}&Y(286^;=0h_({xZyG&p)(KTj) z%MWF>3SgWvghHm)jmft_3^Sj0j9r!y)4HbE=WT<#UM1qgjWa5-hJtL%1`yuXeR5|T z7-#3||4B^j4dC^Ay`M2eSB1EW040-3rEcZ_gNHmp6@JehgL;}n@8rMa(VmV>?wL^{ zZe-Z7E-hSFwRw6A8>_!w09N30zWCV1>fEz zAj6Pqb~&({_JZacjePly#^VtorT=^cn#9aJNs=g1WxXYR6IGWHb!t0+^)tA8^Ic(Y zjIh4S*;980juBvU{9Q(|z6KhDb@{%?H8m_NT37g#G5SiLPsbx=4ojUd3+zQ-WVIS@ z>8A%Pd2+aBd2Bi^RXoaVeW?C)J^o3Z(g_fM<36LITCiF1?Bu^FauH!N=`IW>T4Z(D zY66`Kg-peEqV;JJqgUbSWaPpKqj&nZ zZs`O^T7xiQbp#tHByj{Ud>HZgvTX&u6&{L`Co`326PelWKt^k<$sKWtl6xBzt(%Va^Wg8ts5L}M<=s(6ML*OqTuCl#b6DER=pVvqL9 zC0?{a|C;rdTWDquE9O3nbAS{p{Y%qA?|V6l$eLpm9b**E*S^L*NJN7|BZidp{O#xt zxBGcl?*X!Pl%5<#qkW@<*K(>JbiCgg8HV}7*Yq5qSbikU2htem$p+?}Rj7AgI}Ku@ zPr3wL65!IeTkYi6+PL+6_Zb3A1kSj;N{^oNfls;eSy5_B8Jo7+v(B`=U2?0{pM$X0 z{4Yf=R2pVv89*wY&OY}*+j;#sIcEdZ!z^HNAVNBntC^+YI?E-j14m34C#IU=lV*sL zwuKSjW@<`ts2!*6vioRQD|8K{6IpG%x+{ocj(pIw0!f(`U4}*UWdA&)pe;wQR)3~Z zUM^KHi!$A@M{Ft$C)RC#fViaxK`$1V;Gh@9K{muVo>n{dCfoC{7%tfB-ygP@jQ7>X z3%D5Zz8$sdCTp;q*8C)HV%lsgnOctJ*=1`|RQBGG)5^W}CvU^Z!NbeG?g=DLh7HAO zE>t1JG~G@-nq&v_RlJ*_TVW^LM4;sW$;W%{GBEpgLB1L{%vo#-;9br6P~G!ihi#JT zQTHg@X_peMGHj0ROZ&Jy_WnSy)@MwY-oG@SECWA5{!B5+vZj!k$XTG`7@#YkZD`{g zZQg!$Q~=T|0bC3|{#^82q`0Q0g?mXo8%OijGfD-%{jp|V00~x1p z9%;&=lv}WPIjpQs*{~Cp$$)SF)_Wli?Kcd8)N(0IAUVSxDB;OWkMi)XDB$%3C(_~k zY~yJF!$D<|dhHMj_`UO5Y-mXgQSm{Lu1-(c4VMcjNyhJkiH8m;5RvJSb1)iUa;ef$9r!7kZXWAL>2G|CYX z8ub9M#8>jX-M4|zaW!?wT3#o_BC0yeOlSP~4f`67O))KSM~s|RjyX{SA{hK93SkCW zOm@#k0*=xY~{1mxtla@$990)NWYPELuS#>hS z_TefZevOV^$}85crJ7(>-z1DPov}TW?MWw-LWKRIM0M13l^lB-wZn6za>>!d-}nw_ z3UaM6K5hdcdt3MR!Iypd=rMjzf?Jh7GVJL5b(J-2IEt*3X^2+Lqw3%CD&a&Bg;z_b z?}Kt(MMM#7tM+2gh-`MDS2p(IgliCazCeCFz8q4H7d-*usEkgf4SOF?0oS^A(AP!3 zCGJNcTGfEPKq=k+QIU(Mo!t1_#sckb1bqqr>tjp^osEGAlCUXHj2Zxm1)EP!UV|eq z7ubUP5Qdh39`nnBmaxrF&}0d3(ksyzme(>;zSA<9-j@p<$H>u5*y)}Y4zN{PaXp-{XBhO# zydV>>WxIP(SBDHtCFGYw&ZNQqWpWH$@?+yx^>M5@CnpqOMW>m^1zESwGkor&o2fRY zuB}=*aV4GO#Z->GgDvB+W9w1h*sNE5(D>zU4+cjg%MHcq*@LwIRUuCjIuIP#*`BT( zHe7}?BGnKY5>Hh+9D5nvnhp2ZmDDLe$b^V__M7Ovmfd3S#xJE}@VC_*xWoKmt)a;E zQhzdHW8%+;y-X|~2brutDb(S62!orI6J2)|!l*73fSANQ-(>wC&e-@*Y%f$qmsjpf zGVRmSNPIWineJUSy^i!NuOBOyaLGk%7+8xOhnsU5W${&7<5dI*IZrQ&NE%m}>os3^($`gvWO{(cbrK2o^aZv$tqAe0(`V z?h@Cs)+gr6J!{=VLW?8xO4@S>Iw|Vao74D}ZvB+#lbwmbaiAc3uT~9YY6^F~3kd*< z(G-W^rr>TfHo<@iB(`qau;#KAr>(MbEKPsCT`4ZukIp00Qic<)F?XC7WU9sr+{#=v ziw47Z9Yxidd3s2A~ZY1#xdj zN6LRK$gzhz3jX*_lAjy5XuFeq(~cGyRJ}J_Y=QahmQMpeu-#EY-bOly z+o@&E@UY&doebtUexA+3swgC@KC7-dQfwG9!SQdG%;lvxkqw zV!q!CiWEdwpxJ53G}fyVA5X*8>8~^Ro1@%ZLLZoz zArvN_%_=ycWZ)yTmi>tuhK?49GFt|lj99n)|t|1tj47l~b#oGzk>W?Uj^JNDgU_@1qn!3{0{n$QS|*IZm)I3EQb~ zJ1yP8&GyBr3ou#H|Cx!}-tJq|&sEk;27*p4MRcg=dUUZXg99K#8-WvU~f$~1Bod%>rDR9iz0P(xFOEsXrQnR7Z zQ`?}Z{Y>_|Q`kfwMGI)6KPxZCp@>S8X;-EL$1&E&DIPFzaDa$a0OI3Bpe?amV;w=v zmM7&~1+gR9Wr&O9m{2FfU!_E=MP|-=6H<3b%uPZE_tE2#)|yrdUl)Oly+2HT>s+k9 z(R&&4rwAGql$ww@%h)JaP9>7pfcPD!fgJ=_%nho1j=kb#7w-||d_b7iKNxwJx(Vi}Q75(3RX zUOni9_r%FD;q*@4#IDdH-s81`O5I39*8^&^sw zvqt*H!QjVcW~;Ot!r;5udhK8+`|j@*sRqD72mO)^L}e+=mlZ+`n45;G=14f%Qy`5< zl+~*3PQWKzXFqtE;&*6#`XbCFa_-buk)Ti#8HbM z%!azW||C2{QyBws(}`njGt(?rj>9sL}Q^5Oa7~STX>P&M1G6;UEYc= zh+#vdGLbT~GC_?ho7^i+DkQUN2H%41Isuor86E_hsowYz1-!GN9G!6H6nHI2Ojz+r z8?Y;NWx{6C;LxEYa5%~!KN~OzH}YdzK{!E zF<=SG-&>EB3z6feGd z{3h^L1x~-yI4aTxmy(=LQbsiUO!fP`nb2DO6BSqH>lJmF(Yzerqw2@1C@4$#U0 zhd2MZQ0AIjfN3?B6BqTMd-+Qqi`iP9{ms*Hk0O?1M}MC- zEnfnqe7QrWlP5-UzDZ-l{=62CD>Nym?Hz>u_ZN0-mDPGy+7JU}h4v|lS*BiAWXM%U zY5pD?ui2FWh7Qu5%$TSY;`+FPjyiI-PZ<3|XyKZ5%2L4`Oo;bnovX3s_u8W>b)I@i zh6!#E(TLPcSSI2G`=(WczR6-$t?xWsc3Rd|z2*bxI0OgeTb{c05<1300W@bby{hB-8~IUPkaH5xs|##B@hb5uJm$FLuFZEurS0a~9K1rcld;QKtXfDoj@%*X{h+dgoQNx*$*Gh7u(^)d6hq6v14@TT+6g>t-43(04( z!P|YobrB?I`Sex6`2Y`ZF;Sp!Ba~_PBoa2f0?(NA6Y4L|IYmeRJy^ySmzo$_vt;!W z--1#{`5A@#1ww-6!~6t=X3QfVdw0}Pod|{pUNlImmF_~qghwY;uj{Y% zxa?@269D6f4rjz3+s1IgRUL*<-U8bxko>Kl8q2BT{<_d~z zmT%wU*pL0D1rSsMAF0%5G!F4zlt&j8ZNRo%kC4yB@)II@B{hmXYyU%_-kZy@+ zGGfl8?3@Z@9*j}&6HN?_*|mEne{ZNXpL8f&et!6QIz(Y-4~U7(tl>-?1;T}#p{-V} z6!~w?QV{YEVB_>FOovO?FaN%DGb$?lq2(|D4cBvs%I!8uXslf0UBK)DKNqJ~M@VUu z4Ud1TFys85g<7E`eY)%@@llLU*f!_YG8?jZViAQ*PiIe#Khy-Y>-51hn2O9oQn2#i=`cabd&^ISG*L-t zRDYsVE5^uHg!1I#ks&+5Xbik&C1oCw(jhwwLeTg^@>oVbz!>N#lj`JHzkAk+VdH7y zCPxLkI?Bbj$v4}?g@`FaRErA!-pzrMRN47BFroa7q8p3YP^^Gsyh4{J1`orZzrFwT zzdHca)t{&J{Gk~b))#+*S+MxiC%O<&9f5r++K$8yokMuN;BE@t<1vM!u99xiSAYmg zdw_WkOc6}xWMnUFgMiEy^Wofv1;5UBCgsuW0Ha~!#S4)1@c@ot>PmDnfY>`X@cA*T zD6M*QJgd+mpSf$%cBjhu|Cli54+KWf)F|pasQVbUT&6SWu5@@j7eO9uQJZX%f}R5P z7~kT*gQ&>kSa~Nr7{WVa2tYHv5>ewI2Q+Xw#2o<;8-zyr2U_SxULYk_K%`0;d(m}@ zT`#n{FXV_7eZCC5<*zlvTYYmZv(DSq)+N!d?cP+M?hQXS21oOQ>)e>IP7 zSEoEBN6Ga$kjYGD=oRTOArhEjn5?PxBufrqN6f%yo8Kg`>F!8^b$#&IVVKB`TkmMp zX;Iw?#f(Cb$5NsKF|p`~kIl@FXS7Xd?zsk zqmxK6KpBSa$OZgn;t%%mcqH^YqJKsjD8^B5F8-r3*2%OsF&sHKgpj$MjiH2KcKvowG5VH_AEWDG6Sm93H% zW#{gG&!aCKx5|k~f-dYyJ%ll~nebxeEXGhZ@U=%y&ED+z zb|?Jeoo`H2!=O*n#cxFGzUwhK3I!`*wnI+30|W59VZb1dZ?Sf@!#}gP`%EFZzy;AJ zO!A}m#hy2P{E^$ts{bQNU%Br%1M-M{r*FNMH+`^#uXoiv55#C( zadbE*c~_V{J^lWSg-1!V`hdEGP%x`VF?SnBb4V-eW-w36qLbg3tZb(FPRHczYX{tH z&I8ZN|K=ij{ktLkahPfeOE(f=vmww{nf5#5ST;HB^X#xu^zVmuza~Ou-68sVSNAdo z2L5D=qIH^S76`_KMP->Sh~AO=R<~tabD{TAyJWk|oq>1rby2G?iN3_Gz zL+6FxnsE1q8n`pkN}3J-v+O%kj|TO@aDk~c-w|X}zUAcx_$Tn=pDM;Rqtzngoltd> z3zXc5`cK$QiDnEg5=GLa_d>8_rMc#e1IU-fkkbDNo2pQ5Vnd9b8-n$3YuK~>81)?G zlIJ%d-2PpQ6AD?+V_lp2G@{Lru(l$?7$%?Pz|Uh}DCf1hq(C03m)W1Xgh?a#_5t@q zIMMu~-AViD7L%5(<_Td=WBd`a>`z$G9jrNB?y zd`B=e>C0uN)i7B#T|e5KIBQGl%h6wlOC~<_rOy1p@*}Y%HLnv{h%dd@*(vA?SzUj` zl1#}vhXRJ@_9cazhNR^VH-qte&w0{1#RCNG%zNi zZbvWBdX9RZUvLU*CfJV-pzJ6m*vTeIwi7|-#YmQWa+>MRk~5J8JCjCE#M-qP_>N;2 z+?DtV8i_VDwA%v|`UbsSME~B1Clt)z5wLw-jb~J+UH^*@8 z!?IchilH)p^oVi#$G9BxK{pUf2w~V;j-3LXSBy&;C=D~-vtmNg1A&AN-_Qk(Sp<19V>38INzeN8wY?LHq@)ZH1;SL(Mm;SLBbt@1vU=p!iLeU^SG4Q$!#MOPjVN5O5$76qBA+^FOHpsjzT+T8YrfXV$iUU7>}p*8v~|yN zS0HTomQX;;JQ_n;K=ou^uRQA1fF9mk=0YQPA?oXh>vPC25{!uAxgaXVH2uQF9L&lZ z9{VLrJ4P-Ea!q%W0!-RC+IGUdI|?G!Qyq#9p~%NQRhE^F@hr?llmMwE^GpK;P(3oH z)l9qU1UMLx6weS~SywjnOntS$TjfW-x%}tIkbW^|;V_LCLVnJ=pnw@jL1vptaJ5MWaB%Vh_RnCPMjNc$Knfr*2ueu3siz|Zpb={PR6`)nAP zsD1AI^%+JBAd}_yy$xzybfG|sedsfljIIls>mFwqL2vl2KL2ptkE$gX80(BOw%hfC zE>MaJZDF*g0HRT*O`?NwmeV>q&qR~J zPG%mnpAee8@Jla9?Qp@HQ)XRiortqYeW+_fllsw=^34Q6wyVL2!BF(EEK_>(c*coB zqd9hIeYde7ODg6Ii94RCBkguqYmlLVL-z~y+1s8F=mY#_79=`VR}bEJtR>mNsLmzf z!=PVzK}4o52}aB|z*AT|f<42cj>~RuQ=TVliWK>cO{2tGy-LC%ry5)eDWebjUY6Op zr%WU5*?zeKo$fK;whpo_$5Uucy~h006v!p=-VW}dhZ2tXGo7>Cs=+!CUQMt7Wrtid zVK)#Gg_cu<1e6e}WFDLCzDjrDv*vY_J-&}yfhm%d0Ns!`1_La}%EO38>#DJhF<(!q zh9YGs6jx@m_T06dgdZ7?zlFd0wLW!NYUY_f13PRq3ZZ|F{eK-@V|X3i7Cy1n*p2Np zjn!C<8{4+c#!edBYHZuKZM)H(@6OM2=GmBynZ4GFLp@M5D}f4DFl&1R!U8*48yL%A z(+_f|UL}~5@SMTa2!%iAvhZ~na2Gjdc>8~8&co{&pHn4-{lgYk;TKO`PYP3#@p9Un zP83VQS_=xuFFY*)ia0QpLfmjf9tcZ*gBUbTZ?s|+BrvjJsUcb{i%@BCb}bK**jQu2s|Mw{ABEn)8U{_YJ`Ll7PY znSFa*r6dhG^i9?U*Cy79Q^x@&LCUlUhu>($s9rMSb9nMf@>`g%`1D+G1Y%Qu6Utbb z^ zjmgvx5WafP93=vXJuYRxs;2k6(rpbv@g~ruUt)V!F9}|- z(qCj@CK1;I@ACV|@$Z-txi^mF$`4~YjU3xa%p4w<^JC@UWx&ZrX>*Op^IXBCTGtqq zCda*J@V$C|NIuISv-sIqkngW7_8pNSA8iz1*W+Wu5)W_T=ZKW1V?--K65*o|c-QB? z>t+SvlRAP;5D1-}v0s>gRg%Ym5?vqP_?olSjA&)-C&c=yv1h-q<#YB~kt2&}*QJ}= zW4_*O&joQGh{CV7(}SIsCz(Jw8O?KfY*jxaHVHU&R#11dbiQV|teVqYMXkNn@8Gun1w#Rd>2H}kF z;RV7I%ZcFH$wEHM=c=9XghjM%7;83(-Nf7_-XV8blEe^L@@Us^^Ys(vo^!am)q*1pz5bZ_)a4jMpKf6cgglm{Zer=KFF`t*V6m6gbX{@4LIPZOWuc@S7sOSZ{B^4tFGaMU%MHft-pO_OwM z+Ivr7?f6Pi_!cya*>p}~mpy)ucP*xrbh%OK7Z5|Bfr9=19?mEa&O&0wa);{o@MZLR z^Ri)z9MPcHaTOQ3U?%shZT9$E#2bcOK5gM=BWkj>t(9q#1SNRS-JuE5VdT`>F9eKq zkAJm9tWQP8{{_w&8jVVtxAKp%PV(N3FN3@n)lF5FpYD#beYx8%8Z{T6{;rs$)07@K zG@KD+-+s5*vt6fJySvtCKjcQ5c9RNnwgb+HjpoSq4L_dfht`TFl(+<{`L39kwgV(` z$2j(xK8ZK+P%y0jiHG1rhIY-S;<_kc%Q{W})Z*nZ;`H-tpZ@uHE^K~*Jd4i?2Sbec zYM>Ce*LqeJfi%rqlsB00lOOlRTg&|*>C`}g=irgc@vww&4l^#>^mc#bj6;x3zn92S z855-8m1XRNoysooJUhBtkXl@8WH-b1T1b=MdwwMrYmp<5r(FNMK;-+(YEXhijod~9 zV?h;pmz;|xgrG)4dAp*T4AR;KzX$wVwDq@szCK=%b;Zbj-%!?8#x7c)w0>hay}M33 zV;7WeOf9`=2Hs6G^kW3Vb)xY$fE=F#lDYCoN_>7^5Qbo2mE*3nemOU6YN9nZxM*3J zP!gfzkq`Rmj=wEj6C18}FC*USDN?tt#vy=8R5zcbGZDA{&n~j7^6yo#PKQU$0=0t8 zSUs}9+qE-x4j2-c!T@~v(IMTIgxiGwFq8Pex zrm%1$hvn%UteSU1-0xbWTP@~GYA%6qjcFVljRjB|>eytdlE9N66cLwH&Jl%lfwmT_ zgjcvIoFX;MH=RHPQ+2NTk@*C@MOp}L>pQQ2kz*m$Z#*ny`E?8;q6+8)j9;q)dV1>- zeUPO71%)KIhb7V2*+jsLMd5$1n!YklkmaCp^s7=SUu;E~HXxCl69TZq>UEvBpxuV0 zPWU9hLImzz5aCE`;e>kYMgJ^&SH^+VMRZEJt^^}Vrf(0U;*0=9t;_F_waG+LcQkgT zUQXKaC^_CNYe`~9n5Y8V_@9MBd_pe52l{l}wwt^US)SZO#J=ry4}gYhByvufQgJkq zdQxR+f$P;~T+i=U6L_77rTqpj=;&a>-DS?frY)bgoFmc-=eFtpMBcPq!8CZ?0!4Gm zz^C7GC?b+eiS->XSZBz=ha=}m>o9G2wm4FZLdP%nT38@zi^DNkjlQ%p_y=kxM=lqA zl{bR@q~EKtvIy7+A$))BN@E>Qg2qBDmUmuG41bn_p}~xkfW|k2{}0c*6eyc-)${sr zmh!mE;&FdGtk>^7=N;pYq(isnXg5yaNwOP+E=TR?#}A;V7iIkpe;f@_LMQ{o7<7Zd zA0+JKWTcwY$E4gklSznRpzAx#-P759r4bqQv5&Y`K;5`cdi1VRA_dgY{h}- z0<-jtI$n@f0!4dWpVQ=S4O-&;NWr7tnHz~A;KDEojcQ zg{#??*-b8sXR^lb{6{GA#H%|19L66d$N^Srn+-TS5*#I)7i;y9Jlc=O`4$rca&dVu zt?7OD;gY+W12J6EJ46NEpl|xq^TJ{iq!AOpwrQy{10FrmEDY|=K9jjdoc|1twng$5Tj?3S_-P zCs1dxE$!hl>j~;iO{Cj)svm+TEUOYg4C^}6hc&d|?6PP89T{sh6grR;ySw|52R0e! zb}wwb#nC5R^;u2A1R00_re8b_E2nRg-8E>698&(K92RSCcW}*?2}$J!k%*Tn`0=aJ zlit{k$jTR|HuTsO6B0OF6G79QAU8vph_G{d2Nm3d|1v7n-*Q0LLa~+Vbta2L_Ss*X zQw|MCEO-0E-1)@q8>S1@?Jf$#q>!c+^`}%=RZ~G}-NBPGoT*1+k>)TkBGU))P^*Hl zC=o+!zD+$i%oCyK5fM-;K+dp^VJG-vZQII`Fqk4x!@RrZ2cEK(rs}z-aaogf3@t&8 zw+@{7YvYS4H=H}K^#Ml{0}+uE<0?s%kg+}kAigPJLFiyE1Vz>OOZOq2OW`e0Mvp4CWGNCwUSixZ{DYM(v4>lpIHpn0atRl95WVa`_{_-z`w~UG&ivjU3=J+;Z~)PX>1gtRjy!FQ-I z#zw(G2`y4(&~A?GN@t9*W7I0_7^qKU+Ewxr<5Foc;(l)T)HPhXt<-KgH!>070HTn& z<~ZFy&0tt>nn&a1GP5L81*jR;dPuXJ6rdw2W`EyqxJq8)+>x=#KeY%xeiLwVXqPc; zN>^`2bzs@`URgaA?gvC;Q(U8})oi{1f(N4>zL#Wi6X9%^yB#+~cbMNd-3)uc(gKXk z^A#cLaq3|@+{zgReRl)W!Hgokw216q(zblKhW3@WhoxY8-bQ2>i#}IH$wZ(4FA$|jSlSbqb ziORLH#Ycdi#BWWSUdG(v9Ul5Z(+4q&(xmNnwmJ6wIlQGP2^POF6}>y02OVd>Xq`u9 zx`*f!Mg;%Xv}vKZ0tHsz5&PoIl~`7_P@cWN-kn?jxbShpVE5hr5O)rdNq9Ll_lbi(b+usZ1NmYgYVHu?=%2+viAyAxLDW*(1n4U=7WJscepN2grsIWVLQ~KdM=hLcX zb-V0))qWIh^iqkzulaIXL6|y27v$mf{yw*V_fvfGu~0Cy16+dQtSZe03fzAmV!A}% zewdaiN+48WF%UiZv!{C9HV{j5iLu)9)D_}Tt88>u?+O?z$kv(k4SR!KxT1EjZeKYuBk`-M!VGVef4RpT(GEb2GD>pKbC zf$h3(zNFDoPTX8Ft+^!aXrWSv=wC>N{6s^d4Y5*hy&EQX_hu|w(*Caf zqBH($phY>K5-*0j1lPwapook08+W)v@8x>J2(6H`YOeD+SdA9q_@9a)FKn>d6XsJ9 zMp&F@X}wWfG1K6-4P#5%(J5OR1$p^(0F^&KaFkN<1c(spK0J2D4k;=s#y{OX0jyd8 zE>!okGzO_P=!h1)9@EITg}Yb<%WsfmauEkG{+Iv`oVGeO7*XuEJgmKs7ul-!19PiB z=!O*GYI8;2hZAJ`Eg)J>jgP2t1}SE(Z-{RDUhpeSYFI{a zP-PH%B&5H>JT?cCP~5kQVS3&cq{E=$8!K!<8dPYc_{-+K28`1JdHd@g7;G(8m;E^L z!vp?8?N9;-386`nXkYsd>2sA14`=6{tn{b7vU?B%<}0@DTg51Ny-{UjOvv@Hk@Glq zzdi$wT`7C~vbN7OejY9sv9a4(2^hA_8doic8Q2XMw6Zx_%$T844n{c051Jsqc^j@7 zI$bU(rRdo-wE27m`wOly=6)hYL=#nV#1%q&bLN5)D$+lPWvC4;Ev&u4sj+g!wFR9W8(>dk3G5(TTRTC+*tJ1K+` zRN!0Y)}~Gni=s4nNP*su%MXU~Ayy=Z&@%^5W!XbO+O+xv(`S(s?nCU(PX*XQ6tJI- z>9V!KoNrJE_6B_1rjtvZ2>vnxH9eS?3O2=YgUIZ=LNuAfxGmi)BrXLUD2#epV>pdk z2IZBF8m6GMIF;aV-;bA}Qr#|}b3^WfL?x#qBea|!0g`0v*@oikkOp;r7N7aIyxRDgp`jIG`Lltmm zAq`FMNJWFHn|_!e&D!H8(}a3YEl(_yNa1**R>*XQNf9P-j2cENxmV6c#)N;NQ?0Ob zS+i~$9;&;WWfWA-E~A+6b=LXd^=> z{%-%25fkODUS~=_;(&(_H@x1IVaO$cLXcy1#}XB;^=ftip-e?u^?2@kE8GW8q80{4 zR`&8uA;&GRT%7Id$493$Qg}W42N{oIm;?qIa)s(=MxGz`vfc@cnm5mlHa6p6a&H1= zv=V_(%_vU{M#>(3CTj$Xyz-b}c0ej=$OB~NyyTX*WzZB(Ut9f>xxfXfLbXf z>M&S$Wj3nL5x9%#cP|069}oJcb;qAQG5NC)?6}G1v~Ki`B(gwqBW`7d^}CUQ)8-DA zcrLu2|Ds>3#DiW|L7jX^siGQ2pnL0=xnQ#Z8i_m|y&>?>$nc=0fU{)Lp5#2@I}%3) zXFC@6r;RK27{YpTir29ckm_$v0UyV%) z$z|Buf|praF54r)QGWj`T6WGsPg(-RN+MjciS&4zsu zTSTO(&|?`Yd2XbWuYC{EEjx4yNjyOoMd#v==i15KAWjnKUw#HJm}1hY`=-5aJ1GQ1 znCO5AINVLNZMH~3)U%^@tEgK0`D`UP#jS)B(4T^{8~Igqn5jvM69=c_#E~f48Pdgo zDNO$)(=B&AGG#wN&6w4n%BwHM&!swFbS9!DB6;MbyXiybsQ=B2jGGNv^tnE`b&i?_ z#o%;JisrQ`EY{|7v54zuv(@RH`f>P2IJ&w{wg!-QF*Sbtrvjc+D2*ukW8pAo>xp0= z(u>+I&O1B}=zcsmZ|#Z)#HrK273*QU5e&2!p7`2rjM%Tsv6Vm2<(CoYcv*$gtHer@ znJp+L0|dmxBup}aGygaVBCYg3xQXXCCf!b2*)vz#KM;>acQZddhhx>CuU1Ji|F~e6 zZ(OLWvREzub%xH7=E)^b`NQQ{#3-j2IZ-?{$PFxY^a&?QtOk6K_qcnL3)y%6;37a>~0w;)pSGcapho~g%? zre2&`DJ1_pSEU&Mz3$eS_*F`#5cXX#d%z1)n#O^WdhF z(l|}))oi$|skqyjz;>_Jl0MQ&0GNp{VD|te4!i7KdkI_~31WkJk3N?#AZrOn1lKmY z09qpidAi#m)Cpm=n@OoX6^`a+jLFv{5ViBu$2c`B0hy3n+1(G|xkN0rTzLS{O*BF2 z@A~rKja38tBM91AOSZL4ttNOTkOmT_J6e_}g4fQ2^vb{CS zP|MrveZoVLxNK#-f?WVR@@(C;1Hc%=<`jBHuXvp~!1@vtc;IMtUvQW*t}tCJx%@7e zO8#WI$ylS#p*#s}XuY;LJ9qc7Z?~Kwr9rYv#<@bY_Kt8AO^DNo$6n$stM4JdEQ6o? z52?>BZVU7~9_;>jW)`i<27{F!2nYHAELI?ai5&Vs|)Q+M_e+wHE$0w$c0cbs&DPf|YaCemCiS z+ol6~ECoKz*&mk_*2ACa*XU%U4d03-OXsZUOV4mJ{Pvc5n_yFv!TalE9&Z+G*o=-m z-ELht{W*k~o#-mE)xxi?#1+O=79V1?XQ6sQn`W*HflwyyzwNV}fYTNT37_7**Zc=h zuKEM^yi8UW;0R|Q)W@A*%{wP*g=DLO$U2uZ5{HPMV<|6;m>c`Fl3I&n)$?O+09ME3U^E}*ZzU3Ccj4wgEIQz6$1=lq?lVT)ZJp4#m%)(#}cVgC6z>Ekc7Pdj@e-oqGyC?RI6g3&&Q>mQ6K^hzyco-~nO-Ep zJ4x3DI@oRa>{R~aiu;$O;`Mej1eJcRO%(BT3(#>f|HIc|ve{YAnFv)5a(-$NbY^~( zs~DP|h+1bfF}9Ao*IyvXb;Y-3$c4dR6a@vMu5L_bW-mN$0!c01!h4A3D&Zcv$M4U z=-zkjjE^#&s#l-&LC%^=yV*q#M zfzs5Yx;%60wcgd|d}j9Ljuoo6Qu-FWTVe57`ZdMfaRxZL=oo`M9?w^R0sRdk92oCl zCm}+@#Lcno+CU^C^mN{8H+J4s+T&NJ z;?y?K@))l#m*SG2Q6xKv-H%9f+1mU7A=f1x!uh0QU&mHzN_>>W|BL%dduc`8%i8lO zbh9#ZtJ>!D&0CVp*hw4o*SdO9)`G8O5y4_Y@rq zu8{T7h;&}mQg*@BU0vYasjyD4Thv+~etFFkn>-!E=P7SxxA(c4oqu@=Kb(xw*5ssX zZFEZ3TH)CHS9TUWnUd19be2xHda~AewmGP7?=F3GWW$iL#r@s+<9NOQrQFc)=*lH3 z!&js1X|q0KQ$Wx+TZ6c?fupC1WA&eS<k?sibSzV;oq6HsE`maS^9@foti#O+IXcZ znMlFGb67*K>n?#(<2|Sg( z{@Gdn!B3~Cms*yDH9_R!leR7_Yt10~_!yOhZ=cCW9#? zdu*W`zf7n@ock!Fu7lP3XJ%f<2<1Yi$3vs?>S;$(#ZA}gtF!;rjljpUaH%O`O7Rqgkpb=5K$ z)76u|I6A7j3oJ+%jt!?dDTv7iiv>l+QQOhCChWnLY`b1KfS`}n90g}8Go+OuCD}#Pa2F=j@`X~i7E8B5h5wIDnr?Utrn8A@(z`$AhCBLINS9=@svru zVombD&O1D=J1QNO7Gn(`C5fO{{rj!yio?2^s)X+KQNPk&KX zx`Rhi-kSNh>FD+Tpgu}`V1_i_V3B&neO7TX@7XNauoEL?zendJ?^F&Xx`Lrhqc5Vq zZ&EL9?MO3qBsyrBX1SZ7<>W&TV5YK04T-4fp-8%riU}KYc~CFK<~F5hIkbVNt#(?S z`$2Fx0)Tpa)6e(s(z)MRD*+W+U2ALq=dC>z2Sr{Xzlcw409_;c5=V!xhzijWvuCnC@!-@^aqticz7IX_D+7FqW zRPQYBC!bI4?#2D!raGphiH2;Qwr_g91u4mJy-BdrHB^+G*MjPvRI zOOs~Ca}#uj9$M_K-dJ*5|G!<=%XZUdNUL0p_XQ0MWLmqer}aDHLh%h%bu}@FK|Do&l0+l%s!-n=1sI1j(KYOO%duPj~CvHva)+BeBjd zp;QqlG{Fk@JME0LZ{~O`Q3D zdb^1Ma(0wsz+SCEJH|(I!R7I^F_$s-b4wL$3~Q3um;JZsgG`27V%-GCH%zDn4bPCj zWc_lD6#-a>;rqA~HS}6)_R#XY5A#YiL(3%!`9NQgv^M2U{=C>$pVf%GeP+5&F3f$S z{lPpGZFo7o<1*lUv7KOKtZ7&2WwU1eOUZQ2Wl-vI#JcUWHSDR-A7$d+>$-Rv*4_+2 z)BdMCnrc^aZ!2m60jtHRZo;pF4>b^iU!-BH_?FK5g0p4Gq@k=kCmc%LS$N9Gx0Ub0 znpro@I@H~IGYFyFbgnb$yo5_eF`hTd8iI(cs1Nc03AW+QTInD5ES6+Sl&)NF3D^Xd8S>-h^pStT{Z7WXs_9-i^zQmu+H z+$=4D$NXbHfahbsgok4j`2$at=*>=$ze2DHq$+b%0MH2m*w!$UHuB-Jc&q>$K>?2tl)iWs>tFu#( zzFfxgSP?055C*ZppP=&IpefJkoGMzy0&q#Z2O=~`HoVWTwRH5}4JO|s^Zm4id$TJz zY)d!~RvqKcw*=(yc$+W&0GR@t_!Tdao6hYlzsL!HK}fWlqd#P|KgMyfAFXzJ{W&lL zYVioLi=|Qcsk6li3HdZD0s-0a+!MTtii$+wtM}xa12Q~(Ug#`J>w5MzmuAd&M#gBk ze@y|}ZSWej_z5Q}-y=QF_~^B;I4MYnLq1)D6BUe~N9oXdQ@q<)&lrVj0dWye4`&3_ zVhb;2?h99F1v)vR!$fC)*v^xh5!0!3W6qO z4xe9@iW9@I_WB`U7!i4m&N~RzG*uQ5cOXJ+z4}59{fO6T#AD>XP-%|69uCJwx-7^Rsn_~?ADW0d>POl~22l6=%3NMO4n+!o5QwBEm$mpy}WP~@`U z;C>X`-^Y?&7=VA!X*I9Vju<>k?k_CbDJ68o4vrR7NvkzUf#R@b+Z)cE*ayDXV$epq&%Z+JVa%W^B& zO+Q1PHmH1W2P~TvLtttNGH6!)q=j@8&KZRYE=Z2f&u=&mPQU8zoA)L8-wPHzk{n#@ zkBsd0?3nRhv+$%JfcHW4po;{4Eu3}j!z?(|pjHz1N4Z=;|5<_INlH~La`yl?0rwM~ zU9PYb(kNAJ3Jh;eR#x_&V>KOaRTrefSHIZnRVX&nld`OA)=^n)XWV>3 zJbn1$@zE&c zg`psfF$WAQ*_*QyAgLE_lAfe*juL|HgKi;Ak;%Kz30J02Y5r2LI&*r#=O z*DqbLdxKGq9+SXS0Efg-tr*6< ziwsXQdKyX`Bl5davGzlR!g2Vp+JDoqAf#hp9h>5@KSV$0&Z_s6e_zSEkzZ^+i$W4}<}$l_n_89r*q2?l65bZfm{Ew@cFlcNcHC z;nBFDxR_1ol@6JR-W*L>%Ko`5g5UMg>+f(}hl_QQl89f%E+$<_Lp*;i#rRglJqIdM zl{r&j-)bz=1uaRBZzX;FoRBgRt;%XD(!p_6Gz`D5xD7$el}L=3A|KZ@ASev$8rP{vdSB>V*`07Oxlvv>SC;h zH3~^@q2A+bz@IpjXep6{@FoFZLyFU&dg?&H8b^IKTqrZtfw%gU0u&duDUV7@sKfQ& zcCkHi9ZF=TeGXP*MW`IcnOGfat>80Xf}j-#%B$Pttd6Pk_V*g7Vj;nQDbW-c2$4K} z^&9KC1p~cXw%F&<`0-py8tz%$=rLpO3tp+4*YVxU|K2Zs)O6U|D*t5~Pr5<7h{`_Q z;h&atUPXgIIdEwVr8M!sKtU2Ky6*X zpgA~Qe($&FhoiV9ueBR}H59g>fZL|t42ME?Y{O}B73^jGd(CtAW4mpk;7Q-g!iist zWj}2!jBQ|0EX+AE_L{i5wDaKTXijL?W?>)Ed@>*aylZvpXfm^oXQ`rsp3+Pgg7oS* zlhbt42A+51^_RehTYxwRzucaMR7wiHdDUTHZ$``cawfDssk9KKXX|+KexwY#vRvK` zgNBv+=%*zXo1!!~b?ePM=XIk2Q!_$t;aG~P!h%8aGF7&>>Q2MA_m9`B^4q>$HqWQa zhc>>bT?|d@biG`(31FqGb^QDD=aVAQttMoG*hsr)m%PE4CyAPd%$p`u98(| zTLYv|2Xz=9-^-4RzD{U?f9G+EVe6hIZi2+l|J6MFJANJVNO3mh?}s2&oA0(BQ^n;) z*(9Uc?`SnOH7=VVbOyLYxK-@fbWO@b4E(l0IkUR~nu`&tD{~6)cEuljNN8R^ZJrY` zoOi!VFw6xYE*LSYt%?)#6^yvazvY?mR>A&g8Ivza{PTxqapB{A(-H{^dknxd5pL!K z;G?kaye_a#CrfOU@L!{&qknR|;g0D-zi5vG-xZJ}t>tWTaTglsQdG<+QHd-eNT+`uPebMat@E?v=0;uowhwNC~w7iOtA| zv!%6h*VTISMaWUeO4owIOpH7AxLeW!qfs=^I< z3(h9yL|l0}etYX?46y)XeJsgPYI^!v(>|iVk7m<$hqV@$%rv*S_q*&Zn=kcYeEMsE z4F~(|0RhdZe|y&prQ#h633FLU&YIG|GEtx$9C(EpYkA7n%q)kE7Tw~?zlY-X&dc0; z=sVNpyO!d@!WA-kO0y19zIR8Km=xVjiO$iM*41g$%_a;nVSm{E!2MQB&)L|Yk@MVK z4q|L-u1<k5 z;^O?>=)d}YKA)DCsV)r`N+YDQFS9oQoHQAYcDHo3K=J5Ami$)SVaLYewjRg}2s5j< zFmUS?gL4=ZM$=xsyYNiT8rK_MsSC0I0U`Cre|Ki)=WN$X*t6n2NnkVfvnc#^UkDHX zV0=Wy`!T<`spn!%m6n!PFg-0F+KLYhKeP@RHq)dzTBUm&T!1Wga$2iS#Ym-Qmq~~< z6%g7cD+k(IX=t_aFA2xiVAmu(qs}r=me}RSfZ&_N0ykxU|^s(mt<^I5Z(ct)Fn;Su@#h+jph=&HCzMXG*YUfbPG(g`N#+VUA8f? zko-NFw6I8%?yeDwi10OPbOyV*xe5P&3nBLj(_edy!{3xBAvyR~v-p^rjIasgZ0s+> zm70CtTj%q|QAGb=cW%Lc+WoTO72J}T`N^CNq*ZGJ{`W)4pL`F|%YaP1w$Y+9ZD+ko z(q+hZxPQru+JO_06N7_;hmkG#hJ%p`g>AXtgaQ+KCZNA;+OVd|$V^*VS#@y*EYh8x zosqbE%n8b(oiS>+_Fr)$LI>ueE32w1=ATqGgj{a4{ldb=z9ZCU#zD-?`TJKM9v;5c z>?=#`l%s>gb2RX4h@9PaH`pm5p2ND}(6MZF$0Obr8gyXKG+b=xMxk^H((taENlyS& zl$SIPBJ>YpX1plM-9yo@$Gh0!aTjaECP3P911l-MJ2oQHT`F_@sAA`QY zmI493tC!3Fmm;sDW8-2AsrH3^_JV`|^X*R7D*|XsAJ5m5x%B=4d_61}@J6BF;zw`l+C5*8dBoGcI{UNeam@-?tiGB>B$V)*Y5 zSPBXXGYr4o#7+lD>#t#L(8xG$x;vDDnEN4eX}?8 z-D0CDwnvZo4UO~qOL5xp)mwBA(y<_Ym-qAa4$}GMe;zkLy0WumM$be@%-1-7<6F zmxB&Vwl(6KKqKrcR`!^7ccir_QlyZsqFCR@Ln;4i_fAfDPkleB{0pUf5O zf4sd!0TQ+ewRLrcySoOZwY7?6<$ISJz;tj0O@h1n_jMbao14ean6W extends Stack +{ + /** + * Enthält die Nutzdaten + */ + private Object[] daten; + /** + * Die Zahl gibt an, wie viele Elemente auf dem Stack liegen und damit auch, + * wie viele Werte im Datenarray gültig sind. + */ + private int anzahl; + + /** + * Erzeugt einen neuen leeren Stack + */ + public ArrayStack() + { + daten = new Object[10]; + anzahl = 0; + } + + /** + * Gibt das oberste Element des Stacks zurück (falls der Stack nicht leer ist) + * @return Das oberste Element + */ + public T top() + { + if (!isEmpty()) + { + return (T)daten[anzahl-1]; + } + return null; + } + + /** + * Entfernt das oberste Element vom Stack (falls der Stack nicht leer ist) und gibt es zurück + * @return Das bisherige oberste Element + */ + public T pop() + { + if (!isEmpty()) + { + anzahl--; + return (T)daten[anzahl]; + } + return null; + } + + /** + * Legt ein neues Element auf den Stack + * @param x Das neue Element + */ + public void push(T wert) + { + if (anzahl == daten.length) + { + Object[] tmp = new Object[2*daten.length]; + System.arraycopy(daten, 0, tmp, 0, daten.length); + daten = tmp; + } + daten[anzahl] = wert; + anzahl++; + } + + /** + * Gibt zurück, ob der Stack leer ist + * @return true, wenn der Stack leer ist; false sonst + */ + public boolean isEmpty() + { + return anzahl == 0; + } + + /** + * Gibt den Stack in String-Form aus. + * @return Die String-Repräsentation des Stacks + */ + @Override + public String toString() + { + StringBuilder b = new StringBuilder(); + b.append("[ "); + for (int i = 0; i < anzahl; i++) + { + if (i > 0) + { + b.append(", "); + } + b.append(daten[i]); + } + b.append(" <"); + return b.toString(); + } +} diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/FreecellFrame.java b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/FreecellFrame.java new file mode 100644 index 0000000..797e280 --- /dev/null +++ b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/FreecellFrame.java @@ -0,0 +1,257 @@ +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.swing.event.*; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; +import javax.imageio.ImageIO; +import java.util.*; + +/** + * Das Fenster, in dem das Freecell-Spiel dargestellt wird. + * Hier sollte nichts verändert werden. + * + * @version 10.10.2020 + * @author Rainer Helfrich + */ +public class FreecellFrame extends JFrame { + + public FreecellFrame(FreecellGame g) { + // Frame-Initialisierung + super(); + setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + int frameWidth = 8*Karte.CARD_WIDTH+150; + int frameHeight = 640+2*Karte.CARD_HEIGHT; + setSize(frameWidth, frameHeight); + Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); + int x = (d.width - getSize().width) / 2; + int y = (d.height - getSize().height) / 2; + setLocation(x, y); + setTitle("Freecell"); + setResizable(false); + Container cp = getContentPane(); + cp.setLayout(null); + // Anfang Komponenten + + JPanel jPanel1 = new FreecellPanel(g); + jPanel1.setBounds(0, 0, frameWidth, frameHeight); + jPanel1.setOpaque(true); + cp.add(jPanel1); + // Ende Komponenten + + setVisible(true); + } // end of public FreecellFrame + + + + // Ende Methoden + private class FreecellPanel extends JPanel implements MouseListener{ + + FreecellGame dasSpiel; + + public FreecellPanel(FreecellGame g) + { + super( null, true); + dasSpiel = g; + this.addMouseListener(this); + markiert = null; + sourceArea = -1; + sourceIndex = -1; + } + + public void paint(Graphics g) { + g.setColor(new Color(0, 100, 0)); + g.fillRect(0,0,getWidth(),getHeight()); + for (int i = 0; i < 4; i++) { + Karte k = dasSpiel.getKarte(FreecellGame.ZELLEN, i); + if (k == null) + { + g.setColor(new Color(0, 80, 0)); + g.fillRoundRect(10+(Karte.CARD_WIDTH+10)*i, 20, Karte.CARD_WIDTH, Karte.CARD_HEIGHT, 8, 8); + g.setColor(Color.BLACK); + g.drawRoundRect(10+(Karte.CARD_WIDTH+10)*i, 20, Karte.CARD_WIDTH, Karte.CARD_HEIGHT, 8, 8); + } // end of if + else + { + k.zeichne(g, 10+(Karte.CARD_WIDTH+10)*i, 20); + } + } // end of for + for (int i = 0; i < 4; i++) + { + Karte k = dasSpiel.getKarte(FreecellGame.ABLAGESTAPEL, i); + if (k == null) + { + g.setColor(new Color(0, 80, 0)); + g.fillRoundRect(4*Karte.CARD_WIDTH+90+(Karte.CARD_WIDTH+10)*i, 20, Karte.CARD_WIDTH, Karte.CARD_HEIGHT, 8, 8); + g.setColor(Color.BLACK); + g.drawRoundRect(4*Karte.CARD_WIDTH+90+(Karte.CARD_WIDTH+10)*i, 20, Karte.CARD_WIDTH, Karte.CARD_HEIGHT, 8, 8); + } // end of if + else + { + k.zeichne(g, 4*Karte.CARD_WIDTH+90+(Karte.CARD_WIDTH+10)*i, 20); + } + } // end of for + for (int i = 0; i < 8; i++) { + int hoehe = dasSpiel.getStapelHoehe(i); + for (int j = 0; j < hoehe; j++) + { + Karte k = dasSpiel.getKarteInStapel(i, hoehe-1-j); + k.zeichne(g, 35+(Karte.CARD_WIDTH+10)*i, Karte.CARD_HEIGHT+55+j*30); + } + } // end of for + } + + Karte markiert; + int sourceArea; + int sourceIndex; + + public void mouseExited(MouseEvent e) { + } + + public void mouseClicked(MouseEvent e) { + if (e.getClickCount() == 2 && e.getButton() == MouseEvent.BUTTON1) + { + int area = getArea(e.getPoint()); + if (area == FreecellGame.ABLAGESTAPEL) + { + return; + } + int index = getIndex(e.getPoint(), area); + if (index == FreecellGame.KEINER) + { + return; + } + + if (dasSpiel.schnellerZug(area, index)) + { + if (markiert != null) + { + markiert.setMarkiert(false); + markiert = null; + } + finishMove(); + } + } + } + + public void mouseEntered(MouseEvent e){ + } + + public void mousePressed(MouseEvent e){ + } + + + private int getArea(Point p) + { + if (p.getY() >= 20 && p.getY() <= Karte.CARD_HEIGHT+20) + { + if (p.getX() >= 10 && p.getX() <= Karte.CARD_WIDTH*4+40) + { + return FreecellGame.ZELLEN; + } // end of if + if (p.getX() >= Karte.CARD_WIDTH*4+90 && p.getY() <= Karte.CARD_WIDTH*8+120) + { + return FreecellGame.ABLAGESTAPEL; + } // end of if + } // end of if + if (p.getY() >= Karte.CARD_HEIGHT+55 && p.getX() >= 35 && p.getX() <= Karte.CARD_WIDTH*8+105) + { + return FreecellGame.KASKADEN; + } + return FreecellGame.KEINER; + } + + private int getIndex(Point p, int area) + { + if (area < 0) + { + return FreecellGame.KEINER; + } + int x = (int)p.getX(); + if (area == FreecellGame.ZELLEN) + { + x -= 10; + } // end of if + if (area == FreecellGame.ABLAGESTAPEL) + { + x -= 4*Karte.CARD_WIDTH+90; + } // end of if + if (area == FreecellGame.KASKADEN) + { + x -= 35; + } // end of if + if (x % (Karte.CARD_WIDTH+10) < Karte.CARD_WIDTH) + { + return x / (Karte.CARD_WIDTH+10); + } // end of if + return FreecellGame.KEINER; + } + + public void mouseReleased(MouseEvent e) + { + int area = getArea(e.getPoint()); + int index = getIndex(e.getPoint(), area); + if (area == FreecellGame.KEINER || index == FreecellGame.KEINER) { + if (markiert != null) + markiert.setMarkiert(false); + markiert = null; + } // end of if + else if (markiert == null) + { + if (area == FreecellGame.ZELLEN || area == FreecellGame.KASKADEN) + { + markiert = dasSpiel.getKarte(area, index); + } + if (markiert != null) + { + markiert.setMarkiert(true); + sourceArea = area; + sourceIndex = index; + } // end of if + } + else + { + if (sourceArea == area && sourceIndex == index || + dasSpiel.verschiebe(sourceArea, sourceIndex, area, index)) + { + markiert.setMarkiert(false); + markiert = null; + } + } + finishMove(); + } + + private void finishMove() + { + if (markiert != null) + { + repaint(); + return; + } + while(true) + { + paintImmediately(0, 0, getWidth(), getHeight()); + if (dasSpiel.automatischerZug()) + { + try + { + Thread.sleep(300); + } + catch(Exception x) + { + } + } + else + { + break; + } + } + if (dasSpiel.istGewonnen()) + { + JOptionPane.showMessageDialog(null,"Gewonnen!","Spiel beendet", JOptionPane.INFORMATION_MESSAGE); + } + } + + } +} // end of class FreecellFrame diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/FreecellGame.java b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/FreecellGame.java new file mode 100644 index 0000000..f3b5ae4 --- /dev/null +++ b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/FreecellGame.java @@ -0,0 +1,378 @@ +import java.util.ArrayList; +import java.util.Random; + +/** + * Das Spielfeld selbst + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class FreecellGame +{ + /** + * Die vier Zellen oben links + */ + private Karte[] zellen; + + /** + * Die vier Stapel oben rechts + */ + private Stack[] ablagestapel; + + /** + * Die acht Stapel unten, auf denen die Karten zu Beginn liegen + */ + private Stack[] kaskaden; + + /** + * Konstanten, die für die verschiedenen Ablegebereiche stehen. + */ + public static final int ZELLEN = 0; + public static final int ABLAGESTAPEL = 1; + public static final int KASKADEN = 2; + public static final int KEINER = -1; + + /** + * Erzeugt ein neues Spiel mit einer zufälligen Ausgangssituation. + */ + public FreecellGame() + { + this(new Random()); + } + + /** + * Erzeugt ein neues Spiel mit einer vorgegebenen Nummer. + * Ein Spiel mit einer bestimmten Nummer beginnt immer in der gleichen Ausgangssituation. + * @param nummer Legt fest, welche Ausgangssituation verwendet wird. + */ + public FreecellGame(int nummer) + { + this(new Random(nummer)); + } + + /** + * Erzeugt ein neues Spiel + * @param r Der Zufallsgenerator, der zum zufälligen Füllen der Kaskaden verwendet wird. + */ + private FreecellGame(Random r) + { + zellen = new Karte[4]; + ablagestapel = new Stack[4]; + kaskaden = new Stack[8]; + ArrayList zahlen = new ArrayList(52); + for (int i = 0; i < 52; i++) { + zahlen.add(i); + } + //# TODO: Erzeugen Sie die Stacks für den Ablagestapel und die Kaskaden + for (int i = 0; i < ablagestapel.length; i++) { + ablagestapel[i] = new ArrayStack(); + } + for (int i = 0; i < kaskaden.length; i++) { + kaskaden[i] = new ArrayStack(); + } + //# Ende TODO + for (int i = 0; i < kaskaden.length; i++) + { + for (int j = 0; j < ((i < 4) ? 7 : 6); j++) { + int rnd = r.nextInt(zahlen.size()); + Karte k = new Karte(zahlen.get(rnd)); + zahlen.remove(rnd); + if (kaskaden[i] != null) + { + kaskaden[i].push(k); + } + } + } + new FreecellFrame(this); + } + + /** + * Gibt die oberste Karte aus dem angegebenen Bereich zurück + * @param bereich Kann ZELLEN, ABLAGESTAPEL oder KASKADEN sein. + * @param index Kann 0 bis 7 (für Kaskaden) bzw. 0 bis 3 (andere Bereiche) sein. Gibt an, welches Feld des Bereichs gewünscht wird. + * @return Die oberste Karte, sofern eine dort liegt. null sonst. + */ + public Karte getKarte(int bereich, int index) + { + //# TODO: Sorgen Sie dafür, dass die (oberste) Karte aus dem gewünschten Bereich zurückgegeben wird. + //# Wenn ein Stapel leer ist, soll null zurückgegeben werden. + if (bereich == ZELLEN) + { + return zellen[index]; + } + if (bereich == KASKADEN && !kaskaden[index].isEmpty()) + { + return kaskaden[index].top(); + } + if (bereich == ABLAGESTAPEL && !ablagestapel[index].isEmpty()) + { + return ablagestapel[index].top(); + } + return null; + } + + /** + * Gibt die Höhe der Kaskade mit der gegebenen Nummer zurück + * @param index Kann 0 bis 7 sein. Gibt an, welche Kaskade gewünscht wird. + * @return Die Höhe der Kaskade. + */ + public int getStapelHoehe(int index) + { + //# TODO: Lassen Sie zurückgeben, wie hoch der Stapel der Kaskade mit der Nummer index ist. + int size = 0; + Stack temp = new ArrayStack(); + Stack s = kaskaden[index]; + while(!s.isEmpty()) + { + temp.push(s.pop()); + size++; + } + while(!temp.isEmpty()) + { + s.push(temp.pop()); + } + return size; + } + + /** + * Gibt die n-te Karte von oben in der Kaskade mit der Nummer index zurück. + * Die Parameter sind immer in gültigen Bereichen, wenn die Methode von FreecellFrame aufgerufen wird. + * @param index Kann 0 bis 7 sein. Gibt an, welche Kaskade gewünscht wird. + * @param n Kann 0 bis getStapelHoehe(index)-1 sein. Gibt an, welche Karte darin gewünscht wird. + * @return Die gewünschte Karte + */ + public Karte getKarteInStapel(int index, int n) + { + //# TODO: Lassen Sie die n-te Karte aus der Kaskade mit der Nummer index zurückgeben. + //# n ist dabei von oben gezählt, d.h. die oberste Karte hat den Index 0. + //# n ist immer ein gültiger Index, d.h. die Zahl liegt zwischen 0 und Höhe-1 + + Stack temp = new ArrayStack(); + Stack s = kaskaden[index]; + for (int i = 0; i < n; i++) + { + temp.push(s.pop()); + } + Karte k = s.top(); + while(!temp.isEmpty()) + { + s.push(temp.pop()); + } + return k; + } + + /** + * Gibt zurück, ob das Spiel gewonnen ist. + * @return true, wenn das Spiel gewonnen ist; false sonst + */ + public boolean istGewonnen() + { + //# TODO: Lassen Sie zurückgeben, ob das Spiel gewonnen ist. + //# Das Spiel ist gewonnen, wenn die Zellen keine Karte enthalten und alle Kaskaden leer sind. + //# Umgekehrt: Falls eine Zelle oder eine Kaskade noch eine Karte enthält, ist das Spiel noch nicht gewonnen. + for (Karte k : zellen) + { + if (k != null) + { + return false; + } + } + for (Stack s : kaskaden) + { + if (!s.isEmpty()) + { + return false; + } + } + return true; + } + + /** + * Verschiebt eine Karte + * @param vonBereich Kann ZELLEN oder KASKADEN sein. Gibt an, aus welchem Bereich die Karte verschoben wird. + * @param vonIndex Kann 0 bis 7 (für Kaskaden) bzw. 0 bis 3 (für Zellen) sein. Gibt an, von welchem Feld des Bereichs die Karte verschoben wird. + * @param nachBereich Kann ZELLEN, ABLAGESTAPEL oder KASKADEN sein. Gibt an, zu welchem Bereich die Karte verschoben wird. + * @param nachIndex Kann 0 bis 7 (für Kaskaden) bzw. 0 bis 3 (andere Bereiche) sein. Gibt an, zu welchem Feld des Bereichs die Karte verschoben wird. + * @return true, wenn die Verschiebung gültig und erfolgreich war; false sonst + */ + public boolean verschiebe(int vonBereich, int vonIndex, int nachBereich, int nachIndex) + { + //# TODO: Verschieben Sie eine Karte. + //# vonBereich kann dabei ZELLEN oder KASKADEN sein, vonIndex ist ein jeweils gültiger Index (0 bis 3 für Zellen, 0 bis 7 für Kaskaden) + //# nachBereich kann ZELLEN, KASKADEN oder ABLAGESTAPEL sein, nachIndex ist ein jeweils gültiger Index + //# Sorgen Sie dafür, dass die Karten an Ihrem Ursprungsort auch entfernt wird! + //# Geben Sie true zurück, wenn die Verschiebung gültig und erfolgreich war, sonst false + Karte k = null; + if (vonBereich == ZELLEN) + { + k = zellen[vonIndex]; + } + else if (vonBereich == KASKADEN && !kaskaden[vonIndex].isEmpty()) + { + k = kaskaden[vonIndex].top(); + } + else + { + return false; + } + boolean erfolg = false; + if (nachBereich == ZELLEN) + { + erfolg = (zellen[nachIndex] == null); + if (erfolg) + { + zellen[nachIndex] = k; + } + } + if (nachBereich == KASKADEN) + { + if (kaskaden[nachIndex].isEmpty()) + { + erfolg = true; + } + else + { + Karte kk = kaskaden[nachIndex].top(); + erfolg = (kk.getWert() == k.getWert()+1 && kk.istRot() != k.istRot()); + } + if (erfolg) + { + kaskaden[nachIndex].push(k); + } + } + if (nachBereich == ABLAGESTAPEL) + { + if (ablagestapel[nachIndex].isEmpty()) + { + erfolg = (k.getWert() == 1); + } + else + { + Karte kk = ablagestapel[nachIndex].top(); + erfolg = (kk.getFarbe() == k.getFarbe() && kk.getWert() == k.getWert()-1); + } + if (erfolg) + { + ablagestapel[nachIndex].push(k); + } + } + if (erfolg) + { + if (vonBereich == ZELLEN) + { + zellen[vonIndex] = null; + } + else + { + kaskaden[vonIndex].pop(); + } + } + return erfolg; + } + + /** + * Führt einen automatischen Zug aus, wenn dies möglich ist. + * @return true, wenn ein automatischer Zug möglich war; false sonst + */ + public boolean automatischerZug() + { + //# TODO: (optional) Lassen Sie einen automatischen Zug ausführen. + //# Eine Karte kann automatisch von einer Zelle oder einer Kaskade auf einen Ablagestapel gelegt werden, wenn... + //# - sie ein As oder eine 2 ist oder + //# - ihr Wert um höchstens 2 größer ist als die niederwertigste Karte auf allen Ablagestapeln + //# Geben Sie true zurück, wenn ein automatischer Zug möglich war, sonst false. + + int min = 15; + for (Stack s : ablagestapel) + { + if (s.isEmpty()) + { + min = 0; + break; + } + if (s.top().getWert() < min) + { + min = s.top().getWert(); + } + } + for (int i = 0; i < zellen.length; i++) + { + if (zellen[i] != null && zellen[i].getWert() <= min+2 && verschiebeAutomatisch(zellen[i])) + { + zellen[i] = null; + return true; + } + } + for (Stack s : kaskaden) + { + if (!s.isEmpty() && s.top().getWert() <= min+2 && verschiebeAutomatisch(s.top())) + { + s.pop(); + return true; + } + } + return false; + } + + private boolean verschiebeAutomatisch(Karte k) + { + if (k.getWert() == 1) + { + for (Stack s: ablagestapel) + { + if (s.isEmpty()) + { + s.push(k); + return true; + } + } + } + else + { + for (Stack s: ablagestapel) + { + if (!s.isEmpty() && s.top().getFarbe() == k.getFarbe() && s.top().getWert()+1 == k.getWert()) + { + s.push(k); + return true; + } + } + } + return false; + } + + /** + * Führt einen schnellen Zug aus, wenn dies möglich ist. + * @param bereich Kann ZELLEN oder KASKADEN sein. Gibt an, aus welchem Bereich die Karte verschoben wird. + * @param index Kann 0 bis 7 (für Kaskaden) bzw. 0 bis 3 (für Zellen) sein. Gibt an, von welchem Feld des Bereichs die Karte verschoben wird. + * @return true, wenn ein schneller Zug möglich war; false sonst + */ + public boolean schnellerZug(int bereich, int index) + { + //# TODO: (optional) Lassen Sie einen "schnellen Zug" ausführen. "Schnelle Züge" werden durch einen Doppelklick ausgeführt. + //# Ein schneller Zug verschiebt die Karte + //# - von einer Kaskade auf eine freie Zelle oder + //# - von einer Zelle auf einen passenden Ablagestapel + //# bereich kann dabei ZELLEN oder KASKADEN sein, index ist ein jeweils gültiger Index (0 bis 3 für Zellen, 0 bis 7 für Kaskaden) + //# Geben Sie true zurück, wenn ein schneller Zug möglich war, sonst false. + if (bereich == ZELLEN && zellen[index] != null) + { + Karte k = zellen[index]; + zellen[index] = null; + return verschiebeAutomatisch(k); + } + if (bereich == KASKADEN && !kaskaden[index].isEmpty()) + { + for (int i = 0; i < zellen.length; i++) + { + if (zellen[i] == null) + { + zellen[i] = kaskaden[index].pop(); + return true; + } + } + } + return false; + } + +} diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/Karte.java b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/Karte.java new file mode 100644 index 0000000..c34bd63 --- /dev/null +++ b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/Karte.java @@ -0,0 +1,116 @@ +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; +import javax.imageio.ImageIO; +import javax.swing.*; +import java.awt.*; + +public class Karte +{ + /** + * Konstanten für die vier Kartenfarben + */ + public static final int PIK = 0; + public static final int KREUZ = 1; + public static final int HERZ = 2; + public static final int KARO = 3; + + /** + * Konstanten für die Maße der Karte + */ + public static final int CARD_WIDTH = 100; + public static final int CARD_HEIGHT = 150; + + final private int farbe; + final private int wert; + private BufferedImage image; + private boolean markiert; + + /** + * Erzeugt eine neue Karte + * @param nummer Das als Zahl codierte Bild der Karte + */ + public Karte(int nummer) + { + final String[] suits = { "spades", "clubs", "hearts", "diamonds"}; + farbe = nummer / 13; + wert = nummer % 13 + 1; + markiert = false; + String path = ""; + try + { + path = "img/"+String.format("%02d", wert)+"_of_"+suits[farbe]+".png"; + image = ImageIO.read(new File(path)); + }catch(Exception x){ + System.out.println(path); + System.out.println(x.getMessage()); + } + } + + /** + * Zeichnet die Karte an der Position (x,y) auf das Graphics-Objekt g. + * Sollte nicht direkt aufgerufen werden. + * @param g Das Graphics-Objekt, auf das gezeichnet wird + * @param x Die x-Koordinate der oberen linken Ecke + * @param y Die y-Koordinate der oberen linken Ecke + */ + public void zeichne(Graphics g, int x, int y) + { + if (image != null) { + g.drawImage(image, x, y, CARD_WIDTH, CARD_HEIGHT, null); + } // end of if + else + { + g.setColor(Color.RED); + g.fillRoundRect(x, y, CARD_WIDTH, CARD_HEIGHT, 8, 8); + } + g.setColor(markiert ? Color.BLUE : Color.BLACK); + ((Graphics2D)g).setStroke(new BasicStroke(markiert ? 5 : 1)); + g.drawRoundRect(x, y, CARD_WIDTH, CARD_HEIGHT, 8, 8); + ((Graphics2D)g).setStroke(new BasicStroke(1)); + } + + /** + * Gibt an, ob die Karte vom Spieler markiert (angeklickt) wurde + */ + public boolean getMarkiert() + { + return markiert; + } + + /** + * Setzt die Karte auf markiert/unmarkiert + * @param b true = markiert; false = unmarkiert + */ + public void setMarkiert(boolean b) + { + markiert = b; + } + + /** + * Gibt den Zahlwert der Karte zurück + * @return Der Zahlwert der Karte (1 = As, 2-10, 11 = Bube, 12 = Dame, 13 = König) + */ + public int getWert() + { + return wert; + } + + /** + * Gibt die Farbe der Karte zurück + * @return Einer der Werte PIK, KREUZ, HERZ, KARO + */ + public int getFarbe() + { + return farbe; + } + + /** + * Gibt zurück, ob es sich um eine rote Karte (Herz oder Karo) handelt + * @return true für eine rote Karte, false für eine schwarze + */ + public boolean istRot() + { + return farbe == HERZ || farbe == KARO; + } +} \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/README.TXT b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/README.TXT new file mode 100644 index 0000000..ec2c86e --- /dev/null +++ b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/README.TXT @@ -0,0 +1,8 @@ +PROJEKTBEZEICHNUNG: Freecell +PROJEKTZWECK: Implementieren Sie die Patience Freecell +VERSION oder DATUM: Oktober 2020 +WIE IST DAS PROJEKT ZU STARTEN: Erzeugen Sie ein neues Objekt vom Typ FreecellGame (mit dem int-Parameter kann man steuern, welche Ausgangssituation erzeugt werden soll; lässt man ihn weg, ist die Ausgangssituation zufällig) +AUTOR(EN): Rainer Helfrich, ZPG Informatik + +Quelle der Spielkarten-Bilder: +https://commons.wikimedia.org/wiki/File:English_pattern_playing_cards_deck.svg (Public Domain) \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/Stack.java b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/Stack.java new file mode 100644 index 0000000..332c28a --- /dev/null +++ b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/Stack.java @@ -0,0 +1,32 @@ +/** + * Abstrakte Basisklasse für Stacks + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public abstract class Stack +{ + /** + * Gibt zurück, ob der Stack leer ist + * @return true, wenn der Stack leer ist; false sonst + */ + public abstract boolean isEmpty(); + + /** + * Legt ein neues Element auf den Stack + * @param x Das neue Element + */ + public abstract void push(T x); + + /** + * Entfernt das oberste Element vom Stack (falls der Stack nicht leer ist) und gibt es zurück + * @return Das bisherige oberste Element + */ + public abstract T pop(); + + /** + * Gibt das oberste Element des Stacks zurück (falls der Stack nicht leer ist) + * @return Das oberste Element + */ + public abstract T top(); +} diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/01_of_clubs.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/01_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..e27c98b29629cb5c2363dd56e0385c579541d5cc GIT binary patch literal 5402 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/01_of_hearts.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/01_of_hearts.png new file mode 100644 index 0000000000000000000000000000000000000000..63c1e048df3fbfebec87f077dae98e9b471446d4 GIT binary patch literal 7293 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 A3IG5A literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/02_of_clubs.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/02_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..1352718a4cef4a202706a0f6c99560944cd33c52 GIT binary patch literal 6163 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 Uv81N}OAWegW__XT{OyPT2EGiBbN~PV literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/02_of_spades.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/02_of_spades.png new file mode 100644 index 0000000000000000000000000000000000000000..6a89abd7bc218bb123a51fbf1469e7b8966bfd18 GIT binary patch literal 5961 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/03_of_diamonds.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/03_of_diamonds.png new file mode 100644 index 0000000000000000000000000000000000000000..58e85f51411227ca338f45367df120294975b40f GIT binary patch literal 8015 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/03_of_hearts.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/03_of_hearts.png new file mode 100644 index 0000000000000000000000000000000000000000..609ce36a69c2e6f4687f7e6fe53c56f5a0e54b4a GIT binary patch literal 9049 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/04_of_clubs.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/04_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..45e16debc16dcb322f930afe091d56e04d9f1a22 GIT binary patch literal 6185 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 Q_s?NvZfo}P+~vgo0W@`xGXMYp literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/04_of_diamonds.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/04_of_diamonds.png new file mode 100644 index 0000000000000000000000000000000000000000..93caeff579b7ce4c39ff32f82e7ff0033d4eb379 GIT binary patch literal 6833 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 F{2y&PU@HIs literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/04_of_hearts.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/04_of_hearts.png new file mode 100644 index 0000000000000000000000000000000000000000..289e42c903a2295f51f656bb366f346e7b86a16c GIT binary patch literal 7698 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 P2z1TR%%J?rt(gA+g}^Ez literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/04_of_spades.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/04_of_spades.png new file mode 100644 index 0000000000000000000000000000000000000000..8c8177a500f5027d3974ff451041a54e72285416 GIT binary patch literal 5998 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 JSE2I=@gEDld}#mx literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/05_of_clubs.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/05_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..743e3d5e8b3b0a0fef49405254202bf441f21e0a GIT binary patch literal 7236 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 Gi}(-hZp?B3 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/05_of_diamonds.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/05_of_diamonds.png new file mode 100644 index 0000000000000000000000000000000000000000..6cf0e7a561519ff34073dbbe3496806c8fb44f07 GIT binary patch literal 8427 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 M&s?|kmMi=}09$8H9{>OV literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/06_of_clubs.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/06_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..6a221859d384b305331e8ba05ee057b5bdde1c21 GIT binary patch literal 7580 zcmb_>XIPU>w{E0_8hWpSfD{qwQX&KiRhl40x>O+|2m%Qry*ELm6G9P05s}cVfG9ly z3pF4$0qH~q6xjjacYp8R``YLF&biL7SyS zCgaNB0hP?iiU!f;>u1kW^tt<=KPc3oAM|l|$7c)fi&dkV&cfprYx9VUv3`-@vjRseo&2|~c5ez=G~L$t zJOnj>?pY7ic1>=IAQ!~n>Byxeo>B5PeyG57fB~+Zb8t1fS|jK7JSED%i(Oee70bJG zA#PNP#m;9V+~MAKyAb=YnQLvsaQXz-mz@3OTO-Ba8g+$Mz@3KiBlE%j zjjJmf0UciYg&MIxBee}W`1^B8RXolyNfdJniymw0lufD#*nC|XH=|E~lD#H3m!Jkw zFbzdo#@E?tq9j+A#<2NlFNv7Gp)~KSFG}7k%SrAZ?|=#RYvYd z#7XsDV@7<%D?lD}eWk8qvDd)qv%ckA*KE{?ulnGKrP!f7j$1buwstTe!38?o8G4n= zHl=R`qtkDm({?Ex4zo-$3I-f8Ycn0~oK=cAAIT(xr5+WJ9uBMHZddFn`rgGcB_g2t z#u96_9XX%Vf%c8Ll3)kveB_(6#<}{qkB#X5A$`1YR6JdjFx7+^nd>M`=bbe*D zV+JfzOVKVNHsj{!pY?WV@>+#mx2&|-X+g1%1}zR?MsKk;ef*h=LdZsiU~He zs2{g#R%X(>CI){KY~G=g9#w^?TF7P9LJ(Qf1WFprj_n(URhx2@axSu=B};k?y@&FC zedfo!SXtwsVvOV2L5l$Dwsd*08pC01V0*c5W~KX?hzAO_`iMY|fDi}seKo^8N{R-w zKEh`hHNBA64WzHVfM5!K3`O{SLfIbYb=zkt(owIw=MIDf@&){~GvCjV9{pflzKi4s z;;xLdS=vl&r54tj_A0UeSQjUJZza$vL(uWu59wqg*1*U z#{8J#2$lJ2F@vsnCBf%q8z69MM~%FeR?WUIxjFd(;xWNd*riH}w~8WffKu61EFi)B z#FPf;5BI{vknaK5g9a!bO^P3)N~nM(k^c3kZm;U45&VCGT}cqJ&3o*dani9ErI=bL zieQ_znDv(eRoDvni&=W_(%F_+y}q^#R^!=z(C9w<{*JuTcuXfUUU{z* zP?vQr6vVxl~2)?_|+Yj1u@KmxGRgsu2IUGhd=_6zZE(0h$3>=r?rgxCSv=9*U-cGn!1}cu^3E&|+_HQ4D4~aQ z=X?(<*VbE6fRyw`kYjft(BI!TTv}>j^84^tM}?V*Nd~IC1NvMVwp2|nkXY$qvKDza zSNeA0vi!2YWe<87b;gPJ&`YW8)gmKr#c0oxeKFvMIHY0z7c3J+ODSf!njmk0uS)cw zf{@owBuj9GGih;!$JJ2YPj!5Q;|SCiLoxIcP-?HpXLb3-tgQz`o<>>rqDxV>X`vix zp~evM*^h;2vXtPD3)esLZ#eQ}E>a!w5610zkgIlX(gKDW+LBu{K{xp^)xgjV&|ef{B5eo1(sA|V@A6gNF~J2eCHVrlXdimI-a5Mcm(nc=}1b!BRkw8T;+ zv(Yz^_VkD-sS;&L&bm{(SgOR)?4oDAdMg+4hduKV`EsP?AUX-ccpqAa=uvsTJn4rG zxg=me%D%|Y_%QUbRLLh^TYYH^LzDxH|9l8bBHzoF7g8my5-0KaDcc?PcIN_X)-0^F zEB-(fp#p^pG8(LS@jS>NH&Go2%E36s{OS{0)J+90@g%SM{P2(7dK@rOjx5GBFaw-(wW~e&zZ3R^h`dr}NuDCDAK8R}SCcY!N=C_cZx=^b?Lxmk*|cz5e% zAD3@?7mjIPP}P|4?HdEWaozEg*h5LK1vjt-u$K#|APyFVU>_zcz|j##VaD$iENtwK zpaHMXiZ`yFe^~E6vQ{31vZFIxjZ7KLJO}u|$O}Zoe zWqD-F;$Au4OGfPGgaST(#F}L|=w_pqo5c=Hh|sH=-ywM9viZE$(Ld6qsvSPa3*Lw0JzNITl)MTrkuPiVB8af_gn3e^QBtUez{zhSCyt2NdH&V9u*4$wx?RH! znC}Xp*n<~xcO2KYl=D+^BMI5WrV)x|pn4qqrMf;HNBS)FgqLVPw6EMD{&9=)wM|^) z^n~qkm)DUX-zQRk%;U$2ik$XF+MzRQ0bnt&k!DGsWzNIIVuF>85O|t~$C~*^@hvjp z_;%~SbK!b3V4cT1Ixjj+7ejK4U1Nwa8BZsTauny7ESq;;?5`H3f-X6LCi!P4>akHe z^O{bO!?PXzB(OCp6zJxl`6wu~h2LRiCz^^n4Sf~ia~m53Rra@2Ya6;x1MPgzvfBI< z@*}~=eJ(IKSDrQTVWjAo|6pV_9aE4NIQJnoRFQk;+^z zSEnG|{;+hUEekQR2^3nI;^_K%6@IR_>J(ZE?9)QBDSJnBrnT-F8zbT4?hlljB%7eQl)jmw~2&8>$E31iLdYMv%Gh?cttCB{+HZ? z=w>dA@G7_Te)%INpb>SHSTuz7@3tF7KR9vulZFDL*OklS;m?nDu2$bw8j`rj~`eV-9 zme^ip?uS7#AfDYBh5s>C-!~BKPSlSHRiU$O0Pv4MVVL0Hcl{$~l&3gw`F|qdr#T8S zf8rL^N*~_-nEGcryCaxc$3?JRn_op?m76pe$5Lm^#FB7#@RfQO37Og)lVysz? zU?0$F^KMJUtYd!s?~19ZG3j#Zp5;u6m_op0PRz-U?Fd9^{00en@g$9UA06aldZBwUd|-Y{}jTr+6c1!tu3q1VJqV8gT@{Q}bI`cr)-%h*4Y z{-!8NkAP7)D5Hg(=aUl&F&a32;jFJkbHS(G^;=k8JLYz?6SgJUbR=<+cn|Vod9oMP zxs^x|6#q+sJUfvTBWBW=i@<-$i;FN0<&FsOy=sg z^%g404W68&sYZU$7|1Hyd4^TDjPPs7@>8?WK6$^R77&zF3l8S#$}HCOLV&LvTC0Rl z6&ITNrX|rF5T}?X0NlAyp9D>_{fAFv8WR-^H`D=SzNLUH- znWBAS){Can5wwTN?ay@)Zj8jI`;*m7jd-Bgxd5~b)D@4g2Frlp}eSQl&)OpT* zlcpyr<@&Z*JgHMI@>nSOlS*j=lcFDHtpaY`*>s>NuAMg$_D-mwD%pb(=dyfu#hD&) z7G(b@4Vvc{%d6N3VbareL3jbX`ME@`ZAN|<$_@mrDiQ_NdBS5BBXOP&Dc z+sj2Bu@UbEKs$%YR&7Q|yG)`(->J1V&VB?qCF2ewE21xl9_AhpH~D4gj24Ck7&@>$ zXerQC>Om7V>mzfMWIPuibA;58ENQ|b4W>XH?IFjkU>5R-l?WHfwabC0k}5oP2xq>-Yr7$yRU0I# zNS^&j-Mh>K9x31|d1(1r4^vAK`VW>GWF{gE7c1|O`00W!Hch#5s7vqKyK6(Y^W1OA z=?GWc-dwzpfn26WsIM%X%j6!B>Cw$e+95$gpV*~H1oMwA{Ip2@x3>QO;^s_R;QwHn z{}-bAxB0Cbbvxq!L$12~IxgXLW`cYF;Fa1xNmuSbo zc=csU0hb1OH4ZDEt&4yfY{5gNs*EC07~y^ke-;CqG9uFC_UE91BDI*PYtXp?fzbJ8 ztC=aE?XPC3_-jxN3{U9%K}So^8KJm+&qv%%&hnugmBjyHL1~_3*Kb4w{_G#cF6c^brDnWttH;P zcswfYJX>gi=;6CP^U-?n1|AiGjLi$Fxq2JC^**W(sv3I>!~*~fmVC7Z0zBXF&_h)3 z?Vz3(YTu4TdWs+VSc+HT$J6=Hzi8qC6I@3>bpXuQ;^8`Smiy-kRv>8S0PRzvU6qR7 zW#(@aoJZ4FK6*cF%ea;nZOBTbiY*DM(V_v5mo$#3y3e~3G3R9s@!aiZU(-;AAZU?u z3=3kmx;1sFDTv^T!$0_vhKd+z$sdma8LYx%yV8uZMv4|HxF6CSD&dBCN64NM)n~>g z#}OZ>J1IgtH&?)KNYKo%9~O7SLL|ct+xC&33)U_Z6gnx6cyYra`IH8$xe%AM&6N$e zi0gFY`Kh!gYf zDCO;a9@M8KR3?Dsa z-1G*;T~~!vuJet1B&f2V-s6JIe*3^NCt8@w(A1}*MmdNUya8u?S1Q$VOa1%h!ygxc z;E(L1@Y6bFaAH_eCS`C|4#*?YtI~dTKliB(fn?#Yh8huGLu9L53wMS z6KvIwy0N?Ng{6Y&OJccMOVnsdX93}-XDQ3h^c^lXqcBZfuQTD3S=oM^7SNLens!V{ ziG=5+ra(9)&rVM7(`RZ~btH}#q=jWrLRd}XZbcb_)xLy&?8V*v=$S|HB)!XDT50|a zQI`oqd>=L8de2151Q`0xbz38X%%YfLGIkGb7Ag4w6AWhWEGqs1zWceE-9r$TF75e6 z-c_tE!HNsS^~7{RT;XgoGYv95<~VjOcyf=u&8ca~rb*Ze`=;oTOO0&M0!#Rl^3D~@ zGfmNIASxksz=9h_M#S!GQY|GY(;2AhmF=l!Is7->P27hSbBb!eu@%2E(nfq;YVLUiTkc+;M#4ypJl@r{xH#{mDR+8H&wUR2;L4BwJD}>Z!xET-*rqZs* zxI0`{m03zd9pkbH=@-nkFymR?Vb!jXA_XprX-|U%Sr83aijCOXfa$RxRDHTvWr{VK z;y7aanmK~jg8Zo!PEq9vj!@P=C>1P;p~iSsU5YIL7-jk9WE`oyNV;!;w<$(#%<;Q& z{TcUHt)hxa=s3Li!wNeHOL7-w!eC^SeE<8KlZct5#tN}5KbEzTB(vJx-a zmIR@%Nr3OZuCsKcz=cDUVtwy8^!GfKB%1Me z2rq1=Q%Ed(m*aca)%^kzhc{;J?Hix z=^{h7CdVPH-<q+LjXbddxZj4+4-bGwOpY~t5l^(#5A;NDFlk&86?UhU-9NlUvazLF^lZWs zroUxc&W`z$Mchjli6*qUfI4l3#`Y{-zW>ys7J3_WSE_6s2ij%%!H!jnJvsdj;ISk6a+@42neW*Ql$(XLbHH^fQk@00xBR1#)Og}K|lwTHV8@&%+N%d z5NV;QR0R?U3Q|HwN(e2XgkEw_aNhUMtb4ydzqRh-4}NE#efH`5dG^_PcGb#^pI4lh zjg5`}@}&#c+1S{<+1NOaAK(U(ktU67@Q>TW!t4SYll7O=SeV4dc0%p)1(O@W!wV$e z*q5t~DvLglZ>Uo4B-BDZw!eSCwItNb$@uXv#pn{ z�HUmois+f(B5^%) z-txS3IA-(nyvpauYo7;QL+)?W!ULJZ_m3q< z%jM3gxdnXS5>?V)AB8870tQ_=+(H&Ko%oKuTbmzBI%Ap6a36Rk?TqNV*fr7PYw#S| zDcZF7G^A1%#=wNoHWx`jaHzQxc33Y($>AaK3+Ih9BW9t$=<`ide>-^| z?flY)Qt5_frZn$N;hXnX%kN0!Bvkv6(#vqOZ}24+(-h?0F^3@)=cPFRM-$PZJ#4${ zYa{-JB^LVFl_IEVjlf10Jn(bpXL=|-Bufm-r)u1nKj;!f>ML=A9-?L;*6_%^uTVD< zaG#gBnfpz-u4=(lGz?6FonE)?+sP9 zDRJDmoQXK>k`X{-zS%gHtV0+oLa=>ZUu+S~?$!%}UKGXNf;NuAcUK4XPaU`_1N-h) z9p6D}EGs?iUlT+hyWh@s_ts#Ui@YKgPjIf6(bx7zmXx~V*zWqyekqc^Q?DmA1N+o# zA1)uS#BtRL*6v(#Xn5gzeg$TQfL_BMEjXBCSeb8b{iqVd2s47qh>X;0 zX1^C=hfGJW*DnotV4aBnP|Q0w0Aw#`6KlvCx%=V`z^j{l()x1rZ0Y7`U3Y5d$O-Y-6)jK*Xvcgd4rX6D*s8$+Hu8_8Pt z-ri>WrLX6!A~k795-WwwTld&w1T*@Gp6o)1m%KQmDQBs!S3`P_Bg)K8I{f1HUcr&~ zM!osidG(;Mx8;SQ_;peWvHHHeq>-!m(Akdu#`U!Z>*4V8#wOEp_)cosgKX5B=?=)! zh4qAILE~(^da|%#=OB7!$jY2sQ0OS9;5YNf5%``b2VG*c0(}{00)rlH!C)8-ApF#s z=n}IQDToRit?+b_7H#GOM)T@JKUD=QJ&v%eWaAY#Hc|9us1f#6vkb_OZ;p+{mSn%?T?QmpEQ$E+=!+{#kgF!d_d^xy7PXCx6QsQqXB3q+KsBjzH-tc1`V)vD@SX<+|rx*cIHD zkT0*tdmJA*7YC+xdG4a*FJgod@#9jrv&U2`e!A{o?RR$1<1&xnt3B^83cWB-Qt0;2 z!l1S8vwFn(^h8fN+ID`*bmG;DP2qrY_mmp);S7@-)N`&8ElB>U_Q}n%VLP5nqVsN* zd23+I`4;*6&7((dv@N{Bji^@0h0W8VLy2l0HKyQXdX6H!V1CHek9@0qSeut%m9vWZ zCAgc|nT$e@ZsJ&DeyG=~03-Ua{KDATs!nVK{zGoUTG+%{H`iFP+4=d+eq)37T9|wQ z;*#=mNe&Nn@>BAwvvb>~F&(X*a|;s*7C{Qi=Bb2+kcSX$VBO%RgtpxpRDaL%TA=Tf zwwM@E%5pIEXFvK5{%$Oguo@p)-N-ZEpL7A#i?t?1rY<4FfFn)A`>W|VH99nd;f zOym!-Zm`wbaW;k59pC04KRQdTlcrn4kgvSBNPoJ!zI(k1M0}#JTxFJ(2)wxOt&Y+? z;*>v1y&@o8*od-k6A9X3;3&8%?pIsyt<@w4(uBOjO)*n-54a4%&^{ZNs4^!(Etdkd zX3Ttsl3}yemtYRn{~8&opm7uoy-pW?l4-wPhxy&Fz5fLTf3_Vp+=+!~+naPqN}_ir z`je#HI@V{~p6%|da}r7HaVYvmkdIQ&1u&oH*2WIgxLMpukMDbHYg_myZMVJ8fa!1F zoBE8=?(|If8m6U0xTKy4E?ULX(}F>hOAe^#t$G4*IxXI zWt8DHT$#Td_YMhHyVGu|wXan#T-bRf(|*$ww}Kzfw42ac-5-w2&Ue93vi(x(sc5*l z7hcIVbwbyHE(YesSsCCv^N_YTAA?%`>d}4G`GPw75$q$x&v^!M5gZwkKfNJ|n5wo* zevoUHGB7U}(HIf~`}t98bn@DKq9fQA!NuGgQqW)8US5z6y%C#+T58+kL6P*HfkVY$ zn?kCdLPM`9Ib3g6RdG=$1!q_)r!X5I=2_FUGFFbLQz&or@Wlz^sWDe?tRNp#9_{L*!GfLp)z}ucV zO#z8l#Bk0R&maI3olEQ!$#Y5{vu+<7ovb^^r+4Vrm7IF`yuG<+hrmui`@*yFpm0c% z^X1g+DqqPM+o%1lR~&%$sSuD6c6h*#uPc2MBS;)HFsP1*0(-be?Q~rQ-m+IIp<}_NpG9S zTX)Re=6<;G!U(^~der(LKI>&OxS8@7Fhw>dQD>dF$seAIsVmfHsO>v{)i5+&BKSiD zC2c5Jwr^yP^aD7q_RO#B_SN$Y?)dTy(i_`CH~&Zc z%U9g_^aj4wZc>Q1{{-FaV2^JPPAChjrNi9xBV!=iNRucX6HWZKZ%DC-P`p)^xeqa~EF7cy zJ42nth_dbtf6?roIt)mOsmb7{cRmI@dT4GIO^6&Az_d6^jnrhwvPc5_FKW_rlvP=j zr5_>)@In75%Sc=|#s!%(-L2-v>f}t|{A)<}RK@)adPsX+s zWjVToHMZgtWqIkpmvRFl(UZ7Hbg(r^`)&8^+S`--9 zlU1}k#4`Rce{)|$2k{!=^{j!z;GVrXk3cFE4AtN!_RbW*%xFGNV~p@S;EZ$*ya)nR zf~2<+15xzmBB?|P7HXgns~n+orSgs2Wk^$&9u13Jc>~(juDhO{Rd=fU$@C9bfO5Z1fI>bOU%D(% zCWl(>q#@SeohSYPps5Vv*ps`znoHW{6N1Mt*pZ7@hQmOWMFEDCbyapad9- z<*CvvKcfvh{Wb5hOAEw3qPT?RTu7x3{hGZ511}I*fl}MTl&5X^!_>d|I6n8UZ~DXI z%T2(HxcbIiaTXV2H^f=SPVk8qF#e3Bu!Dh#S~)rGJJBCt@xLL!zmewu2|E9TkN*X9 z{s|vfdsz|bfAH!5K$l{V{~Z>?Wwu7h*N5wDOted%@>y_B)-82syNUDS4p#klj2t&n zT5}z@Nl8XCa+Aj%0o^Ry;_JAjc49PGZHbQD1Pr>d>y&8Gx>VhW?4u-L;txh&S!SH(TQz7Ve7TJuGNC*fxx$GPg zBP!UC*(HNc0avBUm!}Dq9X19zMW|vh`Zr&~ktMFBIeb$;uJ*>Sakd{>G!{zEW{x&T zM!Y<(FE=i3`hkHZQJSK)Q_9k@q9y2X1X%@-LWehS3`bAu(z>=6*aMa+_(CtM@(!w?EV{#8RES}r_IR8a|vJO>pXYkK8S}BeFsd>kKcz!?R1n5!<5ji`5#b;+@ z3t)76oJCP?OP~p6g%Yp8f5vdD_3wzQ>qfi$&3G9S{M$MR!AE$I_>6j#cJ$vtSJ&UE zT8J{>%8S#N&`MrY6gKExIzHhI>4Y~?2=v`eW&5kEg}>(*m6nzsGpkjUtO)e?EnfH) zGCk9{eqCI*a(Y?}yvYIoNc|tNINo}czo2k>$n^A5N4;VBhHIQ0_3w!7o(~Xv zMObvL^)FIy)2sPl_QuSmd)Oy+5L!LqsS?0SqywP!@Mq<|-isoLC&<1(DBwvz$=Mzi z2Y_1eN=XH5r6<4Z{lxp?h_djht_;8u4woNBzM2k?S^2~F!5B6|fV8mTKX9#uQ@j)2 zPeD%OiC23$N^<}*SI4xNo!bW<_WvLFF4chCqvj^NqU7_*I|Yao`i9UEnWlJp8wl3r zsCo}GP?N~Tsm-Yr8{9OVg(8A@g41SHo&a@PE3G3Xdh!HRB+{;4}~9D zmI6^(1)Q(O(~QjN^68_}3BuPtlE>vAuZFh0{PI@a{^N~+3a9R}y*ry(*$2k(XX zITFPGW-Y5<`XhG18=&>xMh9lv*hKsBUqLuLwC(;I6fV(E>9cgbzDG79_FHLRzdm?= zF&@vl;2%ELL}DS!Tle#5sI>x>`>+`{t1cX({i~U@ZExh~0!st`R;a6*Q71ex6Ou-( zyv>X1jouHyaqJWCq@et#2yO3Ro`mf@!tsfA0C6>UEC=~FM&T4Lq;jRsgAMRlzq?kG zZ)6Tr>jM6a^>EK8l8hE%nwn_W);2yWnYA4Y_H55Xj6Xq|U^2oZ{5Xp3vc`g!H22r_ zZ`_E*A2}RqRr7hIH3WYU%l-j7aS(Ml?nl{RH-FHi91{yW6V4mgFzY`b*EBcboIFDa zIbxOhI*0vX(zL-r>0m%=_GRq~LA>H8WRaw#MZCU6vjq^#C4?N=o3XAlI?KiX6Zb>w zk5gU6%gI6-##Fk&!3nh`doKQ~w_lDWsqR?{2l^tQy@ghF&*Y6S2d)1cd)Td`2vI@U znn)<#68a-4H^b@ILt+pAz+(GNLERa(|>cKSmkn?bg-%`*}AsCC#h*fUyZ=m(f4-!a^DO`{@vg-QJze zl^!7N&eGS;3Zd08rMzG}h{?`GGs}ahY(@LqAKZRq~~I`Zw=ZJ8-`Zw!Bw4>&F(Ts(OyDbhc-d>vrUPU(f8`C(;i4j&Jo>e zZk(@H54lzCw$<4pXtYx?!~Ob7rg@6+N*`MKr}@b8TiaHFE@11*bpEw*2=?^P^=9TS z-Wm_zD|{s`_QD0GqlqWiZ`10HVlNu9$vq40si-z}Zra@>gzZg-)*U!)4Q(Bls^I8v zeRec~K7{Rf#m-%7Z(}s~@u-6=`ZtpBRHEzPz-!xU9VlW2m8m)C+~4Hg_lFJ4?d;<_ ztjuQEXn_Ll$q~toPbmCTIf`<xBhc8J9*pwS-zmeM_yZgHIQHZ;1+WMa|@!RhES?lR^&c(UpVF$=8v3R{p4_#Fln_-1q~ygPH|rL81PwAM&8qEa_r&Q bwf5{kXefh4w1b}$uwA}rb)oFs&4~X3>7kZG literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/06_of_hearts.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/06_of_hearts.png new file mode 100644 index 0000000000000000000000000000000000000000..5ed84d2deaaaba2615ccc68571cdbb957396d44b GIT binary patch literal 9485 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/07_of_clubs.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/07_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..fb7c677a18875272baf12aaf69c3e7190bdf8c74 GIT binary patch literal 8429 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 Q|6d@|(>Bto&~QNf4Qwn3t@mTX~WN~L5elHHUw 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/07_of_hearts.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/07_of_hearts.png new file mode 100644 index 0000000000000000000000000000000000000000..ecf7d57b46144af9db699ec441caa5ffebc1589b GIT binary patch literal 10321 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/07_of_spades.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/07_of_spades.png new file mode 100644 index 0000000000000000000000000000000000000000..1e49b2f0db9b8fb124dcf5c9e8dc771b8281ecfe GIT binary patch literal 8100 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/08_of_clubs.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/08_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..1bdad87d750bd0e79113d8673dd73ad0d870099f GIT binary patch literal 9604 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 bEtuX&Z$@-O#t^u`2Q$<+(JMXU82!Hhl*ARt literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/08_of_hearts.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/08_of_hearts.png new file mode 100644 index 0000000000000000000000000000000000000000..d8fcf5d0b868f7e4eef052e8dc5b2428fbf4a647 GIT binary patch literal 11909 zcmZ8{2RM~)`2UMzW%gCcUdbjS9Q$NOQD$~FDSKqEQZlk7;~Yh@GeS62ij#R{@9a$- zD>DAiIrY1Kzw3XwF1*jUpL;y-bALY1d&k_;)ucJYd`Vd6q3_--K6l9=f zyjcnf{*c+~XsSV{_#YIyFa?4{<*utC3?Ghd^~iHYGF?um1N3!mRK#CLclSp?dgBfoND$I*Hk!Pk>1(rP|$)R=rfb) zqah|PmE_&M-Z}B4Z11XGrJ#!HC%uLDjBaC;T({mghk8}*G3)DR&pBxXOz}r?g#MnP zYw+7>_|vD!f&PtEr5l_GJ3YSHHZ64K@wH#q&N{_3Qa>?b79Ho+WvF9X*jKLaVVH1F zJqcZ3>@WadEMrk%>tm1T{s<>P+y`jyDBV z2QKCK8zPlLn2~|2MRKjazR}y#Oq+j{HCARd#Fbr-)B>#Yk7i@VhD5EJ?id*wVoRVO zK^>i)gRj(M2dqzU8D>fEXFglB#`M-Bx_T9H7@kg!;GdteR#sMSI`!rj)Ipr@vfgRk zt7u|`5BgX<@TAZ`O=<2P0T3u$DnnGVtNVRLUYw;H#aL)-KoMf2*U z*I;)bXz@zhTk|+m&UniPpOrOCDtxYW`e3&rY|>+WMBI!8;?zxGS1isA+WbJ)T2Q@_ z{n8)#D}pracPqy#lPekYu4k~sByHw9nVr&Z`|Qx87C4K6hSJIS^vTd&l{I4M($o5# zf()yBQWIv0SQ(eOtnG;{XK|s(=%x7ggj^~v*n`KcU3!4htn^?5jiCa*3eiC+kIGStrx-ujfurfbYr*0w5^4lS-`VmaFW6a%fF;HWz=p zA&}^0TJK>~GBf{*Lq<)4?2YS!g$M*`i86{>P|$e?w^K4n+ z<&HgZN|(E1RUs9uG`FM#H)Y*h{==(l! zqk+OvXQlqne=5naoR{~eg%g@XQikP*D}>$$RO|N_3SD(h)K?4=97H$jySQlIe3@^E zh|t%~R^vemAQe4r--;F)tfmJgewg)A7>#GiXT(TG)_#0@n@wHFJ6nEkxi4Y3pm5DS z?Im*o4wt&x*E*5Qm6@r{rj-2<{e)KFYGBO=Io=;$&)>h#zX+x#L}>|8I<&<1BqG

PG5(2hHY+N7 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/08_of_spades.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/08_of_spades.png new file mode 100644 index 0000000000000000000000000000000000000000..e8b225e397ddb51f09b0f954d3447510bc29ab6c GIT binary patch literal 9177 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 G)c*sF33Len literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/09_of_clubs.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/09_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..d2ee501db24e7dc08b8c5ec17b7f1f22d2683c04 GIT binary patch literal 9291 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/09_of_diamonds.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/09_of_diamonds.png new file mode 100644 index 0000000000000000000000000000000000000000..33febd34f9b8dc85d6faa645e6d2acf57eaffad0 GIT binary patch literal 10073 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 R+?9haY3rRYI(I+de*w>Yvbz8P literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/09_of_hearts.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/09_of_hearts.png new file mode 100644 index 0000000000000000000000000000000000000000..85fff0a7460ff5cb2f24b31fd575f1462d06fbec GIT binary patch literal 11770 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/09_of_spades.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/09_of_spades.png new file mode 100644 index 0000000000000000000000000000000000000000..7a94875a365c325a4726c1ed0cd66b65d73fbc59 GIT binary patch literal 8944 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/10_of_clubs.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/10_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..ced71e75b900d642fd5aed73bb000e545797f703 GIT binary patch literal 10661 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 M=-;XZ-+T1`0PCb$qyPW_ literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/10_of_diamonds.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/10_of_diamonds.png new file mode 100644 index 0000000000000000000000000000000000000000..0b096a63cd1918740faab642f3a499fd75986ed9 GIT binary patch literal 10877 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 A)c^nh literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/10_of_spades.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/10_of_spades.png new file mode 100644 index 0000000000000000000000000000000000000000..345c991c639cfe5bd185368c6cf198610b0e3128 GIT binary patch literal 10194 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%0Aq7%)5N1?Xr_P20=s#_;i7pz)(V$$j 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ℑ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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/11_of_diamonds.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/11_of_diamonds.png new file mode 100644 index 0000000000000000000000000000000000000000..d4a68513fbe8d3ddd13d2115435ec0e333ea2a6f GIT binary patch literal 95611 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 Ktq?Z&^Zx*t0Si|E literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/11_of_spades.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/11_of_spades.png new file mode 100644 index 0000000000000000000000000000000000000000..95ebf37a4c0fbc64cc5674224befd227214008dc GIT binary patch literal 90987 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

OCsw`{O7=EBd>E)O5fjrgzKO$3@C1K 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 z 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

@B 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�v;^Fq~?&HYA!7qVMHt{@!z!!FN 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/12_of_diamonds.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/12_of_diamonds.png new file mode 100644 index 0000000000000000000000000000000000000000..3f61d1011ba5ef4747497a6c77b8339f01ef4aa7 GIT binary patch literal 95548 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$=ki#X*WRI)z>+{fj=qN`m8 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 z�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�#P{$y* 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/13_of_clubs.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/13_of_clubs.png new file mode 100644 index 0000000000000000000000000000000000000000..2c70d7f6b21e9cb9d672e080234da69a6dc0bb15 GIT binary patch literal 95316 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

||Tl7y=~?v}S?ePw^>!eG1mw1CHCi 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%0A&2g?c)L91c>bd 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 Y)Nu{*glh6c5d!$hORGrLNPG$YKM#U*vH$=8 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/13_of_diamonds.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/13_of_diamonds.png new file mode 100644 index 0000000000000000000000000000000000000000..91d75f4ab655baceb91a5cab6a7a7aa272199645 GIT binary patch literal 98444 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

ed{KMI5i!B1M-dg?lrF-w~j6V5fXT1V; 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 blmz;JShXe()!5co00000NkvXXu0mjf&lr32 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/13_of_hearts.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/13_of_hearts.png new file mode 100644 index 0000000000000000000000000000000000000000..af869ede30a766a75834a79b93553fe576c73b04 GIT binary patch literal 101666 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/13_of_spades.png b/Quellcodes/Alg_DS_Freecell/02_freecell_loes/img/13_of_spades.png new file mode 100644 index 0000000000000000000000000000000000000000..ad6673dfe82592bee0eaed1012ab55510f7efdd5 GIT binary patch literal 97963 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%0A?L^ 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 0) + { + Scheibe s = dasSpiel.getNteScheibe(i, hoehe); + int y = baseY + 20*hoehe; + if (markiert == s) + { + y = 30; + } + s.zeichne(g, 150+280*i, y); + hoehe--; + } + } + } + + public void mouseExited(MouseEvent e) { + } + + public void mouseClicked(MouseEvent e) { + } + + public void mouseEntered(MouseEvent e){ + } + + public void mousePressed(MouseEvent e){ + } + + private int getArea(Point p) + { + return (int)p.getX()/(getWidth()/3); + } + + public void mouseReleased(MouseEvent e) + { + int stack = getArea(e.getPoint()); + if (markiert == null) + { + if (dasSpiel.getTurmHoehe(stack) > 0) + { + markiert = dasSpiel.getNteScheibe(stack, 0); + fromStack = stack; + repaint(); + } + } + else + { + if (fromStack == stack || dasSpiel.bewegeScheibe(fromStack, stack)) + { + markiert = null; + } + repaint(); + } + } + } +} diff --git a/Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/HanoiGame.java b/Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/HanoiGame.java new file mode 100644 index 0000000..013936c --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/HanoiGame.java @@ -0,0 +1,93 @@ +/** + * Das Spielfeld selbst + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class HanoiGame +{ + /** + * Das Array hat drei Elemente und stellt die drei Scheibenstapel dar. + */ + private Stack[] stapel; + + /** + * Verweis auf das Fenster-Objekt. + */ + HanoiFrame derFrame; + + /** + * Erzeugt ein neues Spiel mit 7 Scheiben + */ + public HanoiGame() + { + this(7); + } + + /** + * Erzeugt ein neues Spiel, die Anzahl der Scheiben kann zwischen 1 und 14 liegen. + * @param groesse Die Höhe des Stapels + */ + public HanoiGame(int groesse) + { + if (groesse > 14) + { + groesse = 14; + } + if (groesse < 1) + { + groesse = 1; + } + stapel = new Stack[3]; + //# TODO: Initialisieren Sie die Stacks im Array + + //# Ende TODO + while(stapel[0] != null && groesse > 0) + { + stapel[0].push(new Scheibe(groesse)); + groesse--; + } + derFrame = new HanoiFrame(this); + } + + /** + * Gibt die Höhe des Turms zurück + * @param t Welcher Turm wird abgefragt? 0 = links, 1 = mitte, 2 = rechts + * @return Höhe des gefragten Turmes + */ + public int getTurmHoehe(int t) + { + //# TODO: Geben Sie die Höhe des Stapels mit der Nummer t zurück + + return 0; + } + + /** + * Gibt die n-te Scheibe auf Turm t zurück. n wird von oben gezählt, d.h. n = 0 ist die oberste Scheibe. + * @param t Die Nummer des Turmes (0 = links, 1 = mitte, 2 = rechts) + * @param n Die Nummer der Scheibe (0 <= n < getTurmHoehe(t)) + * @return Die gewünschte Scheibe + */ + public Scheibe getNteScheibe(int t, int n) + { + //# TODO: Geben Sie die n-te Scheibe vom Turm mit der Nummer t zurück + //# n und t sind immer gültige Werte. + + return null; + } + + /** + * Verschiebt eine Scheibe von einem Turm auf den anderen, falls der Zug erlaubt ist + * @param von Die Nummer des Turms (0 = links, 1 = mitte, 2 = rechts), von dem weggezogen wird + * @param nach Die Nummer des Turms (0 = links, 1 = mitte, 2 = rechts), auf den hingezogen wird + * @return true, wenn der Zug erlaubt war; false sonst + */ + public boolean bewegeScheibe(int von, int nach) + { + //# TODO: Verschieben Sie die oberste Scheibe vom Turm "von" auf den Turm "nach" + //# Geben Sie true zurück, wenn die Aktion erlaubt ist + //# Wenn sie nicht erlaubt ist, soll false zurückgegeben werden und nichts verändert werden. + + return false; + } +} diff --git a/Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/README.TXT b/Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/README.TXT new file mode 100644 index 0000000..c475f6d --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/README.TXT @@ -0,0 +1,5 @@ +PROJEKTBEZEICHNUNG: Türme von Hanoi +PROJEKTZWECK: Implementieren Sie das Spiel "Die Türme von Hanoi" +VERSION oder DATUM: Oktober 2020 +WIE IST DAS PROJEKT ZU STARTEN: Erzeugen Sie ein neues Objekt vom Typ "HanoiGame" +AUTOR(EN): Rainer Helfrich, ZPG Informatik diff --git a/Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/Scheibe.java b/Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/Scheibe.java new file mode 100644 index 0000000..fcf3fd3 --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/Scheibe.java @@ -0,0 +1,55 @@ +import javax.swing.*; +import java.awt.*; + +/** + * Repräsentiert eine Scheibe im Spiel "Die Türme von Hanoi" + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class Scheibe +{ + final private Color farbe; + final private int groesse; + + /** + * Erzeugt eine neue Scheibe in der gewünschten Größe. + * Sollte nicht direkt aufgerufen werden! + * @param groesse Die Größe der Scheibe (1 bis 14) + */ + public Scheibe(int groesse) + { + Color[] farben = + { + Color.BLACK, + Color.RED, Color.GREEN, Color.BLUE, Color.YELLOW, + Color.CYAN, Color.MAGENTA, Color.ORANGE, Color.PINK, + Color.GRAY, new Color(0x6B8E23), new Color(0x4682B4), new Color(0x9ACD32), + new Color(0xBA55D3), new Color(0x228B22) + }; + this.groesse = groesse; + farbe = farben[groesse]; + } + + /** + * Zeichnet die Scheibe an der Position (x,y) auf das Graphics-Objekt g. + * Sollte nicht direkt aufgerufen werden. + * @param g Das Graphics-Objekt, auf das gezeichnet wird + * @param x Die x-Koordinate der oberen linken Ecke + * @param y Die y-Koordinate der oberen linken Ecke + */ + public void zeichne(Graphics g, int x, int y) + { + g.setColor(farbe); + g.fillRect(x-groesse*10, y, 20*groesse, 15); + } + + /** + * Gibt die Größe der Scheibe zurück + * @return Die Größe der Scheibe (0 bis 14) + */ + public int getGroesse() + { + return groesse; + } +} \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/Stack.java b/Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/Stack.java new file mode 100644 index 0000000..332c28a --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/Stack.java @@ -0,0 +1,32 @@ +/** + * Abstrakte Basisklasse für Stacks + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public abstract class Stack +{ + /** + * Gibt zurück, ob der Stack leer ist + * @return true, wenn der Stack leer ist; false sonst + */ + public abstract boolean isEmpty(); + + /** + * Legt ein neues Element auf den Stack + * @param x Das neue Element + */ + public abstract void push(T x); + + /** + * Entfernt das oberste Element vom Stack (falls der Stack nicht leer ist) und gibt es zurück + * @return Das bisherige oberste Element + */ + public abstract T pop(); + + /** + * Gibt das oberste Element des Stacks zurück (falls der Stack nicht leer ist) + * @return Das oberste Element + */ + public abstract T top(); +} diff --git a/Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/package.bluej b/Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/package.bluej new file mode 100644 index 0000000..6caa3c6 --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/01_hanoi_roh/package.bluej @@ -0,0 +1,68 @@ +#BlueJ package file +dependency1.from=HanoiGame +dependency1.to=HanoiFrame +dependency1.type=UsesDependency +dependency2.from=HanoiGame +dependency2.to=Stack +dependency2.type=UsesDependency +dependency3.from=HanoiGame +dependency3.to=Scheibe +dependency3.type=UsesDependency +dependency4.from=HanoiFrame +dependency4.to=HanoiGame +dependency4.type=UsesDependency +dependency5.from=HanoiFrame +dependency5.to=Scheibe +dependency5.type=UsesDependency +editor.fx.0.height=739 +editor.fx.0.width=816 +editor.fx.0.x=92 +editor.fx.0.y=102 +objectbench.height=183 +objectbench.width=760 +package.divider.horizontal=0.6 +package.divider.vertical=0.62 +package.editor.height=303 +package.editor.width=649 +package.editor.x=59 +package.editor.y=200 +package.frame.height=600 +package.frame.width=800 +package.numDependencies=5 +package.numTargets=4 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=HanoiGame +target1.showInterface=false +target1.type=ClassTarget +target1.width=110 +target1.x=210 +target1.y=190 +target2.height=50 +target2.name=Scheibe +target2.showInterface=false +target2.type=ClassTarget +target2.width=80 +target2.x=10 +target2.y=110 +target3.height=50 +target3.name=HanoiFrame +target3.showInterface=false +target3.type=ClassTarget +target3.width=110 +target3.x=110 +target3.y=20 +target4.height=50 +target4.name=Stack +target4.showInterface=false +target4.type=AbstractTarget +target4.width=80 +target4.x=400 +target4.y=20 diff --git a/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/ArrayStack.java b/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/ArrayStack.java new file mode 100644 index 0000000..dbcc08b --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/ArrayStack.java @@ -0,0 +1,101 @@ + +/** + * Ein Stack basierend auf einem Array + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ArrayStack extends Stack +{ + /** + * Enthält die Nutzdaten + */ + private Object[] daten; + /** + * Die Zahl gibt an, wie viele Elemente auf dem Stack liegen und damit auch, + * wie viele Werte im Datenarray gültig sind. + */ + private int anzahl; + + /** + * Erzeugt einen neuen leeren Stack + */ + public ArrayStack() + { + daten = new Object[10]; + anzahl = 0; + } + + /** + * Gibt das oberste Element des Stacks zurück (falls der Stack nicht leer ist) + * @return Das oberste Element + */ + public T top() + { + if (!isEmpty()) + { + return (T)daten[anzahl-1]; + } + return null; + } + + /** + * Entfernt das oberste Element vom Stack (falls der Stack nicht leer ist) und gibt es zurück + * @return Das bisherige oberste Element + */ + public T pop() + { + if (!isEmpty()) + { + anzahl--; + return (T)daten[anzahl]; + } + return null; + } + + /** + * Legt ein neues Element auf den Stack + * @param x Das neue Element + */ + public void push(T wert) + { + if (anzahl == daten.length) + { + Object[] tmp = new Object[2*daten.length]; + System.arraycopy(daten, 0, tmp, 0, daten.length); + daten = tmp; + } + daten[anzahl] = wert; + anzahl++; + } + + /** + * Gibt zurück, ob der Stack leer ist + * @return true, wenn der Stack leer ist; false sonst + */ + public boolean isEmpty() + { + return anzahl == 0; + } + + /** + * Gibt den Stack in String-Form aus. + * @return Die String-Repräsentation des Stacks + */ + @Override + public String toString() + { + StringBuilder b = new StringBuilder(); + b.append("[ "); + for (int i = 0; i < anzahl; i++) + { + if (i > 0) + { + b.append(", "); + } + b.append(daten[i]); + } + b.append(" <"); + return b.toString(); + } +} diff --git a/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/HanoiFrame.java b/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/HanoiFrame.java new file mode 100644 index 0000000..1aef6c5 --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/HanoiFrame.java @@ -0,0 +1,141 @@ +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.swing.event.*; +import java.util.*; + +/** + * Das Fenster, in dem das Hanoi-Spiel dargestellt wird. + * Hier sollte nichts verändert werden. + * + * @version 10.10.2020 + * @author Rainer Helfrich + */ +public class HanoiFrame extends JFrame { + + JPanel jPanel1; + + public HanoiFrame(HanoiGame g) { + // Frame-Initialisierung + super(); + setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + int frameWidth = 900; + int frameHeight = 500; + setSize(frameWidth, frameHeight); + Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); + int x = (d.width - getSize().width) / 2; + int y = (d.height - getSize().height) / 2; + setLocation(x, y); + setTitle("Türme von Hanoi"); + setResizable(false); + Container cp = getContentPane(); + cp.setLayout(null); + // Anfang Komponenten + + jPanel1 = new HanoiPanel(g); + jPanel1.setBounds(0, 0, frameWidth, frameHeight); + jPanel1.setOpaque(true); + cp.add(jPanel1); + + // Ende Komponenten + + setVisible(true); + } // end of public FreecellFrame + + + + public void neuZeichnen() + { + jPanel1.paintImmediately(0, 0, getWidth(), getHeight()); + try + { + Thread.sleep(100); + } + catch(Exception x) + { + } + } + // Ende Methoden + private class HanoiPanel extends JPanel implements MouseListener{ + + HanoiGame dasSpiel; + Scheibe markiert; + int fromStack; + + public HanoiPanel(HanoiGame g) + { + super( null, true); + dasSpiel = g; + addMouseListener(this); + markiert = null; + } + + + + public void paint(Graphics g) { + + g.setColor(new Color(180, 180, 180)); + g.fillRect(0,0,getWidth(),getHeight()); + g.setColor(Color.BLACK); + g.fillRect(10, getHeight()-100, 840, 20); + for (int i = 0; i < 3; i++) + { + g.setColor(Color.BLACK); + g.fillRect(145+i*280, 60, 10, getHeight()-160); + int hoehe = dasSpiel.getTurmHoehe(i); + hoehe--; + int baseY = getHeight()-120-20*hoehe; + while(hoehe >= 0) + { + Scheibe s = dasSpiel.getNteScheibe(i, hoehe); + int y = baseY + 20*hoehe; + if (markiert == s) + { + y = 30; + } + s.zeichne(g, 150+280*i, y); + hoehe--; + } + } + } + + public void mouseExited(MouseEvent e) { + } + + public void mouseClicked(MouseEvent e) { + } + + public void mouseEntered(MouseEvent e){ + } + + public void mousePressed(MouseEvent e){ + } + + private int getArea(Point p) + { + return (int)p.getX()/(getWidth()/3); + } + + public void mouseReleased(MouseEvent e) + { + int stack = getArea(e.getPoint()); + if (markiert == null) + { + if (dasSpiel.getTurmHoehe(stack) > 0) + { + markiert = dasSpiel.getNteScheibe(stack, 0); + fromStack = stack; + repaint(); + } + } + else + { + if (fromStack == stack || dasSpiel.bewegeScheibe(fromStack, stack)) + { + markiert = null; + } + repaint(); + } + } + } +} diff --git a/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/HanoiGame.java b/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/HanoiGame.java new file mode 100644 index 0000000..8d3236f --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/HanoiGame.java @@ -0,0 +1,116 @@ +/** + * Das Spielfeld selbst + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class HanoiGame +{ + /** + * Das Array hat drei Elemente und stellt die drei Scheibenstapel dar. + */ + private Stack[] stapel; + + /** + * Verweis auf das Fenster-Objekt. + */ + HanoiFrame derFrame; + + /** + * Erzeugt ein neues Spiel mit 7 Scheiben + */ + public HanoiGame() + { + this(7); + } + + /** + * Erzeugt ein neues Spiel, die Anzahl der Scheiben kann zwischen 1 und 14 liegen. + * @param groesse Die Höhe des Stapels + */ + public HanoiGame(int groesse) + { + if (groesse > 14) + { + groesse = 14; + } + if (groesse < 1) + { + groesse = 1; + } + stapel = new Stack[3]; + for (int i = 0; i < 3; i++) + { + stapel[i] = new ArrayStack(); + } + while(groesse > 0) + { + stapel[0].push(new Scheibe(groesse)); + groesse--; + } + derFrame = new HanoiFrame(this); + } + + /** + * Gibt die Höhe des Turms zurück + * @param t Welcher Turm wird abgefragt? 0 = links, 1 = mitte, 2 = rechts + * @return Höhe des gefragten Turmes + */ + public int getTurmHoehe(int index) + { + Stack tmp = new ArrayStack(); + int size = 0; + while(!stapel[index].isEmpty()) + { + tmp.push(stapel[index].pop()); + size++; + } + while(!tmp.isEmpty()) + { + stapel[index].push(tmp.pop()); + } + return size; + } + + /** + * Gibt die n-te Scheibe auf Turm t zurück. n wird von oben gezählt, d.h. n = 0 ist die oberste Scheibe. + * @param t Die Nummer des Turmes (0 = links, 1 = mitte, 2 = rechts) + * @param n Die Nummer der Scheibe (0 <= n < getTurmHoehe(t)) + * @return Die gewünschte Scheibe + */ + public Scheibe getNteScheibe(int turm, int index) + { + Stack tmp = new ArrayStack(); + for (int i = 0; i < index; i++) + { + tmp.push(stapel[turm].pop()); + } + Scheibe s = stapel[turm].top(); + while(!tmp.isEmpty()) + { + stapel[turm].push(tmp.pop()); + } + return s; + } + + /** + * Verschiebt eine Scheibe von einem Turm auf den anderen, falls der Zug erlaubt ist + * @param von Die Nummer des Turms (0 = links, 1 = mitte, 2 = rechts), von dem weggezogen wird + * @param nach Die Nummer des Turms (0 = links, 1 = mitte, 2 = rechts), auf den hingezogen wird + * @return true, wenn der Zug erlaubt war; false sonst + */ + public boolean bewegeScheibe(int von, int nach) + { + if (stapel[von].isEmpty()) + { + return false; + } + Scheibe s = stapel[von].top(); + if (stapel[nach].isEmpty() || stapel[nach].top().getGroesse() > s.getGroesse()) + { + stapel[nach].push(stapel[von].pop()); + return true; + } + return false; + } +} diff --git a/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/README.TXT b/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/README.TXT new file mode 100644 index 0000000..c475f6d --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/README.TXT @@ -0,0 +1,5 @@ +PROJEKTBEZEICHNUNG: Türme von Hanoi +PROJEKTZWECK: Implementieren Sie das Spiel "Die Türme von Hanoi" +VERSION oder DATUM: Oktober 2020 +WIE IST DAS PROJEKT ZU STARTEN: Erzeugen Sie ein neues Objekt vom Typ "HanoiGame" +AUTOR(EN): Rainer Helfrich, ZPG Informatik diff --git a/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/Scheibe.java b/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/Scheibe.java new file mode 100644 index 0000000..fcf3fd3 --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/Scheibe.java @@ -0,0 +1,55 @@ +import javax.swing.*; +import java.awt.*; + +/** + * Repräsentiert eine Scheibe im Spiel "Die Türme von Hanoi" + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class Scheibe +{ + final private Color farbe; + final private int groesse; + + /** + * Erzeugt eine neue Scheibe in der gewünschten Größe. + * Sollte nicht direkt aufgerufen werden! + * @param groesse Die Größe der Scheibe (1 bis 14) + */ + public Scheibe(int groesse) + { + Color[] farben = + { + Color.BLACK, + Color.RED, Color.GREEN, Color.BLUE, Color.YELLOW, + Color.CYAN, Color.MAGENTA, Color.ORANGE, Color.PINK, + Color.GRAY, new Color(0x6B8E23), new Color(0x4682B4), new Color(0x9ACD32), + new Color(0xBA55D3), new Color(0x228B22) + }; + this.groesse = groesse; + farbe = farben[groesse]; + } + + /** + * Zeichnet die Scheibe an der Position (x,y) auf das Graphics-Objekt g. + * Sollte nicht direkt aufgerufen werden. + * @param g Das Graphics-Objekt, auf das gezeichnet wird + * @param x Die x-Koordinate der oberen linken Ecke + * @param y Die y-Koordinate der oberen linken Ecke + */ + public void zeichne(Graphics g, int x, int y) + { + g.setColor(farbe); + g.fillRect(x-groesse*10, y, 20*groesse, 15); + } + + /** + * Gibt die Größe der Scheibe zurück + * @return Die Größe der Scheibe (0 bis 14) + */ + public int getGroesse() + { + return groesse; + } +} \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/Stack.java b/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/Stack.java new file mode 100644 index 0000000..332c28a --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/Stack.java @@ -0,0 +1,32 @@ +/** + * Abstrakte Basisklasse für Stacks + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public abstract class Stack +{ + /** + * Gibt zurück, ob der Stack leer ist + * @return true, wenn der Stack leer ist; false sonst + */ + public abstract boolean isEmpty(); + + /** + * Legt ein neues Element auf den Stack + * @param x Das neue Element + */ + public abstract void push(T x); + + /** + * Entfernt das oberste Element vom Stack (falls der Stack nicht leer ist) und gibt es zurück + * @return Das bisherige oberste Element + */ + public abstract T pop(); + + /** + * Gibt das oberste Element des Stacks zurück (falls der Stack nicht leer ist) + * @return Das oberste Element + */ + public abstract T top(); +} diff --git a/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/package.bluej b/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/package.bluej new file mode 100644 index 0000000..05972e9 --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/02_hanoi_loes/package.bluej @@ -0,0 +1,78 @@ +#BlueJ package file +dependency1.from=HanoiFrame +dependency1.to=HanoiGame +dependency1.type=UsesDependency +dependency2.from=HanoiFrame +dependency2.to=Scheibe +dependency2.type=UsesDependency +dependency3.from=HanoiGame +dependency3.to=HanoiFrame +dependency3.type=UsesDependency +dependency4.from=HanoiGame +dependency4.to=Stack +dependency4.type=UsesDependency +dependency5.from=HanoiGame +dependency5.to=ArrayStack +dependency5.type=UsesDependency +dependency6.from=HanoiGame +dependency6.to=Scheibe +dependency6.type=UsesDependency +editor.fx.0.height=763 +editor.fx.0.width=816 +editor.fx.0.x=974 +editor.fx.0.y=70 +objectbench.height=183 +objectbench.width=760 +package.divider.horizontal=0.6 +package.divider.vertical=0.62 +package.editor.height=303 +package.editor.width=649 +package.editor.x=940 +package.editor.y=268 +package.frame.height=600 +package.frame.width=800 +package.numDependencies=6 +package.numTargets=5 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=HanoiGame +target1.showInterface=false +target1.type=ClassTarget +target1.width=110 +target1.x=210 +target1.y=190 +target2.height=50 +target2.name=Scheibe +target2.showInterface=false +target2.type=ClassTarget +target2.width=80 +target2.x=10 +target2.y=110 +target3.height=50 +target3.name=HanoiFrame +target3.showInterface=false +target3.type=ClassTarget +target3.width=110 +target3.x=110 +target3.y=20 +target4.height=50 +target4.name=ArrayStack +target4.showInterface=false +target4.type=ClassTarget +target4.width=120 +target4.x=380 +target4.y=140 +target5.height=50 +target5.name=Stack +target5.showInterface=false +target5.type=AbstractTarget +target5.width=80 +target5.x=400 +target5.y=20 diff --git a/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/ArrayStack.java b/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/ArrayStack.java new file mode 100644 index 0000000..dbcc08b --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/ArrayStack.java @@ -0,0 +1,101 @@ + +/** + * Ein Stack basierend auf einem Array + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ArrayStack extends Stack +{ + /** + * Enthält die Nutzdaten + */ + private Object[] daten; + /** + * Die Zahl gibt an, wie viele Elemente auf dem Stack liegen und damit auch, + * wie viele Werte im Datenarray gültig sind. + */ + private int anzahl; + + /** + * Erzeugt einen neuen leeren Stack + */ + public ArrayStack() + { + daten = new Object[10]; + anzahl = 0; + } + + /** + * Gibt das oberste Element des Stacks zurück (falls der Stack nicht leer ist) + * @return Das oberste Element + */ + public T top() + { + if (!isEmpty()) + { + return (T)daten[anzahl-1]; + } + return null; + } + + /** + * Entfernt das oberste Element vom Stack (falls der Stack nicht leer ist) und gibt es zurück + * @return Das bisherige oberste Element + */ + public T pop() + { + if (!isEmpty()) + { + anzahl--; + return (T)daten[anzahl]; + } + return null; + } + + /** + * Legt ein neues Element auf den Stack + * @param x Das neue Element + */ + public void push(T wert) + { + if (anzahl == daten.length) + { + Object[] tmp = new Object[2*daten.length]; + System.arraycopy(daten, 0, tmp, 0, daten.length); + daten = tmp; + } + daten[anzahl] = wert; + anzahl++; + } + + /** + * Gibt zurück, ob der Stack leer ist + * @return true, wenn der Stack leer ist; false sonst + */ + public boolean isEmpty() + { + return anzahl == 0; + } + + /** + * Gibt den Stack in String-Form aus. + * @return Die String-Repräsentation des Stacks + */ + @Override + public String toString() + { + StringBuilder b = new StringBuilder(); + b.append("[ "); + for (int i = 0; i < anzahl; i++) + { + if (i > 0) + { + b.append(", "); + } + b.append(daten[i]); + } + b.append(" <"); + return b.toString(); + } +} diff --git a/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/HanoiFrame.java b/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/HanoiFrame.java new file mode 100644 index 0000000..1aef6c5 --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/HanoiFrame.java @@ -0,0 +1,141 @@ +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.swing.event.*; +import java.util.*; + +/** + * Das Fenster, in dem das Hanoi-Spiel dargestellt wird. + * Hier sollte nichts verändert werden. + * + * @version 10.10.2020 + * @author Rainer Helfrich + */ +public class HanoiFrame extends JFrame { + + JPanel jPanel1; + + public HanoiFrame(HanoiGame g) { + // Frame-Initialisierung + super(); + setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + int frameWidth = 900; + int frameHeight = 500; + setSize(frameWidth, frameHeight); + Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); + int x = (d.width - getSize().width) / 2; + int y = (d.height - getSize().height) / 2; + setLocation(x, y); + setTitle("Türme von Hanoi"); + setResizable(false); + Container cp = getContentPane(); + cp.setLayout(null); + // Anfang Komponenten + + jPanel1 = new HanoiPanel(g); + jPanel1.setBounds(0, 0, frameWidth, frameHeight); + jPanel1.setOpaque(true); + cp.add(jPanel1); + + // Ende Komponenten + + setVisible(true); + } // end of public FreecellFrame + + + + public void neuZeichnen() + { + jPanel1.paintImmediately(0, 0, getWidth(), getHeight()); + try + { + Thread.sleep(100); + } + catch(Exception x) + { + } + } + // Ende Methoden + private class HanoiPanel extends JPanel implements MouseListener{ + + HanoiGame dasSpiel; + Scheibe markiert; + int fromStack; + + public HanoiPanel(HanoiGame g) + { + super( null, true); + dasSpiel = g; + addMouseListener(this); + markiert = null; + } + + + + public void paint(Graphics g) { + + g.setColor(new Color(180, 180, 180)); + g.fillRect(0,0,getWidth(),getHeight()); + g.setColor(Color.BLACK); + g.fillRect(10, getHeight()-100, 840, 20); + for (int i = 0; i < 3; i++) + { + g.setColor(Color.BLACK); + g.fillRect(145+i*280, 60, 10, getHeight()-160); + int hoehe = dasSpiel.getTurmHoehe(i); + hoehe--; + int baseY = getHeight()-120-20*hoehe; + while(hoehe >= 0) + { + Scheibe s = dasSpiel.getNteScheibe(i, hoehe); + int y = baseY + 20*hoehe; + if (markiert == s) + { + y = 30; + } + s.zeichne(g, 150+280*i, y); + hoehe--; + } + } + } + + public void mouseExited(MouseEvent e) { + } + + public void mouseClicked(MouseEvent e) { + } + + public void mouseEntered(MouseEvent e){ + } + + public void mousePressed(MouseEvent e){ + } + + private int getArea(Point p) + { + return (int)p.getX()/(getWidth()/3); + } + + public void mouseReleased(MouseEvent e) + { + int stack = getArea(e.getPoint()); + if (markiert == null) + { + if (dasSpiel.getTurmHoehe(stack) > 0) + { + markiert = dasSpiel.getNteScheibe(stack, 0); + fromStack = stack; + repaint(); + } + } + else + { + if (fromStack == stack || dasSpiel.bewegeScheibe(fromStack, stack)) + { + markiert = null; + } + repaint(); + } + } + } +} diff --git a/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/HanoiGame.java b/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/HanoiGame.java new file mode 100644 index 0000000..cc73961 --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/HanoiGame.java @@ -0,0 +1,154 @@ +/** + * Das Spielfeld selbst + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class HanoiGame +{ + /** + * Das Array hat drei Elemente und stellt die drei Scheibenstapel dar. + */ + private Stack[] stapel; + + /** + * Verweis auf das Fenster-Objekt. + */ + HanoiFrame derFrame; + + /** + * Erzeugt ein neues Spiel mit 7 Scheiben + */ + public HanoiGame() + { + this(7); + } + + /** + * Erzeugt ein neues Spiel, die Anzahl der Scheiben kann zwischen 1 und 14 liegen. + * @param groesse Die Höhe des Stapels + */ + public HanoiGame(int groesse) + { + if (groesse > 14) + { + groesse = 14; + } + if (groesse < 1) + { + groesse = 1; + } + stapel = new Stack[3]; + for (int i = 0; i < 3; i++) + { + stapel[i] = new ArrayStack(); + } + while(groesse > 0) + { + stapel[0].push(new Scheibe(groesse)); + groesse--; + } + derFrame = new HanoiFrame(this); + } + + /** + * Gibt die Höhe des Turms zurück + * @param t Welcher Turm wird abgefragt? 0 = links, 1 = mitte, 2 = rechts + * @return Höhe des gefragten Turmes + */ + public int getTurmHoehe(int index) + { + Stack tmp = new ArrayStack(); + int size = 0; + while(!stapel[index].isEmpty()) + { + tmp.push(stapel[index].pop()); + size++; + } + while(!tmp.isEmpty()) + { + stapel[index].push(tmp.pop()); + } + return size; + } + + /** + * Gibt die n-te Scheibe auf Turm t zurück. n wird von oben gezählt, d.h. n = 0 ist die oberste Scheibe. + * @param t Die Nummer des Turmes (0 = links, 1 = mitte, 2 = rechts) + * @param n Die Nummer der Scheibe (0 <= n < getTurmHoehe(t)) + * @return Die gewünschte Scheibe + */ + public Scheibe getNteScheibe(int turm, int index) + { + Stack tmp = new ArrayStack(); + for (int i = 0; i < index; i++) + { + tmp.push(stapel[turm].pop()); + } + Scheibe s = stapel[turm].top(); + while(!tmp.isEmpty()) + { + stapel[turm].push(tmp.pop()); + } + return s; + } + + /** + * Verschiebt eine Scheibe von einem Turm auf den anderen, falls der Zug erlaubt ist + * @param von Die Nummer des Turms (0 = links, 1 = mitte, 2 = rechts), von dem weggezogen wird + * @param nach Die Nummer des Turms (0 = links, 1 = mitte, 2 = rechts), auf den hingezogen wird + * @return true, wenn der Zug erlaubt war; false sonst + */ + public boolean bewegeScheibe(int von, int nach) + { + if (stapel[von].isEmpty()) + { + return false; + } + Scheibe s = stapel[von].top(); + if (stapel[nach].isEmpty() || stapel[nach].top().getGroesse() > s.getGroesse()) + { + stapel[nach].push(stapel[von].pop()); + return true; + } + return false; + } + + /** + * Löst das Hanoi-Problem + */ + public void loese() + { + int n = getTurmHoehe(0); + if (getTurmHoehe(1) != 0 || getTurmHoehe(2) != 0) + { + System.out.println("Fehler: Nicht im Ausgangszustand"); + } + else + { + loese(n, 0, 2, 1); + } + } + + /** + * Löst das Hanoi-Problem rekursiv + * @param anzahl Die Anzahl der zu verschiebenden Scheiben + * @param von Die Nummer des Ausgangsstapels + * @param nach Die Nummer des Zielstapels + * @param ueber Die Nummer des Hilfsstapels + */ + private void loese(int anzahl, int von, int nach, int ueber) + { + if (anzahl > 1) + { + loese(anzahl-1, von, ueber, nach); + } + bewegeScheibe(von, nach); + derFrame.neuZeichnen(); + if (anzahl > 1) + { + loese(anzahl-1, ueber, nach, von); + } + } + +} diff --git a/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/README.TXT b/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/README.TXT new file mode 100644 index 0000000..a6951c2 --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/README.TXT @@ -0,0 +1,5 @@ +PROJEKTBEZEICHNUNG: Türme von Hanoi automatisch +PROJEKTZWECK: Implementieren Sie eine automatische Lösung für das Spiel "Die Türme von Hanoi" +VERSION oder DATUM: Oktober 2020 +WIE IST DAS PROJEKT ZU STARTEN: Erzeugen Sie ein neues Objekt vom Typ "HanoiGame" +AUTOR(EN): Rainer Helfrich, ZPG Informatik diff --git a/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/Scheibe.java b/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/Scheibe.java new file mode 100644 index 0000000..fcf3fd3 --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/Scheibe.java @@ -0,0 +1,55 @@ +import javax.swing.*; +import java.awt.*; + +/** + * Repräsentiert eine Scheibe im Spiel "Die Türme von Hanoi" + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class Scheibe +{ + final private Color farbe; + final private int groesse; + + /** + * Erzeugt eine neue Scheibe in der gewünschten Größe. + * Sollte nicht direkt aufgerufen werden! + * @param groesse Die Größe der Scheibe (1 bis 14) + */ + public Scheibe(int groesse) + { + Color[] farben = + { + Color.BLACK, + Color.RED, Color.GREEN, Color.BLUE, Color.YELLOW, + Color.CYAN, Color.MAGENTA, Color.ORANGE, Color.PINK, + Color.GRAY, new Color(0x6B8E23), new Color(0x4682B4), new Color(0x9ACD32), + new Color(0xBA55D3), new Color(0x228B22) + }; + this.groesse = groesse; + farbe = farben[groesse]; + } + + /** + * Zeichnet die Scheibe an der Position (x,y) auf das Graphics-Objekt g. + * Sollte nicht direkt aufgerufen werden. + * @param g Das Graphics-Objekt, auf das gezeichnet wird + * @param x Die x-Koordinate der oberen linken Ecke + * @param y Die y-Koordinate der oberen linken Ecke + */ + public void zeichne(Graphics g, int x, int y) + { + g.setColor(farbe); + g.fillRect(x-groesse*10, y, 20*groesse, 15); + } + + /** + * Gibt die Größe der Scheibe zurück + * @return Die Größe der Scheibe (0 bis 14) + */ + public int getGroesse() + { + return groesse; + } +} \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/Stack.java b/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/Stack.java new file mode 100644 index 0000000..332c28a --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/Stack.java @@ -0,0 +1,32 @@ +/** + * Abstrakte Basisklasse für Stacks + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public abstract class Stack +{ + /** + * Gibt zurück, ob der Stack leer ist + * @return true, wenn der Stack leer ist; false sonst + */ + public abstract boolean isEmpty(); + + /** + * Legt ein neues Element auf den Stack + * @param x Das neue Element + */ + public abstract void push(T x); + + /** + * Entfernt das oberste Element vom Stack (falls der Stack nicht leer ist) und gibt es zurück + * @return Das bisherige oberste Element + */ + public abstract T pop(); + + /** + * Gibt das oberste Element des Stacks zurück (falls der Stack nicht leer ist) + * @return Das oberste Element + */ + public abstract T top(); +} diff --git a/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/package.bluej b/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/package.bluej new file mode 100644 index 0000000..ca2137b --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/03_hanoi_automatisch_loes/package.bluej @@ -0,0 +1,78 @@ +#BlueJ package file +dependency1.from=HanoiFrame +dependency1.to=HanoiGame +dependency1.type=UsesDependency +dependency2.from=HanoiFrame +dependency2.to=Scheibe +dependency2.type=UsesDependency +dependency3.from=HanoiGame +dependency3.to=HanoiFrame +dependency3.type=UsesDependency +dependency4.from=HanoiGame +dependency4.to=Stack +dependency4.type=UsesDependency +dependency5.from=HanoiGame +dependency5.to=ArrayStack +dependency5.type=UsesDependency +dependency6.from=HanoiGame +dependency6.to=Scheibe +dependency6.type=UsesDependency +editor.fx.0.height=739 +editor.fx.0.width=1124 +editor.fx.0.x=552 +editor.fx.0.y=100 +objectbench.height=183 +objectbench.width=760 +package.divider.horizontal=0.6 +package.divider.vertical=0.62 +package.editor.height=303 +package.editor.width=649 +package.editor.x=848 +package.editor.y=277 +package.frame.height=600 +package.frame.width=800 +package.numDependencies=6 +package.numTargets=5 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=HanoiGame +target1.showInterface=false +target1.type=ClassTarget +target1.width=110 +target1.x=210 +target1.y=190 +target2.height=50 +target2.name=Scheibe +target2.showInterface=false +target2.type=ClassTarget +target2.width=80 +target2.x=10 +target2.y=110 +target3.height=50 +target3.name=HanoiFrame +target3.showInterface=false +target3.type=ClassTarget +target3.width=110 +target3.x=110 +target3.y=20 +target4.height=50 +target4.name=ArrayStack +target4.showInterface=false +target4.type=ClassTarget +target4.width=120 +target4.x=380 +target4.y=140 +target5.height=50 +target5.name=Stack +target5.showInterface=false +target5.type=AbstractTarget +target5.width=80 +target5.x=400 +target5.y=20 diff --git a/Quellcodes/Alg_DS_Hanoi/readme.adoc b/Quellcodes/Alg_DS_Hanoi/readme.adoc new file mode 100644 index 0000000..849992d --- /dev/null +++ b/Quellcodes/Alg_DS_Hanoi/readme.adoc @@ -0,0 +1,11 @@ += Material : + +|=== +|Zuordnung| +|Klassenstufe| +|Bildungsplanbezug | +|Werkzeug| +|Autoren| +|=== + +== Inhalt diff --git a/Quellcodes/Alg_DS_Listenvarianten/.gitignore b/Quellcodes/Alg_DS_Listenvarianten/.gitignore new file mode 100644 index 0000000..2cc0cb6 --- /dev/null +++ b/Quellcodes/Alg_DS_Listenvarianten/.gitignore @@ -0,0 +1,7 @@ +**/*.sh +**/*.class +**/*.ctxt +repo.adoc +repo_subtree.adoc +/alt +/hide diff --git a/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/+libs/SizeOf.jar b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/+libs/SizeOf.jar new file mode 100644 index 0000000000000000000000000000000000000000..d1cc0f596b2179e4f4e7cdb39c1800f1109d7625 GIT binary patch literal 8049 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 dieListe; + private Random zufallszahlen; + + /** + * Erzeugt ein neues Benchmark-Objekt. Sollte nicht direkt aufgerufen werden. + * @param l Die Liste, die getestet werden soll. + */ + public Benchmark(Liste l) + { + dieListe = l; + zufallszahlen = new Random(); + } + + /** + * Wird benötigt, um in einem neuen Prozess den Speichertest durchzuführen. + * Sollte nicht direkt aufgerufen werden. + */ + public static void main(String[] args) + { + try + { + int anzahl = Integer.parseInt(args[0]); + Class c = Class.forName(args[1]); + Liste l = (Liste)c.newInstance(); + Benchmark b = new Benchmark(l); + Method m = b.getClass().getMethod(args[2], new Class[]{int.class}); + m.invoke(b, new Object[]{anzahl}); + System.out.println("@"+SizeOf.deepSizeOf((Object)l)+"@"); + } + catch(Exception x) + { + System.out.println(x.getMessage()); + } + } + + /** + * Hängt Zufallszahlen an je eine Liste jedes Typs an und gibt den benötigten Speicher in Bytes aus + */ + public static void speichertestFuellen() + { + performMany("listeFuellen", true); + } + + /** + * Hängt Zufallszahlen an je eine Liste jedes Typs an, entfernt dann 3/4 der Werte wieder und gibt den benötigten Speicher in Bytes aus + */ + public static void speichertestFuellenUndEntfernen() + { + performMany("listeFuellenUnd34Entfernen", true); + } + + /** + * Fügt an je eine Liste jedes Typs vorne Zufallswerte ein und gibt die benötigte Laufzeit in µs aus. + */ + public static void laufzeittestVorneEinfuegen() + { + performMany("listeVorneAnfuegen", false); + } + + /** + * Fügt an je eine Liste jedes Typs hinten Zufallswerte ein und gibt die benötigte Laufzeit in µs aus. + */ + public static void laufzeittestHintenEinfuegen() + { + performMany("listeFuellen", false); + } + + /** + * Fügt an je eine Liste jedes Typs an zufälligen Stellen Zufallswerte ein und gibt die benötigte Laufzeit in µs aus. + */ + public static void laufzeittestZufaelligEinfuegen() + { + performMany("listeZufaelligEinfuegen", false); + } + + /** + * Füllt zuerst je eine Liste jedes Typs mit Zufallszahlen. + * Addiert dann alle Werte einer Liste auf und gibt die benötigte Laufzeit in µs aus. + * Es wird nur das Aufaddieren gemessen. + */ + public static void laufzeittestAufsummieren() + { + performMany("listeAufsummieren", false); + } + + private static void performMany(String strMethod, boolean isMemTest) + { + String[] typen = { "ListeMitArray", "ListeRekursiv", "ListeIterativ", "ListeMitEnde" }; + System.out.print("Anzahl"); + for (String s : typen) + { + System.out.print(";"+s); + } + System.out.println(); + int step = isMemTest ? 10 : 100; + for (int i = step; i <= 100*step; i += step) + { + System.out.print(i); + for (String s : typen) + { + int mem = performTest(s, strMethod, i, isMemTest); + System.out.print(";"+mem); + } + System.out.println(); + } + } + + private static int performTest(String typ, String methode, int anzahl, boolean isMemTest) + { + try + { + if (isMemTest) + { + Process process = new ProcessBuilder("java","-javaagent:./+libs/SizeOf.jar", Benchmark.class.getName(), ""+anzahl, "liste."+typ, methode).start(); + InputStream is = process.getInputStream(); + InputStreamReader isr = new InputStreamReader(is); + BufferedReader br = new BufferedReader(isr); + String line; + + StringBuilder sb = new StringBuilder(); + while ((line = br.readLine()) != null) { + sb.append(line); + } + String strOut = sb.toString(); + int idx = strOut.indexOf("@"); + if (idx < 0) + { + throw new Exception("Fehler: Ungültige Ausgabe:\n"+strOut); + } + int idx2 = strOut.indexOf("@", idx+1); + if (idx2 < 0) + { + throw new Exception("Fehler: Ungültige Ausgabe:\n"+strOut); + } + int n = Integer.parseInt(strOut.substring(idx+1, idx2)); + return n; + } + else + { + Class c = Class.forName("liste."+typ); + long summe = 0; + final int DURCHFUEHRUNGEN = 10; + for (int i = 0; i < DURCHFUEHRUNGEN; i++) + { + Liste l = (Liste)c.newInstance(); + Benchmark b = new Benchmark(l); + Method m = b.getClass().getMethod(methode, new Class[]{int.class}); + if (methode.equals("listeAufsummieren")) + { + b.listeFuellen(anzahl); + } + long vorher = System.nanoTime(); + m.invoke(b, new Object[]{anzahl}); + long nachher = System.nanoTime(); + summe += (nachher - vorher); + } + return (int)(summe/DURCHFUEHRUNGEN/1000); + } + } + catch(Exception x) + { + System.out.println(x.getMessage()); + } + return -1; + } + + /** + * Hängt Zufallszahlen an eine Liste an + */ + public void listeFuellen(int anzahl) + { + for (int i = 0; i < anzahl; i++) + { + dieListe.anhaengen(zufallszahlen.nextInt(1000000)); + } + } + + /** + * Hängt Zufallszahlen an eine Liste an und entfernt danach 3/4 der Zahlen wieder + */ + public void listeFuellenUnd34Entfernen(int anzahl) + { + listeFuellen(anzahl); + for (int i = 0; i < 0.75*anzahl; i++) + { + int index = zufallszahlen.nextInt(dieListe.laenge()); + dieListe.entferneBei(index); + } + } + + /** + * Fügt Zufallszahlen vorne an eine Liste an + */ + public void listeVorneAnfuegen(int anzahl) + { + for (int i = 0; i < anzahl; i++) + { + dieListe.einfuegenBei(0, zufallszahlen.nextInt(1000000)); + } + } + + /** + * Fügt Zufallszahlen an zufälligen Stellen in einer Liste ein + */ + public void listeZufaelligEinfuegen(int anzahl) + { + for (int i = 0; i < anzahl; i++) + { + int idx = zufallszahlen.nextInt(i+1); + dieListe.einfuegenBei(idx, zufallszahlen.nextInt(1000000)); + } + } + + /** + * Summiert alle Werte einer Liste auf + */ + public void listeAufsummieren(int anzahl) + { + int sum = 0; + int laenge = dieListe.laenge(); + for (int i = 0; i < laenge; i++) + { + sum += dieListe.getNtenWert(i); + } + } + +} diff --git a/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/InsertionSort.java b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/InsertionSort.java new file mode 100644 index 0000000..c6eca14 --- /dev/null +++ b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/InsertionSort.java @@ -0,0 +1,50 @@ +import liste.*; + +/** + * Sortiert eine Liste nach dem InsertionSort-Algorithmus + * + * @author Rainer Helfrich + * @version Januar 2021 + */ +public class InsertionSort extends SortierenMitBenchmark +{ + /** + * Erzeugt eine neue Testklasse für die übergebene Liste + * @param l Die Liste, die gefüllt und sortiert werden soll + */ + public InsertionSort(Liste l) + { + super(l); + } + + /** + * Gibt eine (ggf. neue) Liste zurück, die die Zahlen der Eingabeliste in sortierter Reihenfolge enthält + * @param l Die zu sortierende Liste; wird u.U. verändert. + * @return Eine Liste mit den sortierten Elementen der Eingabeliste + */ + protected Liste sortiere(Liste l) + { + Class c = l.getClass(); + try + { + Liste out = (Liste)c.getConstructor().newInstance(); + while(!l.istLeer()) + { + int value = l.getNtenWert(0); + l.entferneBei(0); + int index = 0; + int laenge = out.laenge(); + while(index < laenge && out.getNtenWert(index) < value) + { + index++; + } + out.einfuegenBei(index, value); + } + return out; + } + catch(Exception x) + { + return null; + } + } +} diff --git a/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/MergeSort.java b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/MergeSort.java new file mode 100644 index 0000000..da3e6c9 --- /dev/null +++ b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/MergeSort.java @@ -0,0 +1,74 @@ +import liste.*; + +/** + * Sortiert eine Liste nach dem MergeSort-Algorithmus + * + * @author Rainer Helfrich + * @version Januar 2021 + */ +public class MergeSort extends SortierenMitBenchmark +{ + /** + * Die Liste, die gefüllt und sortiert werden soll + */ + public MergeSort(Liste l) + { + super(l); + } + + /** + * Gibt eine (ggf. neue) Liste zurück, die die Zahlen der Eingabeliste in sortierter Reihenfolge enthält + * @param l Die zu sortierende Liste; wird u.U. verändert. + * @return Eine Liste mit den sortierten Elementen der Eingabeliste + */ + protected Liste sortiere(Liste l) + { + if (l.laenge() <= 1) + return l; + Class c = l.getClass(); + try + { + Liste links = (Liste)c.getConstructor().newInstance(); + int laenge = l.laenge(); + for (int i = 0; i < laenge/2; i++) + { + links.anhaengen(l.getNtenWert(0)); + l.entferneBei(0); + } + Liste rechts = l; + links = sortiere(links); + rechts = sortiere(rechts); + Liste out = (Liste)c.getConstructor().newInstance(); + while(!links.istLeer() && !rechts.istLeer()) + { + int lw = links.getNtenWert(0); + int rw = rechts.getNtenWert(0); + if (lw < rw) + { + out.anhaengen(lw); + links.entferneBei(0); + } + else + { + out.anhaengen(rw); + rechts.entferneBei(0); + } + } + while(!links.istLeer()) + { + out.anhaengen(links.getNtenWert(0)); + links.entferneBei(0); + } + while(!rechts.istLeer()) + { + out.anhaengen(rechts.getNtenWert(0)); + rechts.entferneBei(0); + } + return out; + } + catch(Exception x) + { + return null; + } + } +} diff --git a/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/README.TXT b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/README.TXT new file mode 100644 index 0000000..d5a3129 --- /dev/null +++ b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/README.TXT @@ -0,0 +1,5 @@ +PROJEKTBEZEICHNUNG: Listenvarianten - Benchmark +PROJEKTZWECK: Sie können hier verschiedene Implementationen des ADT Liste testen und auf ihre Speicher- und Laufzeiteffizienz prüfen. +VERSION oder DATUM: Oktober 2020 +WIE IST DAS PROJEKT ZU STARTEN: Rufen Sie die statischen Methoden (mit Ausnahme von main) der Klasse Benchmark auf, die Ausgabe erfolgt auf der Konsole +AUTOR(EN): Rainer Helfrich, ZPG Informatik diff --git a/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/SelectionSort.java b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/SelectionSort.java new file mode 100644 index 0000000..346752b --- /dev/null +++ b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/SelectionSort.java @@ -0,0 +1,55 @@ +import liste.*; + +/** + * Sortiert eine Liste nach dem SelectionSort-Algorithmus + * + * @author Rainer Helfrich + * @version Januar 2021 + */ +public class SelectionSort extends SortierenMitBenchmark +{ + /** + * Erzeugt eine neue Testklasse für die übergebene Liste + * @param l Die Liste, die gefüllt und sortiert werden soll + */ + public SelectionSort(Liste l) + { + super(l); + } + + /** + * Gibt eine (ggf. neue) Liste zurück, die die Zahlen der Eingabeliste in sortierter Reihenfolge enthält + * @param l Die zu sortierende Liste; wird u.U. verändert. + * @return Eine Liste mit den sortierten Elementen der Eingabeliste + */ + protected Liste sortiere(Liste l) + { + Class c = l.getClass(); + try + { + Liste out = (Liste)c.getConstructor().newInstance(); + while(!l.istLeer()) + { + int minIndex = 0; + int minValue = l.getNtenWert(0); + int laenge = l.laenge(); + for (int i = 1; i < laenge; i++) + { + int v = l.getNtenWert(i); + if (v < minValue) + { + minValue = v; + minIndex = i; + } + } + out.anhaengen(minValue); + l.entferneBei(minIndex); + } + return out; + } + catch(Exception x) + { + return null; + } + } +} diff --git a/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/SortierenMitBenchmark.java b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/SortierenMitBenchmark.java new file mode 100644 index 0000000..7dd28a6 --- /dev/null +++ b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/SortierenMitBenchmark.java @@ -0,0 +1,68 @@ +import liste.*; +import java.util.Random; + +/** + * Sortiert eine Liste und gibt die benötigte Zeit aus. + * + * @author Rainer Helfrich + * @version Januar 2021 + */ +public abstract class SortierenMitBenchmark +{ + /** + * Die Liste, die sortiert werden soll + */ + private Liste dieListe; + + /** + * Erzeugt einen neuen Benchmark + * @param l Die Liste, die sortiert werden soll + */ + public SortierenMitBenchmark(Liste l) + { + dieListe = l; + } + + /** + * Gibt eine (ggf. neue) Liste zurück, die die Zahlen der Eingabeliste in sortierter Reihenfolge enthält + * @param l Die zu sortierende Liste; wird u.U. verändert. + * @return Eine Liste mit den sortierten Elementen der Eingabeliste + */ + protected abstract Liste sortiere(Liste l); + + /** + * Füllt die Liste mit neuen Werten, sortiert sie und misst die für das Sortieren nötige Zeit. + * Überprüft, ob die Sortierung korrekt war + * Gibt die Anzahl der Elemente sowie den Zeitbedarf auf der Konsole aus + * @param anzahl Die Anzahl der Elemente, die zufällig erzeugt werden sollen. + */ + public void sortiereUndMesse(int anzahl) + { + while(!dieListe.istLeer()) + { + dieListe.entferneBei(0); + } + Random r = new Random(); + for (int i = 0; i < anzahl; i++) + { + dieListe.anhaengen(r.nextInt(1000000)); + } + long vorher = System.currentTimeMillis(); + dieListe = sortiere(dieListe); + long nachher = System.currentTimeMillis(); + if (anzahl != dieListe.laenge()) + { + System.out.println("Fehler: Die sortiere Liste hat nicht die richtige Länge!"); + return; + } + for (int i = 1; i < anzahl; i++) + { + if (dieListe.getNtenWert(i-1) > dieListe.getNtenWert(i)) + { + System.out.println("Fehler bei Index " + i + ": Sortierung stimmt nicht."); + return; + } + } + System.out.println(getClass().getName() + ": " + anzahl + " Elemente, " + (nachher - vorher) + " ms"); + } +} diff --git a/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/SortiererTest.java b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/SortiererTest.java new file mode 100644 index 0000000..bf1df26 --- /dev/null +++ b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/SortiererTest.java @@ -0,0 +1,57 @@ +import liste.*; + +/** + * Führt verschiedene Sortierverfahren mit einer Liste aus + * + * @author Rainer Helfrich + * @version Januar 2020 + */ +public class SortiererTest +{ + /** + * Die Liste, die gefüllt und sortiert werden soll + */ + private Liste liste; + + /** + * Erzeugt eine neue Testklasse für die übergebene Liste + * @param liste Die Liste, die gefüllt und sortiert werden soll + */ + private SortiererTest(Liste liste) + { + this.liste = liste; + } + + /** + * Führt die drei Sortierverfahren SelectionSort, InsertionSort und MergeSort mit der Liste aus + * @param anzahl Die gewünschte Anzahl der Elemente + */ + private void sortierTestAusfuehren(int anzahl) + { + if (liste == null) + { + System.out.println("Fehler: Keine Liste gesetzt."); + return; + } + System.out.println("Listentyp: " + liste.getClass().getName()); + SortierenMitBenchmark smb = new SelectionSort(liste); + smb.sortiereUndMesse(anzahl); + smb = new InsertionSort(liste); + smb.sortiereUndMesse(anzahl); + smb = new MergeSort(liste); + smb.sortiereUndMesse(anzahl); + } + + /** + * Erzeugt eine neue Liste und führt den Sortiertest aus. + * @param anzahl Die gewünschte Anzahl der Elemente + */ + public static void testDurchfuehren(int anzahl) + { + //# TODO: Ersetzen Sie "null" durch einen Konstruktoraufruf einer Implementation des ADTs Liste. + Liste l = null; + + SortiererTest st = new SortiererTest(l); + st.sortierTestAusfuehren(anzahl); + } +} diff --git a/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/Liste.java b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/Liste.java new file mode 100644 index 0000000..062861f --- /dev/null +++ b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/Liste.java @@ -0,0 +1,59 @@ +package liste; + +/** + * Der ADT Liste + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public abstract class Liste +{ + /** + * Gibt die Anzahl der Elemente der Liste zurück + */ + public abstract int laenge(); + + /** + * Gibt den n-ten Wert (0-basierte Zählweise) der Liste zurück. + * @param n Der Index des gewünschten Elements + * @return Den n-ten Wert + */ + public abstract T getNtenWert(int n); + + /** + * Hängt einen neuen Wert hinten an die Liste an. + * @param val Der anzuhängende Wert + */ + public abstract void anhaengen(T val); + + /** + * Fügt einen neuen Wert an einer gewünschten Stelle in der Liste ein. + * @param index Die Stelle, an der der neue Wert stehen soll (0 <= index <= laenge()) + * @param val Der einzufügende Wert + */ + public abstract void einfuegenBei(int index, T val); + + /** + * Gibt die Listenelemente hintereinander auf der Konsole aus. + */ + public abstract void ausgeben(); + + /** + * Gibt zurück, ob ein Wert sich in der Liste befindet + * @param val Der zu suchende Wert + * @return true, wenn der Wert enthalten ist; false sonst + */ + public abstract boolean enthaelt(T val); + + /** + * Entfernt das Element, das am gegebenen Index steht, aus der Liste. + * @param index Die Stelle, von der der Wert entfernt werden soll. + */ + public abstract void entferneBei(int index); + + /** + * Gibt zurück, ob die Liste leer ist. + * @return true, wenn die Liste keine Elemente enthält; false sonst + */ + public abstract boolean istLeer(); +} diff --git a/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeIterativ.java b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeIterativ.java new file mode 100644 index 0000000..c24a0c5 --- /dev/null +++ b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeIterativ.java @@ -0,0 +1,154 @@ +package liste; + +/** + * Eine einfach verkettete Liste + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ListeIterativ extends ListeMitVerkettung +{ + /** + * Erzeugt eine neue Liste + */ + public ListeIterativ() + { + anfang = null; + } + + /** + * Gibt die Anzahl der Elemente der Liste zurück + */ + public int laenge() + { + int len = 0; + Listenknoten k = anfang; + while (k != null) { + k = k.nachfolger; + len++; + } + return len; + } + + /** + * Gibt den n-ten Wert (0-basierte Zählweise) der Liste zurück. + * @param n Der Index des gewünschten Elements + * @return Den n-ten Wert + */ + public T getNtenWert(int n) + { + Listenknoten k = anfang; + while (k != null) { + if (n == 0) { + return k.daten; + } + k = k.nachfolger; + n--; + } + return null; + } + + /** + * Hängt einen neuen Wert hinten an die Liste an. + * @param val Der anzuhängende Wert + */ + public void anhaengen(T val) + { + Listenknoten neu = new Listenknoten(val, null); + if (anfang == null) + { + anfang = neu; + } + else + { + Listenknoten k = anfang; + while (k.nachfolger != null) { + k = k.nachfolger; + } + k.nachfolger = neu; + } + } + + /** + * Fügt einen neuen Wert an einer gewünschten Stelle in der Liste ein. + * @param index Die Stelle, an der der neue Wert stehen soll (0 <= index <= laenge()) + * @param val Der einzufügende Wert + */ + public void einfuegenBei(int index, T val) + { + if (index == 0) + { + anfang = new Listenknoten(val, anfang); + } + else + { + Listenknoten k = anfang; + while (index > 1) { + if (k == null) { + return; + } + k = k.nachfolger; + index--; + } + if (k == null) { + return; + } + k.nachfolger = new Listenknoten(val, k.nachfolger); + } + } + + /** + * Gibt die Listenelemente hintereinander auf der Konsole aus. + */ + public void ausgeben() + { + Listenknoten k = anfang; + while (k != null) { + System.out.print(k.daten + " "); + k = k.nachfolger; + } + System.out.println(); + } + + /** + * Gibt zurück, ob ein Wert sich in der Liste befindet + * @param val Der zu suchende Wert + * @return true, wenn der Wert enthalten ist; false sonst + */ + public boolean enthaelt(T val) + { + Listenknoten k = anfang; + while (k != null) { + if (k.daten.equals(val)) { + return true; + } + k = k.nachfolger; + } + return false; + } + + /** + * Entfernt das Element, das am gegebenen Index steht, aus der Liste. + * @param index Die Stelle, von der der Wert entfernt werden soll. + */ + public void entferneBei(int index) + { + if (anfang == null) { + return; + } + if (index == 0) { + anfang = anfang.nachfolger; + } + else + { + Listenknoten tmp = anfang; + while (index > 1 && tmp != null) { + tmp = tmp.nachfolger; + index--; + } + if (tmp != null && tmp.nachfolger != null) { + tmp.nachfolger = tmp.nachfolger.nachfolger; + } + } + } +} \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeMitArray.java b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeMitArray.java new file mode 100644 index 0000000..736530f --- /dev/null +++ b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeMitArray.java @@ -0,0 +1,146 @@ +package liste; + +/** + * Eine ArrayList-artige Listenimplementation + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ListeMitArray extends Liste +{ + /** + * Das Array, das die Nutzdaten speichert + */ + private Object[] daten; + + /** + * Zähler, der angibt, wie viele der Werte im Array gültig sind + */ + private int anzahl; + + /** + * Erzeugt eine neue Liste + */ + public ListeMitArray() + { + daten = new Object[10]; + anzahl = 0; + } + + /** + * Gibt die Anzahl der Elemente der Liste zurück + */ + public int laenge() + { + return anzahl; + } + + /** + * Gibt die Listenelemente hintereinander auf der Konsole aus. + */ + public void ausgeben() + { + for (int i = 0; i < anzahl; i++) + { + System.out.print(daten[i] + " "); + } + System.out.println(); + } + + /** + * Fügt einen neuen Wert an einer gewünschten Stelle in der Liste ein. + * @param index Die Stelle, an der der neue Wert stehen soll (0 <= index <= laenge()) + * @param val Der einzufügende Wert + */ + public void einfuegenBei(int index, T val) + { + if (index >= 0 && index <= anzahl) + { + groessePruefen(); + for (int i = anzahl; i > index; i--) + { + daten[i] = daten[i-1]; + } + daten[index] = val; + anzahl++; + } + } + + /** + * Hängt einen neuen Wert hinten an die Liste an. + * @param val Der anzuhängende Wert + */ + public void anhaengen(T val) + { + einfuegenBei(anzahl, val); + } + + /** + * Gibt den n-ten Wert (0-basierte Zählweise) der Liste zurück. + * @param n Der Index des gewünschten Elements + * @return Den n-ten Wert + */ + public T getNtenWert(int n) + { + if (n >= 0 && n < anzahl) + { + return (T)daten[n]; + } + else + { + return null; + } + } + + private void groessePruefen() + { + if (anzahl >= daten.length) + { + Object[] tmp = new Object[daten.length*2]; + System.arraycopy(daten, 0, tmp, 0, anzahl); + daten = tmp; + } + } + + /** + * Entfernt das Element, das am gegebenen Index steht, aus der Liste. + * @param index Die Stelle, von der der Wert entfernt werden soll. + */ + public void entferneBei(int index) + { + if (index >= 0 && index < anzahl) + { + for (int i = index; i < anzahl-1; i++) + { + daten[i] = daten[i+1]; + } + anzahl--; + } + } + + /** + * Gibt zurück, ob ein Wert sich in der Liste befindet + * @param val Der zu suchende Wert + * @return true, wenn der Wert enthalten ist; false sonst + */ + public boolean enthaelt(T val) + { + for (int i = 0; i < anzahl; i++) + { + if (daten[i].equals(val)) + { + return true; + } + } + return false; + } + + /** + * Gibt zurück, ob die Liste leer ist. + * @return true, wenn die Liste keine Elemente enthält; false sonst + */ + public boolean istLeer() + { + return anzahl == 0; + } +} diff --git a/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeMitEnde.java b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeMitEnde.java new file mode 100644 index 0000000..3a9baba --- /dev/null +++ b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeMitEnde.java @@ -0,0 +1,126 @@ +package liste; + +/** + * Eine einfach verkettete Liste mit Verweis auf den letzten Knoten + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ListeMitEnde extends ListeIterativ +{ + /** + * Der letzte Knoten der Liste + */ + private Listenknoten ende; + + /** + * Erzeugt eine neue Liste + */ + public ListeMitEnde() + { + super(); + ende = null; + } + + /** + * Hängt einen neuen Wert hinten an die Liste an. + * @param val Der anzuhängende Wert + */ + public void anhaengen(T val) + { + Listenknoten neu = new Listenknoten(val, null); + if (anfang == null) + { + anfang = neu; + } + else + { + ende.nachfolger = neu; + } + ende = neu; + } + + /** + * Fügt einen neuen Wert an einer gewünschten Stelle in der Liste ein. + * @param index Die Stelle, an der der neue Wert stehen soll (0 <= index <= laenge()) + * @param val Der einzufügende Wert + */ + public void einfuegenBei(int index, T val) + { + if (index == 0) + { + anfang = new Listenknoten(val, anfang); + if (ende == null) + { + ende = anfang; + } + } + else + { + Listenknoten k = anfang; + while (index > 1) { + if (k == null) { + return; + } + k = k.nachfolger; + index--; + } + if (k == null) { + return; + } + Listenknoten neu = new Listenknoten(val, k.nachfolger); + k.nachfolger = neu; + if (k == ende) + { + ende = neu; + } + } + } + + /** + * Gibt zurück, ob die Liste leer ist. + * @return true, wenn die Liste keine Elemente enthält; false sonst + */ + public boolean istLeer() + { + return anfang == null && ende == null; + } + + /** + * Entfernt das Element, das am gegebenen Index steht, aus der Liste. + * @param index Die Stelle, von der der Wert entfernt werden soll. + */ + public void entferneBei(int index) + { + if (anfang == null) + { + return; + } + if (index == 0) + { + anfang = anfang.nachfolger; + if (anfang == null) + { + ende = null; + } + } + else + { + Listenknoten tmp = anfang; + while (index > 1 && tmp != null) + { + tmp = tmp.nachfolger; + index--; + } + + if (tmp != null && tmp.nachfolger != null) + { + tmp.nachfolger = tmp.nachfolger.nachfolger; + if (tmp.nachfolger == null) + { + ende = tmp; + } + } + } + } +} diff --git a/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeMitVerkettung.java b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeMitVerkettung.java new file mode 100644 index 0000000..9f92045 --- /dev/null +++ b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeMitVerkettung.java @@ -0,0 +1,32 @@ +package liste; + +/** + * Eine einfach verkettete Liste + * + * @author Rainer Helfrich + * @version (Oktober 2020) + */ +public abstract class ListeMitVerkettung extends Liste +{ + /** + * Der erste Knoten der Liste + */ + protected Listenknoten anfang; + + /** + * Erzeugt eine neue Liste + */ + public ListeMitVerkettung() + { + anfang = null; + } + + /** + * Gibt zurück, ob die Liste leer ist. + * @return true, wenn die Liste keine Elemente enthält; false sonst + */ + public boolean istLeer() + { + return anfang == null; + } +} diff --git a/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeRekursiv.java b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeRekursiv.java new file mode 100644 index 0000000..2f6c61a --- /dev/null +++ b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/ListeRekursiv.java @@ -0,0 +1,183 @@ +package liste; + +/** + * Eine einfach verkettete Liste, rekursiv implementiert + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ListeRekursiv extends ListeMitVerkettung +{ + /** + * Gibt die Anzahl der Elemente der Liste zurück + */ + public int laenge() + { + return laenge(anfang); + } + + private int laenge(Listenknoten k) + { + if (k == null) { + return 0; + } + return 1 + laenge(k.nachfolger); + } + + /** + * Gibt den n-ten Wert (0-basierte Zählweise) der Liste zurück. + * @param n Der Index des gewünschten Elements + * @return Den n-ten Wert + */ + public T getNtenWert(int n) + { + return getNtenWert(anfang, n); + } + + private T getNtenWert(Listenknoten k, int n) + { + if (n == 0) { + if (k == null) { + return null; + } + else { + return k.daten; + } + } + return getNtenWert(k.nachfolger, n-1); + } + + /** + * Hängt einen neuen Wert hinten an die Liste an. + * @param val Der anzuhängende Wert + */ + public void anhaengen(T val) + { + if (anfang == null) + { + anfang = new Listenknoten(val, null); + } + else + { + anhaengen(anfang, val); + } + } + + private void anhaengen(Listenknoten k, T val) + { + if (k == null) + { + return; + } + if (k.nachfolger == null) + { + k.nachfolger = new Listenknoten(val, null); + } + else + { + anhaengen(k.nachfolger, val); + } + } + + /** + * Fügt einen neuen Wert an einer gewünschten Stelle in der Liste ein. + * @param index Die Stelle, an der der neue Wert stehen soll (0 <= index <= laenge()) + * @param val Der einzufügende Wert + */ + public void einfuegenBei(int index, T val) + { + if (index == 0) + { + anfang = new Listenknoten(val, anfang); + } + else + { + einfuegenBei(anfang, index, val); + } + } + + private void einfuegenBei(Listenknoten k, int index, T val) + { + if (index == 1) + { + k.nachfolger = new Listenknoten(val, k.nachfolger); + } + else + { + einfuegenBei(k.nachfolger, index-1, val); + } + } + + /** + * Gibt die Listenelemente hintereinander auf der Konsole aus. + */ + public void ausgeben() + { + ausgeben(anfang); + } + + private void ausgeben(Listenknoten k) + { + if (k == null) { + System.out.println(); + } + else + { + System.out.print(k.daten + " "); + ausgeben(k.nachfolger); + } + } + + /** + * Gibt zurück, ob ein Wert sich in der Liste befindet + * @param val Der zu suchende Wert + * @return true, wenn der Wert enthalten ist; false sonst + */ + public boolean enthaelt(T val) + { + return enthaelt(anfang, val); + } + + private boolean enthaelt(Listenknoten k, T val) + { + if (k == null) { + return false; + } + if (k.daten.equals(val)) { + return true; + } + return enthaelt(k.nachfolger, val); + } + + /** + * Entfernt das Element, das am gegebenen Index steht, aus der Liste. + * @param index Die Stelle, von der der Wert entfernt werden soll. + */ + public void entferneBei(int index) + { + if (anfang == null) { + return; + } + if (index == 0) { + anfang = anfang.nachfolger; + } + else + { + entferneBei(anfang, index); + } + } + + private void entferneBei(Listenknoten k, int index) + { + if (k != null && k.nachfolger != null) { + if (index == 1) + { + k.nachfolger = k.nachfolger.nachfolger; + } + else + { + entferneBei(k.nachfolger, index-1); + } + } + } +} \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/Listenknoten.java b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/Listenknoten.java new file mode 100644 index 0000000..6dcba5a --- /dev/null +++ b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/Listenknoten.java @@ -0,0 +1,33 @@ +package liste; + +/** + * Ein Knoten einer verketteten Liste + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class Listenknoten +{ + /** + * Der Datenwert des Listenknotens + */ + public T daten; + + /** + * Der Nachfolger des Listenknotens + */ + public Listenknoten nachfolger; + + /** + * Erzeugt einen neuen Listenknoten + * + * @param daten Der Datenwert des Knotens + * @param nachfolger Der Nachfolger des Knotens + */ + public Listenknoten(T daten, Listenknoten nachfolger) + { + this.daten = daten; + this.nachfolger = nachfolger; + } + +} diff --git a/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/package.bluej b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/package.bluej new file mode 100644 index 0000000..7264372 --- /dev/null +++ b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/liste/package.bluej @@ -0,0 +1,81 @@ +#BlueJ package file +dependency1.from=ListeMitVerkettung +dependency1.to=Listenknoten +dependency1.type=UsesDependency +dependency2.from=ListeRekursiv +dependency2.to=Listenknoten +dependency2.type=UsesDependency +dependency3.from=ListeMitEnde +dependency3.to=Listenknoten +dependency3.type=UsesDependency +dependency4.from=ListeIterativ +dependency4.to=Listenknoten +dependency4.type=UsesDependency +objectbench.height=90 +objectbench.width=1269 +package.divider.horizontal=0.6 +package.divider.vertical=0.8310104529616724 +package.editor.height=470 +package.editor.width=1158 +package.editor.x=20 +package.editor.y=20 +package.frame.height=674 +package.frame.width=1309 +package.numDependencies=4 +package.numTargets=7 +package.showExtends=true +package.showUses=true +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=ListeMitArray +target1.showInterface=false +target1.type=ClassTarget +target1.width=140 +target1.x=530 +target1.y=260 +target2.height=50 +target2.name=ListeIterativ +target2.showInterface=false +target2.type=ClassTarget +target2.width=120 +target2.x=330 +target2.y=260 +target3.height=50 +target3.name=ListeMitVerkettung +target3.showInterface=false +target3.type=AbstractTarget +target3.width=170 +target3.x=250 +target3.y=170 +target4.height=50 +target4.name=Liste +target4.showInterface=false +target4.type=AbstractTarget +target4.width=80 +target4.x=460 +target4.y=80 +target5.height=50 +target5.name=ListeMitEnde +target5.showInterface=false +target5.type=ClassTarget +target5.width=150 +target5.x=410 +target5.y=360 +target6.height=50 +target6.name=ListeRekursiv +target6.showInterface=false +target6.type=ClassTarget +target6.width=130 +target6.x=150 +target6.y=260 +target7.height=50 +target7.name=Listenknoten +target7.showInterface=false +target7.type=ClassTarget +target7.width=170 +target7.x=240 +target7.y=40 diff --git a/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/package.bluej b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/package.bluej new file mode 100644 index 0000000..6540bc6 --- /dev/null +++ b/Quellcodes/Alg_DS_Listenvarianten/01_listenvarianten_benchmark_roh/package.bluej @@ -0,0 +1,85 @@ +#BlueJ package file +dependency1.from=SortiererTest +dependency1.to=SortierenMitBenchmark +dependency1.type=UsesDependency +dependency2.from=SortiererTest +dependency2.to=SelectionSort +dependency2.type=UsesDependency +dependency3.from=SortiererTest +dependency3.to=InsertionSort +dependency3.type=UsesDependency +dependency4.from=SortiererTest +dependency4.to=MergeSort +dependency4.type=UsesDependency +editor.fx.0.height=739 +editor.fx.0.width=816 +editor.fx.0.x=732 +editor.fx.0.y=137 +objectbench.height=138 +objectbench.width=1587 +package.divider.horizontal=0.6 +package.divider.vertical=0.8092105263157895 +package.editor.height=608 +package.editor.width=1476 +package.editor.x=264 +package.editor.y=206 +package.frame.height=860 +package.frame.width=1627 +package.numDependencies=4 +package.numTargets=7 +package.showExtends=false +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=SortiererTest +target1.showInterface=false +target1.type=ClassTarget +target1.width=110 +target1.x=310 +target1.y=90 +target2.height=62 +target2.name=liste +target2.type=PackageTarget +target2.width=80 +target2.x=80 +target2.y=100 +target3.height=50 +target3.name=SortierenMitBenchmark +target3.showInterface=false +target3.type=AbstractTarget +target3.width=170 +target3.x=400 +target3.y=190 +target4.height=50 +target4.name=Benchmark +target4.showInterface=false +target4.type=ClassTarget +target4.width=90 +target4.x=70 +target4.y=180 +target5.height=50 +target5.name=SelectionSort +target5.showInterface=false +target5.type=ClassTarget +target5.width=110 +target5.x=220 +target5.y=170 +target6.height=50 +target6.name=InsertionSort +target6.showInterface=false +target6.type=ClassTarget +target6.width=110 +target6.x=220 +target6.y=230 +target7.height=50 +target7.name=MergeSort +target7.showInterface=false +target7.type=ClassTarget +target7.width=90 +target7.x=240 +target7.y=290 diff --git a/Quellcodes/Alg_DS_Listenvarianten/readme.adoc b/Quellcodes/Alg_DS_Listenvarianten/readme.adoc new file mode 100644 index 0000000..849992d --- /dev/null +++ b/Quellcodes/Alg_DS_Listenvarianten/readme.adoc @@ -0,0 +1,11 @@ += Material : + +|=== +|Zuordnung| +|Klassenstufe| +|Bildungsplanbezug | +|Werkzeug| +|Autoren| +|=== + +== Inhalt diff --git a/Quellcodes/Alg_DS_Queue/.gitignore b/Quellcodes/Alg_DS_Queue/.gitignore new file mode 100644 index 0000000..2cc0cb6 --- /dev/null +++ b/Quellcodes/Alg_DS_Queue/.gitignore @@ -0,0 +1,7 @@ +**/*.sh +**/*.class +**/*.ctxt +repo.adoc +repo_subtree.adoc +/alt +/hide diff --git a/Quellcodes/Alg_DS_Queue/01_queue_roh/ArrayQueue.java b/Quellcodes/Alg_DS_Queue/01_queue_roh/ArrayQueue.java new file mode 100644 index 0000000..b204971 --- /dev/null +++ b/Quellcodes/Alg_DS_Queue/01_queue_roh/ArrayQueue.java @@ -0,0 +1,53 @@ + +/** + * Queue basierend auf einem Array + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ArrayQueue extends Queue +{ + /** + * Erzeugt eine neue, leere Queue + */ + public ArrayQueue() + { + + } + + /** + * Fügt ein neues Element hinten in der Schlange ein + * @param x Das neue Element + */ + public void enqueue(T x) + { + + } + + /** + * Gibt das vorderste Element der Queue zurück (falls sie nicht leer ist) + * @return Das vorderste Element + */ + public T front() + { + return null; + } + + /** + * Entfernt das vorderste Element aus der Queue (falls sie nicht leer ist) und gibt es zurück + * @return Das bisherige vorderste Element + */ + public T dequeue() + { + return null; + } + + /** + * Gibt zurück, ob die Queue leer ist + * @return true, wenn die Queue leer ist; false sonst + */ + public boolean isEmpty() + { + return false; + } +} diff --git a/Quellcodes/Alg_DS_Queue/01_queue_roh/ArrayQueueTester.java b/Quellcodes/Alg_DS_Queue/01_queue_roh/ArrayQueueTester.java new file mode 100644 index 0000000..0067c37 --- /dev/null +++ b/Quellcodes/Alg_DS_Queue/01_queue_roh/ArrayQueueTester.java @@ -0,0 +1,16 @@ +import org.junit.Before; + +/** + * Testklasse für die ArrayQueue + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ArrayQueueTester extends QueueTester +{ + @Before + public void setUp() + { + theQueue = new ArrayQueue(); + } +} diff --git a/Quellcodes/Alg_DS_Queue/01_queue_roh/LinkedQueue.java b/Quellcodes/Alg_DS_Queue/01_queue_roh/LinkedQueue.java new file mode 100644 index 0000000..d83c20a --- /dev/null +++ b/Quellcodes/Alg_DS_Queue/01_queue_roh/LinkedQueue.java @@ -0,0 +1,52 @@ + +/** + * Eine Queue basierend auf einer verketteten Liste + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class LinkedQueue extends Queue +{ + /** + * Erzeugt eine neue, leere Queue + */ + public LinkedQueue() + { + + } + + /** + * Gibt das vorderste Element der Queue zurück (falls sie nicht leer ist) + * @return Das vorderste Element + */ + public T front() + { + return null; + } + + /** + * Entfernt das vorderste Element aus der Queue (falls sie nicht leer ist) und gibt es zurück + * @return Das bisherige vorderste Element + */ + public T dequeue() + { + return null; + } + + /** + * Fügt ein neues Element hinten in der Schlange ein + * @param x Das neue Element + */ + public void enqueue(T x) + { + } + + /** + * Gibt zurück, ob die Queue leer ist + * @return true, wenn die Queue leer ist; false sonst + */ + public boolean isEmpty() + { + return false; + } +} diff --git a/Quellcodes/Alg_DS_Queue/01_queue_roh/LinkedQueueTester.java b/Quellcodes/Alg_DS_Queue/01_queue_roh/LinkedQueueTester.java new file mode 100644 index 0000000..186e60b --- /dev/null +++ b/Quellcodes/Alg_DS_Queue/01_queue_roh/LinkedQueueTester.java @@ -0,0 +1,16 @@ +import org.junit.Before; + +/** + * Testklasse für die LinkedQueue + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class LinkedQueueTester extends QueueTester +{ + @Before + public void setUp() + { + theQueue = new LinkedQueue(); + } +} \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Queue/01_queue_roh/Queue.java b/Quellcodes/Alg_DS_Queue/01_queue_roh/Queue.java new file mode 100644 index 0000000..7e60a9f --- /dev/null +++ b/Quellcodes/Alg_DS_Queue/01_queue_roh/Queue.java @@ -0,0 +1,32 @@ +/** + * Abstrakte Basisklasse für Queues + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public abstract class Queue +{ + /** + * Gibt zurück, ob die Queue leer ist + * @return true, wenn die Queue leer ist; false sonst + */ + public abstract boolean isEmpty(); + + /** + * Fügt ein neues Element hinten in der Schlange ein + * @param x Das neue Element + */ + public abstract void enqueue(T x); + + /** + * Entfernt das vorderste Element aus der Queue (falls sie nicht leer ist) und gibt es zurück + * @return Das bisherige vorderste Element + */ + public abstract T dequeue(); + + /** + * Gibt das vorderste Element der Queue zurück (falls sie nicht leer ist) + * @return Das vorderste Element + */ + public abstract T front(); +} diff --git a/Quellcodes/Alg_DS_Queue/01_queue_roh/QueueTester.java b/Quellcodes/Alg_DS_Queue/01_queue_roh/QueueTester.java new file mode 100644 index 0000000..7ce415c --- /dev/null +++ b/Quellcodes/Alg_DS_Queue/01_queue_roh/QueueTester.java @@ -0,0 +1,5004 @@ +import static org.junit.Assert.*; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/** + * Die Test-Klasse QueueTester. + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public abstract class QueueTester +{ + protected Queue theQueue; + + @Test + public void test01() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(25); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(77); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(621); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(672); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(601); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(975); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(254); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(385); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(493); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(322); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(581); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(432); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(25,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(77,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(77,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(621,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(672,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(601,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(975,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(254,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(385,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(493,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(322,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(581,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(432,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(979); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(979,theQueue.front().intValue()); + theQueue.enqueue(301); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(979,theQueue.front().intValue()); + theQueue.enqueue(352); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(979,theQueue.front().intValue()); + theQueue.enqueue(533); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(979,theQueue.front().intValue()); + theQueue.enqueue(146); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(979,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(979,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(301,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(352,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(533,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(146,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(406); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(406,theQueue.front().intValue()); + theQueue.enqueue(786); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(406,theQueue.front().intValue()); + theQueue.enqueue(897); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(406,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(406,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(786,theQueue.front().intValue()); + theQueue.enqueue(241); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(786,theQueue.front().intValue()); + theQueue.enqueue(924); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(786,theQueue.front().intValue()); + theQueue.enqueue(999); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(786,theQueue.front().intValue()); + theQueue.enqueue(808); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(786,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(786,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(897,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(241,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(924,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(999,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(808,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(47); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(47,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(47,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(312); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(312,theQueue.front().intValue()); + theQueue.enqueue(498); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(312,theQueue.front().intValue()); + theQueue.enqueue(551); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(312,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(312,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(498,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(551,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(69); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(69,theQueue.front().intValue()); + theQueue.enqueue(863); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(69,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(69,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(863,theQueue.front().intValue()); + theQueue.enqueue(924); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(863,theQueue.front().intValue()); + theQueue.enqueue(615); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(863,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(863,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(924,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(924,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(615,theQueue.front().intValue()); + theQueue.enqueue(281); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(615,theQueue.front().intValue()); + theQueue.enqueue(293); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(615,theQueue.front().intValue()); + theQueue.enqueue(928); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(615,theQueue.front().intValue()); + theQueue.enqueue(86); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(615,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(615,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(281,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(293,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(928,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(86,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(483); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + theQueue.enqueue(100); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + theQueue.enqueue(899); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(483,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(100,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(899,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(340); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(340,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(340,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(13); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(13,theQueue.front().intValue()); + theQueue.enqueue(596); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(13,theQueue.front().intValue()); + theQueue.enqueue(950); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(13,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(13,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(596,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(950,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(169); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(169,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(169,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(52); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(52,theQueue.front().intValue()); + theQueue.enqueue(574); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(52,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(52,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(574,theQueue.front().intValue()); + theQueue.enqueue(792); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(574,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(574,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + theQueue.enqueue(678); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + theQueue.enqueue(348); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + theQueue.enqueue(597); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + theQueue.enqueue(597); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + theQueue.enqueue(632); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + theQueue.enqueue(578); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + theQueue.enqueue(924); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + theQueue.enqueue(480); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + theQueue.enqueue(682); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(792,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(678,theQueue.front().intValue()); + theQueue.enqueue(276); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(678,theQueue.front().intValue()); + theQueue.enqueue(731); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(678,theQueue.front().intValue()); + theQueue.enqueue(941); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(678,theQueue.front().intValue()); + theQueue.enqueue(55); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(678,theQueue.front().intValue()); + theQueue.enqueue(897); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(678,theQueue.front().intValue()); + theQueue.enqueue(864); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(678,theQueue.front().intValue()); + theQueue.enqueue(640); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(678,theQueue.front().intValue()); + theQueue.enqueue(571); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(678,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(678,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(348,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(597,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(597,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(632,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(578,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(924,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(480,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(682,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(276,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(731,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(941,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(55,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(897,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(864,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(640,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(571,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(940); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(940,theQueue.front().intValue()); + theQueue.enqueue(926); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(940,theQueue.front().intValue()); + theQueue.enqueue(388); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(940,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(940,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(926,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(388,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(869); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(869,theQueue.front().intValue()); + theQueue.enqueue(109); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(869,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(869,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(109,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(109,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(33); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(33,theQueue.front().intValue()); + theQueue.enqueue(711); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(33,theQueue.front().intValue()); + theQueue.enqueue(253); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(33,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(33,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(711,theQueue.front().intValue()); + theQueue.enqueue(280); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(711,theQueue.front().intValue()); + theQueue.enqueue(899); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(711,theQueue.front().intValue()); + theQueue.enqueue(453); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(711,theQueue.front().intValue()); + } + + @Test + public void test02() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(295); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(295,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(295,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(6); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(6,theQueue.front().intValue()); + theQueue.enqueue(954); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(6,theQueue.front().intValue()); + theQueue.enqueue(907); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(6,theQueue.front().intValue()); + theQueue.enqueue(857); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(6,theQueue.front().intValue()); + theQueue.enqueue(164); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(6,theQueue.front().intValue()); + theQueue.enqueue(668); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(6,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(6,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(954,theQueue.front().intValue()); + theQueue.enqueue(869); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(954,theQueue.front().intValue()); + theQueue.enqueue(483); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(954,theQueue.front().intValue()); + theQueue.enqueue(353); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(954,theQueue.front().intValue()); + theQueue.enqueue(83); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(954,theQueue.front().intValue()); + theQueue.enqueue(730); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(954,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(954,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(907,theQueue.front().intValue()); + theQueue.enqueue(766); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(907,theQueue.front().intValue()); + theQueue.enqueue(405); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(907,theQueue.front().intValue()); + theQueue.enqueue(791); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(907,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(907,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(857,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(857,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(164,theQueue.front().intValue()); + theQueue.enqueue(503); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(164,theQueue.front().intValue()); + theQueue.enqueue(899); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(164,theQueue.front().intValue()); + theQueue.enqueue(880); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(164,theQueue.front().intValue()); + theQueue.enqueue(845); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(164,theQueue.front().intValue()); + theQueue.enqueue(137); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(164,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(164,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(668,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(668,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(869,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(869,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + theQueue.enqueue(889); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + theQueue.enqueue(461); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + theQueue.enqueue(143); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + theQueue.enqueue(242); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + theQueue.enqueue(986); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + theQueue.enqueue(491); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(483,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(353,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(83,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(730,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(766,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(405,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(791,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(503,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(899,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(880,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(845,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(137,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(889,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(461,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(143,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(242,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(986,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(491,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(35); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(35,theQueue.front().intValue()); + theQueue.enqueue(473); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(35,theQueue.front().intValue()); + theQueue.enqueue(870); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(35,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(35,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(473,theQueue.front().intValue()); + theQueue.enqueue(332); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(473,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(473,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(870,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(870,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(332,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(851); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(851,theQueue.front().intValue()); + theQueue.enqueue(752); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(851,theQueue.front().intValue()); + theQueue.enqueue(756); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(851,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(851,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(752,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(756,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(970); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(970,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(970,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(227); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(227,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(227,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(453); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(453,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(453,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(584); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(584,theQueue.front().intValue()); + theQueue.enqueue(882); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(584,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(584,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(882,theQueue.front().intValue()); + theQueue.enqueue(134); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(882,theQueue.front().intValue()); + theQueue.enqueue(514); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(882,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(882,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(134,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(134,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(514,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(79); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(79,theQueue.front().intValue()); + theQueue.enqueue(990); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(79,theQueue.front().intValue()); + theQueue.enqueue(574); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(79,theQueue.front().intValue()); + theQueue.enqueue(146); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(79,theQueue.front().intValue()); + theQueue.enqueue(967); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(79,theQueue.front().intValue()); + theQueue.enqueue(597); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(79,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(79,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(990,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(990,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(574,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(146,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(967,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(597,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(725); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(725,theQueue.front().intValue()); + theQueue.enqueue(482); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(725,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(725,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(482,theQueue.front().intValue()); + theQueue.enqueue(662); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(482,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(482,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(662,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(662,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(482); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(482,theQueue.front().intValue()); + theQueue.enqueue(643); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(482,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(482,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(643,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(862); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(862,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(862,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(573); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(573,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(573,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(845); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(845,theQueue.front().intValue()); + theQueue.enqueue(109); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(845,theQueue.front().intValue()); + theQueue.enqueue(326); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(845,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(845,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(109,theQueue.front().intValue()); + theQueue.enqueue(404); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(109,theQueue.front().intValue()); + theQueue.enqueue(398); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(109,theQueue.front().intValue()); + theQueue.enqueue(251); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(109,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(109,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(326,theQueue.front().intValue()); + theQueue.enqueue(836); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(326,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(326,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(404,theQueue.front().intValue()); + theQueue.enqueue(71); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(404,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(404,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(398,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(398,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(251,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(836,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(71,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(166); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(166,theQueue.front().intValue()); + theQueue.enqueue(642); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(166,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(166,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(642,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(642,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(690); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(690,theQueue.front().intValue()); + } + + @Test + public void test03() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(474); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + theQueue.enqueue(708); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + theQueue.enqueue(120); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + theQueue.enqueue(368); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + theQueue.enqueue(844); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + theQueue.enqueue(816); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(474,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(708,theQueue.front().intValue()); + theQueue.enqueue(100); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(708,theQueue.front().intValue()); + theQueue.enqueue(497); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(708,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(708,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(120,theQueue.front().intValue()); + theQueue.enqueue(491); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(120,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(120,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(368,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(368,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(844,theQueue.front().intValue()); + theQueue.enqueue(504); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(844,theQueue.front().intValue()); + theQueue.enqueue(647); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(844,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(844,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(816,theQueue.front().intValue()); + theQueue.enqueue(219); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(816,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(816,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(100,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(497,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(491,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(504,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(647,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(219,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(474); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + theQueue.enqueue(328); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + theQueue.enqueue(429); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + theQueue.enqueue(890); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(474,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(328,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(429,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(890,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(863); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(863,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(863,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(426); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(426,theQueue.front().intValue()); + theQueue.enqueue(699); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(426,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(426,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(699,theQueue.front().intValue()); + theQueue.enqueue(988); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(699,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(699,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(988,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(564); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(564,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(564,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(912); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(912,theQueue.front().intValue()); + theQueue.enqueue(0); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(912,theQueue.front().intValue()); + theQueue.enqueue(906); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(912,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(912,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(0,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(0,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(906,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(197); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(197,theQueue.front().intValue()); + theQueue.enqueue(940); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(197,theQueue.front().intValue()); + theQueue.enqueue(229); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(197,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(197,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(940,theQueue.front().intValue()); + theQueue.enqueue(231); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(940,theQueue.front().intValue()); + theQueue.enqueue(722); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(940,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(940,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(68); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(977); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(294); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(670); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(494); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(243); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(169); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(159); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(189); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(623); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(564); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(229,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(231,theQueue.front().intValue()); + theQueue.enqueue(544); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(231,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(231,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(722,theQueue.front().intValue()); + theQueue.enqueue(922); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(722,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(722,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(68,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(68,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(977,theQueue.front().intValue()); + theQueue.enqueue(237); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(977,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(977,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(294,theQueue.front().intValue()); + theQueue.enqueue(515); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(294,theQueue.front().intValue()); + theQueue.enqueue(886); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(294,theQueue.front().intValue()); + theQueue.enqueue(930); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(294,theQueue.front().intValue()); + theQueue.enqueue(874); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(294,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(294,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(670,theQueue.front().intValue()); + theQueue.enqueue(144); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(670,theQueue.front().intValue()); + theQueue.enqueue(185); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(670,theQueue.front().intValue()); + theQueue.enqueue(796); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(670,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(670,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(494,theQueue.front().intValue()); + theQueue.enqueue(833); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(494,theQueue.front().intValue()); + theQueue.enqueue(395); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(494,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(494,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(243,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(243,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(169,theQueue.front().intValue()); + theQueue.enqueue(909); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(169,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(169,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(159,theQueue.front().intValue()); + theQueue.enqueue(679); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(159,theQueue.front().intValue()); + theQueue.enqueue(940); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(159,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(159,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(189,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(189,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(623,theQueue.front().intValue()); + theQueue.enqueue(831); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(623,theQueue.front().intValue()); + theQueue.enqueue(654); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(623,theQueue.front().intValue()); + theQueue.enqueue(5); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(623,theQueue.front().intValue()); + theQueue.enqueue(275); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(623,theQueue.front().intValue()); + theQueue.enqueue(675); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(623,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(623,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(564,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(544,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(922,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(237,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(515,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(886,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(930,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(874,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(144,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(185,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(796,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(833,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(395,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(909,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(679,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(940,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(831,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(654,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(5,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(275,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(675,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(383); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(383,theQueue.front().intValue()); + theQueue.enqueue(974); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(383,theQueue.front().intValue()); + theQueue.enqueue(99); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(383,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(383,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(974,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(99,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(635); + assertFalse(theQueue.isEmpty()); + + assertNotNull(theQueue.front()); + assertEquals(635,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(635,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(504); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(504,theQueue.front().intValue()); + theQueue.enqueue(896); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(504,theQueue.front().intValue()); + theQueue.enqueue(77); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(504,theQueue.front().intValue()); + theQueue.enqueue(312); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(504,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(504,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(896,theQueue.front().intValue()); + } + + @Test + public void test04() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(723); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(723,theQueue.front().intValue()); + theQueue.enqueue(537); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(723,theQueue.front().intValue()); + theQueue.enqueue(78); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(723,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(723,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(537,theQueue.front().intValue()); + theQueue.enqueue(386); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(537,theQueue.front().intValue()); + theQueue.enqueue(483); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(537,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(537,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(78,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(386,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(483,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(569); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(569,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(569,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(906); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(906,theQueue.front().intValue()); + theQueue.enqueue(192); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(906,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(906,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(192,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(665); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(665,theQueue.front().intValue()); + theQueue.enqueue(398); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(665,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(665,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(398,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(398,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(23); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(23,theQueue.front().intValue()); + theQueue.enqueue(970); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(23,theQueue.front().intValue()); + theQueue.enqueue(656); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(23,theQueue.front().intValue()); + theQueue.enqueue(235); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(23,theQueue.front().intValue()); + theQueue.enqueue(797); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(23,theQueue.front().intValue()); + theQueue.enqueue(210); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(23,theQueue.front().intValue()); + theQueue.enqueue(59); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(23,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(23,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(970,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(656,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(235,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(797,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(210,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(59,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(506); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(506,theQueue.front().intValue()); + theQueue.enqueue(938); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(506,theQueue.front().intValue()); + theQueue.enqueue(135); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(506,theQueue.front().intValue()); + theQueue.enqueue(126); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(506,theQueue.front().intValue()); + theQueue.enqueue(573); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(506,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(506,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(938,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(938,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(135,theQueue.front().intValue()); + theQueue.enqueue(920); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(135,theQueue.front().intValue()); + theQueue.enqueue(412); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(135,theQueue.front().intValue()); + theQueue.enqueue(5); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(135,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(135,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(126,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(126,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(573,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(920,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(412,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(5,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(145); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(145,theQueue.front().intValue()); + theQueue.enqueue(616); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(145,theQueue.front().intValue()); + theQueue.enqueue(885); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(145,theQueue.front().intValue()); + theQueue.enqueue(74); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(145,theQueue.front().intValue()); + theQueue.enqueue(843); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(145,theQueue.front().intValue()); + theQueue.enqueue(926); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(145,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(145,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(616,theQueue.front().intValue()); + theQueue.enqueue(520); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(616,theQueue.front().intValue()); + theQueue.enqueue(24); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(616,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(616,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(885,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(74,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(843,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(926,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(520,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(24,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(898); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(898,theQueue.front().intValue()); + theQueue.enqueue(547); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(898,theQueue.front().intValue()); + theQueue.enqueue(621); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(898,theQueue.front().intValue()); + theQueue.enqueue(170); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(898,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(898,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(547,theQueue.front().intValue()); + theQueue.enqueue(537); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(547,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(547,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(621,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(621,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(170,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(537,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(936); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(936,theQueue.front().intValue()); + theQueue.enqueue(239); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(936,theQueue.front().intValue()); + theQueue.enqueue(909); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(936,theQueue.front().intValue()); + theQueue.enqueue(114); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(936,theQueue.front().intValue()); + theQueue.enqueue(165); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(936,theQueue.front().intValue()); + theQueue.enqueue(420); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(936,theQueue.front().intValue()); + theQueue.enqueue(362); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(936,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(936,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(239,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(909,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(114,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(165,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(420,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(362,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(344); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(344,theQueue.front().intValue()); + theQueue.enqueue(284); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(344,theQueue.front().intValue()); + theQueue.enqueue(292); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(344,theQueue.front().intValue()); + theQueue.enqueue(572); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(344,theQueue.front().intValue()); + theQueue.enqueue(306); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(344,theQueue.front().intValue()); + theQueue.enqueue(557); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(344,theQueue.front().intValue()); + theQueue.enqueue(321); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(344,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(344,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(284,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(292,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(572,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(306,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(557,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(321,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(605); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(605,theQueue.front().intValue()); + theQueue.enqueue(387); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(605,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(605,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(387,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(387,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(509); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(509,theQueue.front().intValue()); + theQueue.enqueue(498); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(509,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(509,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(498,theQueue.front().intValue()); + theQueue.enqueue(374); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(498,theQueue.front().intValue()); + theQueue.enqueue(421); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(498,theQueue.front().intValue()); + theQueue.enqueue(604); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(498,theQueue.front().intValue()); + theQueue.enqueue(555); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(498,theQueue.front().intValue()); + theQueue.enqueue(1); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(498,theQueue.front().intValue()); + theQueue.enqueue(881); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(498,theQueue.front().intValue()); + theQueue.enqueue(372); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(498,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(498,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(374,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(374,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(421,theQueue.front().intValue()); + theQueue.enqueue(685); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(421,theQueue.front().intValue()); + theQueue.enqueue(187); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(421,theQueue.front().intValue()); + theQueue.enqueue(498); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(421,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(421,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(604,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(604,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(555,theQueue.front().intValue()); + theQueue.enqueue(659); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(555,theQueue.front().intValue()); + theQueue.enqueue(62); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(555,theQueue.front().intValue()); + theQueue.enqueue(868); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(555,theQueue.front().intValue()); + theQueue.enqueue(34); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(555,theQueue.front().intValue()); + theQueue.enqueue(799); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(555,theQueue.front().intValue()); + } + + @Test + public void test05() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(302); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(302,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(302,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(376); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(376,theQueue.front().intValue()); + theQueue.enqueue(858); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(376,theQueue.front().intValue()); + theQueue.enqueue(488); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(376,theQueue.front().intValue()); + theQueue.enqueue(673); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(376,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(376,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(858,theQueue.front().intValue()); + theQueue.enqueue(374); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(858,theQueue.front().intValue()); + theQueue.enqueue(557); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(858,theQueue.front().intValue()); + theQueue.enqueue(766); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(858,theQueue.front().intValue()); + theQueue.enqueue(914); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(858,theQueue.front().intValue()); + theQueue.enqueue(447); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(858,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(858,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(488,theQueue.front().intValue()); + theQueue.enqueue(564); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(488,theQueue.front().intValue()); + theQueue.enqueue(390); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(488,theQueue.front().intValue()); + theQueue.enqueue(892); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(488,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(488,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(434); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(96); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(642); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(144); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(664); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(751); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(492); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(339); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(801); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(244); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(806); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(612); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(511); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(673,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(374,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(557,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(766,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(914,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(447,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(564,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(390,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(892,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(434,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(96,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(642,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(144,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(664,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(751,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(492,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(339,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(801,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(244,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(806,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(612,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(511,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(821); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(821,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(821,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(564); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(564,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(564,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(60); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(60,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(60,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(514); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(514,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(514,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(727); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(727,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(727,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(377); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(377,theQueue.front().intValue()); + theQueue.enqueue(846); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(377,theQueue.front().intValue()); + theQueue.enqueue(990); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(377,theQueue.front().intValue()); + theQueue.enqueue(904); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(377,theQueue.front().intValue()); + theQueue.enqueue(271); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(377,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(377,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(846,theQueue.front().intValue()); + theQueue.enqueue(732); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(846,theQueue.front().intValue()); + theQueue.enqueue(37); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(846,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(846,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(990,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(904,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(271,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(732,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(37,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(967); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(967,theQueue.front().intValue()); + theQueue.enqueue(62); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(967,theQueue.front().intValue()); + theQueue.enqueue(661); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(967,theQueue.front().intValue()); + theQueue.enqueue(139); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(967,theQueue.front().intValue()); + theQueue.enqueue(924); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(967,theQueue.front().intValue()); + theQueue.enqueue(106); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(967,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(967,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(62,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(62,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(661,theQueue.front().intValue()); + theQueue.enqueue(64); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(661,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(661,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(139,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(924,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(106,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(64,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(848); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(848,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(848,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(864); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(864,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(864,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(864); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(864,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(864,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(804); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(804,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(804,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(37); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(37,theQueue.front().intValue()); + theQueue.enqueue(909); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(37,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(37,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(909,theQueue.front().intValue()); + theQueue.enqueue(510); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(909,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(909,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(510,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(706); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(706,theQueue.front().intValue()); + theQueue.enqueue(978); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(706,theQueue.front().intValue()); + theQueue.enqueue(769); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(706,theQueue.front().intValue()); + theQueue.enqueue(863); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(706,theQueue.front().intValue()); + theQueue.enqueue(516); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(706,theQueue.front().intValue()); + theQueue.enqueue(783); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(706,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(706,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(978,theQueue.front().intValue()); + theQueue.enqueue(276); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(978,theQueue.front().intValue()); + theQueue.enqueue(74); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(978,theQueue.front().intValue()); + theQueue.enqueue(311); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(978,theQueue.front().intValue()); + theQueue.enqueue(350); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(978,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(978,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(769,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(863,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(516,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(783,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(276,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(74,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(311,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(350,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(773); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(773,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(773,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(424); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(424,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(424,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(416); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(416,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(416,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(420); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(420,theQueue.front().intValue()); + theQueue.enqueue(837); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(420,theQueue.front().intValue()); + theQueue.enqueue(319); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(420,theQueue.front().intValue()); + theQueue.enqueue(879); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(420,theQueue.front().intValue()); + theQueue.enqueue(142); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(420,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(420,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(837,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(837,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(319,theQueue.front().intValue()); + theQueue.enqueue(464); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(319,theQueue.front().intValue()); + } + + @Test + public void test06() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(212); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(212,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(212,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(555); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(555,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(555,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(721); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(721,theQueue.front().intValue()); + theQueue.enqueue(205); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(721,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(721,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(205,theQueue.front().intValue()); + theQueue.enqueue(896); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(205,theQueue.front().intValue()); + theQueue.enqueue(667); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(205,theQueue.front().intValue()); + theQueue.enqueue(343); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(205,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(205,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(896,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(896,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(667,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(343,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(932); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(834); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(580); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(120); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(622); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(219); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(133); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(902); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(857); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(898); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(505); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(932,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(834,theQueue.front().intValue()); + theQueue.enqueue(156); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(834,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(834,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(580,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(120,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(622,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(219,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(133,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(902,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(857,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(898,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(505,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(156,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(431); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(431,theQueue.front().intValue()); + theQueue.enqueue(578); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(431,theQueue.front().intValue()); + theQueue.enqueue(611); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(431,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(431,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(578,theQueue.front().intValue()); + theQueue.enqueue(542); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(578,theQueue.front().intValue()); + theQueue.enqueue(838); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(578,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(578,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(611,theQueue.front().intValue()); + theQueue.enqueue(237); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(611,theQueue.front().intValue()); + theQueue.enqueue(387); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(611,theQueue.front().intValue()); + theQueue.enqueue(946); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(611,theQueue.front().intValue()); + theQueue.enqueue(311); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(611,theQueue.front().intValue()); + theQueue.enqueue(404); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(611,theQueue.front().intValue()); + theQueue.enqueue(800); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(611,theQueue.front().intValue()); + theQueue.enqueue(433); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(611,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(611,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(542,theQueue.front().intValue()); + theQueue.enqueue(215); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(542,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(542,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(838,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(838,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(237,theQueue.front().intValue()); + theQueue.enqueue(542); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(237,theQueue.front().intValue()); + theQueue.enqueue(424); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(237,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(237,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(387,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(946,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(311,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(404,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(800,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(433,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(215,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(542,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(424,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(991); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(991,theQueue.front().intValue()); + theQueue.enqueue(204); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(991,theQueue.front().intValue()); + theQueue.enqueue(695); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(991,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(991,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(204,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(695,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(6); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(6,theQueue.front().intValue()); + theQueue.enqueue(51); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(6,theQueue.front().intValue()); + theQueue.enqueue(261); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(6,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(6,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(51,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(261,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(753); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(753,theQueue.front().intValue()); + theQueue.enqueue(292); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(753,theQueue.front().intValue()); + theQueue.enqueue(34); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(753,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(753,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(292,theQueue.front().intValue()); + theQueue.enqueue(744); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(292,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(292,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(34,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(34,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(744,theQueue.front().intValue()); + theQueue.enqueue(790); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(744,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(744,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(790,theQueue.front().intValue()); + theQueue.enqueue(579); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(790,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(790,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(579,theQueue.front().intValue()); + theQueue.enqueue(906); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(579,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(579,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(906,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(335); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(335,theQueue.front().intValue()); + theQueue.enqueue(460); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(335,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(335,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(460,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(614); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(614,theQueue.front().intValue()); + theQueue.enqueue(874); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(614,theQueue.front().intValue()); + theQueue.enqueue(375); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(614,theQueue.front().intValue()); + theQueue.enqueue(908); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(614,theQueue.front().intValue()); + theQueue.enqueue(651); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(614,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(614,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(874,theQueue.front().intValue()); + theQueue.enqueue(356); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(874,theQueue.front().intValue()); + theQueue.enqueue(661); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(874,theQueue.front().intValue()); + theQueue.enqueue(113); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(874,theQueue.front().intValue()); + theQueue.enqueue(200); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(874,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(874,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(375,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(908,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(651,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(356,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(661,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(113,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(200,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(598); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(29); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(960); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(147); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(713); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(820); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(598,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(29,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(960,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(147,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(713,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(820,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(562); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(562,theQueue.front().intValue()); + theQueue.enqueue(411); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(562,theQueue.front().intValue()); + theQueue.enqueue(399); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(562,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(562,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(411,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(399,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(334); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(334,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(334,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(778); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(778,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(778,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(386); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(386,theQueue.front().intValue()); + theQueue.enqueue(613); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(386,theQueue.front().intValue()); + } + + @Test + public void test07() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(642); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(642,theQueue.front().intValue()); + theQueue.enqueue(189); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(642,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(642,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(189,theQueue.front().intValue()); + theQueue.enqueue(68); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(189,theQueue.front().intValue()); + theQueue.enqueue(533); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(189,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(189,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(68,theQueue.front().intValue()); + theQueue.enqueue(4); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(68,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(68,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(533,theQueue.front().intValue()); + theQueue.enqueue(533); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(533,theQueue.front().intValue()); + theQueue.enqueue(747); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(533,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(533,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + theQueue.enqueue(345); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + theQueue.enqueue(370); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + theQueue.enqueue(531); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + theQueue.enqueue(217); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + theQueue.enqueue(569); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + theQueue.enqueue(902); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + theQueue.enqueue(712); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + theQueue.enqueue(569); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + theQueue.enqueue(852); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(4,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(533,theQueue.front().intValue()); + theQueue.enqueue(27); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(533,theQueue.front().intValue()); + theQueue.enqueue(833); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(533,theQueue.front().intValue()); + theQueue.enqueue(839); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(533,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(533,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(747,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(345,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(370,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(531,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(217,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(569,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(902,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(712,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(569,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(852,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(27,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(833,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(839,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(152); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(152,theQueue.front().intValue()); + theQueue.enqueue(646); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(152,theQueue.front().intValue()); + theQueue.enqueue(405); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(152,theQueue.front().intValue()); + theQueue.enqueue(226); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(152,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(152,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(646,theQueue.front().intValue()); + theQueue.enqueue(66); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(646,theQueue.front().intValue()); + theQueue.enqueue(206); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(646,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(646,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(405,theQueue.front().intValue()); + theQueue.enqueue(495); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(405,theQueue.front().intValue()); + theQueue.enqueue(152); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(405,theQueue.front().intValue()); + theQueue.enqueue(454); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(405,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(405,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(226,theQueue.front().intValue()); + theQueue.enqueue(483); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(226,theQueue.front().intValue()); + theQueue.enqueue(331); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(226,theQueue.front().intValue()); + theQueue.enqueue(736); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(226,theQueue.front().intValue()); + theQueue.enqueue(627); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(226,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(226,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(66,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(206,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(495,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(152,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(454,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(483,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(331,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(736,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(627,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(350); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(350,theQueue.front().intValue()); + theQueue.enqueue(37); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(350,theQueue.front().intValue()); + theQueue.enqueue(277); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(350,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(350,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(37,theQueue.front().intValue()); + theQueue.enqueue(667); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(37,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(37,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(277,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(667,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(712); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(712,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(712,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(566); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(566,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(566,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(853); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(853,theQueue.front().intValue()); + theQueue.enqueue(12); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(853,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(853,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(12,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(179); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(179,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(179,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(767); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(767,theQueue.front().intValue()); + theQueue.enqueue(927); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(767,theQueue.front().intValue()); + theQueue.enqueue(397); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(767,theQueue.front().intValue()); + theQueue.enqueue(961); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(767,theQueue.front().intValue()); + theQueue.enqueue(423); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(767,theQueue.front().intValue()); + theQueue.enqueue(781); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(767,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(767,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(927,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(397,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(961,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(423,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(781,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(555); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(555,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(555,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(634); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(634,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(634,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(525); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(525,theQueue.front().intValue()); + theQueue.enqueue(185); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(525,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(525,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(185,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(832); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(832,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(832,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(52); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(52,theQueue.front().intValue()); + theQueue.enqueue(307); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(52,theQueue.front().intValue()); + theQueue.enqueue(306); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(52,theQueue.front().intValue()); + theQueue.enqueue(837); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(52,theQueue.front().intValue()); + theQueue.enqueue(902); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(52,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(52,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(307,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(306,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(837,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(902,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(945); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(945,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(945,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(178); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(178,theQueue.front().intValue()); + theQueue.enqueue(483); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(178,theQueue.front().intValue()); + theQueue.enqueue(107); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(178,theQueue.front().intValue()); + theQueue.enqueue(606); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(178,theQueue.front().intValue()); + theQueue.enqueue(452); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(178,theQueue.front().intValue()); + theQueue.enqueue(973); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(178,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(178,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(483,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(107,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(606,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(452,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(973,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(635); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(635,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(635,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(391); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(391,theQueue.front().intValue()); + theQueue.enqueue(311); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(391,theQueue.front().intValue()); + theQueue.enqueue(989); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(391,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(391,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(311,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(311,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(989,theQueue.front().intValue()); + theQueue.enqueue(856); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(989,theQueue.front().intValue()); + } + + @Test + public void test08() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(493); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(493,theQueue.front().intValue()); + theQueue.enqueue(288); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(493,theQueue.front().intValue()); + theQueue.enqueue(72); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(493,theQueue.front().intValue()); + theQueue.enqueue(576); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(493,theQueue.front().intValue()); + theQueue.enqueue(26); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(493,theQueue.front().intValue()); + theQueue.enqueue(502); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(493,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(493,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(288,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(72,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(576,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(26,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(502,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(69); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(69,theQueue.front().intValue()); + theQueue.enqueue(908); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(69,theQueue.front().intValue()); + theQueue.enqueue(717); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(69,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(69,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(908,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(717,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(513); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(513,theQueue.front().intValue()); + theQueue.enqueue(101); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(513,theQueue.front().intValue()); + theQueue.enqueue(158); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(513,theQueue.front().intValue()); + theQueue.enqueue(876); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(513,theQueue.front().intValue()); + theQueue.enqueue(459); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(513,theQueue.front().intValue()); + theQueue.enqueue(72); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(513,theQueue.front().intValue()); + theQueue.enqueue(928); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(513,theQueue.front().intValue()); + theQueue.enqueue(91); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(513,theQueue.front().intValue()); + theQueue.enqueue(911); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(513,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(513,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(101,theQueue.front().intValue()); + theQueue.enqueue(558); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(101,theQueue.front().intValue()); + theQueue.enqueue(103); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(101,theQueue.front().intValue()); + theQueue.enqueue(67); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(101,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(101,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(158,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(876,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(459,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(72,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(928,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(91,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(911,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(558,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(103,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(67,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(515); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(515,theQueue.front().intValue()); + theQueue.enqueue(797); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(515,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(515,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(797,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(821); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(821,theQueue.front().intValue()); + theQueue.enqueue(425); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(821,theQueue.front().intValue()); + theQueue.enqueue(266); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(821,theQueue.front().intValue()); + theQueue.enqueue(598); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(821,theQueue.front().intValue()); + theQueue.enqueue(332); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(821,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(821,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(425,theQueue.front().intValue()); + theQueue.enqueue(41); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(425,theQueue.front().intValue()); + theQueue.enqueue(848); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(425,theQueue.front().intValue()); + theQueue.enqueue(531); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(425,theQueue.front().intValue()); + theQueue.enqueue(478); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(425,theQueue.front().intValue()); + theQueue.enqueue(794); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(425,theQueue.front().intValue()); + theQueue.enqueue(834); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(425,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(425,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(266,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(598,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(332,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(41,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(848,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(531,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(478,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(794,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(834,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(138); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(138,theQueue.front().intValue()); + theQueue.enqueue(794); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(138,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(138,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(794,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(794,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(986); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(986,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(986,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(904); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(904,theQueue.front().intValue()); + theQueue.enqueue(297); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(904,theQueue.front().intValue()); + theQueue.enqueue(824); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(904,theQueue.front().intValue()); + theQueue.enqueue(999); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(904,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(904,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(297,theQueue.front().intValue()); + theQueue.enqueue(645); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(297,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(297,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(824,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(999,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(645,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(839); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(839,theQueue.front().intValue()); + theQueue.enqueue(521); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(839,theQueue.front().intValue()); + theQueue.enqueue(581); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(839,theQueue.front().intValue()); + theQueue.enqueue(915); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(839,theQueue.front().intValue()); + theQueue.enqueue(199); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(839,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(839,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(521,theQueue.front().intValue()); + theQueue.enqueue(474); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(521,theQueue.front().intValue()); + theQueue.enqueue(655); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(521,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(521,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(581,theQueue.front().intValue()); + theQueue.enqueue(373); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(581,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(581,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(915,theQueue.front().intValue()); + theQueue.enqueue(231); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(915,theQueue.front().intValue()); + theQueue.enqueue(409); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(915,theQueue.front().intValue()); + theQueue.enqueue(582); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(915,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(915,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(199,theQueue.front().intValue()); + theQueue.enqueue(49); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(199,theQueue.front().intValue()); + theQueue.enqueue(880); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(199,theQueue.front().intValue()); + theQueue.enqueue(767); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(199,theQueue.front().intValue()); + theQueue.enqueue(242); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(199,theQueue.front().intValue()); + theQueue.enqueue(771); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(199,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(199,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(474,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(655,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(373,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(231,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(409,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(582,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(49,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(880,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(767,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(242,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(771,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(48); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(48,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(48,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(0); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(0,theQueue.front().intValue()); + theQueue.enqueue(25); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(0,theQueue.front().intValue()); + theQueue.enqueue(869); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(0,theQueue.front().intValue()); + theQueue.enqueue(191); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(0,theQueue.front().intValue()); + theQueue.enqueue(4); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(0,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(0,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(25,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(869,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(191,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(4,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(909); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(909,theQueue.front().intValue()); + theQueue.enqueue(947); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(909,theQueue.front().intValue()); + theQueue.enqueue(935); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(909,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(909,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(947,theQueue.front().intValue()); + theQueue.enqueue(816); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(947,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(947,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(935,theQueue.front().intValue()); + theQueue.enqueue(853); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(935,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(935,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(816,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(853,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(411); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(411,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(411,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(206); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(206,theQueue.front().intValue()); + theQueue.enqueue(511); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(206,theQueue.front().intValue()); + theQueue.enqueue(122); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(206,theQueue.front().intValue()); + theQueue.enqueue(499); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(206,theQueue.front().intValue()); + } + + @Test + public void test09() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(436); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(436,theQueue.front().intValue()); + theQueue.enqueue(622); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(436,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(436,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(622,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(664); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(664,theQueue.front().intValue()); + theQueue.enqueue(114); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(664,theQueue.front().intValue()); + theQueue.enqueue(168); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(664,theQueue.front().intValue()); + theQueue.enqueue(259); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(664,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(664,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(114,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(168,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(259,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(747); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(747,theQueue.front().intValue()); + theQueue.enqueue(724); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(747,theQueue.front().intValue()); + theQueue.enqueue(255); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(747,theQueue.front().intValue()); + theQueue.enqueue(638); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(747,theQueue.front().intValue()); + theQueue.enqueue(8); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(747,theQueue.front().intValue()); + theQueue.enqueue(455); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(747,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(747,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(724,theQueue.front().intValue()); + theQueue.enqueue(397); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(724,theQueue.front().intValue()); + theQueue.enqueue(916); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(724,theQueue.front().intValue()); + theQueue.enqueue(206); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(724,theQueue.front().intValue()); + theQueue.enqueue(49); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(724,theQueue.front().intValue()); + theQueue.enqueue(347); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(724,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(724,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(255,theQueue.front().intValue()); + theQueue.enqueue(817); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(255,theQueue.front().intValue()); + theQueue.enqueue(561); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(255,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(255,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(638,theQueue.front().intValue()); + theQueue.enqueue(994); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(638,theQueue.front().intValue()); + theQueue.enqueue(957); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(638,theQueue.front().intValue()); + theQueue.enqueue(380); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(638,theQueue.front().intValue()); + theQueue.enqueue(729); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(638,theQueue.front().intValue()); + theQueue.enqueue(231); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(638,theQueue.front().intValue()); + theQueue.enqueue(906); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(638,theQueue.front().intValue()); + theQueue.enqueue(473); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(638,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(638,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(8,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(455,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(397,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(916,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(206,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(49,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(347,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(817,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(561,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(994,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(957,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(380,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(729,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(231,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(906,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(473,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(886); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(886,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(886,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(27); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(27,theQueue.front().intValue()); + theQueue.enqueue(913); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(27,theQueue.front().intValue()); + theQueue.enqueue(544); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(27,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(27,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(913,theQueue.front().intValue()); + theQueue.enqueue(666); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(913,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(913,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(544,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(666,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(343); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(343,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(343,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(123); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(123,theQueue.front().intValue()); + theQueue.enqueue(867); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(123,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(123,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(867,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(808); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(808,theQueue.front().intValue()); + theQueue.enqueue(497); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(808,theQueue.front().intValue()); + theQueue.enqueue(580); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(808,theQueue.front().intValue()); + theQueue.enqueue(949); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(808,theQueue.front().intValue()); + theQueue.enqueue(356); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(808,theQueue.front().intValue()); + theQueue.enqueue(465); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(808,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(808,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(497,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(580,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(949,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(356,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(465,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(519); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(519,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(519,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(115); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(115,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(115,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(424); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(424,theQueue.front().intValue()); + theQueue.enqueue(42); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(424,theQueue.front().intValue()); + theQueue.enqueue(397); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(424,theQueue.front().intValue()); + theQueue.enqueue(644); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(424,theQueue.front().intValue()); + theQueue.enqueue(189); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(424,theQueue.front().intValue()); + theQueue.enqueue(75); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(424,theQueue.front().intValue()); + theQueue.enqueue(45); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(424,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(424,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(42,theQueue.front().intValue()); + theQueue.enqueue(439); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(42,theQueue.front().intValue()); + theQueue.enqueue(896); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(42,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(42,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(397,theQueue.front().intValue()); + theQueue.enqueue(873); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(397,theQueue.front().intValue()); + theQueue.enqueue(517); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(397,theQueue.front().intValue()); + theQueue.enqueue(428); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(397,theQueue.front().intValue()); + theQueue.enqueue(39); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(397,theQueue.front().intValue()); + theQueue.enqueue(183); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(397,theQueue.front().intValue()); + theQueue.enqueue(181); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(397,theQueue.front().intValue()); + theQueue.enqueue(483); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(397,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(397,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(644,theQueue.front().intValue()); + theQueue.enqueue(786); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(644,theQueue.front().intValue()); + theQueue.enqueue(321); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(644,theQueue.front().intValue()); + theQueue.enqueue(619); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(644,theQueue.front().intValue()); + theQueue.enqueue(349); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(644,theQueue.front().intValue()); + theQueue.enqueue(504); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(644,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(644,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(189,theQueue.front().intValue()); + theQueue.enqueue(742); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(189,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(189,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(75,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(75,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(45,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(45,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(439,theQueue.front().intValue()); + theQueue.enqueue(783); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(439,theQueue.front().intValue()); + theQueue.enqueue(786); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(439,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(439,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(896,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(896,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(873,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(517,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(428,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(39,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(183,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(181,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(483,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(786,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(321,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(619,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(349,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(504,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(742,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(783,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(786,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(613); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(613,theQueue.front().intValue()); + theQueue.enqueue(102); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(613,theQueue.front().intValue()); + theQueue.enqueue(598); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(613,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(613,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(102,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(102,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(46); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(727); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(534); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(618); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(443); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + } + + @Test + public void test10() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(471); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(471,theQueue.front().intValue()); + theQueue.enqueue(427); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(471,theQueue.front().intValue()); + theQueue.enqueue(449); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(471,theQueue.front().intValue()); + theQueue.enqueue(175); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(471,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(471,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(427,theQueue.front().intValue()); + theQueue.enqueue(125); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(427,theQueue.front().intValue()); + theQueue.enqueue(716); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(427,theQueue.front().intValue()); + theQueue.enqueue(117); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(427,theQueue.front().intValue()); + theQueue.enqueue(88); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(427,theQueue.front().intValue()); + theQueue.enqueue(601); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(427,theQueue.front().intValue()); + theQueue.enqueue(442); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(427,theQueue.front().intValue()); + theQueue.enqueue(272); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(427,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(427,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(449,theQueue.front().intValue()); + theQueue.enqueue(962); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(449,theQueue.front().intValue()); + theQueue.enqueue(893); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(449,theQueue.front().intValue()); + theQueue.enqueue(19); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(449,theQueue.front().intValue()); + theQueue.enqueue(788); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(449,theQueue.front().intValue()); + theQueue.enqueue(483); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(449,theQueue.front().intValue()); + theQueue.enqueue(291); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(449,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(449,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(175,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(175,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(125,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(125,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(716,theQueue.front().intValue()); + theQueue.enqueue(600); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(716,theQueue.front().intValue()); + theQueue.enqueue(331); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(716,theQueue.front().intValue()); + theQueue.enqueue(390); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(716,theQueue.front().intValue()); + theQueue.enqueue(98); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(716,theQueue.front().intValue()); + theQueue.enqueue(701); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(716,theQueue.front().intValue()); + theQueue.enqueue(998); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(716,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(716,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(117,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(88,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(601,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(442,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(272,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(962,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(893,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(19,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(788,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(483,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(291,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(600,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(331,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(390,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(98,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(701,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(998,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(98); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(98,theQueue.front().intValue()); + theQueue.enqueue(990); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(98,theQueue.front().intValue()); + theQueue.enqueue(29); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(98,theQueue.front().intValue()); + theQueue.enqueue(355); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(98,theQueue.front().intValue()); + theQueue.enqueue(129); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(98,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(98,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(990,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(29,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(355,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(129,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(146); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(146,theQueue.front().intValue()); + theQueue.enqueue(818); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(146,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(146,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(818,theQueue.front().intValue()); + theQueue.enqueue(980); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(818,theQueue.front().intValue()); + theQueue.enqueue(884); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(818,theQueue.front().intValue()); + theQueue.enqueue(399); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(818,theQueue.front().intValue()); + theQueue.enqueue(107); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(818,theQueue.front().intValue()); + theQueue.enqueue(0); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(818,theQueue.front().intValue()); + theQueue.enqueue(906); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(818,theQueue.front().intValue()); + theQueue.enqueue(373); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(818,theQueue.front().intValue()); + theQueue.enqueue(475); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(818,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(818,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(980,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(980,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(884,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(399,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(107,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(0,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(906,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(373,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(475,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(563); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(563,theQueue.front().intValue()); + theQueue.enqueue(371); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(563,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(563,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(371,theQueue.front().intValue()); + theQueue.enqueue(833); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(371,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(371,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(833,theQueue.front().intValue()); + theQueue.enqueue(744); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(833,theQueue.front().intValue()); + theQueue.enqueue(644); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(833,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(833,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(744,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(644,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(592); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(592,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(592,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(878); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(878,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(878,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(66); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(66,theQueue.front().intValue()); + theQueue.enqueue(7); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(66,theQueue.front().intValue()); + theQueue.enqueue(216); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(66,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(66,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(7,theQueue.front().intValue()); + theQueue.enqueue(275); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(7,theQueue.front().intValue()); + theQueue.enqueue(938); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(7,theQueue.front().intValue()); + theQueue.enqueue(954); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(7,theQueue.front().intValue()); + theQueue.enqueue(505); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(7,theQueue.front().intValue()); + theQueue.enqueue(537); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(7,theQueue.front().intValue()); + theQueue.enqueue(600); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(7,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(7,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(216,theQueue.front().intValue()); + theQueue.enqueue(521); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(216,theQueue.front().intValue()); + theQueue.enqueue(558); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(216,theQueue.front().intValue()); + theQueue.enqueue(486); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(216,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(216,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(275,theQueue.front().intValue()); + theQueue.enqueue(554); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(275,theQueue.front().intValue()); + theQueue.enqueue(212); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(275,theQueue.front().intValue()); + theQueue.enqueue(648); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(275,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(275,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(938,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(954,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(505,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(537,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(600,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(521,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(558,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(486,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(554,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(212,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(648,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(849); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(849,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(849,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(910); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(910,theQueue.front().intValue()); + theQueue.enqueue(244); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(910,theQueue.front().intValue()); + theQueue.enqueue(543); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(910,theQueue.front().intValue()); + theQueue.enqueue(440); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(910,theQueue.front().intValue()); + theQueue.enqueue(468); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(910,theQueue.front().intValue()); + theQueue.enqueue(935); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(910,theQueue.front().intValue()); + theQueue.enqueue(625); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(910,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(910,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(244,theQueue.front().intValue()); + theQueue.enqueue(702); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(244,theQueue.front().intValue()); + theQueue.enqueue(236); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(244,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(244,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(543,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(440,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(468,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(935,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(625,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(702,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(236,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(243); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(243,theQueue.front().intValue()); + theQueue.enqueue(120); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(243,theQueue.front().intValue()); + theQueue.enqueue(952); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(243,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(243,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(120,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(952,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(282); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(282,theQueue.front().intValue()); + theQueue.enqueue(648); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(282,theQueue.front().intValue()); + theQueue.enqueue(188); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(282,theQueue.front().intValue()); + theQueue.enqueue(339); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(282,theQueue.front().intValue()); + } + +} diff --git a/Quellcodes/Alg_DS_Queue/01_queue_roh/README.TXT b/Quellcodes/Alg_DS_Queue/01_queue_roh/README.TXT new file mode 100644 index 0000000000000000000000000000000000000000..691e98b48b59eeca93619ded92b9c23e73b82ee2 GIT binary patch literal 318 zcmYLFK~BRk5bQaxSoH)FR8^0;nbx!>kc7mcQf_X&RjedVWjjLrjT;|h(^hcU!^~)A zXE!gh7oNx`UURYDrB%9(;eEsrqx`DWd%jL$s6Www=+7PYXoCu7uxLS}2ey&^X8GVn zDY6s>jSe extends Queue +{ + /** + * Die Nutzdaten + */ + private Object[] daten; + + /** + * Der Index des ersten Wertes + */ + private int first; + + /** + * Der nächste freie Index + */ + private int last; + + /** + * Erzeugt eine neue, leere Queue + */ + public ArrayQueue() + { + daten = new Object[10]; + first = 0; + last = 0; + } + + /** + * Fügt ein neues Element hinten in der Schlange ein + * @param x Das neue Element + */ + public void enqueue(T x) + { + daten[last] = x; + last++; + if (last == daten.length) + { + last = 0; + } + if (last == first) // Vergrößerung nötig + { + Object[] tmp = new Object[daten.length*2]; + System.arraycopy(daten, first, tmp, 0, daten.length - first); + System.arraycopy(daten, 0, tmp, daten.length - first, first); + first = 0; + last = daten.length; + daten = tmp; + } + } + + /** + * Gibt das vorderste Element der Queue zurück (falls sie nicht leer ist) + * @return Das vorderste Element + */ + public T front() + { + if (isEmpty()) + { + return null; + } + return (T)daten[first]; + } + + /** + * Entfernt das vorderste Element aus der Queue (falls sie nicht leer ist) und gibt es zurück + * @return Das bisherige vorderste Element + */ + public T dequeue() + { + T x = null; + if (!isEmpty()) + { + x = (T)daten[first]; + first++; + if (first == daten.length) + { + first = 0; + } + } + return x; + } + + /** + * Gibt zurück, ob die Queue leer ist + * @return true, wenn die Queue leer ist; false sonst + */ + public boolean isEmpty() + { + return first == last; + } + + /** + * Gibt die Queue in String-Form aus. + * @return Die String-Repräsentation der Queue + */ + @Override + public String toString() + { + StringBuilder b = new StringBuilder(); + for (int i = first; i < (last < first ? daten.length : last); i++) + { + if (i != first) + { + b.append(", "); + } + b.append(daten[i]); + } + if (last < first) + { + for (int i = 0; i < last; i++) + { + b.append(", " + daten[i]); + } + } + return "< " + b.toString() + " <"; + } +} diff --git a/Quellcodes/Alg_DS_Queue/02_queue_loes/ArrayQueueTester.java b/Quellcodes/Alg_DS_Queue/02_queue_loes/ArrayQueueTester.java new file mode 100644 index 0000000..0067c37 --- /dev/null +++ b/Quellcodes/Alg_DS_Queue/02_queue_loes/ArrayQueueTester.java @@ -0,0 +1,16 @@ +import org.junit.Before; + +/** + * Testklasse für die ArrayQueue + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ArrayQueueTester extends QueueTester +{ + @Before + public void setUp() + { + theQueue = new ArrayQueue(); + } +} diff --git a/Quellcodes/Alg_DS_Queue/02_queue_loes/LinkedQueue.java b/Quellcodes/Alg_DS_Queue/02_queue_loes/LinkedQueue.java new file mode 100644 index 0000000..73c8fe4 --- /dev/null +++ b/Quellcodes/Alg_DS_Queue/02_queue_loes/LinkedQueue.java @@ -0,0 +1,137 @@ + +/** + * Eine Queue basierend auf einer verketteten Liste + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class LinkedQueue extends Queue +{ + /** + * Der vorderste Wert der Queue + */ + private Listenknoten first; + + /** + * Der hinterste Wert der Queue + */ + private Listenknoten last; + + /** + * Erzeugt eine neue, leere Queue + */ + public LinkedQueue() + { + first = null; + last = null; + } + + /** + * Gibt das vorderste Element der Queue zurück (falls sie nicht leer ist) + * @return Das vorderste Element + */ + public T front() + { + if (first != null) + { + return first.daten; + } + return null; + } + + /** + * Entfernt das vorderste Element aus der Queue (falls sie nicht leer ist) und gibt es zurück + * @return Das bisherige vorderste Element + */ + public T dequeue() + { + T w = null; + if (first != null) + { + w = first.daten; + first = first.nachfolger; + if (first == null) + { + last = null; + } + } + return w; + } + + /** + * Fügt ein neues Element hinten in der Schlange ein + * @param x Das neue Element + */ + public void enqueue(T x) + { + if (first == null) + { + first = new Listenknoten(x, null); + last = first; + } + else + { + last.nachfolger = new Listenknoten(x, null); + last = last.nachfolger; + } + } + + /** + * Gibt zurück, ob die Queue leer ist + * @return true, wenn die Queue leer ist; false sonst + */ + public boolean isEmpty() + { + return first == null && last == null; + } + + /** + * Ein Listenknoten, wie er bei den verketteten Listen verwendet wurde. + * Diesmal allerdings als innere Klasse + */ + private class Listenknoten + { + /** + * Der Datenwert des Listenknotens + */ + public T daten; + /** + * Der Nachfolger des Listenknotens + */ + public Listenknoten nachfolger; + + /** + * Erzeugt einen neuen Listenknoten + * + * @param daten Der Datenwert des Knotens + * @param nachfolger Der Nachfolger des Knotens + */ + public Listenknoten(T daten, Listenknoten nachfolger) + { + this.daten = daten; + this.nachfolger = nachfolger; + } + } + + /** + * Gibt die Queue in String-Form aus. + * @return Die String-Repräsentation der Queue + */ + @Override + public String toString() + { + StringBuilder b = new StringBuilder(); + Listenknoten k = first; + while(k != null) + { + if (b.length() > 0) + { + b.append(", "); + } + b.append(k.daten); + k = k.nachfolger; + } + return "< " + b.toString() + " <"; + } +} + \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Queue/02_queue_loes/LinkedQueueTester.java b/Quellcodes/Alg_DS_Queue/02_queue_loes/LinkedQueueTester.java new file mode 100644 index 0000000..186e60b --- /dev/null +++ b/Quellcodes/Alg_DS_Queue/02_queue_loes/LinkedQueueTester.java @@ -0,0 +1,16 @@ +import org.junit.Before; + +/** + * Testklasse für die LinkedQueue + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class LinkedQueueTester extends QueueTester +{ + @Before + public void setUp() + { + theQueue = new LinkedQueue(); + } +} \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Queue/02_queue_loes/Queue.java b/Quellcodes/Alg_DS_Queue/02_queue_loes/Queue.java new file mode 100644 index 0000000..7eba60d --- /dev/null +++ b/Quellcodes/Alg_DS_Queue/02_queue_loes/Queue.java @@ -0,0 +1,32 @@ +/** + * Abstrakte Basisklasse für Queues + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public abstract class Queue +{ + /** + * Gibt zurück, ob die Queue leer ist + * @return true, wenn die Queue leer ist; false sonst + */ + public abstract boolean isEmpty(); + + /** + * Fügt ein neues Element hinten in der Schlange ein + * @param x Das neue Element + */ + public abstract void enqueue(T x); + + /** + * Entfernt das vorderste Element aus der Queue (falls sie nicht leer ist) und gibt es zurück + * @return Das bisherige vorderste Element + */ + public abstract T dequeue(); + + /** + * Gibt das vorderste Element der Queue zurück (falls sie nicht leer ist) + * @return Das vorderste Element + */ + public abstract T front(); +} diff --git a/Quellcodes/Alg_DS_Queue/02_queue_loes/QueueTester.java b/Quellcodes/Alg_DS_Queue/02_queue_loes/QueueTester.java new file mode 100644 index 0000000..7ce415c --- /dev/null +++ b/Quellcodes/Alg_DS_Queue/02_queue_loes/QueueTester.java @@ -0,0 +1,5004 @@ +import static org.junit.Assert.*; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/** + * Die Test-Klasse QueueTester. + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public abstract class QueueTester +{ + protected Queue theQueue; + + @Test + public void test01() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(25); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(77); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(621); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(672); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(601); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(975); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(254); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(385); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(493); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(322); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(581); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + theQueue.enqueue(432); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(25,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(25,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(77,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(77,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(621,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(672,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(601,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(975,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(254,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(385,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(493,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(322,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(581,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(432,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(979); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(979,theQueue.front().intValue()); + theQueue.enqueue(301); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(979,theQueue.front().intValue()); + theQueue.enqueue(352); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(979,theQueue.front().intValue()); + theQueue.enqueue(533); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(979,theQueue.front().intValue()); + theQueue.enqueue(146); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(979,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(979,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(301,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(352,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(533,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(146,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(406); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(406,theQueue.front().intValue()); + theQueue.enqueue(786); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(406,theQueue.front().intValue()); + theQueue.enqueue(897); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(406,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(406,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(786,theQueue.front().intValue()); + theQueue.enqueue(241); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(786,theQueue.front().intValue()); + theQueue.enqueue(924); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(786,theQueue.front().intValue()); + theQueue.enqueue(999); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(786,theQueue.front().intValue()); + theQueue.enqueue(808); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(786,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(786,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(897,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(241,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(924,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(999,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(808,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(47); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(47,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(47,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(312); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(312,theQueue.front().intValue()); + theQueue.enqueue(498); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(312,theQueue.front().intValue()); + theQueue.enqueue(551); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(312,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(312,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(498,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(551,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(69); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(69,theQueue.front().intValue()); + theQueue.enqueue(863); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(69,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(69,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(863,theQueue.front().intValue()); + theQueue.enqueue(924); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(863,theQueue.front().intValue()); + theQueue.enqueue(615); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(863,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(863,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(924,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(924,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(615,theQueue.front().intValue()); + theQueue.enqueue(281); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(615,theQueue.front().intValue()); + theQueue.enqueue(293); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(615,theQueue.front().intValue()); + theQueue.enqueue(928); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(615,theQueue.front().intValue()); + theQueue.enqueue(86); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(615,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(615,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(281,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(293,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(928,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(86,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(483); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + theQueue.enqueue(100); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + theQueue.enqueue(899); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(483,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(100,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(899,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(340); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(340,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(340,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(13); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(13,theQueue.front().intValue()); + theQueue.enqueue(596); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(13,theQueue.front().intValue()); + theQueue.enqueue(950); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(13,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(13,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(596,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(950,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(169); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(169,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(169,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(52); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(52,theQueue.front().intValue()); + theQueue.enqueue(574); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(52,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(52,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(574,theQueue.front().intValue()); + theQueue.enqueue(792); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(574,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(574,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + theQueue.enqueue(678); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + theQueue.enqueue(348); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + theQueue.enqueue(597); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + theQueue.enqueue(597); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + theQueue.enqueue(632); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + theQueue.enqueue(578); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + theQueue.enqueue(924); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + theQueue.enqueue(480); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + theQueue.enqueue(682); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(792,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(792,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(678,theQueue.front().intValue()); + theQueue.enqueue(276); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(678,theQueue.front().intValue()); + theQueue.enqueue(731); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(678,theQueue.front().intValue()); + theQueue.enqueue(941); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(678,theQueue.front().intValue()); + theQueue.enqueue(55); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(678,theQueue.front().intValue()); + theQueue.enqueue(897); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(678,theQueue.front().intValue()); + theQueue.enqueue(864); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(678,theQueue.front().intValue()); + theQueue.enqueue(640); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(678,theQueue.front().intValue()); + theQueue.enqueue(571); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(678,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(678,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(348,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(597,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(597,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(632,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(578,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(924,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(480,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(682,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(276,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(731,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(941,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(55,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(897,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(864,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(640,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(571,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(940); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(940,theQueue.front().intValue()); + theQueue.enqueue(926); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(940,theQueue.front().intValue()); + theQueue.enqueue(388); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(940,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(940,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(926,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(388,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(869); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(869,theQueue.front().intValue()); + theQueue.enqueue(109); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(869,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(869,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(109,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(109,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(33); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(33,theQueue.front().intValue()); + theQueue.enqueue(711); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(33,theQueue.front().intValue()); + theQueue.enqueue(253); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(33,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(33,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(711,theQueue.front().intValue()); + theQueue.enqueue(280); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(711,theQueue.front().intValue()); + theQueue.enqueue(899); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(711,theQueue.front().intValue()); + theQueue.enqueue(453); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(711,theQueue.front().intValue()); + } + + @Test + public void test02() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(295); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(295,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(295,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(6); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(6,theQueue.front().intValue()); + theQueue.enqueue(954); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(6,theQueue.front().intValue()); + theQueue.enqueue(907); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(6,theQueue.front().intValue()); + theQueue.enqueue(857); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(6,theQueue.front().intValue()); + theQueue.enqueue(164); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(6,theQueue.front().intValue()); + theQueue.enqueue(668); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(6,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(6,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(954,theQueue.front().intValue()); + theQueue.enqueue(869); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(954,theQueue.front().intValue()); + theQueue.enqueue(483); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(954,theQueue.front().intValue()); + theQueue.enqueue(353); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(954,theQueue.front().intValue()); + theQueue.enqueue(83); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(954,theQueue.front().intValue()); + theQueue.enqueue(730); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(954,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(954,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(907,theQueue.front().intValue()); + theQueue.enqueue(766); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(907,theQueue.front().intValue()); + theQueue.enqueue(405); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(907,theQueue.front().intValue()); + theQueue.enqueue(791); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(907,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(907,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(857,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(857,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(164,theQueue.front().intValue()); + theQueue.enqueue(503); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(164,theQueue.front().intValue()); + theQueue.enqueue(899); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(164,theQueue.front().intValue()); + theQueue.enqueue(880); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(164,theQueue.front().intValue()); + theQueue.enqueue(845); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(164,theQueue.front().intValue()); + theQueue.enqueue(137); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(164,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(164,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(668,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(668,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(869,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(869,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + theQueue.enqueue(889); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + theQueue.enqueue(461); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + theQueue.enqueue(143); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + theQueue.enqueue(242); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + theQueue.enqueue(986); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + theQueue.enqueue(491); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(483,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(483,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(353,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(83,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(730,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(766,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(405,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(791,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(503,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(899,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(880,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(845,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(137,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(889,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(461,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(143,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(242,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(986,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(491,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(35); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(35,theQueue.front().intValue()); + theQueue.enqueue(473); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(35,theQueue.front().intValue()); + theQueue.enqueue(870); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(35,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(35,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(473,theQueue.front().intValue()); + theQueue.enqueue(332); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(473,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(473,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(870,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(870,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(332,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(851); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(851,theQueue.front().intValue()); + theQueue.enqueue(752); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(851,theQueue.front().intValue()); + theQueue.enqueue(756); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(851,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(851,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(752,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(756,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(970); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(970,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(970,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(227); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(227,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(227,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(453); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(453,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(453,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(584); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(584,theQueue.front().intValue()); + theQueue.enqueue(882); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(584,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(584,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(882,theQueue.front().intValue()); + theQueue.enqueue(134); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(882,theQueue.front().intValue()); + theQueue.enqueue(514); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(882,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(882,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(134,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(134,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(514,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(79); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(79,theQueue.front().intValue()); + theQueue.enqueue(990); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(79,theQueue.front().intValue()); + theQueue.enqueue(574); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(79,theQueue.front().intValue()); + theQueue.enqueue(146); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(79,theQueue.front().intValue()); + theQueue.enqueue(967); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(79,theQueue.front().intValue()); + theQueue.enqueue(597); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(79,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(79,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(990,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(990,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(574,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(146,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(967,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(597,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(725); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(725,theQueue.front().intValue()); + theQueue.enqueue(482); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(725,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(725,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(482,theQueue.front().intValue()); + theQueue.enqueue(662); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(482,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(482,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(662,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(662,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(482); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(482,theQueue.front().intValue()); + theQueue.enqueue(643); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(482,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(482,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(643,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(862); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(862,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(862,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(573); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(573,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(573,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(845); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(845,theQueue.front().intValue()); + theQueue.enqueue(109); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(845,theQueue.front().intValue()); + theQueue.enqueue(326); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(845,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(845,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(109,theQueue.front().intValue()); + theQueue.enqueue(404); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(109,theQueue.front().intValue()); + theQueue.enqueue(398); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(109,theQueue.front().intValue()); + theQueue.enqueue(251); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(109,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(109,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(326,theQueue.front().intValue()); + theQueue.enqueue(836); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(326,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(326,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(404,theQueue.front().intValue()); + theQueue.enqueue(71); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(404,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(404,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(398,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(398,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(251,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(836,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(71,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(166); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(166,theQueue.front().intValue()); + theQueue.enqueue(642); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(166,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(166,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(642,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(642,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(690); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(690,theQueue.front().intValue()); + } + + @Test + public void test03() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(474); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + theQueue.enqueue(708); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + theQueue.enqueue(120); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + theQueue.enqueue(368); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + theQueue.enqueue(844); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + theQueue.enqueue(816); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(474,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(708,theQueue.front().intValue()); + theQueue.enqueue(100); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(708,theQueue.front().intValue()); + theQueue.enqueue(497); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(708,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(708,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(120,theQueue.front().intValue()); + theQueue.enqueue(491); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(120,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(120,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(368,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(368,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(844,theQueue.front().intValue()); + theQueue.enqueue(504); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(844,theQueue.front().intValue()); + theQueue.enqueue(647); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(844,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(844,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(816,theQueue.front().intValue()); + theQueue.enqueue(219); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(816,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(816,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(100,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(497,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(491,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(504,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(647,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(219,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(474); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + theQueue.enqueue(328); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + theQueue.enqueue(429); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + theQueue.enqueue(890); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(474,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(474,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(328,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(429,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(890,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(863); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(863,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(863,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(426); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(426,theQueue.front().intValue()); + theQueue.enqueue(699); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(426,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(426,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(699,theQueue.front().intValue()); + theQueue.enqueue(988); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(699,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(699,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(988,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(564); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(564,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(564,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(912); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(912,theQueue.front().intValue()); + theQueue.enqueue(0); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(912,theQueue.front().intValue()); + theQueue.enqueue(906); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(912,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(912,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(0,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(0,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(906,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(197); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(197,theQueue.front().intValue()); + theQueue.enqueue(940); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(197,theQueue.front().intValue()); + theQueue.enqueue(229); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(197,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(197,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(940,theQueue.front().intValue()); + theQueue.enqueue(231); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(940,theQueue.front().intValue()); + theQueue.enqueue(722); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(940,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(940,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(68); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(977); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(294); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(670); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(494); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(243); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(169); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(159); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(189); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(623); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + theQueue.enqueue(564); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(229,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(229,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(231,theQueue.front().intValue()); + theQueue.enqueue(544); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(231,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(231,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(722,theQueue.front().intValue()); + theQueue.enqueue(922); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(722,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(722,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(68,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(68,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(977,theQueue.front().intValue()); + theQueue.enqueue(237); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(977,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(977,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(294,theQueue.front().intValue()); + theQueue.enqueue(515); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(294,theQueue.front().intValue()); + theQueue.enqueue(886); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(294,theQueue.front().intValue()); + theQueue.enqueue(930); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(294,theQueue.front().intValue()); + theQueue.enqueue(874); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(294,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(294,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(670,theQueue.front().intValue()); + theQueue.enqueue(144); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(670,theQueue.front().intValue()); + theQueue.enqueue(185); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(670,theQueue.front().intValue()); + theQueue.enqueue(796); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(670,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(670,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(494,theQueue.front().intValue()); + theQueue.enqueue(833); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(494,theQueue.front().intValue()); + theQueue.enqueue(395); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(494,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(494,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(243,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(243,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(169,theQueue.front().intValue()); + theQueue.enqueue(909); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(169,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(169,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(159,theQueue.front().intValue()); + theQueue.enqueue(679); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(159,theQueue.front().intValue()); + theQueue.enqueue(940); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(159,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(159,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(189,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(189,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(623,theQueue.front().intValue()); + theQueue.enqueue(831); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(623,theQueue.front().intValue()); + theQueue.enqueue(654); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(623,theQueue.front().intValue()); + theQueue.enqueue(5); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(623,theQueue.front().intValue()); + theQueue.enqueue(275); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(623,theQueue.front().intValue()); + theQueue.enqueue(675); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(623,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(623,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(564,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(544,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(922,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(237,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(515,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(886,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(930,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(874,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(144,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(185,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(796,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(833,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(395,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(909,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(679,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(940,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(831,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(654,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(5,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(275,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(675,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(383); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(383,theQueue.front().intValue()); + theQueue.enqueue(974); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(383,theQueue.front().intValue()); + theQueue.enqueue(99); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(383,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(383,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(974,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(99,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(635); + assertFalse(theQueue.isEmpty()); + + assertNotNull(theQueue.front()); + assertEquals(635,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(635,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(504); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(504,theQueue.front().intValue()); + theQueue.enqueue(896); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(504,theQueue.front().intValue()); + theQueue.enqueue(77); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(504,theQueue.front().intValue()); + theQueue.enqueue(312); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(504,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(504,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(896,theQueue.front().intValue()); + } + + @Test + public void test04() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(723); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(723,theQueue.front().intValue()); + theQueue.enqueue(537); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(723,theQueue.front().intValue()); + theQueue.enqueue(78); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(723,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(723,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(537,theQueue.front().intValue()); + theQueue.enqueue(386); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(537,theQueue.front().intValue()); + theQueue.enqueue(483); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(537,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(537,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(78,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(386,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(483,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(569); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(569,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(569,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(906); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(906,theQueue.front().intValue()); + theQueue.enqueue(192); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(906,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(906,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(192,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(665); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(665,theQueue.front().intValue()); + theQueue.enqueue(398); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(665,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(665,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(398,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(398,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(23); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(23,theQueue.front().intValue()); + theQueue.enqueue(970); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(23,theQueue.front().intValue()); + theQueue.enqueue(656); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(23,theQueue.front().intValue()); + theQueue.enqueue(235); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(23,theQueue.front().intValue()); + theQueue.enqueue(797); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(23,theQueue.front().intValue()); + theQueue.enqueue(210); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(23,theQueue.front().intValue()); + theQueue.enqueue(59); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(23,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(23,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(970,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(656,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(235,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(797,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(210,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(59,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(506); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(506,theQueue.front().intValue()); + theQueue.enqueue(938); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(506,theQueue.front().intValue()); + theQueue.enqueue(135); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(506,theQueue.front().intValue()); + theQueue.enqueue(126); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(506,theQueue.front().intValue()); + theQueue.enqueue(573); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(506,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(506,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(938,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(938,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(135,theQueue.front().intValue()); + theQueue.enqueue(920); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(135,theQueue.front().intValue()); + theQueue.enqueue(412); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(135,theQueue.front().intValue()); + theQueue.enqueue(5); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(135,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(135,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(126,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(126,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(573,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(920,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(412,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(5,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(145); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(145,theQueue.front().intValue()); + theQueue.enqueue(616); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(145,theQueue.front().intValue()); + theQueue.enqueue(885); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(145,theQueue.front().intValue()); + theQueue.enqueue(74); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(145,theQueue.front().intValue()); + theQueue.enqueue(843); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(145,theQueue.front().intValue()); + theQueue.enqueue(926); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(145,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(145,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(616,theQueue.front().intValue()); + theQueue.enqueue(520); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(616,theQueue.front().intValue()); + theQueue.enqueue(24); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(616,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(616,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(885,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(74,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(843,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(926,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(520,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(24,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(898); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(898,theQueue.front().intValue()); + theQueue.enqueue(547); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(898,theQueue.front().intValue()); + theQueue.enqueue(621); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(898,theQueue.front().intValue()); + theQueue.enqueue(170); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(898,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(898,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(547,theQueue.front().intValue()); + theQueue.enqueue(537); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(547,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(547,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(621,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(621,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(170,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(537,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(936); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(936,theQueue.front().intValue()); + theQueue.enqueue(239); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(936,theQueue.front().intValue()); + theQueue.enqueue(909); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(936,theQueue.front().intValue()); + theQueue.enqueue(114); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(936,theQueue.front().intValue()); + theQueue.enqueue(165); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(936,theQueue.front().intValue()); + theQueue.enqueue(420); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(936,theQueue.front().intValue()); + theQueue.enqueue(362); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(936,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(936,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(239,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(909,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(114,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(165,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(420,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(362,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(344); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(344,theQueue.front().intValue()); + theQueue.enqueue(284); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(344,theQueue.front().intValue()); + theQueue.enqueue(292); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(344,theQueue.front().intValue()); + theQueue.enqueue(572); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(344,theQueue.front().intValue()); + theQueue.enqueue(306); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(344,theQueue.front().intValue()); + theQueue.enqueue(557); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(344,theQueue.front().intValue()); + theQueue.enqueue(321); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(344,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(344,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(284,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(292,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(572,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(306,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(557,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(321,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(605); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(605,theQueue.front().intValue()); + theQueue.enqueue(387); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(605,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(605,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(387,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(387,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(509); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(509,theQueue.front().intValue()); + theQueue.enqueue(498); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(509,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(509,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(498,theQueue.front().intValue()); + theQueue.enqueue(374); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(498,theQueue.front().intValue()); + theQueue.enqueue(421); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(498,theQueue.front().intValue()); + theQueue.enqueue(604); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(498,theQueue.front().intValue()); + theQueue.enqueue(555); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(498,theQueue.front().intValue()); + theQueue.enqueue(1); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(498,theQueue.front().intValue()); + theQueue.enqueue(881); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(498,theQueue.front().intValue()); + theQueue.enqueue(372); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(498,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(498,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(374,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(374,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(421,theQueue.front().intValue()); + theQueue.enqueue(685); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(421,theQueue.front().intValue()); + theQueue.enqueue(187); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(421,theQueue.front().intValue()); + theQueue.enqueue(498); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(421,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(421,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(604,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(604,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(555,theQueue.front().intValue()); + theQueue.enqueue(659); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(555,theQueue.front().intValue()); + theQueue.enqueue(62); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(555,theQueue.front().intValue()); + theQueue.enqueue(868); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(555,theQueue.front().intValue()); + theQueue.enqueue(34); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(555,theQueue.front().intValue()); + theQueue.enqueue(799); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(555,theQueue.front().intValue()); + } + + @Test + public void test05() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(302); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(302,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(302,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(376); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(376,theQueue.front().intValue()); + theQueue.enqueue(858); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(376,theQueue.front().intValue()); + theQueue.enqueue(488); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(376,theQueue.front().intValue()); + theQueue.enqueue(673); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(376,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(376,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(858,theQueue.front().intValue()); + theQueue.enqueue(374); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(858,theQueue.front().intValue()); + theQueue.enqueue(557); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(858,theQueue.front().intValue()); + theQueue.enqueue(766); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(858,theQueue.front().intValue()); + theQueue.enqueue(914); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(858,theQueue.front().intValue()); + theQueue.enqueue(447); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(858,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(858,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(488,theQueue.front().intValue()); + theQueue.enqueue(564); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(488,theQueue.front().intValue()); + theQueue.enqueue(390); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(488,theQueue.front().intValue()); + theQueue.enqueue(892); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(488,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(488,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(434); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(96); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(642); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(144); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(664); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(751); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(492); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(339); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(801); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(244); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(806); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(612); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + theQueue.enqueue(511); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(673,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(673,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(374,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(557,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(766,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(914,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(447,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(564,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(390,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(892,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(434,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(96,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(642,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(144,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(664,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(751,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(492,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(339,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(801,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(244,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(806,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(612,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(511,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(821); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(821,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(821,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(564); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(564,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(564,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(60); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(60,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(60,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(514); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(514,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(514,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(727); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(727,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(727,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(377); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(377,theQueue.front().intValue()); + theQueue.enqueue(846); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(377,theQueue.front().intValue()); + theQueue.enqueue(990); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(377,theQueue.front().intValue()); + theQueue.enqueue(904); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(377,theQueue.front().intValue()); + theQueue.enqueue(271); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(377,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(377,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(846,theQueue.front().intValue()); + theQueue.enqueue(732); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(846,theQueue.front().intValue()); + theQueue.enqueue(37); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(846,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(846,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(990,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(904,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(271,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(732,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(37,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(967); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(967,theQueue.front().intValue()); + theQueue.enqueue(62); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(967,theQueue.front().intValue()); + theQueue.enqueue(661); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(967,theQueue.front().intValue()); + theQueue.enqueue(139); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(967,theQueue.front().intValue()); + theQueue.enqueue(924); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(967,theQueue.front().intValue()); + theQueue.enqueue(106); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(967,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(967,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(62,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(62,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(661,theQueue.front().intValue()); + theQueue.enqueue(64); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(661,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(661,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(139,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(924,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(106,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(64,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(848); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(848,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(848,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(864); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(864,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(864,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(864); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(864,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(864,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(804); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(804,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(804,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(37); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(37,theQueue.front().intValue()); + theQueue.enqueue(909); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(37,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(37,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(909,theQueue.front().intValue()); + theQueue.enqueue(510); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(909,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(909,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(510,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(706); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(706,theQueue.front().intValue()); + theQueue.enqueue(978); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(706,theQueue.front().intValue()); + theQueue.enqueue(769); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(706,theQueue.front().intValue()); + theQueue.enqueue(863); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(706,theQueue.front().intValue()); + theQueue.enqueue(516); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(706,theQueue.front().intValue()); + theQueue.enqueue(783); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(706,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(706,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(978,theQueue.front().intValue()); + theQueue.enqueue(276); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(978,theQueue.front().intValue()); + theQueue.enqueue(74); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(978,theQueue.front().intValue()); + theQueue.enqueue(311); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(978,theQueue.front().intValue()); + theQueue.enqueue(350); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(978,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(978,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(769,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(863,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(516,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(783,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(276,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(74,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(311,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(350,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(773); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(773,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(773,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(424); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(424,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(424,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(416); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(416,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(416,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(420); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(420,theQueue.front().intValue()); + theQueue.enqueue(837); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(420,theQueue.front().intValue()); + theQueue.enqueue(319); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(420,theQueue.front().intValue()); + theQueue.enqueue(879); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(420,theQueue.front().intValue()); + theQueue.enqueue(142); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(420,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(420,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(837,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(837,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(319,theQueue.front().intValue()); + theQueue.enqueue(464); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(319,theQueue.front().intValue()); + } + + @Test + public void test06() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(212); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(212,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(212,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(555); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(555,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(555,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(721); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(721,theQueue.front().intValue()); + theQueue.enqueue(205); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(721,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(721,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(205,theQueue.front().intValue()); + theQueue.enqueue(896); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(205,theQueue.front().intValue()); + theQueue.enqueue(667); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(205,theQueue.front().intValue()); + theQueue.enqueue(343); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(205,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(205,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(896,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(896,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(667,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(343,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(932); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(834); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(580); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(120); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(622); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(219); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(133); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(902); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(857); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(898); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + theQueue.enqueue(505); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(932,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(932,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(834,theQueue.front().intValue()); + theQueue.enqueue(156); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(834,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(834,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(580,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(120,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(622,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(219,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(133,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(902,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(857,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(898,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(505,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(156,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(431); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(431,theQueue.front().intValue()); + theQueue.enqueue(578); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(431,theQueue.front().intValue()); + theQueue.enqueue(611); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(431,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(431,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(578,theQueue.front().intValue()); + theQueue.enqueue(542); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(578,theQueue.front().intValue()); + theQueue.enqueue(838); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(578,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(578,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(611,theQueue.front().intValue()); + theQueue.enqueue(237); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(611,theQueue.front().intValue()); + theQueue.enqueue(387); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(611,theQueue.front().intValue()); + theQueue.enqueue(946); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(611,theQueue.front().intValue()); + theQueue.enqueue(311); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(611,theQueue.front().intValue()); + theQueue.enqueue(404); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(611,theQueue.front().intValue()); + theQueue.enqueue(800); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(611,theQueue.front().intValue()); + theQueue.enqueue(433); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(611,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(611,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(542,theQueue.front().intValue()); + theQueue.enqueue(215); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(542,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(542,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(838,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(838,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(237,theQueue.front().intValue()); + theQueue.enqueue(542); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(237,theQueue.front().intValue()); + theQueue.enqueue(424); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(237,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(237,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(387,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(946,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(311,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(404,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(800,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(433,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(215,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(542,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(424,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(991); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(991,theQueue.front().intValue()); + theQueue.enqueue(204); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(991,theQueue.front().intValue()); + theQueue.enqueue(695); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(991,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(991,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(204,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(695,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(6); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(6,theQueue.front().intValue()); + theQueue.enqueue(51); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(6,theQueue.front().intValue()); + theQueue.enqueue(261); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(6,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(6,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(51,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(261,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(753); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(753,theQueue.front().intValue()); + theQueue.enqueue(292); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(753,theQueue.front().intValue()); + theQueue.enqueue(34); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(753,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(753,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(292,theQueue.front().intValue()); + theQueue.enqueue(744); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(292,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(292,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(34,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(34,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(744,theQueue.front().intValue()); + theQueue.enqueue(790); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(744,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(744,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(790,theQueue.front().intValue()); + theQueue.enqueue(579); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(790,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(790,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(579,theQueue.front().intValue()); + theQueue.enqueue(906); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(579,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(579,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(906,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(335); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(335,theQueue.front().intValue()); + theQueue.enqueue(460); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(335,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(335,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(460,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(614); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(614,theQueue.front().intValue()); + theQueue.enqueue(874); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(614,theQueue.front().intValue()); + theQueue.enqueue(375); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(614,theQueue.front().intValue()); + theQueue.enqueue(908); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(614,theQueue.front().intValue()); + theQueue.enqueue(651); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(614,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(614,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(874,theQueue.front().intValue()); + theQueue.enqueue(356); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(874,theQueue.front().intValue()); + theQueue.enqueue(661); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(874,theQueue.front().intValue()); + theQueue.enqueue(113); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(874,theQueue.front().intValue()); + theQueue.enqueue(200); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(874,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(874,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(375,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(908,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(651,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(356,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(661,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(113,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(200,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(598); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(29); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(960); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(147); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(713); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(820); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(598,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(29,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(960,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(147,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(713,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(820,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(562); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(562,theQueue.front().intValue()); + theQueue.enqueue(411); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(562,theQueue.front().intValue()); + theQueue.enqueue(399); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(562,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(562,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(411,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(399,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(334); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(334,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(334,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(778); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(778,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(778,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(386); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(386,theQueue.front().intValue()); + theQueue.enqueue(613); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(386,theQueue.front().intValue()); + } + + @Test + public void test07() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(642); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(642,theQueue.front().intValue()); + theQueue.enqueue(189); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(642,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(642,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(189,theQueue.front().intValue()); + theQueue.enqueue(68); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(189,theQueue.front().intValue()); + theQueue.enqueue(533); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(189,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(189,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(68,theQueue.front().intValue()); + theQueue.enqueue(4); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(68,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(68,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(533,theQueue.front().intValue()); + theQueue.enqueue(533); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(533,theQueue.front().intValue()); + theQueue.enqueue(747); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(533,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(533,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + theQueue.enqueue(345); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + theQueue.enqueue(370); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + theQueue.enqueue(531); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + theQueue.enqueue(217); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + theQueue.enqueue(569); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + theQueue.enqueue(902); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + theQueue.enqueue(712); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + theQueue.enqueue(569); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + theQueue.enqueue(852); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(4,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(4,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(533,theQueue.front().intValue()); + theQueue.enqueue(27); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(533,theQueue.front().intValue()); + theQueue.enqueue(833); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(533,theQueue.front().intValue()); + theQueue.enqueue(839); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(533,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(533,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(747,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(345,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(370,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(531,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(217,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(569,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(902,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(712,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(569,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(852,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(27,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(833,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(839,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(152); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(152,theQueue.front().intValue()); + theQueue.enqueue(646); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(152,theQueue.front().intValue()); + theQueue.enqueue(405); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(152,theQueue.front().intValue()); + theQueue.enqueue(226); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(152,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(152,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(646,theQueue.front().intValue()); + theQueue.enqueue(66); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(646,theQueue.front().intValue()); + theQueue.enqueue(206); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(646,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(646,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(405,theQueue.front().intValue()); + theQueue.enqueue(495); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(405,theQueue.front().intValue()); + theQueue.enqueue(152); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(405,theQueue.front().intValue()); + theQueue.enqueue(454); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(405,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(405,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(226,theQueue.front().intValue()); + theQueue.enqueue(483); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(226,theQueue.front().intValue()); + theQueue.enqueue(331); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(226,theQueue.front().intValue()); + theQueue.enqueue(736); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(226,theQueue.front().intValue()); + theQueue.enqueue(627); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(226,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(226,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(66,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(206,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(495,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(152,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(454,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(483,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(331,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(736,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(627,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(350); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(350,theQueue.front().intValue()); + theQueue.enqueue(37); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(350,theQueue.front().intValue()); + theQueue.enqueue(277); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(350,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(350,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(37,theQueue.front().intValue()); + theQueue.enqueue(667); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(37,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(37,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(277,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(667,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(712); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(712,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(712,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(566); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(566,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(566,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(853); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(853,theQueue.front().intValue()); + theQueue.enqueue(12); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(853,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(853,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(12,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(179); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(179,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(179,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(767); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(767,theQueue.front().intValue()); + theQueue.enqueue(927); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(767,theQueue.front().intValue()); + theQueue.enqueue(397); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(767,theQueue.front().intValue()); + theQueue.enqueue(961); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(767,theQueue.front().intValue()); + theQueue.enqueue(423); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(767,theQueue.front().intValue()); + theQueue.enqueue(781); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(767,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(767,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(927,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(397,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(961,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(423,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(781,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(555); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(555,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(555,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(634); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(634,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(634,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(525); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(525,theQueue.front().intValue()); + theQueue.enqueue(185); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(525,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(525,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(185,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(832); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(832,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(832,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(52); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(52,theQueue.front().intValue()); + theQueue.enqueue(307); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(52,theQueue.front().intValue()); + theQueue.enqueue(306); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(52,theQueue.front().intValue()); + theQueue.enqueue(837); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(52,theQueue.front().intValue()); + theQueue.enqueue(902); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(52,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(52,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(307,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(306,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(837,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(902,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(945); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(945,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(945,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(178); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(178,theQueue.front().intValue()); + theQueue.enqueue(483); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(178,theQueue.front().intValue()); + theQueue.enqueue(107); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(178,theQueue.front().intValue()); + theQueue.enqueue(606); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(178,theQueue.front().intValue()); + theQueue.enqueue(452); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(178,theQueue.front().intValue()); + theQueue.enqueue(973); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(178,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(178,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(483,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(107,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(606,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(452,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(973,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(635); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(635,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(635,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(391); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(391,theQueue.front().intValue()); + theQueue.enqueue(311); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(391,theQueue.front().intValue()); + theQueue.enqueue(989); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(391,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(391,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(311,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(311,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(989,theQueue.front().intValue()); + theQueue.enqueue(856); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(989,theQueue.front().intValue()); + } + + @Test + public void test08() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(493); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(493,theQueue.front().intValue()); + theQueue.enqueue(288); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(493,theQueue.front().intValue()); + theQueue.enqueue(72); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(493,theQueue.front().intValue()); + theQueue.enqueue(576); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(493,theQueue.front().intValue()); + theQueue.enqueue(26); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(493,theQueue.front().intValue()); + theQueue.enqueue(502); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(493,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(493,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(288,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(72,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(576,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(26,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(502,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(69); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(69,theQueue.front().intValue()); + theQueue.enqueue(908); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(69,theQueue.front().intValue()); + theQueue.enqueue(717); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(69,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(69,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(908,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(717,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(513); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(513,theQueue.front().intValue()); + theQueue.enqueue(101); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(513,theQueue.front().intValue()); + theQueue.enqueue(158); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(513,theQueue.front().intValue()); + theQueue.enqueue(876); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(513,theQueue.front().intValue()); + theQueue.enqueue(459); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(513,theQueue.front().intValue()); + theQueue.enqueue(72); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(513,theQueue.front().intValue()); + theQueue.enqueue(928); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(513,theQueue.front().intValue()); + theQueue.enqueue(91); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(513,theQueue.front().intValue()); + theQueue.enqueue(911); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(513,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(513,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(101,theQueue.front().intValue()); + theQueue.enqueue(558); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(101,theQueue.front().intValue()); + theQueue.enqueue(103); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(101,theQueue.front().intValue()); + theQueue.enqueue(67); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(101,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(101,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(158,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(876,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(459,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(72,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(928,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(91,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(911,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(558,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(103,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(67,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(515); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(515,theQueue.front().intValue()); + theQueue.enqueue(797); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(515,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(515,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(797,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(821); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(821,theQueue.front().intValue()); + theQueue.enqueue(425); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(821,theQueue.front().intValue()); + theQueue.enqueue(266); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(821,theQueue.front().intValue()); + theQueue.enqueue(598); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(821,theQueue.front().intValue()); + theQueue.enqueue(332); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(821,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(821,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(425,theQueue.front().intValue()); + theQueue.enqueue(41); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(425,theQueue.front().intValue()); + theQueue.enqueue(848); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(425,theQueue.front().intValue()); + theQueue.enqueue(531); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(425,theQueue.front().intValue()); + theQueue.enqueue(478); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(425,theQueue.front().intValue()); + theQueue.enqueue(794); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(425,theQueue.front().intValue()); + theQueue.enqueue(834); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(425,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(425,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(266,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(598,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(332,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(41,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(848,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(531,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(478,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(794,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(834,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(138); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(138,theQueue.front().intValue()); + theQueue.enqueue(794); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(138,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(138,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(794,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(794,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(986); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(986,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(986,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(904); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(904,theQueue.front().intValue()); + theQueue.enqueue(297); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(904,theQueue.front().intValue()); + theQueue.enqueue(824); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(904,theQueue.front().intValue()); + theQueue.enqueue(999); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(904,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(904,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(297,theQueue.front().intValue()); + theQueue.enqueue(645); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(297,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(297,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(824,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(999,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(645,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(839); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(839,theQueue.front().intValue()); + theQueue.enqueue(521); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(839,theQueue.front().intValue()); + theQueue.enqueue(581); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(839,theQueue.front().intValue()); + theQueue.enqueue(915); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(839,theQueue.front().intValue()); + theQueue.enqueue(199); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(839,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(839,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(521,theQueue.front().intValue()); + theQueue.enqueue(474); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(521,theQueue.front().intValue()); + theQueue.enqueue(655); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(521,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(521,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(581,theQueue.front().intValue()); + theQueue.enqueue(373); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(581,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(581,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(915,theQueue.front().intValue()); + theQueue.enqueue(231); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(915,theQueue.front().intValue()); + theQueue.enqueue(409); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(915,theQueue.front().intValue()); + theQueue.enqueue(582); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(915,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(915,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(199,theQueue.front().intValue()); + theQueue.enqueue(49); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(199,theQueue.front().intValue()); + theQueue.enqueue(880); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(199,theQueue.front().intValue()); + theQueue.enqueue(767); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(199,theQueue.front().intValue()); + theQueue.enqueue(242); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(199,theQueue.front().intValue()); + theQueue.enqueue(771); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(199,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(199,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(474,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(655,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(373,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(231,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(409,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(582,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(49,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(880,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(767,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(242,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(771,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(48); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(48,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(48,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(0); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(0,theQueue.front().intValue()); + theQueue.enqueue(25); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(0,theQueue.front().intValue()); + theQueue.enqueue(869); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(0,theQueue.front().intValue()); + theQueue.enqueue(191); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(0,theQueue.front().intValue()); + theQueue.enqueue(4); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(0,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(0,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(25,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(869,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(191,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(4,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(909); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(909,theQueue.front().intValue()); + theQueue.enqueue(947); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(909,theQueue.front().intValue()); + theQueue.enqueue(935); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(909,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(909,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(947,theQueue.front().intValue()); + theQueue.enqueue(816); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(947,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(947,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(935,theQueue.front().intValue()); + theQueue.enqueue(853); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(935,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(935,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(816,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(853,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(411); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(411,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(411,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(206); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(206,theQueue.front().intValue()); + theQueue.enqueue(511); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(206,theQueue.front().intValue()); + theQueue.enqueue(122); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(206,theQueue.front().intValue()); + theQueue.enqueue(499); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(206,theQueue.front().intValue()); + } + + @Test + public void test09() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(436); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(436,theQueue.front().intValue()); + theQueue.enqueue(622); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(436,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(436,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(622,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(664); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(664,theQueue.front().intValue()); + theQueue.enqueue(114); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(664,theQueue.front().intValue()); + theQueue.enqueue(168); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(664,theQueue.front().intValue()); + theQueue.enqueue(259); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(664,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(664,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(114,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(168,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(259,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(747); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(747,theQueue.front().intValue()); + theQueue.enqueue(724); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(747,theQueue.front().intValue()); + theQueue.enqueue(255); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(747,theQueue.front().intValue()); + theQueue.enqueue(638); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(747,theQueue.front().intValue()); + theQueue.enqueue(8); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(747,theQueue.front().intValue()); + theQueue.enqueue(455); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(747,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(747,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(724,theQueue.front().intValue()); + theQueue.enqueue(397); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(724,theQueue.front().intValue()); + theQueue.enqueue(916); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(724,theQueue.front().intValue()); + theQueue.enqueue(206); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(724,theQueue.front().intValue()); + theQueue.enqueue(49); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(724,theQueue.front().intValue()); + theQueue.enqueue(347); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(724,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(724,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(255,theQueue.front().intValue()); + theQueue.enqueue(817); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(255,theQueue.front().intValue()); + theQueue.enqueue(561); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(255,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(255,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(638,theQueue.front().intValue()); + theQueue.enqueue(994); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(638,theQueue.front().intValue()); + theQueue.enqueue(957); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(638,theQueue.front().intValue()); + theQueue.enqueue(380); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(638,theQueue.front().intValue()); + theQueue.enqueue(729); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(638,theQueue.front().intValue()); + theQueue.enqueue(231); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(638,theQueue.front().intValue()); + theQueue.enqueue(906); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(638,theQueue.front().intValue()); + theQueue.enqueue(473); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(638,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(638,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(8,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(455,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(397,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(916,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(206,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(49,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(347,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(817,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(561,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(994,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(957,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(380,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(729,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(231,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(906,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(473,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(886); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(886,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(886,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(27); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(27,theQueue.front().intValue()); + theQueue.enqueue(913); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(27,theQueue.front().intValue()); + theQueue.enqueue(544); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(27,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(27,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(913,theQueue.front().intValue()); + theQueue.enqueue(666); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(913,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(913,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(544,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(666,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(343); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(343,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(343,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(123); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(123,theQueue.front().intValue()); + theQueue.enqueue(867); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(123,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(123,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(867,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(808); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(808,theQueue.front().intValue()); + theQueue.enqueue(497); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(808,theQueue.front().intValue()); + theQueue.enqueue(580); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(808,theQueue.front().intValue()); + theQueue.enqueue(949); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(808,theQueue.front().intValue()); + theQueue.enqueue(356); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(808,theQueue.front().intValue()); + theQueue.enqueue(465); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(808,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(808,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(497,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(580,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(949,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(356,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(465,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(519); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(519,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(519,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(115); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(115,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(115,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(424); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(424,theQueue.front().intValue()); + theQueue.enqueue(42); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(424,theQueue.front().intValue()); + theQueue.enqueue(397); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(424,theQueue.front().intValue()); + theQueue.enqueue(644); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(424,theQueue.front().intValue()); + theQueue.enqueue(189); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(424,theQueue.front().intValue()); + theQueue.enqueue(75); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(424,theQueue.front().intValue()); + theQueue.enqueue(45); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(424,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(424,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(42,theQueue.front().intValue()); + theQueue.enqueue(439); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(42,theQueue.front().intValue()); + theQueue.enqueue(896); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(42,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(42,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(397,theQueue.front().intValue()); + theQueue.enqueue(873); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(397,theQueue.front().intValue()); + theQueue.enqueue(517); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(397,theQueue.front().intValue()); + theQueue.enqueue(428); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(397,theQueue.front().intValue()); + theQueue.enqueue(39); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(397,theQueue.front().intValue()); + theQueue.enqueue(183); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(397,theQueue.front().intValue()); + theQueue.enqueue(181); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(397,theQueue.front().intValue()); + theQueue.enqueue(483); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(397,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(397,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(644,theQueue.front().intValue()); + theQueue.enqueue(786); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(644,theQueue.front().intValue()); + theQueue.enqueue(321); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(644,theQueue.front().intValue()); + theQueue.enqueue(619); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(644,theQueue.front().intValue()); + theQueue.enqueue(349); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(644,theQueue.front().intValue()); + theQueue.enqueue(504); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(644,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(644,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(189,theQueue.front().intValue()); + theQueue.enqueue(742); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(189,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(189,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(75,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(75,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(45,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(45,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(439,theQueue.front().intValue()); + theQueue.enqueue(783); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(439,theQueue.front().intValue()); + theQueue.enqueue(786); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(439,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(439,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(896,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(896,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(873,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(517,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(428,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(39,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(183,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(181,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(483,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(786,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(321,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(619,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(349,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(504,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(742,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(783,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(786,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(613); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(613,theQueue.front().intValue()); + theQueue.enqueue(102); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(613,theQueue.front().intValue()); + theQueue.enqueue(598); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(613,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(613,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(102,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(102,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(46); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(727); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(534); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(618); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + theQueue.enqueue(443); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(598,theQueue.front().intValue()); + } + + @Test + public void test10() + { + Integer tmp; + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(471); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(471,theQueue.front().intValue()); + theQueue.enqueue(427); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(471,theQueue.front().intValue()); + theQueue.enqueue(449); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(471,theQueue.front().intValue()); + theQueue.enqueue(175); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(471,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(471,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(427,theQueue.front().intValue()); + theQueue.enqueue(125); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(427,theQueue.front().intValue()); + theQueue.enqueue(716); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(427,theQueue.front().intValue()); + theQueue.enqueue(117); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(427,theQueue.front().intValue()); + theQueue.enqueue(88); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(427,theQueue.front().intValue()); + theQueue.enqueue(601); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(427,theQueue.front().intValue()); + theQueue.enqueue(442); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(427,theQueue.front().intValue()); + theQueue.enqueue(272); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(427,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(427,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(449,theQueue.front().intValue()); + theQueue.enqueue(962); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(449,theQueue.front().intValue()); + theQueue.enqueue(893); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(449,theQueue.front().intValue()); + theQueue.enqueue(19); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(449,theQueue.front().intValue()); + theQueue.enqueue(788); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(449,theQueue.front().intValue()); + theQueue.enqueue(483); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(449,theQueue.front().intValue()); + theQueue.enqueue(291); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(449,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(449,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(175,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(175,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(125,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(125,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(716,theQueue.front().intValue()); + theQueue.enqueue(600); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(716,theQueue.front().intValue()); + theQueue.enqueue(331); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(716,theQueue.front().intValue()); + theQueue.enqueue(390); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(716,theQueue.front().intValue()); + theQueue.enqueue(98); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(716,theQueue.front().intValue()); + theQueue.enqueue(701); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(716,theQueue.front().intValue()); + theQueue.enqueue(998); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(716,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(716,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(117,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(88,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(601,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(442,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(272,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(962,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(893,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(19,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(788,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(483,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(291,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(600,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(331,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(390,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(98,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(701,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(998,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(98); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(98,theQueue.front().intValue()); + theQueue.enqueue(990); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(98,theQueue.front().intValue()); + theQueue.enqueue(29); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(98,theQueue.front().intValue()); + theQueue.enqueue(355); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(98,theQueue.front().intValue()); + theQueue.enqueue(129); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(98,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(98,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(990,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(29,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(355,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(129,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(146); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(146,theQueue.front().intValue()); + theQueue.enqueue(818); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(146,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(146,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(818,theQueue.front().intValue()); + theQueue.enqueue(980); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(818,theQueue.front().intValue()); + theQueue.enqueue(884); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(818,theQueue.front().intValue()); + theQueue.enqueue(399); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(818,theQueue.front().intValue()); + theQueue.enqueue(107); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(818,theQueue.front().intValue()); + theQueue.enqueue(0); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(818,theQueue.front().intValue()); + theQueue.enqueue(906); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(818,theQueue.front().intValue()); + theQueue.enqueue(373); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(818,theQueue.front().intValue()); + theQueue.enqueue(475); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(818,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(818,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(980,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(980,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(884,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(399,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(107,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(0,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(906,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(373,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(475,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(563); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(563,theQueue.front().intValue()); + theQueue.enqueue(371); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(563,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(563,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(371,theQueue.front().intValue()); + theQueue.enqueue(833); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(371,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(371,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(833,theQueue.front().intValue()); + theQueue.enqueue(744); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(833,theQueue.front().intValue()); + theQueue.enqueue(644); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(833,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(833,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(744,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(644,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(592); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(592,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(592,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(878); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(878,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(878,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(66); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(66,theQueue.front().intValue()); + theQueue.enqueue(7); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(66,theQueue.front().intValue()); + theQueue.enqueue(216); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(66,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(66,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(7,theQueue.front().intValue()); + theQueue.enqueue(275); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(7,theQueue.front().intValue()); + theQueue.enqueue(938); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(7,theQueue.front().intValue()); + theQueue.enqueue(954); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(7,theQueue.front().intValue()); + theQueue.enqueue(505); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(7,theQueue.front().intValue()); + theQueue.enqueue(537); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(7,theQueue.front().intValue()); + theQueue.enqueue(600); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(7,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(7,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(216,theQueue.front().intValue()); + theQueue.enqueue(521); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(216,theQueue.front().intValue()); + theQueue.enqueue(558); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(216,theQueue.front().intValue()); + theQueue.enqueue(486); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(216,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(216,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(275,theQueue.front().intValue()); + theQueue.enqueue(554); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(275,theQueue.front().intValue()); + theQueue.enqueue(212); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(275,theQueue.front().intValue()); + theQueue.enqueue(648); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(275,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(275,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(938,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(954,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(505,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(537,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(600,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(521,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(558,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(486,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(554,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(212,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(648,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(849); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(849,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(849,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(910); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(910,theQueue.front().intValue()); + theQueue.enqueue(244); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(910,theQueue.front().intValue()); + theQueue.enqueue(543); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(910,theQueue.front().intValue()); + theQueue.enqueue(440); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(910,theQueue.front().intValue()); + theQueue.enqueue(468); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(910,theQueue.front().intValue()); + theQueue.enqueue(935); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(910,theQueue.front().intValue()); + theQueue.enqueue(625); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(910,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(910,tmp.intValue()); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(244,theQueue.front().intValue()); + theQueue.enqueue(702); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(244,theQueue.front().intValue()); + theQueue.enqueue(236); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(244,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(244,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(543,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(440,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(468,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(935,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(625,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(702,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(236,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(243); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(243,theQueue.front().intValue()); + theQueue.enqueue(120); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(243,theQueue.front().intValue()); + theQueue.enqueue(952); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(243,theQueue.front().intValue()); + tmp = theQueue.dequeue(); + assertEquals(243,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(120,tmp.intValue()); + tmp = theQueue.dequeue(); + assertEquals(952,tmp.intValue()); + assertTrue(theQueue.isEmpty()); + assertNull(theQueue.front()); + theQueue.enqueue(282); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(282,theQueue.front().intValue()); + theQueue.enqueue(648); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(282,theQueue.front().intValue()); + theQueue.enqueue(188); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(282,theQueue.front().intValue()); + theQueue.enqueue(339); + assertFalse(theQueue.isEmpty()); + assertNotNull(theQueue.front()); + assertEquals(282,theQueue.front().intValue()); + } + +} diff --git a/Quellcodes/Alg_DS_Queue/02_queue_loes/README.TXT b/Quellcodes/Alg_DS_Queue/02_queue_loes/README.TXT new file mode 100644 index 0000000..e45dacd --- /dev/null +++ b/Quellcodes/Alg_DS_Queue/02_queue_loes/README.TXT @@ -0,0 +1,5 @@ +PROJEKTBEZEICHNUNG: Stack +PROJEKTZWECK: Zwei Implementationen des ADTs Stack +VERSION oder DATUM: Oktober 2020 +WIE IST DAS PROJEKT ZU STARTEN: Implementieren Sie den ArrayStack oder den LinkedStack. Führen Sie dann bei den entsprechenden Tester-Klassen "Alles testen" aus. +AUTOR(EN): Rainer Helfrich, ZPG Informatik diff --git a/Quellcodes/Alg_DS_Queue/02_queue_loes/package.bluej b/Quellcodes/Alg_DS_Queue/02_queue_loes/package.bluej new file mode 100644 index 0000000..fce77db --- /dev/null +++ b/Quellcodes/Alg_DS_Queue/02_queue_loes/package.bluej @@ -0,0 +1,76 @@ +#BlueJ package file +dependency1.from=ArrayQueueTester +dependency1.to=ArrayQueue +dependency1.type=UsesDependency +dependency2.from=QueueTester +dependency2.to=Queue +dependency2.type=UsesDependency +dependency3.from=LinkedQueueTester +dependency3.to=LinkedQueue +dependency3.type=UsesDependency +editor.fx.0.height=924 +editor.fx.0.width=1139 +editor.fx.0.x=59 +editor.fx.0.y=36 +objectbench.height=126 +objectbench.width=759 +package.divider.horizontal=0.6 +package.divider.vertical=0.734 +package.editor.height=360 +package.editor.width=635 +package.editor.x=807 +package.editor.y=149 +package.frame.height=600 +package.frame.width=799 +package.numDependencies=3 +package.numTargets=6 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=ArrayQueue +target1.showInterface=false +target1.type=ClassTarget +target1.width=130 +target1.x=20 +target1.y=170 +target2.height=50 +target2.name=ArrayQueueTester +target2.showInterface=false +target2.type=UnitTestTargetJunit4 +target2.width=140 +target2.x=100 +target2.y=300 +target3.height=50 +target3.name=LinkedQueue +target3.showInterface=false +target3.type=ClassTarget +target3.width=130 +target3.x=370 +target3.y=160 +target4.height=50 +target4.name=QueueTester +target4.showInterface=false +target4.type=AbstractTarget +target4.width=100 +target4.x=220 +target4.y=210 +target5.height=50 +target5.name=LinkedQueueTester +target5.showInterface=false +target5.type=UnitTestTargetJunit4 +target5.width=140 +target5.x=280 +target5.y=300 +target6.height=50 +target6.name=Queue +target6.showInterface=false +target6.type=AbstractTarget +target6.width=90 +target6.x=210 +target6.y=40 diff --git a/Quellcodes/Alg_DS_Queue/readme.adoc b/Quellcodes/Alg_DS_Queue/readme.adoc new file mode 100644 index 0000000..849992d --- /dev/null +++ b/Quellcodes/Alg_DS_Queue/readme.adoc @@ -0,0 +1,11 @@ += Material : + +|=== +|Zuordnung| +|Klassenstufe| +|Bildungsplanbezug | +|Werkzeug| +|Autoren| +|=== + +== Inhalt diff --git a/Quellcodes/Alg_DS_Set/.gitignore b/Quellcodes/Alg_DS_Set/.gitignore new file mode 100644 index 0000000..2cc0cb6 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/.gitignore @@ -0,0 +1,7 @@ +**/*.sh +**/*.class +**/*.ctxt +repo.adoc +repo_subtree.adoc +/alt +/hide diff --git a/Quellcodes/Alg_DS_Set/01_set_roh/+libs/SizeOf.jar b/Quellcodes/Alg_DS_Set/01_set_roh/+libs/SizeOf.jar new file mode 100644 index 0000000000000000000000000000000000000000..d1cc0f596b2179e4f4e7cdb39c1800f1109d7625 GIT binary patch literal 8049 zcma)B1z1#D+a0>Q8wI6Hx{(+J>FyZ1TNnhCZj>5?K|l!!NlED(VCa^R78Hb`L*mEp zddu(n{ddo^&z^Ih_g#DMb@ubjyJl%TL_x&{05Ac768}wkz+V~`02QFBpmU!~Ne#$z z)eit@{0PMa6yJodaLWgW-Gslm>7+OPk5JY7YDz!_Z5?h^plVDdb_Xw^%!$m^GLX)* zD@5V_q#C}$t0i_mGv_ul<~01Hty1WC=!w~`2znBzEalE!SBpr!63Dg6w?{$D1`E^# z1`d-pp5gSL>MyRSzn0EI8%r(u2XF%qMf+}t-wh^tJn!h!C(zJa@K`hv{ROsi#=AGq z_meeNBDLBqyG8BuCn=^=8$sHr_nHjv)LI;pOJzX=P*U=4og1KcXrAA==Bq z-^R`Me$k;yrxz2jrL3!|`EGpgIUWFzNC^Ni{W??oW>$4uZYyU?FRyq5 ztN`tk!0W5Gt4hPeY0g%t=+?;XRY)vhguH}p6qweyi70}cxmAa}Jc)NyF}gm_mKjf# zfFQ%yxaIeh(tP)j@1AXwmn+WGk`OY1-AWvA`Ef-^aSMdvfRu2YzNjzM9@W zxn6)>?~P5`Wn)xiJSs5=;S+xCr`2v}a!Nxc6rgvkUL=vp3EM!_4Gl7coM|J#Wb2g4 z%PEZU@GsT4>Nw~8o)E9)IOl!rq2fZ=ix4|qf! zh?9Fy?z^@wbx5<;Gq0HH?LG6;#5dPMsB;HsDll9b;$JItx2`N&pZcQRJY`^?McAO3 z6RnlMM+hP{Z+5^#E_^6jZfz`*_FRANsM86cxn2hnE_zsH<6hp|hP+abXucPqA8`#? zeuAL8brOSn%@NkZ64p|_a*aSiD`!7_6~chkzyL>(ph=U7J}Fq*U?;f@$8FU?Wb``+ z-RUeRy8znUZB1SFL31nQ?7oJ(D_~x$g$I|g-^Iixaw{BA5F+E)GYsE;ODH;jDkMs` zo5gxTs%5g~nK-Aw-VW)t#qnQ39S zlQgaJ{@zWtPhJKDhO`qqjZFSy6KTSxVoroucJdB_#an&I8M5n{Dw*Wi4%oV^It~$+ z`k0eIe|T96pEKs*RU-3283&|+zvtLw*REV7-kXAiS%AD#`@Ef!V{*!Bv$8N+-zrZo zvV%=>mV`$1HH}>4JvR_~PpR@&x)~F<>@iCSmIpUSiz2|6s_(gh07#3xO$uoO+aks@ zm^2cY^pzj_%tqjvUJXUo3v1+xSc{K<;9++MsiIW-oQc?-HCgaoXv|4>BlccVdSfU? zX{nPOv#mllwX(G~Q8SE?B8|f2omQb^J;v_Ha{$zLv|1(DK!pJt)`fqb0>#36Cp%=9 z7r5ulc~^&i{J8?KQ_j!e6?=T~9(@b1@j=2{qS!BN@s7Q@%a}V5-BO^BPWf^Y#-5fG- zbdQ`D9jc=OXqTu3qp4wgdxi=fo_y`iPaF>M7l8%2qoDU{xp%5{UMa_y!T91Knkbfg zf@U*G)b~`))}p}U59(|_-0mDV1DR{^xBGIXKaf{{6N`|Fdq$X&@1RYu#(;%j{?=

m2MqGY|QxtPPZ_VC4d4S$bq3&&=a9+~54VJgI_Iz*3s zqF@9Md!cZY{k>A|NI z6G@op8+2fI!3;zFEh&`4*?M)9%LJ}!CVAF4hM^><*g zyl*Gc!nq1B@G+km;9MLqs$eX$n;o;|W>CqCI25Y%S+Ov_l`HsVwI0U%HG?QGd|(w{ z_yOzOEjbNs>O5eQ}+j zMQOpJheJ7KTsmyGpZPAH#FS5%2}F+~BG;8XL}=j|Fa6cL+8CPd zGEp`}BsLyC7;w&5X|8^;cpZ6RmN>;9t_*q+?Lae@-$w2<@q{&14A|a3eyg~vkrr&=#T&KznV@CfHrSZKXf;fW$&0U?7XlTGdegGKPPSWU zO1jN_XpS%YM0Hc}tkLot9j$c<`^LI?Rjm*_!3IKiP$()2PpDgMF4%Iu_~6I%G2tXV zd(Rb2L+)MC9LvXXI(A~jo$F7VrCBdg1DRaAu1;#%} z(1g4>`TSl;6Ij~h9^+|L4U8#pZ9mUANlR2{T{R`?em-xny zrn_RnM`rmSn~O~aqXqmg@RJ`jADFSMj}lW?Jl0K4^2hq(S7Rn+7hhr8FGqC$gJB!{lOEvG_;`deez(6o2wLrvdSQX79 zY}YX{e?BGug7^a7ynY)_Np4suoF*%%Ajw%(>foE8+T^nRMU$j?%Ijgfkt+BtSyzF_ z+i$&!l>_5D0>j3fO!zaRj8jmEyUKEwJeA;>mSc~ymsvbbDdq*bq8Q<)DEc+bxSW{r z7IZnp3ZY_7JKH0ci+UVk#-10QwAomPUQ{zM1&in7;gh+D~%VwiQYY5BW zHki_@WRsnmw8^|(^BWnbmiyxT6qZ28Ajj4V{k)v?R(=mOIQRs;pG5>l$FCvcRNhv! zgrcumQjsapt|0p|xI>2Ibp@Ya{gcQL0#l?X&5ORK>sv3bjYZ5N8{f91x?BS2tH1Q& z=&?r{^;9lniEOLyfmYX6ruw=I`no^$bwm0TU~8|vJV$M~oz+!SGhP<1?~zhudT^tv zd!;{)fDckV^3H+}zB7pPGTF_R&Q2aJAT7JP zc=l5eL+HZY94Vw46B%>-MiJeZ`;A;9JG8EFCLP=_buyQt^I5Pg(1;mMwQywJI-dsa ztX=T&dWG~e=?rADvx3lOq>HDz0c5GCw|0ZV(A84)F2bN=>K~4!S8WkqYUAeaMpsFK zPvXZn_5Dy=dteBf<4u}^XlhM;Q@go=^5?|YGh5G=MvJD5^z2J<)U6iYPALn`^bKw1 zis(&558CqY3e*k)dF;I7N2QI37er~AA){OM!gMez^7F41=^X=fFgjX}Cz+kWd^)K4 zJ+;cwk~YNJ4d%_w_2%Oyg#rv@YYKM;en_zPRwA1*;-PKm%{?Bs)KXI?tb?N;y=1a1OU}i9G`tiY`$}g!Z06 z#_LxnQtBj4obPkY;ButzaOI@5WO&fCsPy=3g`$bg^6U8I@qfrK5jgFp%Ml!1&KG)beVsYl{w^h!GCVzD_+#}(Qn!t#f zph;n$qqa#ez$|d>DA~+CkuvA*Z}}vI`^0G7L8QqEVM#t+H$V=dfq>CJna8mNykEry z?V!?VAmYc~HQoo~vE&G{qtEj|}FrX zH>ZU6-|z3CgY}OcYN|f$yg4q(1s|wG3-;!cF%ktdWFPA`k)mp9X!s-az5`^(|4w#0eqNO_Ha5an3{YGL`ihQ<( z{G7CePsmU7xN16r0U?{Sl%~TU$)_ASDBsip8|U?Qk7But&viFyFGh3|#a&FV9{5=V z=x3@8DIQ?bVA9O!iI7^;8N2o0v2*a4uUrq(bXu+NmsV;_U=!JTM8-lo_NIVdo#8&5 z6nzU2Zi9?K5q*4D3jj5#sHPw*Wma?*wdX^;pjpG0BD0L9 zVtru4O1DnKeh=7Zcq8G6Q(CH#a*)LNcB06V3B1VIlx7P&Wu zIERC(Hml?zUw(U*{I(2+sVx$-zv{fqeAm(jzqfVlZ>O6bzRmAB>YHEyGJ(gTI^BLtcHU@Vc(tk#~VARqt}^F2;1l{v=wQ` zsjHApA5cMyoq*A5J{Gixj$J5N1 z;gZu3WLDk?7ii-p`GLd^n|*!H0EfLqzlrNN=52nL@zxl`;SdE|)S)<7%``E+HU#f8 z$%o`^Qn2y&c<>|d48Uxb7OObMmWF3%L`mOPmT$@&%<39AE7;GIl zoA6oRGuVnxB_OC{K~v-87#Y99vo9AI3CI7Oi7I8~*oZH@`&5Sx8!F}%gW z=G-K0&_?yy1);f1O>p`0EfjN@+?w$)CxkQ0vq0@Q4}{(l92vgO!(`PPjY@Q^D)Cn4 z9c?3H4|~fU75}iDd0a1)%{gTM6i}jXKWQ%DA_36)&^6POHkMyprj=!6mqg6@TT@#; zGTIina&0(Yf(kEWlec#D%~TE%P^Hxzy~xa}m*(tj*tL`PRh(uPdfCRT6n$=jc@suj+%U=V zh%uuDJHKl5g?(I%QZZ1ouoI-mW(+@l{xyhNiGiZq@#PE3doH%&ekG`H8^-532Tt4f zNSP&e>|S>CizVZ7P*G`%--^xgk1@1qIEpw#3~f^jC&6By<;Z)nTcBSaEu45Y4cVPa}9P(E>8bVcLGIy*d4J$kJ<32p9s#yZI4 zvtm^cHHksrVue>+rfHhSQlBKUwdn;!Y?Kp^^Q}eLr7|tKCzze_RL*X-mXSBS?(+?^ zT2BM!tq+l0rqFyQxx5{}nMvUv&h}O3BGjbOd8rH61+vJ!pEX2__c##bzKuX6wnVoh zVSCg{y~KT{5@#y@;CMPdS#PN&AS)`)D3KYNx#L`yu=^<_4nDj_q{l2SG#%US*}GDL z*Qw|KxcgR6{Gt5o6XY5z0moNaW~xz-IAt32i9wVwRBqyNWg@(hqD5$ZVMxRSG@|p^ zG4s{i6MbQ|PYuw-;-OV|->fhwELFI38d%;(`7poT)ig%*qC}n8_u1d`XD|xkPPA7A za@d#TNLE_%bCp@-J{NW=Wu)pKj(LZjMTaj`XZa9q7%MH$zO{6DpmuYAKbB-p?sHOC z!ky0zubAshAbADeT6h(`>y^g_CaokcN;NMNCIp_ngts ze%n=+M_x#=qvOt1BTfjWR)3mBpJE3~iHe~ZhX-n*Ej+xyp}CH?4HwH~bPbzo3Ja0p z$>9a2X%JEus&j*c!8Px!=&AMis?ZRTVS-Z@JkK4-^;PwI9T*lv;=?6w z=}s@V7TSeV_?dBIcvS-=@_g<=*-?B*=Y%WMhM61%l1KbiK4m*m)Du1+ukz)>sbp5Y z*x5~?i-b&y@@t3g=BM|j5dyy6|33aIj@|c!?=3HwRZ~yPwpG@4 + + + + +BenchmarkBase + + + + + + + +

+ + +
+
+

Class BenchmarkBase

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • BenchmarkBase
    • +
    +
  • +
+
+
    +
  • +
    +
    public class BenchmarkBase
    +extends java.lang.Object
    +
    Testet Set-Varianten auf ihre Effizenz
    +
    +
    Version:
    +
    November 2020
    +
    Author:
    +
    Rainer Helfrich
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        theSet

        +
        protected Set theSet
        +
      • +
      + + + +
        +
      • +

        zufallszahlen

        +
        java.util.Random zufallszahlen
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BenchmarkBase

        +
        protected BenchmarkBase()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        init

        +
        protected void init​(java.lang.Class c)
        +             throws java.lang.Exception
        +
        +
        Throws:
        +
        java.lang.Exception
        +
        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
        Wird benötigt, um in einem neuen Prozess den Speichertest durchzuführen. + Sollte nicht direkt aufgerufen werden.
        +
      • +
      + + + +
        +
      • +

        laufzeitTest

        +
        protected static int laufzeitTest​(java.lang.String typ,
        +                                  java.lang.String methode,
        +                                  int anzahl)
        +
        Führt einen Laufzeittest aus. Wiederholt den Test 100 mal, um Ausreißer zu vermeiden. + Sollte nicht direkt aufgerufen werden.
        +
        +
        Parameters:
        +
        typ - Die Unterklasse von Set, die getestet werden soll
        +
        methode - Der Name der Methode in der Klasse MeinBenchmark, die zum Testen ausgeführt werden soll
        +
        anzahl - Ein Parameter für die Methode namens "methode", der z.B. die Anzahl der Operationen steuert
        +
        Returns:
        +
        Die Laufzeit des Tests in Mikrosekunden (µs)
        +
        +
      • +
      + + + +
        +
      • +

        speicherTest

        +
        protected static int speicherTest​(java.lang.String typ,
        +                                  java.lang.String methode,
        +                                  int anzahl)
        +
        Führt einen Speichertest aus. Sollte nicht direkt aufgerufen werden.
        +
        +
        Parameters:
        +
        typ - Die Unterklasse von Set, die getestet werden soll
        +
        methode - Der Name der Methode in der Klasse MeinBenchmark, die zum Testen ausgeführt werden soll
        +
        anzahl - Ein Parameter für die Methode namens "methode", der z.B. die Anzahl der Operationen steuert
        +
        Returns:
        +
        Die Größe der Set in Bytes, nachdem die Testmethode ausgeführt wurde
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + diff --git a/Quellcodes/Alg_DS_Set/01_set_roh/doc/MeinBenchmark.html b/Quellcodes/Alg_DS_Set/01_set_roh/doc/MeinBenchmark.html new file mode 100644 index 0000000..d309708 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/01_set_roh/doc/MeinBenchmark.html @@ -0,0 +1,230 @@ + + + + + +MeinBenchmark + + + + + + + + + +
+
+

Class MeinBenchmark

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • BenchmarkBase
    • +
    • +
        +
      • MeinBenchmark
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    public class MeinBenchmark
    +extends BenchmarkBase
    +
    Führt Leistungstests mit verschiedenen Set-Implementationen aus
    +
    +
    Version:
    +
    November 2020
    +
    Author:
    +
    Rainer Helfrich
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      +
        +
      • + + +

        Fields inherited from class BenchmarkBase

        +theSet, zufallszahlen
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      MeinBenchmark() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidlaufzeitTestAusfuehren() +
      Führt einen Laufzeittest mit 1000 Elementen aus und gibt das Ergebnis auf der Konsole aus.
      +
      voidmeinTest​(int n) 
      static voidspeicherTestAusfuehren() +
      Führt einen Speichertest mit 100 Elementen aus und gibt das Ergebnis auf der Konsole aus.
      +
      +
        +
      • + + +

        Methods inherited from class BenchmarkBase

        +init, laufzeitTest, main, speicherTest
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MeinBenchmark

        +
        public MeinBenchmark()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        meinTest

        +
        public void meinTest​(int n)
        +
      • +
      + + + +
        +
      • +

        speicherTestAusfuehren

        +
        public static void speicherTestAusfuehren()
        +
        Führt einen Speichertest mit 100 Elementen aus und gibt das Ergebnis auf der Konsole aus.
        +
      • +
      + + + +
        +
      • +

        laufzeitTestAusfuehren

        +
        public static void laufzeitTestAusfuehren()
        +
        Führt einen Laufzeittest mit 1000 Elementen aus und gibt das Ergebnis auf der Konsole aus.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + diff --git a/Quellcodes/Alg_DS_Set/01_set_roh/doc/Set.html b/Quellcodes/Alg_DS_Set/01_set_roh/doc/Set.html new file mode 100644 index 0000000..78c7413 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/01_set_roh/doc/Set.html @@ -0,0 +1,410 @@ + + + + + +Set + + + + + + + + + +
+
+

Class Set

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • Set
    • +
    +
  • +
+
+
    +
  • +
    +
    public abstract class Set
    +extends java.lang.Object
    +
    Schnittstelle des ADTs Set
    +
    +
    Version:
    +
    26.9.2020
    +
    Author:
    +
    Rainer Helfrich
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Set() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected abstract int[]alsArray() 
      abstract intanzahl() +
      Gibt die Mächtigkeit der Menge zurück
      +
      abstract Setdifferenz​(Set s) +
      Bestimmt die Differenzmenge der Menge selbst und der Menge s.
      +
      abstract voideinfuegen​(int wert) +
      Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist.
      +
      abstract voidentfernen​(int wert) +
      Entfernt einen Wert aus der Menge, falls er enthalten ist.
      +
      abstract booleanenthaelt​(int wert) +
      Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist.
      +
      booleangleich​(Set s) +
      Gibt zurück, ob diese Menge und s die gleichen Elemente enthalten
      +
      abstract booleanistLeer() +
      Gibt zurück, ob die Menge kein Element enthält
      +
      abstract Setschnittmenge​(Set s) +
      Bestimmt die Schnittmenge der Menge selbst und der Menge s.
      +
      java.lang.StringtoString() +
      Gibt die String-Darstellung der Menge (aufzählende Darstellung) zurück
      +
      abstract booleanuntermenge​(Set s) +
      Gibt zurück, ob diese Menge eine Untermenge der Menge s ist.
      +
      abstract Setvereinigungsmenge​(Set s) +
      Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Set

        +
        public Set()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        einfuegen

        +
        public abstract void einfuegen​(int wert)
        +
        Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist.
        +
        +
        Parameters:
        +
        wert - Der einzufügende Wert
        +
        +
      • +
      + + + +
        +
      • +

        entfernen

        +
        public abstract void entfernen​(int wert)
        +
        Entfernt einen Wert aus der Menge, falls er enthalten ist.
        +
        +
        Parameters:
        +
        wert - Der zu entfernende Wert
        +
        +
      • +
      + + + +
        +
      • +

        enthaelt

        +
        public abstract boolean enthaelt​(int wert)
        +
        Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist.
        +
        +
        Parameters:
        +
        wert - Der zu suchende Wert
        +
        +
      • +
      + + + +
        +
      • +

        schnittmenge

        +
        public abstract Set schnittmenge​(Set s)
        +
        Bestimmt die Schnittmenge der Menge selbst und der Menge s.
        +
        +
        Parameters:
        +
        s - Die Menge, mit der die Schnittmenge bestimmt werden soll
        +
        Returns:
        +
        Eine neue Set, die die Schnittmenge der beiden Mengen repräsentiert.
        +
        +
      • +
      + + + +
        +
      • +

        vereinigungsmenge

        +
        public abstract Set vereinigungsmenge​(Set s)
        +
        Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s.
        +
        +
        Parameters:
        +
        s - Die Menge, mit der die Vereinigungsmenge bestimmt werden soll
        +
        Returns:
        +
        Eine neue Set, die die Vereinigungsmenge der beiden Mengen repräsentiert.
        +
        +
      • +
      + + + +
        +
      • +

        untermenge

        +
        public abstract boolean untermenge​(Set s)
        +
        Gibt zurück, ob diese Menge eine Untermenge der Menge s ist.
        +
        +
        Parameters:
        +
        s - Die Menge, die geprüft werden soll.
        +
        Returns:
        +
        true, wenn jedes Element dieser Menge in s enthalten ist; false sonst
        +
        +
      • +
      + + + +
        +
      • +

        differenz

        +
        public abstract Set differenz​(Set s)
        +
        Bestimmt die Differenzmenge der Menge selbst und der Menge s.
        +
        +
        Parameters:
        +
        s - Die Menge, die von dieser Menge abgezogen werden soll.
        +
        Returns:
        +
        Eine neue Set, die alle Elemente dieser Menge enthält, die nicht in s enthalten sind.
        +
        +
      • +
      + + + +
        +
      • +

        anzahl

        +
        public abstract int anzahl()
        +
        Gibt die Mächtigkeit der Menge zurück
        +
        +
        Returns:
        +
        Die Anzahl der Elemente in der Menge
        +
        +
      • +
      + + + +
        +
      • +

        istLeer

        +
        public abstract boolean istLeer()
        +
        Gibt zurück, ob die Menge kein Element enthält
        +
        +
        Returns:
        +
        true, wenn die Menge leer ist; false sonst
        +
        +
      • +
      + + + +
        +
      • +

        alsArray

        +
        protected abstract int[] alsArray()
        +
      • +
      + + + +
        +
      • +

        gleich

        +
        public boolean gleich​(Set s)
        +
        Gibt zurück, ob diese Menge und s die gleichen Elemente enthalten
        +
        +
        Parameters:
        +
        s - Die zu überprüfende Menge
        +
        Returns:
        +
        true, wenn beide Mengen die gleichen Elemente enthalten; false sonst
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        Gibt die String-Darstellung der Menge (aufzählende Darstellung) zurück
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        Returns:
        +
        Ein String, der alle Elemente der Menge aufzählt.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + diff --git a/Quellcodes/Alg_DS_Set/01_set_roh/doc/SetVarianteA.html b/Quellcodes/Alg_DS_Set/01_set_roh/doc/SetVarianteA.html new file mode 100644 index 0000000..918de31 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/01_set_roh/doc/SetVarianteA.html @@ -0,0 +1,401 @@ + + + + + +SetVarianteA + + + + + + + + + +
+
+

Class SetVarianteA

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • Set
    • +
    • +
        +
      • SetVarianteA
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    public class SetVarianteA
    +extends Set
    +
    Set-Variante A
    +
    +
    Version:
    +
    27.9.2020
    +
    Author:
    +
    Rainer Helfrich
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      SetVarianteA() +
      Erzeugt eine neue leere Set
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected int[]alsArray() 
      intanzahl() +
      Gibt die Mächtigkeit der Menge zurück
      +
      Setdifferenz​(Set s) +
      Bestimmt die Differenzmenge der Menge selbst und der Menge s.
      +
      voideinfuegen​(int n) +
      Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist.
      +
      voidentfernen​(int n) +
      Entfernt einen Wert aus der Menge, falls er enthalten ist.
      +
      booleanenthaelt​(int n) +
      Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist.
      +
      booleanistLeer() +
      Gibt zurück, ob die Menge kein Element enthält
      +
      Setschnittmenge​(Set s) +
      Bestimmt die Schnittmenge der Menge selbst und der Menge s.
      +
      booleanuntermenge​(Set s) +
      Gibt zurück, ob diese Menge eine Untermenge der Menge s ist.
      +
      Setvereinigungsmenge​(Set s) +
      Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s.
      +
      +
        +
      • + + +

        Methods inherited from class Set

        +gleich, toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SetVarianteA

        +
        public SetVarianteA()
        +
        Erzeugt eine neue leere Set
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        alsArray

        +
        protected int[] alsArray()
        +
        +
        Specified by:
        +
        alsArray in class Set
        +
        +
      • +
      + + + +
        +
      • +

        istLeer

        +
        public boolean istLeer()
        +
        Gibt zurück, ob die Menge kein Element enthält
        +
        +
        Specified by:
        +
        istLeer in class Set
        +
        Returns:
        +
        true, wenn die Menge leer ist; false sonst
        +
        +
      • +
      + + + +
        +
      • +

        anzahl

        +
        public int anzahl()
        +
        Gibt die Mächtigkeit der Menge zurück
        +
        +
        Specified by:
        +
        anzahl in class Set
        +
        Returns:
        +
        Die Anzahl der Elemente in der Menge
        +
        +
      • +
      + + + +
        +
      • +

        differenz

        +
        public Set differenz​(Set s)
        +
        Bestimmt die Differenzmenge der Menge selbst und der Menge s.
        +
        +
        Specified by:
        +
        differenz in class Set
        +
        Parameters:
        +
        s - Die Menge, die von dieser Menge abgezogen werden soll.
        +
        Returns:
        +
        Eine neue Set, die alle Elemente dieser Menge enthält, die nicht in s enthalten sind.
        +
        +
      • +
      + + + +
        +
      • +

        untermenge

        +
        public boolean untermenge​(Set s)
        +
        Gibt zurück, ob diese Menge eine Untermenge der Menge s ist.
        +
        +
        Specified by:
        +
        untermenge in class Set
        +
        Parameters:
        +
        s - Die Menge, die geprüft werden soll.
        +
        Returns:
        +
        true, wenn jedes Element dieser Menge in s enthalten ist; false sonst
        +
        +
      • +
      + + + +
        +
      • +

        vereinigungsmenge

        +
        public Set vereinigungsmenge​(Set s)
        +
        Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s.
        +
        +
        Specified by:
        +
        vereinigungsmenge in class Set
        +
        Parameters:
        +
        s - Die Menge, mit der die Vereinigungsmenge bestimmt werden soll
        +
        Returns:
        +
        Eine neue Set, die die Vereinigungsmenge der beiden Mengen repräsentiert.
        +
        +
      • +
      + + + +
        +
      • +

        einfuegen

        +
        public void einfuegen​(int n)
        +
        Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist.
        +
        +
        Specified by:
        +
        einfuegen in class Set
        +
        Parameters:
        +
        wert - Der einzufügende Wert
        +
        +
      • +
      + + + +
        +
      • +

        schnittmenge

        +
        public Set schnittmenge​(Set s)
        +
        Bestimmt die Schnittmenge der Menge selbst und der Menge s.
        +
        +
        Specified by:
        +
        schnittmenge in class Set
        +
        Parameters:
        +
        s - Die Menge, mit der die Schnittmenge bestimmt werden soll
        +
        Returns:
        +
        Eine neue Set, die die Schnittmenge der beiden Mengen repräsentiert.
        +
        +
      • +
      + + + +
        +
      • +

        enthaelt

        +
        public boolean enthaelt​(int n)
        +
        Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist.
        +
        +
        Specified by:
        +
        enthaelt in class Set
        +
        Parameters:
        +
        wert - Der zu suchende Wert
        +
        +
      • +
      + + + +
        +
      • +

        entfernen

        +
        public void entfernen​(int n)
        +
        Entfernt einen Wert aus der Menge, falls er enthalten ist.
        +
        +
        Specified by:
        +
        entfernen in class Set
        +
        Parameters:
        +
        wert - Der zu entfernende Wert
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + diff --git a/Quellcodes/Alg_DS_Set/01_set_roh/doc/SetVarianteB.html b/Quellcodes/Alg_DS_Set/01_set_roh/doc/SetVarianteB.html new file mode 100644 index 0000000..9e124f8 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/01_set_roh/doc/SetVarianteB.html @@ -0,0 +1,401 @@ + + + + + +SetVarianteB + + + + + + + + + +
+
+

Class SetVarianteB

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • Set
    • +
    • +
        +
      • SetVarianteB
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    public class SetVarianteB
    +extends Set
    +
    Set-Variante B
    +
    +
    Version:
    +
    26.9.2020
    +
    Author:
    +
    Rainer Helfrich
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      SetVarianteB() +
      Erzeugt eine neue leere Set
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected int[]alsArray() 
      intanzahl() +
      Gibt die Mächtigkeit der Menge zurück
      +
      Setdifferenz​(Set s) +
      Bestimmt die Differenzmenge der Menge selbst und der Menge s.
      +
      voideinfuegen​(int wert) +
      Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist.
      +
      voidentfernen​(int wert) +
      Entfernt einen Wert aus der Menge, falls er enthalten ist.
      +
      booleanenthaelt​(int x) +
      Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist.
      +
      booleanistLeer() +
      Gibt zurück, ob die Menge kein Element enthält
      +
      Setschnittmenge​(Set s) +
      Bestimmt die Schnittmenge der Menge selbst und der Menge s.
      +
      booleanuntermenge​(Set s) +
      Gibt zurück, ob diese Menge eine Untermenge der Menge s ist.
      +
      Setvereinigungsmenge​(Set s) +
      Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s.
      +
      +
        +
      • + + +

        Methods inherited from class Set

        +gleich, toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SetVarianteB

        +
        public SetVarianteB()
        +
        Erzeugt eine neue leere Set
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        istLeer

        +
        public boolean istLeer()
        +
        Gibt zurück, ob die Menge kein Element enthält
        +
        +
        Specified by:
        +
        istLeer in class Set
        +
        Returns:
        +
        true, wenn die Menge leer ist; false sonst
        +
        +
      • +
      + + + +
        +
      • +

        anzahl

        +
        public int anzahl()
        +
        Gibt die Mächtigkeit der Menge zurück
        +
        +
        Specified by:
        +
        anzahl in class Set
        +
        Returns:
        +
        Die Anzahl der Elemente in der Menge
        +
        +
      • +
      + + + +
        +
      • +

        differenz

        +
        public Set differenz​(Set s)
        +
        Bestimmt die Differenzmenge der Menge selbst und der Menge s.
        +
        +
        Specified by:
        +
        differenz in class Set
        +
        Parameters:
        +
        s - Die Menge, die von dieser Menge abgezogen werden soll.
        +
        Returns:
        +
        Eine neue Set, die alle Elemente dieser Menge enthält, die nicht in s enthalten sind.
        +
        +
      • +
      + + + +
        +
      • +

        untermenge

        +
        public boolean untermenge​(Set s)
        +
        Gibt zurück, ob diese Menge eine Untermenge der Menge s ist.
        +
        +
        Specified by:
        +
        untermenge in class Set
        +
        Parameters:
        +
        s - Die Menge, die geprüft werden soll.
        +
        Returns:
        +
        true, wenn jedes Element dieser Menge in s enthalten ist; false sonst
        +
        +
      • +
      + + + +
        +
      • +

        vereinigungsmenge

        +
        public Set vereinigungsmenge​(Set s)
        +
        Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s.
        +
        +
        Specified by:
        +
        vereinigungsmenge in class Set
        +
        Parameters:
        +
        s - Die Menge, mit der die Vereinigungsmenge bestimmt werden soll
        +
        Returns:
        +
        Eine neue Set, die die Vereinigungsmenge der beiden Mengen repräsentiert.
        +
        +
      • +
      + + + +
        +
      • +

        alsArray

        +
        protected int[] alsArray()
        +
        +
        Specified by:
        +
        alsArray in class Set
        +
        +
      • +
      + + + +
        +
      • +

        schnittmenge

        +
        public Set schnittmenge​(Set s)
        +
        Bestimmt die Schnittmenge der Menge selbst und der Menge s.
        +
        +
        Specified by:
        +
        schnittmenge in class Set
        +
        Parameters:
        +
        s - Die Menge, mit der die Schnittmenge bestimmt werden soll
        +
        Returns:
        +
        Eine neue Set, die die Schnittmenge der beiden Mengen repräsentiert.
        +
        +
      • +
      + + + +
        +
      • +

        enthaelt

        +
        public boolean enthaelt​(int x)
        +
        Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist.
        +
        +
        Specified by:
        +
        enthaelt in class Set
        +
        Parameters:
        +
        wert - Der zu suchende Wert
        +
        +
      • +
      + + + +
        +
      • +

        entfernen

        +
        public void entfernen​(int wert)
        +
        Entfernt einen Wert aus der Menge, falls er enthalten ist.
        +
        +
        Specified by:
        +
        entfernen in class Set
        +
        Parameters:
        +
        wert - Der zu entfernende Wert
        +
        +
      • +
      + + + +
        +
      • +

        einfuegen

        +
        public void einfuegen​(int wert)
        +
        Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist.
        +
        +
        Specified by:
        +
        einfuegen in class Set
        +
        Parameters:
        +
        wert - Der einzufügende Wert
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + diff --git a/Quellcodes/Alg_DS_Set/01_set_roh/doc/SetVarianteC.html b/Quellcodes/Alg_DS_Set/01_set_roh/doc/SetVarianteC.html new file mode 100644 index 0000000..6a86811 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/01_set_roh/doc/SetVarianteC.html @@ -0,0 +1,426 @@ + + + + + +SetVarianteC + + + + + + + + + +
+
+

Class SetVarianteC

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • Set
    • +
    • +
        +
      • SetVarianteC
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    public class SetVarianteC
    +extends Set
    +
    Set-Variante C
    +
    +
    Version:
    +
    26.9.2020
    +
    Author:
    +
    Rainer Helfrich
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      SetVarianteC() +
      Erzeugt eine neue leere Set
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected int[]alsArray() 
      intanzahl() +
      Gibt die Mächtigkeit der Menge zurück
      +
      Setdifferenz​(Set s) +
      Bestimmt die Differenzmenge der Menge selbst und der Menge s.
      +
      voideinfuegen​(int x) +
      Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist.
      +
      voidentfernen​(int x) +
      Entfernt einen Wert aus der Menge, falls er enthalten ist.
      +
      booleanenthaelt​(int x) +
      Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist.
      +
      booleangleich​(Set s) +
      Gibt zurück, ob diese Menge und s die gleichen Elemente enthalten
      +
      booleanistLeer() +
      Gibt zurück, ob die Menge kein Element enthält
      +
      Setschnittmenge​(Set s) +
      Bestimmt die Schnittmenge der Menge selbst und der Menge s.
      +
      booleanuntermenge​(Set s) +
      Gibt zurück, ob diese Menge eine Untermenge der Menge s ist.
      +
      Setvereinigungsmenge​(Set s) +
      Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s.
      +
      +
        +
      • + + +

        Methods inherited from class Set

        +toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SetVarianteC

        +
        public SetVarianteC()
        +
        Erzeugt eine neue leere Set
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        alsArray

        +
        protected int[] alsArray()
        +
        +
        Specified by:
        +
        alsArray in class Set
        +
        +
      • +
      + + + +
        +
      • +

        istLeer

        +
        public boolean istLeer()
        +
        Gibt zurück, ob die Menge kein Element enthält
        +
        +
        Specified by:
        +
        istLeer in class Set
        +
        Returns:
        +
        true, wenn die Menge leer ist; false sonst
        +
        +
      • +
      + + + +
        +
      • +

        enthaelt

        +
        public boolean enthaelt​(int x)
        +
        Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist.
        +
        +
        Specified by:
        +
        enthaelt in class Set
        +
        Parameters:
        +
        wert - Der zu suchende Wert
        +
        +
      • +
      + + + +
        +
      • +

        anzahl

        +
        public int anzahl()
        +
        Gibt die Mächtigkeit der Menge zurück
        +
        +
        Specified by:
        +
        anzahl in class Set
        +
        Returns:
        +
        Die Anzahl der Elemente in der Menge
        +
        +
      • +
      + + + +
        +
      • +

        differenz

        +
        public Set differenz​(Set s)
        +
        Bestimmt die Differenzmenge der Menge selbst und der Menge s.
        +
        +
        Specified by:
        +
        differenz in class Set
        +
        Parameters:
        +
        s - Die Menge, die von dieser Menge abgezogen werden soll.
        +
        Returns:
        +
        Eine neue Set, die alle Elemente dieser Menge enthält, die nicht in s enthalten sind.
        +
        +
      • +
      + + + +
        +
      • +

        einfuegen

        +
        public void einfuegen​(int x)
        +
        Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist.
        +
        +
        Specified by:
        +
        einfuegen in class Set
        +
        Parameters:
        +
        wert - Der einzufügende Wert
        +
        +
      • +
      + + + +
        +
      • +

        untermenge

        +
        public boolean untermenge​(Set s)
        +
        Gibt zurück, ob diese Menge eine Untermenge der Menge s ist.
        +
        +
        Specified by:
        +
        untermenge in class Set
        +
        Parameters:
        +
        s - Die Menge, die geprüft werden soll.
        +
        Returns:
        +
        true, wenn jedes Element dieser Menge in s enthalten ist; false sonst
        +
        +
      • +
      + + + +
        +
      • +

        vereinigungsmenge

        +
        public Set vereinigungsmenge​(Set s)
        +
        Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s.
        +
        +
        Specified by:
        +
        vereinigungsmenge in class Set
        +
        Parameters:
        +
        s - Die Menge, mit der die Vereinigungsmenge bestimmt werden soll
        +
        Returns:
        +
        Eine neue Set, die die Vereinigungsmenge der beiden Mengen repräsentiert.
        +
        +
      • +
      + + + +
        +
      • +

        schnittmenge

        +
        public Set schnittmenge​(Set s)
        +
        Bestimmt die Schnittmenge der Menge selbst und der Menge s.
        +
        +
        Specified by:
        +
        schnittmenge in class Set
        +
        Parameters:
        +
        s - Die Menge, mit der die Schnittmenge bestimmt werden soll
        +
        Returns:
        +
        Eine neue Set, die die Schnittmenge der beiden Mengen repräsentiert.
        +
        +
      • +
      + + + +
        +
      • +

        entfernen

        +
        public void entfernen​(int x)
        +
        Entfernt einen Wert aus der Menge, falls er enthalten ist.
        +
        +
        Specified by:
        +
        entfernen in class Set
        +
        Parameters:
        +
        wert - Der zu entfernende Wert
        +
        +
      • +
      + + + +
        +
      • +

        gleich

        +
        public boolean gleich​(Set s)
        +
        Gibt zurück, ob diese Menge und s die gleichen Elemente enthalten
        +
        +
        Overrides:
        +
        gleich in class Set
        +
        Parameters:
        +
        s - Die zu überprüfende Menge
        +
        Returns:
        +
        true, wenn beide Mengen die gleichen Elemente enthalten; false sonst
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + diff --git a/Quellcodes/Alg_DS_Set/01_set_roh/doc/allclasses.html b/Quellcodes/Alg_DS_Set/01_set_roh/doc/allclasses.html new file mode 100644 index 0000000..595ef81 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/01_set_roh/doc/allclasses.html @@ -0,0 +1,20 @@ + + + + + +All Classes + + + + + + +

All Classes

+
+ +
+ + diff --git a/Quellcodes/Alg_DS_Set/01_set_roh/doc/constant-values.html b/Quellcodes/Alg_DS_Set/01_set_roh/doc/constant-values.html new file mode 100644 index 0000000..1771f3f --- /dev/null +++ b/Quellcodes/Alg_DS_Set/01_set_roh/doc/constant-values.html @@ -0,0 +1,35 @@ + + + + + +Constant Field Values + + + + + + + + +
+
+

Constant Field Values

+
+

Contents

+
+
+
+ + diff --git a/Quellcodes/Alg_DS_Set/01_set_roh/doc/element-list b/Quellcodes/Alg_DS_Set/01_set_roh/doc/element-list new file mode 100644 index 0000000..0e722c7 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/01_set_roh/doc/element-list @@ -0,0 +1 @@ +unnamed package diff --git a/Quellcodes/Alg_DS_Set/01_set_roh/doc/index.html b/Quellcodes/Alg_DS_Set/01_set_roh/doc/index.html new file mode 100644 index 0000000..cd12d84 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/01_set_roh/doc/index.html @@ -0,0 +1,23 @@ + + + + + +Generated Documentation (Untitled) + + + + + + + +
+ +

SetVarianteC.html

+
+ + diff --git a/Quellcodes/Alg_DS_Set/01_set_roh/doc/logfile.txt b/Quellcodes/Alg_DS_Set/01_set_roh/doc/logfile.txt new file mode 100644 index 0000000..c13cdec --- /dev/null +++ b/Quellcodes/Alg_DS_Set/01_set_roh/doc/logfile.txt @@ -0,0 +1,40 @@ +Class documentation +<---- javadoc command: ----> +D:\Program Files\BlueJ\jdk\bin\javadoc.exe +-author +-version +-nodeprecated +-package +-Xdoclint:none +-noindex +-notree +-nohelp +-nonavbar +-source +11 +-classpath +D:\Program Files\BlueJ\lib\bluejcore.jar;D:\Program Files\BlueJ\lib\junit-4.11.jar;D:\Program Files\BlueJ\lib\hamcrest-core-1.3.jar;D:\Program Files\BlueJ\lib\lang-stride.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.base.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.controls.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.fxml.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.graphics.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.media.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.properties.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.swing.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.web.jar;D:\Users\LeRainieur\Documents\Schule\Fortbildungen\Weiterentwicklung der Informatik ab 2015\Eigener Ablauf\Regionaltag 9+10\Turtle - Lösung\aplu5.jar;D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\+libs\SizeOf.jar;D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode) +-d +D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc +-encoding +UTF-8 +-charset +UTF-8 +D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\SetVarianteC.java +<---- end of javadoc command ----> +Loading source file D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\SetVarianteC.java... +Constructing Javadoc information... +Standard Doclet version 11.0.2 +Building tree for all the packages and classes... +Generating D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc\SetVarianteC.html... +D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\SetVarianteC.java:54: warning - @param argument "wert" is not a parameter name. +D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\SetVarianteC.java:117: warning - @param argument "wert" is not a parameter name. +D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\SetVarianteC.java:243: warning - @param argument "wert" is not a parameter name. +Generating D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc\package-summary.html... +Generating D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc\constant-values.html... +Building index for all the packages and classes... +Building index for all classes... +Generating D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc\allclasses.html... +Generating D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc\allclasses.html... +Generating D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc\index.html... +3 warnings diff --git a/Quellcodes/Alg_DS_Set/01_set_roh/doc/package-summary.html b/Quellcodes/Alg_DS_Set/01_set_roh/doc/package-summary.html new file mode 100644 index 0000000..987db39 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/01_set_roh/doc/package-summary.html @@ -0,0 +1,53 @@ + + + + + +<Unnamed> + + + + + + + + +
+
+

Package <Unnamed>

+
+
+
    +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    SetVarianteC +
    Set-Variante C
    +
    +
  • +
+
+
+ + diff --git a/Quellcodes/Alg_DS_Set/01_set_roh/doc/script.js b/Quellcodes/Alg_DS_Set/01_set_roh/doc/script.js new file mode 100644 index 0000000..d33d3ab --- /dev/null +++ b/Quellcodes/Alg_DS_Set/01_set_roh/doc/script.js @@ -0,0 +1,139 @@ +/* + * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; +function loadScripts(doc, tag) { + createElem(doc, tag, 'jquery/jszip/dist/jszip.js'); + createElem(doc, tag, 'jquery/jszip-utils/dist/jszip-utils.js'); + if (window.navigator.userAgent.indexOf('MSIE ') > 0 || window.navigator.userAgent.indexOf('Trident/') > 0 || + window.navigator.userAgent.indexOf('Edge/') > 0) { + createElem(doc, tag, 'jquery/jszip-utils/dist/jszip-utils-ie.js'); + } + createElem(doc, tag, 'search.js'); + + $.get(pathtoroot + "module-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "module-search-index.zip", function(e, data) { + var zip = new JSZip(data); + zip.load(data); + moduleSearchIndex = JSON.parse(zip.file("module-search-index.json").asText()); + }); + }); + $.get(pathtoroot + "package-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "package-search-index.zip", function(e, data) { + var zip = new JSZip(data); + zip.load(data); + packageSearchIndex = JSON.parse(zip.file("package-search-index.json").asText()); + }); + }); + $.get(pathtoroot + "type-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "type-search-index.zip", function(e, data) { + var zip = new JSZip(data); + zip.load(data); + typeSearchIndex = JSON.parse(zip.file("type-search-index.json").asText()); + }); + }); + $.get(pathtoroot + "member-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "member-search-index.zip", function(e, data) { + var zip = new JSZip(data); + zip.load(data); + memberSearchIndex = JSON.parse(zip.file("member-search-index.json").asText()); + }); + }); + $.get(pathtoroot + "tag-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "tag-search-index.zip", function(e, data) { + var zip = new JSZip(data); + zip.load(data); + tagSearchIndex = JSON.parse(zip.file("tag-search-index.json").asText()); + }); + }); + if (!moduleSearchIndex) { + createElem(doc, tag, 'module-search-index.js'); + } + if (!packageSearchIndex) { + createElem(doc, tag, 'package-search-index.js'); + } + if (!typeSearchIndex) { + createElem(doc, tag, 'type-search-index.js'); + } + if (!memberSearchIndex) { + createElem(doc, tag, 'member-search-index.js'); + } + if (!tagSearchIndex) { + createElem(doc, tag, 'tag-search-index.js'); + } + $(window).resize(function() { + $('.navPadding').css('padding-top', $('.fixedNav').css("height")); + }); +} + +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +function show(type) { + count = 0; + for (var key in data) { + var row = document.getElementById(key); + if ((data[key] & type) !== 0) { + row.style.display = ''; + row.className = (count++ % 2) ? rowColor : altColor; + } + else + row.style.display = 'none'; + } + updateTabs(type); +} + +function updateTabs(type) { + for (var value in tabs) { + var sNode = document.getElementById(tabs[value][0]); + var spanNode = sNode.firstChild; + if (value == type) { + sNode.className = activeTableTab; + spanNode.innerHTML = tabs[value][1]; + } + else { + sNode.className = tableTab; + spanNode.innerHTML = "" + tabs[value][1] + ""; + } + } +} + +function updateModuleFrame(pFrame, cFrame) { + top.packageFrame.location = pFrame; + top.classFrame.location = cFrame; +} diff --git a/Quellcodes/Alg_DS_Set/01_set_roh/doc/stylesheet.css b/Quellcodes/Alg_DS_Set/01_set_roh/doc/stylesheet.css new file mode 100644 index 0000000..c027275 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/01_set_roh/doc/stylesheet.css @@ -0,0 +1,906 @@ +/* + * Javadoc style sheet + */ + +@import url('resources/fonts/dejavu.css'); + +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a[href]:hover, a[href]:focus { + text-decoration:none; + color:#bb7a2a; +} +a[name] { + color:#353833; +} +a[name]:before, a[name]:target, a[id]:before, a[id]:target { + content:""; + display:inline-block; + position:relative; + padding-top:129px; + margin-top:-129px; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; + font-style:italic; +} +h4 { + font-size:13px; +} +h5 { + font-size:12px; +} +h6 { + font-size:11px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +table tr td dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} + +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.clear { + clear:both; + height:0px; + overflow:hidden; +} +.aboutLanguage { + float:right; + padding:0px 21px; + font-size:11px; + z-index:200; + margin-top:-9px; +} +.legalCopy { + margin-left:.5em; +} +.bar a, .bar a:link, .bar a:visited, .bar a:active { + color:#FFFFFF; + text-decoration:none; +} +.bar a:hover, .bar a:focus { + color:#bb7a2a; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* + * Styles for navigation bar. + */ +.bar { + background-color:#4D7A97; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:11px; + margin:0; +} +.navPadding { + padding-top: 107px; +} +.fixedNav { + position:fixed; + width:100%; + z-index:999; + background-color:#ffffff; +} +.topNav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.bottomNav { + margin-top:10px; + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.subNav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +ul.navList, ul.subNavList { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.navList li{ + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +ul.navListSearch { + float:right; + margin:0 0 0 0; + padding:0; +} +ul.navListSearch li { + list-style:none; + float:right; + padding: 5px 6px; + text-transform:uppercase; +} +ul.navListSearch li label { + position:relative; + right:-16px; +} +ul.subNavList li { + list-style:none; + float:left; +} +.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.topNav a:hover, .bottomNav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.navBarCell1Rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skipNav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Styles for page header and footer. + */ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexNav { + position:relative; + font-size:12px; + background-color:#dee3e9; +} +.indexNav ul { + margin-top:0; + padding:5px; +} +.indexNav ul li { + display:inline; + list-style-type:none; + padding-right:10px; + text-transform:uppercase; +} +.indexNav h1 { + font-size:13px; +} +.title { + color:#2c4557; + margin:10px 0; +} +.subTitle { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.footer ul { + margin:20px 0 5px 0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* + * Styles for headings. + */ +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList li.blockList h3 { + padding:0; + margin:15px 0; +} +ul.blockList li.blockList h2 { + padding:0px 0 20px 0; +} +/* + * Styles for page layout containers. + */ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer, +.allClassesContainer, .allPackagesContainer { + clear:both; + padding:10px 20px; + position:relative; +} +.indexContainer { + margin:10px; + position:relative; + font-size:12px; +} +.indexContainer h2 { + font-size:13px; + padding:0 0 3px 0; +} +.indexContainer ul { + margin:0; + padding:0; +} +.indexContainer ul li { + list-style:none; + padding-top:2px; +} +.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { + margin:5px 0 10px 0px; + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +.serializedFormContainer dl.nameValue dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +.serializedFormContainer dl.nameValue dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for lists. + */ +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + padding-left:15px; + padding-top:1px; +} +ul.blockList, ul.blockListLast { + margin:10px 0 10px 0; + padding:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { + padding:0px 20px 5px 10px; + border:1px solid #ededed; + background-color:#f8f8f8; +} +ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { + margin-left:0; + padding-left:0; + padding-bottom:15px; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { + list-style:none; + border-bottom:none; + padding-bottom:0; +} +table tr td dl, table tr td dl dt, table tr td dl dd { + margin-top:0; + margin-bottom:1px; +} +/* + * Styles for tables. + */ +.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary, +.requiresSummary, .packagesSummary, .providesSummary, .usesSummary { + width:100%; + border-spacing:0; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; +} +.overviewSummary, .memberSummary, .requiresSummary, .packagesSummary, .providesSummary, .usesSummary { + padding:0px; +} +.overviewSummary caption, .memberSummary caption, .typeSummary caption, +.useSummary caption, .constantsSummary caption, .deprecatedSummary caption, +.requiresSummary caption, .packagesSummary caption, .providesSummary caption, .usesSummary caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + padding-top:10px; + padding-left:1px; + margin:0px; + white-space:pre; +} +.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, +.constantsSummary caption a:link, .deprecatedSummary caption a:link, +.requiresSummary caption a:link, .packagesSummary caption a:link, .providesSummary caption a:link, +.usesSummary caption a:link, +.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover, +.constantsSummary caption a:hover, .deprecatedSummary caption a:hover, +.requiresSummary caption a:hover, .packagesSummary caption a:hover, .providesSummary caption a:hover, +.usesSummary caption a:hover, +.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active, +.constantsSummary caption a:active, .deprecatedSummary caption a:active, +.requiresSummary caption a:active, .packagesSummary caption a:active, .providesSummary caption a:active, +.usesSummary caption a:active, +.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited, +.constantsSummary caption a:visited, .deprecatedSummary caption a:visited, +.requiresSummary caption a:visited, .packagesSummary caption a:visited, .providesSummary caption a:visited, +.usesSummary caption a:visited { + color:#FFFFFF; +} +.useSummary caption a:link, .useSummary caption a:hover, .useSummary caption a:active, +.useSummary caption a:visited { + color:#1f389c; +} +.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, +.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span, +.requiresSummary caption span, .packagesSummary caption span, .providesSummary caption span, +.usesSummary caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +.memberSummary caption span.activeTableTab span, .packagesSummary caption span.activeTableTab span, +.overviewSummary caption span.activeTableTab span, .typeSummary caption span.activeTableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#F8981D; + height:16px; +} +.memberSummary caption span.tableTab span, .packagesSummary caption span.tableTab span, +.overviewSummary caption span.tableTab span, .typeSummary caption span.tableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#4D7A97; + height:16px; +} +.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab, +.packagesSummary caption span.tableTab, .packagesSummary caption span.activeTableTab, +.overviewSummary caption span.tableTab, .overviewSummary caption span.activeTableTab, +.typeSummary caption span.tableTab, .typeSummary caption span.activeTableTab { + padding-top:0px; + padding-left:0px; + padding-right:0px; + background-image:none; + float:none; + display:inline; +} +.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd, +.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd, +.requiresSummary .tabEnd, .packagesSummary .tabEnd, .providesSummary .tabEnd, .usesSummary .tabEnd { + display:none; + width:5px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .activeTableTab .tabEnd, .packagesSummary .activeTableTab .tabEnd, +.overviewSummary .activeTableTab .tabEnd, .typeSummary .activeTableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .tableTab .tabEnd, .packagesSummary .tableTab .tabEnd, +.overviewSummary .tableTab .tabEnd, .typeSummary .tableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + background-color:#4D7A97; + float:left; +} +.rowColor th, .altColor th { + font-weight:normal; +} +.overviewSummary td, .memberSummary td, .typeSummary td, +.useSummary td, .constantsSummary td, .deprecatedSummary td, +.requiresSummary td, .packagesSummary td, .providesSummary td, .usesSummary td { + text-align:left; + padding:0px 0px 12px 10px; +} +th.colFirst, th.colSecond, th.colLast, th.colConstructorName, th.colDeprecatedItemName, .useSummary th, +.constantsSummary th, .packagesSummary th, td.colFirst, td.colSecond, td.colLast, .useSummary td, +.constantsSummary td { + vertical-align:top; + padding-right:0px; + padding-top:8px; + padding-bottom:3px; +} +th.colFirst, th.colSecond, th.colLast, th.colConstructorName, th.colDeprecatedItemName, .constantsSummary th, +.packagesSummary th { + background:#dee3e9; + text-align:left; + padding:8px 3px 3px 7px; +} +td.colFirst, th.colFirst { + font-size:13px; +} +td.colSecond, th.colSecond, td.colLast, th.colConstructorName, th.colDeprecatedItemName, th.colLast { + font-size:13px; +} +.constantsSummary th, .packagesSummary th { + font-size:13px; +} +.providesSummary th.colFirst, .providesSummary th.colLast, .providesSummary td.colFirst, +.providesSummary td.colLast { + white-space:normal; + font-size:13px; +} +.overviewSummary td.colFirst, .overviewSummary th.colFirst, +.requiresSummary td.colFirst, .requiresSummary th.colFirst, +.packagesSummary td.colFirst, .packagesSummary td.colSecond, .packagesSummary th.colFirst, .packagesSummary th, +.usesSummary td.colFirst, .usesSummary th.colFirst, +.providesSummary td.colFirst, .providesSummary th.colFirst, +.memberSummary td.colFirst, .memberSummary th.colFirst, +.memberSummary td.colSecond, .memberSummary th.colSecond, .memberSummary th.colConstructorName, +.typeSummary td.colFirst, .typeSummary th.colFirst { + vertical-align:top; +} +.packagesSummary th.colLast, .packagesSummary td.colLast { + white-space:normal; +} +td.colFirst a:link, td.colFirst a:visited, +td.colSecond a:link, td.colSecond a:visited, +th.colFirst a:link, th.colFirst a:visited, +th.colSecond a:link, th.colSecond a:visited, +th.colConstructorName a:link, th.colConstructorName a:visited, +th.colDeprecatedItemName a:link, th.colDeprecatedItemName a:visited, +.constantValuesContainer td a:link, .constantValuesContainer td a:visited, +.allClassesContainer td a:link, .allClassesContainer td a:visited, +.allPackagesContainer td a:link, .allPackagesContainer td a:visited { + font-weight:bold; +} +.tableSubHeadingColor { + background-color:#EEEEFF; +} +.altColor, .altColor th { + background-color:#FFFFFF; +} +.rowColor, .rowColor th { + background-color:#EEEEEF; +} +/* + * Styles for contents. + */ +.description pre { + margin-top:0; +} +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding:0; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + font-style:normal; +} +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +td.colLast div { + padding-top:0px; +} +td.colLast a { + padding-bottom:3px; +} +/* + * Styles for formatting effect. + */ +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:3px 10px 2px 0px; + color:#474747; +} +.deprecatedLabel, .descfrmTypeLabel, .implementationLabel, .memberNameLabel, .memberNameLink, +.moduleLabelInPackage, .moduleLabelInType, .overrideSpecifyLabel, .packageLabelInType, +.packageHierarchyLabel, .paramLabel, .returnLabel, .seeLabel, .simpleTagLabel, +.throwsLabel, .typeNameLabel, .typeNameLink, .searchTagLink { + font-weight:bold; +} +.deprecationComment, .emphasizedPhrase, .interfaceName { + font-style:italic; +} +.deprecationBlock { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecationComment, div.block div.block span.emphasizedPhrase, +div.block div.block span.interfaceName { + font-style:normal; +} +div.contentContainer ul.blockList li.blockList h2 { + padding-bottom:0px; +} +/* + * Styles for IFRAME. + */ +.mainContainer { + margin:0 auto; + padding:0; + height:100%; + width:100%; + position:fixed; + top:0; + left:0; +} +.leftContainer { + height:100%; + position:fixed; + width:320px; +} +.leftTop { + position:relative; + float:left; + width:315px; + top:0; + left:0; + height:30%; + border-right:6px solid #ccc; + border-bottom:6px solid #ccc; +} +.leftBottom { + position:relative; + float:left; + width:315px; + bottom:0; + left:0; + height:70%; + border-right:6px solid #ccc; + border-top:1px solid #000; +} +.rightContainer { + position:absolute; + left:320px; + top:0; + bottom:0; + height:100%; + right:0; + border-left:1px solid #000; +} +.rightIframe { + margin:0; + padding:0; + height:100%; + right:30px; + width:100%; + overflow:visible; + margin-bottom:30px; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:#4D7A97; + color:#FFFFFF; +} +.resultItem { + font-size:13px; +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:scroll; + overflow-x:scroll; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} +ul.ui-autocomplete { + position:fixed; + z-index:999999; +} +ul.ui-autocomplete li { + float:left; + clear:both; + width:100%; +} +.resultHighlight { + font-weight:bold; +} +#search { + background-image:url('resources/glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + padding-left:20px; + position:relative; + right:-18px; +} +#reset { + background-color: rgb(255,255,255); + background-image:url('resources/x.png'); + background-position:center; + background-repeat:no-repeat; + background-size:12px; + border:0 none; + width:16px; + height:17px; + position:relative; + left:-4px; + top:-4px; + font-size:0px; +} +.watermark { + color:#545454; +} +.searchTagDescResult { + font-style:italic; + font-size:11px; +} +.searchTagHolderResult { + font-style:italic; + font-size:12px; +} +.searchTagResult:before, .searchTagResult:target { + color:red; +} +.moduleGraph span { + display:none; + position:absolute; +} +.moduleGraph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.methodSignature { + white-space:normal; +} + +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid black; +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid black; +} +table.striped { + border-collapse: collapse; + border: 1px solid black; +} +table.striped > thead { + background-color: #E3E3E3; +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid black; +} +table.striped > tbody > tr:nth-child(even) { + background-color: #EEE +} +table.striped > tbody > tr:nth-child(odd) { + background-color: #FFF +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid black; + border-right: 1px solid black; +} +table.striped > tbody > tr > th { + font-weight: normal; +} diff --git a/Quellcodes/Alg_DS_Set/01_set_roh/package.bluej b/Quellcodes/Alg_DS_Set/01_set_roh/package.bluej new file mode 100644 index 0000000..d6e60d1 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/01_set_roh/package.bluej @@ -0,0 +1,73 @@ +#BlueJ package file +dependency1.from=BenchmarkBase +dependency1.to=Set +dependency1.type=UsesDependency +dependency2.from=BenchmarkBase +dependency2.to=MeinBenchmark +dependency2.type=UsesDependency +editor.fx.0.height=739 +editor.fx.0.width=1109 +editor.fx.0.x=552 +editor.fx.0.y=100 +objectbench.height=128 +objectbench.width=996 +package.divider.horizontal=0.654 +package.divider.vertical=0.7867298578199052 +package.editor.height=491 +package.editor.width=885 +package.editor.x=469 +package.editor.y=133 +package.frame.height=733 +package.frame.width=1036 +package.numDependencies=2 +package.numTargets=6 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=BenchmarkBase +target1.showInterface=false +target1.type=ClassTarget +target1.width=120 +target1.x=60 +target1.y=200 +target2.height=50 +target2.name=MeinBenchmark +target2.showInterface=false +target2.type=ClassTarget +target2.width=130 +target2.x=150 +target2.y=300 +target3.height=50 +target3.name=Set +target3.showInterface=false +target3.type=AbstractTarget +target3.width=80 +target3.x=320 +target3.y=20 +target4.height=50 +target4.name=SetVarianteC +target4.showInterface=false +target4.type=ClassTarget +target4.width=110 +target4.x=440 +target4.y=190 +target5.height=50 +target5.name=SetVarianteB +target5.showInterface=false +target5.type=ClassTarget +target5.width=110 +target5.x=320 +target5.y=190 +target6.height=50 +target6.name=SetVarianteA +target6.showInterface=false +target6.type=ClassTarget +target6.width=110 +target6.x=200 +target6.y=190 diff --git a/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/+libs/SizeOf.jar b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/+libs/SizeOf.jar new file mode 100644 index 0000000000000000000000000000000000000000..d1cc0f596b2179e4f4e7cdb39c1800f1109d7625 GIT binary patch literal 8049 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[] daten; + private int anzahl; + + /** + * Erzeugt ein neues leeres Set + */ + public SetVarianteA() + { + this(10); + } + + private SetVarianteA(int capacity) + { + if (capacity < 10) + { + capacity = 10; + } + daten = new ArrayList[capacity*2]; + anzahl = 0; + } + + protected int[] alsArray() + { + int[] ergebnis = new int[anzahl]; + int index = 0; + for (ArrayList l : daten) + { + if (l != null) + { + for (int x : l) + { + ergebnis[index] = x; + index++; + } + } + } + return ergebnis; + } + + /** + * Gibt zurück, ob die Menge kein Element enthält + * @return true, wenn die Menge leer ist; false sonst + */ + public boolean istLeer() + { + for (ArrayList l : daten) + { + if (l != null && !l.isEmpty()) + { + return false; + } + } + return true; + } + + /** + * Gibt die Mächtigkeit der Menge zurück + * @return Die Anzahl der Elemente in der Menge + */ + public int anzahl() + { + return anzahl; + } + + /** + * Bestimmt die Differenzmenge der Menge selbst und der Menge s. + * @param s Die Menge, die von dieser Menge abgezogen werden soll. + * @return Ein neues Set, das alle Elemente dieser Menge enthält, die nicht in s enthalten sind. + */ + public Set differenz(Set s) + { + Set ergebnis = new SetVarianteA(anzahl); + for (ArrayList l : daten) + { + if (l != null) + { + for (int n : l) + { + if (!s.enthaelt(n)) + { + ergebnis.einfuegen(n); + } + } + } + } + return ergebnis; + } + + /** + * Gibt zurück, ob diese Menge eine Untermenge der Menge s ist. + * @param s Die Menge, die geprüft werden soll. + * @return true, wenn jedes Element dieser Menge in s enthalten ist; false sonst + */ + public boolean untermenge(Set s) + { + for (ArrayList l : daten) + { + if (l != null) + { + for (int n : l) + { + if (!s.enthaelt(n)) + { + return false; + } + } + } + } + return true; + } + + /** + * Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Vereinigungsmenge bestimmt werden soll + * @return Ein neues Set, das die Vereinigungsmenge der beiden Mengen repräsentiert. + */ + public Set vereinigungsmenge(Set s) + { + SetVarianteA ergebnis = new SetVarianteA(s.anzahl() + anzahl()); + for (ArrayList l : daten) + { + if (l != null) + { + for (int n : l) + { + ergebnis.einfuegen(n); + } + } + } + for (int n : s.alsArray()) + { + ergebnis.einfuegen(n); + } + return ergebnis; + } + + /** + * Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist. + * @param wert Der einzufügende Wert + */ + public void einfuegen(int n) + { + if ((double)anzahl / daten.length > 0.5) + { + rehash(); + } + int hash = n % daten.length; + if (daten[hash] == null) + { + daten[hash] = new ArrayList(2); + } + if (!daten[hash].contains(n)) + { + anzahl++; + daten[hash].add(n); + } + } + + private void rehash() + { + ArrayList[] tmp = new ArrayList[2*daten.length+1]; + for (ArrayList l : daten) + { + if (l != null) + { + for (int n : l) + { + int hash = n % tmp.length; + if (tmp[hash] == null) + { + tmp[hash] = new ArrayList(2); + } + tmp[hash].add(n); + } + } + } + daten = tmp; + } + + /** + * Bestimmt die Schnittmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Schnittmenge bestimmt werden soll + * @return Ein neues Set, das die Schnittmenge der beiden Mengen repräsentiert. + */ + public Set schnittmenge(Set s) + { + SetVarianteA ergebnis = new SetVarianteA(anzahl); + for (ArrayList l : daten) + { + if (l != null) + { + for (int n : l) + { + if (s.enthaelt(n)) + { + ergebnis.einfuegen(n); + } + } + } + } + return ergebnis; + } + + /** + * Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist. + * @param wert Der zu suchende Wert + */ + public boolean enthaelt(int n) + { + int hash = n % daten.length; + return daten[hash] != null && daten[hash].contains(n); + } + + /** + * Entfernt einen Wert aus der Menge, falls er enthalten ist. + * @param wert Der zu entfernende Wert + */ + public void entfernen(int n) + { + int hash = n % daten.length; + if (daten[hash] != null) + { + if (daten[hash].contains(n)) + { + anzahl--; + daten[hash].remove(new Integer(n)); + } + } + } +} diff --git a/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/SetVarianteB.java b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/SetVarianteB.java new file mode 100644 index 0000000..d36bcc9 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/SetVarianteB.java @@ -0,0 +1,151 @@ +import java.util.ArrayList; + +/** + * Set-Variante B + * + * @author Rainer Helfrich + * @version 26.9.2020 + */ +public class SetVarianteB extends Set +{ + private ArrayList daten; + + /** + * Erzeugt ein neues leeres Set + */ + public SetVarianteB() + { + daten = new ArrayList(); + } + + /** + * Gibt zurück, ob die Menge kein Element enthält + * @return true, wenn die Menge leer ist; false sonst + */ + public boolean istLeer() + { + return daten.isEmpty(); + } + + /** + * Gibt die Mächtigkeit der Menge zurück + * @return Die Anzahl der Elemente in der Menge + */ + public int anzahl() + { + return daten.size(); + } + + /** + * Bestimmt die Differenzmenge der Menge selbst und der Menge s. + * @param s Die Menge, die von dieser Menge abgezogen werden soll. + * @return Ein neues Set, das alle Elemente dieser Menge enthält, die nicht in s enthalten sind. + */ + public Set differenz(Set s) + { + Set ergebnis = new SetVarianteB(); + for(int v : daten) + { + if (!s.enthaelt(v)) + { + ergebnis.einfuegen(v); + } + } + return ergebnis; + } + + /** + * Gibt zurück, ob diese Menge eine Untermenge der Menge s ist. + * @param s Die Menge, die geprüft werden soll. + * @return true, wenn jedes Element dieser Menge in s enthalten ist; false sonst + */ + public boolean untermenge(Set s) + { + for (int v : daten) + { + if (!s.enthaelt(v)) + { + return false; + } + } + return true; + } + + /** + * Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Vereinigungsmenge bestimmt werden soll + * @return Ein neues Set, das die Vereinigungsmenge der beiden Mengen repräsentiert. + */ + public Set vereinigungsmenge(Set s) + { + Set ergebnis = new SetVarianteB(); + for (int v : daten) + { + ergebnis.einfuegen(v); + } + for (int v : s.alsArray()) + { + ergebnis.einfuegen(v); + } + return ergebnis; + } + + protected int[] alsArray() + { + int[] ergebnis = new int[anzahl()]; + for (int i = 0; i < anzahl(); i++) + { + ergebnis[i] = daten.get(i); + } + return ergebnis; + } + + /** + * Bestimmt die Schnittmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Schnittmenge bestimmt werden soll + * @return Ein neues Set, das die Schnittmenge der beiden Mengen repräsentiert. + */ + public Set schnittmenge(Set s) + { + Set ergebnis = new SetVarianteB(); + for (int v : daten) + { + if (s.enthaelt(v)) + { + ergebnis.einfuegen(v); + } + } + return ergebnis; + } + + /** + * Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist. + * @param wert Der zu suchende Wert + */ + public boolean enthaelt(int x) + { + return daten.contains(x); + } + + /** + * Entfernt einen Wert aus der Menge, falls er enthalten ist. + * @param wert Der zu entfernende Wert + */ + public void entfernen(int wert) + { + daten.remove(new Integer(wert)); + } + + /** + * Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist. + * @param wert Der einzufügende Wert + */ + public void einfuegen(int wert) + { + if (!daten.contains(wert)) + { + daten.add(wert); + } + } + +} diff --git a/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/SetVarianteC.java b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/SetVarianteC.java new file mode 100644 index 0000000..f64179c --- /dev/null +++ b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/SetVarianteC.java @@ -0,0 +1,294 @@ +import java.util.ArrayList; + +/** + * Set-Variante C + * + * @author Rainer Helfrich + * @version 26.9.2020 + */ +public class SetVarianteC extends Set +{ + private ArrayList daten; + + /** + * Erzeugt ein neues leeres Set + */ + public SetVarianteC() + { + daten = new ArrayList(); + } + + protected int[] alsArray() + { + int[] ergebnis = new int[anzahl()]; + int index = 0; + for (int i = 0; i < 32*daten.size(); i++) + { + if (enthaelt(i)) + { + ergebnis[index] = i; + index++; + } + } + return ergebnis; + } + + /** + * Gibt zurück, ob die Menge kein Element enthält + * @return true, wenn die Menge leer ist; false sonst + */ + public boolean istLeer() + { + for (int v : daten) + { + if (v != 0) + { + return false; + } + } + return true; + } + + /** + * Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist. + * @param wert Der zu suchende Wert + */ + public boolean enthaelt(int x) + { + if (x >= 32*daten.size() || x < 0) + { + return false; + } + int i = x / 32; + int j = x % 32; + int mask = 1 << j; + return (daten.get(i) & mask) != 0; + } + + /** + * Gibt die Mächtigkeit der Menge zurück + * @return Die Anzahl der Elemente in der Menge + */ + public int anzahl() + { + int laenge = 0; + for (int i : daten) + { + laenge += Integer.bitCount(i); + } + return laenge; + } + + /** + * Bestimmt die Differenzmenge der Menge selbst und der Menge s. + * @param s Die Menge, die von dieser Menge abgezogen werden soll. + * @return Ein neues Set, das alle Elemente dieser Menge enthält, die nicht in s enthalten sind. + */ + public Set differenz(Set s) + { + SetVarianteC ergebnis = new SetVarianteC(); + if (s instanceof SetVarianteC) + { + SetVarianteC bs = (SetVarianteC)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + ergebnis.daten.add(daten.get(i) & ~(bs.daten.get(i))); + } + for (int i = bs.daten.size(); i < daten.size(); i++) + { + ergebnis.daten.add(daten.get(i)); + } + } + else + { + for (int i = 0; i < 32*daten.size(); i++) + { + if (enthaelt(i) && !s.enthaelt(i)) + { + ergebnis.einfuegen(i); + } + } + } + return ergebnis; + } + + /** + * Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist. + * @param wert Der einzufügende Wert + */ + public void einfuegen(int x) + { + if (x >= 0) + { + int i = x / 32; + daten.ensureCapacity(i+1); + while(i >= daten.size()) + { + daten.add(0); + } + int j = x % 32; + int mask = 1 << j; + daten.set(i, daten.get(i) | mask); + } + } + + /** + * Gibt zurück, ob diese Menge eine Untermenge der Menge s ist. + * @param s Die Menge, die geprüft werden soll. + * @return true, wenn jedes Element dieser Menge in s enthalten ist; false sonst + */ + public boolean untermenge(Set s) + { + if (s instanceof SetVarianteC) + { + SetVarianteC bs = (SetVarianteC)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + int a = daten.get(i); + int b = bs.daten.get(i); + if ((a & ~b) != 0) + { + return false; + } + } + for (int i = bs.daten.size(); i < daten.size(); i++) + { + if (daten.get(i) != 0) + { + return false; + } + } + return true; + } + else + { + for (int i = 0; i < 32*daten.size(); i++) + { + if (enthaelt(i) && !s.enthaelt(i)) + { + return false; + } + } + return true; + } + } + + /** + * Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Vereinigungsmenge bestimmt werden soll + * @return Ein neues Set, das die Vereinigungsmenge der beiden Mengen repräsentiert. + */ + public Set vereinigungsmenge(Set s) + { + SetVarianteC ergebnis = new SetVarianteC(); + if (s instanceof SetVarianteC) + { + SetVarianteC bs = (SetVarianteC)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + ergebnis.daten.add(daten.get(i) | bs.daten.get(i)); + } + for (int i = daten.size(); i < bs.daten.size(); i++) + { + ergebnis.daten.add(bs.daten.get(i)); + } + for (int i = bs.daten.size(); i < daten.size(); i++) + { + ergebnis.daten.add(daten.get(i)); + } + } + else + { + int[] a = s.alsArray(); + ergebnis.daten.addAll(daten); + for (int n : a) + { + ergebnis.einfuegen(n); + } + } + return ergebnis; + } + + /** + * Bestimmt die Schnittmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Schnittmenge bestimmt werden soll + * @return Ein neues Set, das die Schnittmenge der beiden Mengen repräsentiert. + */ + public Set schnittmenge(Set s) + { + SetVarianteC ergebnis = new SetVarianteC(); + if (s instanceof SetVarianteC) + { + SetVarianteC bs = (SetVarianteC)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + ergebnis.daten.add(daten.get(i) & bs.daten.get(i)); + } + } + else + { + for (int i = 0; i < 32*daten.size(); i++) + { + if (enthaelt(i) && s.enthaelt(i)) + { + ergebnis.einfuegen(i); + } + } + } + return ergebnis; + } + + /** + * Entfernt einen Wert aus der Menge, falls er enthalten ist. + * @param wert Der zu entfernende Wert + */ + public void entfernen(int x) + { + if (x < 32*daten.size() && x >= 0) + { + int i = x / 32; + int j = x % 32; + int mask = ~(1 << j); + daten.set(i, daten.get(i) & mask); + } + } + + /** + * Gibt zurück, ob diese Menge und s die gleichen Elemente enthalten + * @param s Die zu überprüfende Menge + * @return true, wenn beide Mengen die gleichen Elemente enthalten; false sonst + */ + public boolean gleich(Set s) + { + if (s instanceof SetVarianteC) + { + SetVarianteC bs = (SetVarianteC)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + if (daten.get(i) != bs.daten.get(i)) + { + return false; + } + } + for (int i = daten.size(); i < bs.daten.size(); i++) + { + if (bs.daten.get(i) != 0) + { + return false; + } + } + for (int i = bs.daten.size(); i < daten.size(); i++) + { + if (daten.get(i) != 0) + { + return false; + } + } + return true; + } + else + { + return super.gleich(s); + } + } +} diff --git a/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/BenchmarkBase.html b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/BenchmarkBase.html new file mode 100644 index 0000000..80b6dc6 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/BenchmarkBase.html @@ -0,0 +1,307 @@ + + + + + +BenchmarkBase + + + + + + + +

JavaScript is disabled on your browser.
+ + +
+
+

Class BenchmarkBase

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • BenchmarkBase
    • +
    +
  • +
+
+
    +
  • +
    +
    public class BenchmarkBase
    +extends java.lang.Object
    +
    Testet Set-Varianten auf ihre Effizenz
    +
    +
    Version:
    +
    November 2020
    +
    Author:
    +
    Rainer Helfrich
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      protected SettheSet 
      (package private) java.util.Randomzufallszahlen 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + +
      Constructors 
      ModifierConstructorDescription
      protected BenchmarkBase() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected voidinit​(java.lang.Class c) 
      protected static intlaufzeitTest​(java.lang.String typ, + java.lang.String methode, + int anzahl) +
      Führt einen Laufzeittest aus.
      +
      static voidmain​(java.lang.String[] args) +
      Wird benötigt, um in einem neuen Prozess den Speichertest durchzuführen.
      +
      protected static intspeicherTest​(java.lang.String typ, + java.lang.String methode, + int anzahl) +
      Führt einen Speichertest aus.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        theSet

        +
        protected Set theSet
        +
      • +
      + + + +
        +
      • +

        zufallszahlen

        +
        java.util.Random zufallszahlen
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BenchmarkBase

        +
        protected BenchmarkBase()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        init

        +
        protected void init​(java.lang.Class c)
        +             throws java.lang.Exception
        +
        +
        Throws:
        +
        java.lang.Exception
        +
        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
        Wird benötigt, um in einem neuen Prozess den Speichertest durchzuführen. + Sollte nicht direkt aufgerufen werden.
        +
      • +
      + + + +
        +
      • +

        laufzeitTest

        +
        protected static int laufzeitTest​(java.lang.String typ,
        +                                  java.lang.String methode,
        +                                  int anzahl)
        +
        Führt einen Laufzeittest aus. Wiederholt den Test 100 mal, um Ausreißer zu vermeiden. + Sollte nicht direkt aufgerufen werden.
        +
        +
        Parameters:
        +
        typ - Die Unterklasse von Set, die getestet werden soll
        +
        methode - Der Name der Methode in der Klasse MeinBenchmark, die zum Testen ausgeführt werden soll
        +
        anzahl - Ein Parameter für die Methode namens "methode", der z.B. die Anzahl der Operationen steuert
        +
        Returns:
        +
        Die Laufzeit des Tests in Mikrosekunden (µs)
        +
        +
      • +
      + + + +
        +
      • +

        speicherTest

        +
        protected static int speicherTest​(java.lang.String typ,
        +                                  java.lang.String methode,
        +                                  int anzahl)
        +
        Führt einen Speichertest aus. Sollte nicht direkt aufgerufen werden.
        +
        +
        Parameters:
        +
        typ - Die Unterklasse von Set, die getestet werden soll
        +
        methode - Der Name der Methode in der Klasse MeinBenchmark, die zum Testen ausgeführt werden soll
        +
        anzahl - Ein Parameter für die Methode namens "methode", der z.B. die Anzahl der Operationen steuert
        +
        Returns:
        +
        Die Größe der Set in Bytes, nachdem die Testmethode ausgeführt wurde
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + diff --git a/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/MeinBenchmark.html b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/MeinBenchmark.html new file mode 100644 index 0000000..53c72a9 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/MeinBenchmark.html @@ -0,0 +1,230 @@ + + + + + +MeinBenchmark + + + + + + + + + +
+
+

Class MeinBenchmark

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • BenchmarkBase
    • +
    • +
        +
      • MeinBenchmark
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    public class MeinBenchmark
    +extends BenchmarkBase
    +
    Führt Leistungstests mit verschiedenen Set-Implementationen aus
    +
    +
    Version:
    +
    November 2020
    +
    Author:
    +
    Rainer Helfrich
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      +
        +
      • + + +

        Fields inherited from class BenchmarkBase

        +theSet, zufallszahlen
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      MeinBenchmark() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidlaufzeitTestAusfuehren() +
      Führt einen Laufzeittest mit z.B. 1000 Elementen aus und gibt das Ergebnis auf der Konsole aus.
      +
      voidmeinTest​(int anzahl) 
      static voidspeicherTestAusfuehren() +
      Führt einen Speichertest mit z.B. 100 Elementen aus und gibt das Ergebnis auf der Konsole aus.
      +
      +
        +
      • + + +

        Methods inherited from class BenchmarkBase

        +init, laufzeitTest, main, speicherTest
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MeinBenchmark

        +
        public MeinBenchmark()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        meinTest

        +
        public void meinTest​(int anzahl)
        +
      • +
      + + + +
        +
      • +

        speicherTestAusfuehren

        +
        public static void speicherTestAusfuehren()
        +
        Führt einen Speichertest mit z.B. 100 Elementen aus und gibt das Ergebnis auf der Konsole aus.
        +
      • +
      + + + +
        +
      • +

        laufzeitTestAusfuehren

        +
        public static void laufzeitTestAusfuehren()
        +
        Führt einen Laufzeittest mit z.B. 1000 Elementen aus und gibt das Ergebnis auf der Konsole aus.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + diff --git a/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/allclasses.html b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/allclasses.html new file mode 100644 index 0000000..c25b275 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/allclasses.html @@ -0,0 +1,20 @@ + + + + + +All Classes + + + + + + +

All Classes

+
+ +
+ + diff --git a/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/constant-values.html b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/constant-values.html new file mode 100644 index 0000000..611f05a --- /dev/null +++ b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/constant-values.html @@ -0,0 +1,35 @@ + + + + + +Constant Field Values + + + + + + + + +
+
+

Constant Field Values

+
+

Contents

+
+
+
+ + diff --git a/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/element-list b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/element-list new file mode 100644 index 0000000..0e722c7 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/element-list @@ -0,0 +1 @@ +unnamed package diff --git a/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/index.html b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/index.html new file mode 100644 index 0000000..74e3dca --- /dev/null +++ b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/index.html @@ -0,0 +1,23 @@ + + + + + +Generated Documentation (Untitled) + + + + + + + +
+ +

BenchmarkBase.html

+
+ + diff --git a/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/logfile.txt b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/logfile.txt new file mode 100644 index 0000000..7820a7a --- /dev/null +++ b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/logfile.txt @@ -0,0 +1,36 @@ +Class documentation +<---- javadoc command: ----> +D:\Program Files\BlueJ\jdk\bin\javadoc.exe +-author +-version +-nodeprecated +-package +-Xdoclint:none +-noindex +-notree +-nohelp +-nonavbar +-source +11 +-classpath +D:\Program Files\BlueJ\lib\bluejcore.jar;D:\Program Files\BlueJ\lib\junit-4.11.jar;D:\Program Files\BlueJ\lib\hamcrest-core-1.3.jar;D:\Program Files\BlueJ\lib\lang-stride.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.base.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.controls.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.fxml.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.graphics.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.media.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.properties.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.swing.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.web.jar;D:\Users\LeRainieur\Documents\Schule\Fortbildungen\Weiterentwicklung der Informatik ab 2015\Eigener Ablauf\Regionaltag 9+10\Turtle - Lösung\aplu5.jar;D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\+libs\SizeOf.jar;D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode) +-d +D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc +-encoding +UTF-8 +-charset +UTF-8 +D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\BenchmarkBase.java +<---- end of javadoc command ----> +Loading source file D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\BenchmarkBase.java... +Constructing Javadoc information... +Standard Doclet version 11.0.2 +Building tree for all the packages and classes... +Generating D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc\BenchmarkBase.html... +Generating D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc\package-summary.html... +Generating D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc\constant-values.html... +Building index for all the packages and classes... +Building index for all classes... +Generating D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc\allclasses.html... +Generating D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc\allclasses.html... +Generating D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc\index.html... diff --git a/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/package-summary.html b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/package-summary.html new file mode 100644 index 0000000..6c412e9 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/package-summary.html @@ -0,0 +1,53 @@ + + + + + +<Unnamed> + + + + + + + + +
+
+

Package <Unnamed>

+
+
+
    +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    BenchmarkBase +
    Testet Set-Varianten auf ihre Effizenz
    +
    +
  • +
+
+
+ + diff --git a/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/script.js b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/script.js new file mode 100644 index 0000000..d33d3ab --- /dev/null +++ b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/script.js @@ -0,0 +1,139 @@ +/* + * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; +function loadScripts(doc, tag) { + createElem(doc, tag, 'jquery/jszip/dist/jszip.js'); + createElem(doc, tag, 'jquery/jszip-utils/dist/jszip-utils.js'); + if (window.navigator.userAgent.indexOf('MSIE ') > 0 || window.navigator.userAgent.indexOf('Trident/') > 0 || + window.navigator.userAgent.indexOf('Edge/') > 0) { + createElem(doc, tag, 'jquery/jszip-utils/dist/jszip-utils-ie.js'); + } + createElem(doc, tag, 'search.js'); + + $.get(pathtoroot + "module-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "module-search-index.zip", function(e, data) { + var zip = new JSZip(data); + zip.load(data); + moduleSearchIndex = JSON.parse(zip.file("module-search-index.json").asText()); + }); + }); + $.get(pathtoroot + "package-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "package-search-index.zip", function(e, data) { + var zip = new JSZip(data); + zip.load(data); + packageSearchIndex = JSON.parse(zip.file("package-search-index.json").asText()); + }); + }); + $.get(pathtoroot + "type-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "type-search-index.zip", function(e, data) { + var zip = new JSZip(data); + zip.load(data); + typeSearchIndex = JSON.parse(zip.file("type-search-index.json").asText()); + }); + }); + $.get(pathtoroot + "member-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "member-search-index.zip", function(e, data) { + var zip = new JSZip(data); + zip.load(data); + memberSearchIndex = JSON.parse(zip.file("member-search-index.json").asText()); + }); + }); + $.get(pathtoroot + "tag-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "tag-search-index.zip", function(e, data) { + var zip = new JSZip(data); + zip.load(data); + tagSearchIndex = JSON.parse(zip.file("tag-search-index.json").asText()); + }); + }); + if (!moduleSearchIndex) { + createElem(doc, tag, 'module-search-index.js'); + } + if (!packageSearchIndex) { + createElem(doc, tag, 'package-search-index.js'); + } + if (!typeSearchIndex) { + createElem(doc, tag, 'type-search-index.js'); + } + if (!memberSearchIndex) { + createElem(doc, tag, 'member-search-index.js'); + } + if (!tagSearchIndex) { + createElem(doc, tag, 'tag-search-index.js'); + } + $(window).resize(function() { + $('.navPadding').css('padding-top', $('.fixedNav').css("height")); + }); +} + +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +function show(type) { + count = 0; + for (var key in data) { + var row = document.getElementById(key); + if ((data[key] & type) !== 0) { + row.style.display = ''; + row.className = (count++ % 2) ? rowColor : altColor; + } + else + row.style.display = 'none'; + } + updateTabs(type); +} + +function updateTabs(type) { + for (var value in tabs) { + var sNode = document.getElementById(tabs[value][0]); + var spanNode = sNode.firstChild; + if (value == type) { + sNode.className = activeTableTab; + spanNode.innerHTML = tabs[value][1]; + } + else { + sNode.className = tableTab; + spanNode.innerHTML = "" + tabs[value][1] + ""; + } + } +} + +function updateModuleFrame(pFrame, cFrame) { + top.packageFrame.location = pFrame; + top.classFrame.location = cFrame; +} diff --git a/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/stylesheet.css b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/stylesheet.css new file mode 100644 index 0000000..c027275 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/doc/stylesheet.css @@ -0,0 +1,906 @@ +/* + * Javadoc style sheet + */ + +@import url('resources/fonts/dejavu.css'); + +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a[href]:hover, a[href]:focus { + text-decoration:none; + color:#bb7a2a; +} +a[name] { + color:#353833; +} +a[name]:before, a[name]:target, a[id]:before, a[id]:target { + content:""; + display:inline-block; + position:relative; + padding-top:129px; + margin-top:-129px; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; + font-style:italic; +} +h4 { + font-size:13px; +} +h5 { + font-size:12px; +} +h6 { + font-size:11px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +table tr td dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} + +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.clear { + clear:both; + height:0px; + overflow:hidden; +} +.aboutLanguage { + float:right; + padding:0px 21px; + font-size:11px; + z-index:200; + margin-top:-9px; +} +.legalCopy { + margin-left:.5em; +} +.bar a, .bar a:link, .bar a:visited, .bar a:active { + color:#FFFFFF; + text-decoration:none; +} +.bar a:hover, .bar a:focus { + color:#bb7a2a; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* + * Styles for navigation bar. + */ +.bar { + background-color:#4D7A97; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:11px; + margin:0; +} +.navPadding { + padding-top: 107px; +} +.fixedNav { + position:fixed; + width:100%; + z-index:999; + background-color:#ffffff; +} +.topNav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.bottomNav { + margin-top:10px; + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.subNav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +ul.navList, ul.subNavList { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.navList li{ + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +ul.navListSearch { + float:right; + margin:0 0 0 0; + padding:0; +} +ul.navListSearch li { + list-style:none; + float:right; + padding: 5px 6px; + text-transform:uppercase; +} +ul.navListSearch li label { + position:relative; + right:-16px; +} +ul.subNavList li { + list-style:none; + float:left; +} +.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.topNav a:hover, .bottomNav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.navBarCell1Rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skipNav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Styles for page header and footer. + */ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexNav { + position:relative; + font-size:12px; + background-color:#dee3e9; +} +.indexNav ul { + margin-top:0; + padding:5px; +} +.indexNav ul li { + display:inline; + list-style-type:none; + padding-right:10px; + text-transform:uppercase; +} +.indexNav h1 { + font-size:13px; +} +.title { + color:#2c4557; + margin:10px 0; +} +.subTitle { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.footer ul { + margin:20px 0 5px 0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* + * Styles for headings. + */ +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList li.blockList h3 { + padding:0; + margin:15px 0; +} +ul.blockList li.blockList h2 { + padding:0px 0 20px 0; +} +/* + * Styles for page layout containers. + */ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer, +.allClassesContainer, .allPackagesContainer { + clear:both; + padding:10px 20px; + position:relative; +} +.indexContainer { + margin:10px; + position:relative; + font-size:12px; +} +.indexContainer h2 { + font-size:13px; + padding:0 0 3px 0; +} +.indexContainer ul { + margin:0; + padding:0; +} +.indexContainer ul li { + list-style:none; + padding-top:2px; +} +.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { + margin:5px 0 10px 0px; + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +.serializedFormContainer dl.nameValue dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +.serializedFormContainer dl.nameValue dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for lists. + */ +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + padding-left:15px; + padding-top:1px; +} +ul.blockList, ul.blockListLast { + margin:10px 0 10px 0; + padding:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { + padding:0px 20px 5px 10px; + border:1px solid #ededed; + background-color:#f8f8f8; +} +ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { + margin-left:0; + padding-left:0; + padding-bottom:15px; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { + list-style:none; + border-bottom:none; + padding-bottom:0; +} +table tr td dl, table tr td dl dt, table tr td dl dd { + margin-top:0; + margin-bottom:1px; +} +/* + * Styles for tables. + */ +.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary, +.requiresSummary, .packagesSummary, .providesSummary, .usesSummary { + width:100%; + border-spacing:0; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; +} +.overviewSummary, .memberSummary, .requiresSummary, .packagesSummary, .providesSummary, .usesSummary { + padding:0px; +} +.overviewSummary caption, .memberSummary caption, .typeSummary caption, +.useSummary caption, .constantsSummary caption, .deprecatedSummary caption, +.requiresSummary caption, .packagesSummary caption, .providesSummary caption, .usesSummary caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + padding-top:10px; + padding-left:1px; + margin:0px; + white-space:pre; +} +.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, +.constantsSummary caption a:link, .deprecatedSummary caption a:link, +.requiresSummary caption a:link, .packagesSummary caption a:link, .providesSummary caption a:link, +.usesSummary caption a:link, +.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover, +.constantsSummary caption a:hover, .deprecatedSummary caption a:hover, +.requiresSummary caption a:hover, .packagesSummary caption a:hover, .providesSummary caption a:hover, +.usesSummary caption a:hover, +.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active, +.constantsSummary caption a:active, .deprecatedSummary caption a:active, +.requiresSummary caption a:active, .packagesSummary caption a:active, .providesSummary caption a:active, +.usesSummary caption a:active, +.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited, +.constantsSummary caption a:visited, .deprecatedSummary caption a:visited, +.requiresSummary caption a:visited, .packagesSummary caption a:visited, .providesSummary caption a:visited, +.usesSummary caption a:visited { + color:#FFFFFF; +} +.useSummary caption a:link, .useSummary caption a:hover, .useSummary caption a:active, +.useSummary caption a:visited { + color:#1f389c; +} +.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, +.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span, +.requiresSummary caption span, .packagesSummary caption span, .providesSummary caption span, +.usesSummary caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +.memberSummary caption span.activeTableTab span, .packagesSummary caption span.activeTableTab span, +.overviewSummary caption span.activeTableTab span, .typeSummary caption span.activeTableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#F8981D; + height:16px; +} +.memberSummary caption span.tableTab span, .packagesSummary caption span.tableTab span, +.overviewSummary caption span.tableTab span, .typeSummary caption span.tableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#4D7A97; + height:16px; +} +.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab, +.packagesSummary caption span.tableTab, .packagesSummary caption span.activeTableTab, +.overviewSummary caption span.tableTab, .overviewSummary caption span.activeTableTab, +.typeSummary caption span.tableTab, .typeSummary caption span.activeTableTab { + padding-top:0px; + padding-left:0px; + padding-right:0px; + background-image:none; + float:none; + display:inline; +} +.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd, +.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd, +.requiresSummary .tabEnd, .packagesSummary .tabEnd, .providesSummary .tabEnd, .usesSummary .tabEnd { + display:none; + width:5px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .activeTableTab .tabEnd, .packagesSummary .activeTableTab .tabEnd, +.overviewSummary .activeTableTab .tabEnd, .typeSummary .activeTableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .tableTab .tabEnd, .packagesSummary .tableTab .tabEnd, +.overviewSummary .tableTab .tabEnd, .typeSummary .tableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + background-color:#4D7A97; + float:left; +} +.rowColor th, .altColor th { + font-weight:normal; +} +.overviewSummary td, .memberSummary td, .typeSummary td, +.useSummary td, .constantsSummary td, .deprecatedSummary td, +.requiresSummary td, .packagesSummary td, .providesSummary td, .usesSummary td { + text-align:left; + padding:0px 0px 12px 10px; +} +th.colFirst, th.colSecond, th.colLast, th.colConstructorName, th.colDeprecatedItemName, .useSummary th, +.constantsSummary th, .packagesSummary th, td.colFirst, td.colSecond, td.colLast, .useSummary td, +.constantsSummary td { + vertical-align:top; + padding-right:0px; + padding-top:8px; + padding-bottom:3px; +} +th.colFirst, th.colSecond, th.colLast, th.colConstructorName, th.colDeprecatedItemName, .constantsSummary th, +.packagesSummary th { + background:#dee3e9; + text-align:left; + padding:8px 3px 3px 7px; +} +td.colFirst, th.colFirst { + font-size:13px; +} +td.colSecond, th.colSecond, td.colLast, th.colConstructorName, th.colDeprecatedItemName, th.colLast { + font-size:13px; +} +.constantsSummary th, .packagesSummary th { + font-size:13px; +} +.providesSummary th.colFirst, .providesSummary th.colLast, .providesSummary td.colFirst, +.providesSummary td.colLast { + white-space:normal; + font-size:13px; +} +.overviewSummary td.colFirst, .overviewSummary th.colFirst, +.requiresSummary td.colFirst, .requiresSummary th.colFirst, +.packagesSummary td.colFirst, .packagesSummary td.colSecond, .packagesSummary th.colFirst, .packagesSummary th, +.usesSummary td.colFirst, .usesSummary th.colFirst, +.providesSummary td.colFirst, .providesSummary th.colFirst, +.memberSummary td.colFirst, .memberSummary th.colFirst, +.memberSummary td.colSecond, .memberSummary th.colSecond, .memberSummary th.colConstructorName, +.typeSummary td.colFirst, .typeSummary th.colFirst { + vertical-align:top; +} +.packagesSummary th.colLast, .packagesSummary td.colLast { + white-space:normal; +} +td.colFirst a:link, td.colFirst a:visited, +td.colSecond a:link, td.colSecond a:visited, +th.colFirst a:link, th.colFirst a:visited, +th.colSecond a:link, th.colSecond a:visited, +th.colConstructorName a:link, th.colConstructorName a:visited, +th.colDeprecatedItemName a:link, th.colDeprecatedItemName a:visited, +.constantValuesContainer td a:link, .constantValuesContainer td a:visited, +.allClassesContainer td a:link, .allClassesContainer td a:visited, +.allPackagesContainer td a:link, .allPackagesContainer td a:visited { + font-weight:bold; +} +.tableSubHeadingColor { + background-color:#EEEEFF; +} +.altColor, .altColor th { + background-color:#FFFFFF; +} +.rowColor, .rowColor th { + background-color:#EEEEEF; +} +/* + * Styles for contents. + */ +.description pre { + margin-top:0; +} +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding:0; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + font-style:normal; +} +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +td.colLast div { + padding-top:0px; +} +td.colLast a { + padding-bottom:3px; +} +/* + * Styles for formatting effect. + */ +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:3px 10px 2px 0px; + color:#474747; +} +.deprecatedLabel, .descfrmTypeLabel, .implementationLabel, .memberNameLabel, .memberNameLink, +.moduleLabelInPackage, .moduleLabelInType, .overrideSpecifyLabel, .packageLabelInType, +.packageHierarchyLabel, .paramLabel, .returnLabel, .seeLabel, .simpleTagLabel, +.throwsLabel, .typeNameLabel, .typeNameLink, .searchTagLink { + font-weight:bold; +} +.deprecationComment, .emphasizedPhrase, .interfaceName { + font-style:italic; +} +.deprecationBlock { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecationComment, div.block div.block span.emphasizedPhrase, +div.block div.block span.interfaceName { + font-style:normal; +} +div.contentContainer ul.blockList li.blockList h2 { + padding-bottom:0px; +} +/* + * Styles for IFRAME. + */ +.mainContainer { + margin:0 auto; + padding:0; + height:100%; + width:100%; + position:fixed; + top:0; + left:0; +} +.leftContainer { + height:100%; + position:fixed; + width:320px; +} +.leftTop { + position:relative; + float:left; + width:315px; + top:0; + left:0; + height:30%; + border-right:6px solid #ccc; + border-bottom:6px solid #ccc; +} +.leftBottom { + position:relative; + float:left; + width:315px; + bottom:0; + left:0; + height:70%; + border-right:6px solid #ccc; + border-top:1px solid #000; +} +.rightContainer { + position:absolute; + left:320px; + top:0; + bottom:0; + height:100%; + right:0; + border-left:1px solid #000; +} +.rightIframe { + margin:0; + padding:0; + height:100%; + right:30px; + width:100%; + overflow:visible; + margin-bottom:30px; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:#4D7A97; + color:#FFFFFF; +} +.resultItem { + font-size:13px; +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:scroll; + overflow-x:scroll; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} +ul.ui-autocomplete { + position:fixed; + z-index:999999; +} +ul.ui-autocomplete li { + float:left; + clear:both; + width:100%; +} +.resultHighlight { + font-weight:bold; +} +#search { + background-image:url('resources/glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + padding-left:20px; + position:relative; + right:-18px; +} +#reset { + background-color: rgb(255,255,255); + background-image:url('resources/x.png'); + background-position:center; + background-repeat:no-repeat; + background-size:12px; + border:0 none; + width:16px; + height:17px; + position:relative; + left:-4px; + top:-4px; + font-size:0px; +} +.watermark { + color:#545454; +} +.searchTagDescResult { + font-style:italic; + font-size:11px; +} +.searchTagHolderResult { + font-style:italic; + font-size:12px; +} +.searchTagResult:before, .searchTagResult:target { + color:red; +} +.moduleGraph span { + display:none; + position:absolute; +} +.moduleGraph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.methodSignature { + white-space:normal; +} + +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid black; +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid black; +} +table.striped { + border-collapse: collapse; + border: 1px solid black; +} +table.striped > thead { + background-color: #E3E3E3; +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid black; +} +table.striped > tbody > tr:nth-child(even) { + background-color: #EEE +} +table.striped > tbody > tr:nth-child(odd) { + background-color: #FFF +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid black; + border-right: 1px solid black; +} +table.striped > tbody > tr > th { + font-weight: normal; +} diff --git a/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/package.bluej b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/package.bluej new file mode 100644 index 0000000..51e33da --- /dev/null +++ b/Quellcodes/Alg_DS_Set/02_set_mit Sourcecode_roh/package.bluej @@ -0,0 +1,73 @@ +#BlueJ package file +dependency1.from=BenchmarkBase +dependency1.to=Set +dependency1.type=UsesDependency +dependency2.from=BenchmarkBase +dependency2.to=MeinBenchmark +dependency2.type=UsesDependency +editor.fx.0.height=739 +editor.fx.0.width=1277 +editor.fx.0.x=42 +editor.fx.0.y=88 +objectbench.height=128 +objectbench.width=996 +package.divider.horizontal=0.654 +package.divider.vertical=0.7867298578199052 +package.editor.height=491 +package.editor.width=885 +package.editor.x=735 +package.editor.y=134 +package.frame.height=733 +package.frame.width=1036 +package.numDependencies=2 +package.numTargets=6 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=BenchmarkBase +target1.showInterface=true +target1.type=ClassTarget +target1.width=120 +target1.x=60 +target1.y=200 +target2.height=50 +target2.name=MeinBenchmark +target2.showInterface=false +target2.type=ClassTarget +target2.width=130 +target2.x=150 +target2.y=300 +target3.height=50 +target3.name=Set +target3.showInterface=false +target3.type=AbstractTarget +target3.width=80 +target3.x=320 +target3.y=20 +target4.height=50 +target4.name=SetVarianteC +target4.showInterface=false +target4.type=ClassTarget +target4.width=110 +target4.x=440 +target4.y=190 +target5.height=50 +target5.name=SetVarianteB +target5.showInterface=false +target5.type=ClassTarget +target5.width=110 +target5.x=320 +target5.y=190 +target6.height=50 +target6.name=SetVarianteA +target6.showInterface=false +target6.type=ClassTarget +target6.width=110 +target6.x=200 +target6.y=190 diff --git a/Quellcodes/Alg_DS_Set/03_set_loes/+libs/SizeOf.jar b/Quellcodes/Alg_DS_Set/03_set_loes/+libs/SizeOf.jar new file mode 100644 index 0000000000000000000000000000000000000000..d1cc0f596b2179e4f4e7cdb39c1800f1109d7625 GIT binary patch literal 8049 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 + + + + +BenchmarkBase + + + + + + + +

JavaScript is disabled on your browser.
+ + +
+
+

Class BenchmarkBase

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • BenchmarkBase
    • +
    +
  • +
+
+
    +
  • +
    +
    public class BenchmarkBase
    +extends java.lang.Object
    +
    Testet Set-Varianten auf ihre Effizenz
    +
    +
    Version:
    +
    November 2020
    +
    Author:
    +
    Rainer Helfrich
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeFieldDescription
      protected SettheSet 
      (package private) java.util.Randomzufallszahlen 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + +
      Constructors 
      ModifierConstructorDescription
      protected BenchmarkBase() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected voidinit​(java.lang.Class c) 
      protected static intlaufzeitTest​(java.lang.String typ, + java.lang.String methode, + int anzahl) +
      Führt einen Laufzeittest aus.
      +
      static voidmain​(java.lang.String[] args) +
      Wird benötigt, um in einem neuen Prozess den Speichertest durchzuführen.
      +
      protected static intspeicherTest​(java.lang.String typ, + java.lang.String methode, + int anzahl) +
      Führt einen Speichertest aus.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        theSet

        +
        protected Set theSet
        +
      • +
      + + + +
        +
      • +

        zufallszahlen

        +
        java.util.Random zufallszahlen
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BenchmarkBase

        +
        protected BenchmarkBase()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        init

        +
        protected void init​(java.lang.Class c)
        +             throws java.lang.Exception
        +
        +
        Throws:
        +
        java.lang.Exception
        +
        +
      • +
      + + + +
        +
      • +

        main

        +
        public static void main​(java.lang.String[] args)
        +
        Wird benötigt, um in einem neuen Prozess den Speichertest durchzuführen. + Sollte nicht direkt aufgerufen werden.
        +
      • +
      + + + +
        +
      • +

        laufzeitTest

        +
        protected static int laufzeitTest​(java.lang.String typ,
        +                                  java.lang.String methode,
        +                                  int anzahl)
        +
        Führt einen Laufzeittest aus. Wiederholt den Test 100 mal, um Ausreißer zu vermeiden. + Sollte nicht direkt aufgerufen werden.
        +
        +
        Parameters:
        +
        typ - Die Unterklasse von Set, die getestet werden soll
        +
        methode - Der Name der Methode in der Klasse MeinBenchmark, die zum Testen ausgeführt werden soll
        +
        anzahl - Ein Parameter für die Methode namens "methode", der z.B. die Anzahl der Operationen steuert
        +
        Returns:
        +
        Die Laufzeit des Tests in Mikrosekunden (µs)
        +
        +
      • +
      + + + +
        +
      • +

        speicherTest

        +
        protected static int speicherTest​(java.lang.String typ,
        +                                  java.lang.String methode,
        +                                  int anzahl)
        +
        Führt einen Speichertest aus. Sollte nicht direkt aufgerufen werden.
        +
        +
        Parameters:
        +
        typ - Die Unterklasse von Set, die getestet werden soll
        +
        methode - Der Name der Methode in der Klasse MeinBenchmark, die zum Testen ausgeführt werden soll
        +
        anzahl - Ein Parameter für die Methode namens "methode", der z.B. die Anzahl der Operationen steuert
        +
        Returns:
        +
        Die Größe der Set in Bytes, nachdem die Testmethode ausgeführt wurde
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + diff --git a/Quellcodes/Alg_DS_Set/03_set_loes/doc/MeinBenchmark.html b/Quellcodes/Alg_DS_Set/03_set_loes/doc/MeinBenchmark.html new file mode 100644 index 0000000..d309708 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/03_set_loes/doc/MeinBenchmark.html @@ -0,0 +1,230 @@ + + + + + +MeinBenchmark + + + + + + + + + +
+
+

Class MeinBenchmark

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • BenchmarkBase
    • +
    • +
        +
      • MeinBenchmark
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    public class MeinBenchmark
    +extends BenchmarkBase
    +
    Führt Leistungstests mit verschiedenen Set-Implementationen aus
    +
    +
    Version:
    +
    November 2020
    +
    Author:
    +
    Rainer Helfrich
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Field Summary

      +
        +
      • + + +

        Fields inherited from class BenchmarkBase

        +theSet, zufallszahlen
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      MeinBenchmark() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      static voidlaufzeitTestAusfuehren() +
      Führt einen Laufzeittest mit 1000 Elementen aus und gibt das Ergebnis auf der Konsole aus.
      +
      voidmeinTest​(int n) 
      static voidspeicherTestAusfuehren() +
      Führt einen Speichertest mit 100 Elementen aus und gibt das Ergebnis auf der Konsole aus.
      +
      +
        +
      • + + +

        Methods inherited from class BenchmarkBase

        +init, laufzeitTest, main, speicherTest
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MeinBenchmark

        +
        public MeinBenchmark()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        meinTest

        +
        public void meinTest​(int n)
        +
      • +
      + + + +
        +
      • +

        speicherTestAusfuehren

        +
        public static void speicherTestAusfuehren()
        +
        Führt einen Speichertest mit 100 Elementen aus und gibt das Ergebnis auf der Konsole aus.
        +
      • +
      + + + +
        +
      • +

        laufzeitTestAusfuehren

        +
        public static void laufzeitTestAusfuehren()
        +
        Führt einen Laufzeittest mit 1000 Elementen aus und gibt das Ergebnis auf der Konsole aus.
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + diff --git a/Quellcodes/Alg_DS_Set/03_set_loes/doc/Set.html b/Quellcodes/Alg_DS_Set/03_set_loes/doc/Set.html new file mode 100644 index 0000000..78c7413 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/03_set_loes/doc/Set.html @@ -0,0 +1,410 @@ + + + + + +Set + + + + + + + + + +
+
+

Class Set

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • Set
    • +
    +
  • +
+
+
    +
  • +
    +
    public abstract class Set
    +extends java.lang.Object
    +
    Schnittstelle des ADTs Set
    +
    +
    Version:
    +
    26.9.2020
    +
    Author:
    +
    Rainer Helfrich
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      Set() 
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected abstract int[]alsArray() 
      abstract intanzahl() +
      Gibt die Mächtigkeit der Menge zurück
      +
      abstract Setdifferenz​(Set s) +
      Bestimmt die Differenzmenge der Menge selbst und der Menge s.
      +
      abstract voideinfuegen​(int wert) +
      Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist.
      +
      abstract voidentfernen​(int wert) +
      Entfernt einen Wert aus der Menge, falls er enthalten ist.
      +
      abstract booleanenthaelt​(int wert) +
      Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist.
      +
      booleangleich​(Set s) +
      Gibt zurück, ob diese Menge und s die gleichen Elemente enthalten
      +
      abstract booleanistLeer() +
      Gibt zurück, ob die Menge kein Element enthält
      +
      abstract Setschnittmenge​(Set s) +
      Bestimmt die Schnittmenge der Menge selbst und der Menge s.
      +
      java.lang.StringtoString() +
      Gibt die String-Darstellung der Menge (aufzählende Darstellung) zurück
      +
      abstract booleanuntermenge​(Set s) +
      Gibt zurück, ob diese Menge eine Untermenge der Menge s ist.
      +
      abstract Setvereinigungsmenge​(Set s) +
      Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Set

        +
        public Set()
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        einfuegen

        +
        public abstract void einfuegen​(int wert)
        +
        Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist.
        +
        +
        Parameters:
        +
        wert - Der einzufügende Wert
        +
        +
      • +
      + + + +
        +
      • +

        entfernen

        +
        public abstract void entfernen​(int wert)
        +
        Entfernt einen Wert aus der Menge, falls er enthalten ist.
        +
        +
        Parameters:
        +
        wert - Der zu entfernende Wert
        +
        +
      • +
      + + + +
        +
      • +

        enthaelt

        +
        public abstract boolean enthaelt​(int wert)
        +
        Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist.
        +
        +
        Parameters:
        +
        wert - Der zu suchende Wert
        +
        +
      • +
      + + + +
        +
      • +

        schnittmenge

        +
        public abstract Set schnittmenge​(Set s)
        +
        Bestimmt die Schnittmenge der Menge selbst und der Menge s.
        +
        +
        Parameters:
        +
        s - Die Menge, mit der die Schnittmenge bestimmt werden soll
        +
        Returns:
        +
        Eine neue Set, die die Schnittmenge der beiden Mengen repräsentiert.
        +
        +
      • +
      + + + +
        +
      • +

        vereinigungsmenge

        +
        public abstract Set vereinigungsmenge​(Set s)
        +
        Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s.
        +
        +
        Parameters:
        +
        s - Die Menge, mit der die Vereinigungsmenge bestimmt werden soll
        +
        Returns:
        +
        Eine neue Set, die die Vereinigungsmenge der beiden Mengen repräsentiert.
        +
        +
      • +
      + + + +
        +
      • +

        untermenge

        +
        public abstract boolean untermenge​(Set s)
        +
        Gibt zurück, ob diese Menge eine Untermenge der Menge s ist.
        +
        +
        Parameters:
        +
        s - Die Menge, die geprüft werden soll.
        +
        Returns:
        +
        true, wenn jedes Element dieser Menge in s enthalten ist; false sonst
        +
        +
      • +
      + + + +
        +
      • +

        differenz

        +
        public abstract Set differenz​(Set s)
        +
        Bestimmt die Differenzmenge der Menge selbst und der Menge s.
        +
        +
        Parameters:
        +
        s - Die Menge, die von dieser Menge abgezogen werden soll.
        +
        Returns:
        +
        Eine neue Set, die alle Elemente dieser Menge enthält, die nicht in s enthalten sind.
        +
        +
      • +
      + + + +
        +
      • +

        anzahl

        +
        public abstract int anzahl()
        +
        Gibt die Mächtigkeit der Menge zurück
        +
        +
        Returns:
        +
        Die Anzahl der Elemente in der Menge
        +
        +
      • +
      + + + +
        +
      • +

        istLeer

        +
        public abstract boolean istLeer()
        +
        Gibt zurück, ob die Menge kein Element enthält
        +
        +
        Returns:
        +
        true, wenn die Menge leer ist; false sonst
        +
        +
      • +
      + + + +
        +
      • +

        alsArray

        +
        protected abstract int[] alsArray()
        +
      • +
      + + + +
        +
      • +

        gleich

        +
        public boolean gleich​(Set s)
        +
        Gibt zurück, ob diese Menge und s die gleichen Elemente enthalten
        +
        +
        Parameters:
        +
        s - Die zu überprüfende Menge
        +
        Returns:
        +
        true, wenn beide Mengen die gleichen Elemente enthalten; false sonst
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        Gibt die String-Darstellung der Menge (aufzählende Darstellung) zurück
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        Returns:
        +
        Ein String, der alle Elemente der Menge aufzählt.
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + diff --git a/Quellcodes/Alg_DS_Set/03_set_loes/doc/SetVarianteA.html b/Quellcodes/Alg_DS_Set/03_set_loes/doc/SetVarianteA.html new file mode 100644 index 0000000..918de31 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/03_set_loes/doc/SetVarianteA.html @@ -0,0 +1,401 @@ + + + + + +SetVarianteA + + + + + + + + + +
+
+

Class SetVarianteA

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • Set
    • +
    • +
        +
      • SetVarianteA
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    public class SetVarianteA
    +extends Set
    +
    Set-Variante A
    +
    +
    Version:
    +
    27.9.2020
    +
    Author:
    +
    Rainer Helfrich
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      SetVarianteA() +
      Erzeugt eine neue leere Set
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected int[]alsArray() 
      intanzahl() +
      Gibt die Mächtigkeit der Menge zurück
      +
      Setdifferenz​(Set s) +
      Bestimmt die Differenzmenge der Menge selbst und der Menge s.
      +
      voideinfuegen​(int n) +
      Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist.
      +
      voidentfernen​(int n) +
      Entfernt einen Wert aus der Menge, falls er enthalten ist.
      +
      booleanenthaelt​(int n) +
      Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist.
      +
      booleanistLeer() +
      Gibt zurück, ob die Menge kein Element enthält
      +
      Setschnittmenge​(Set s) +
      Bestimmt die Schnittmenge der Menge selbst und der Menge s.
      +
      booleanuntermenge​(Set s) +
      Gibt zurück, ob diese Menge eine Untermenge der Menge s ist.
      +
      Setvereinigungsmenge​(Set s) +
      Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s.
      +
      +
        +
      • + + +

        Methods inherited from class Set

        +gleich, toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SetVarianteA

        +
        public SetVarianteA()
        +
        Erzeugt eine neue leere Set
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        alsArray

        +
        protected int[] alsArray()
        +
        +
        Specified by:
        +
        alsArray in class Set
        +
        +
      • +
      + + + +
        +
      • +

        istLeer

        +
        public boolean istLeer()
        +
        Gibt zurück, ob die Menge kein Element enthält
        +
        +
        Specified by:
        +
        istLeer in class Set
        +
        Returns:
        +
        true, wenn die Menge leer ist; false sonst
        +
        +
      • +
      + + + +
        +
      • +

        anzahl

        +
        public int anzahl()
        +
        Gibt die Mächtigkeit der Menge zurück
        +
        +
        Specified by:
        +
        anzahl in class Set
        +
        Returns:
        +
        Die Anzahl der Elemente in der Menge
        +
        +
      • +
      + + + +
        +
      • +

        differenz

        +
        public Set differenz​(Set s)
        +
        Bestimmt die Differenzmenge der Menge selbst und der Menge s.
        +
        +
        Specified by:
        +
        differenz in class Set
        +
        Parameters:
        +
        s - Die Menge, die von dieser Menge abgezogen werden soll.
        +
        Returns:
        +
        Eine neue Set, die alle Elemente dieser Menge enthält, die nicht in s enthalten sind.
        +
        +
      • +
      + + + +
        +
      • +

        untermenge

        +
        public boolean untermenge​(Set s)
        +
        Gibt zurück, ob diese Menge eine Untermenge der Menge s ist.
        +
        +
        Specified by:
        +
        untermenge in class Set
        +
        Parameters:
        +
        s - Die Menge, die geprüft werden soll.
        +
        Returns:
        +
        true, wenn jedes Element dieser Menge in s enthalten ist; false sonst
        +
        +
      • +
      + + + +
        +
      • +

        vereinigungsmenge

        +
        public Set vereinigungsmenge​(Set s)
        +
        Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s.
        +
        +
        Specified by:
        +
        vereinigungsmenge in class Set
        +
        Parameters:
        +
        s - Die Menge, mit der die Vereinigungsmenge bestimmt werden soll
        +
        Returns:
        +
        Eine neue Set, die die Vereinigungsmenge der beiden Mengen repräsentiert.
        +
        +
      • +
      + + + +
        +
      • +

        einfuegen

        +
        public void einfuegen​(int n)
        +
        Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist.
        +
        +
        Specified by:
        +
        einfuegen in class Set
        +
        Parameters:
        +
        wert - Der einzufügende Wert
        +
        +
      • +
      + + + +
        +
      • +

        schnittmenge

        +
        public Set schnittmenge​(Set s)
        +
        Bestimmt die Schnittmenge der Menge selbst und der Menge s.
        +
        +
        Specified by:
        +
        schnittmenge in class Set
        +
        Parameters:
        +
        s - Die Menge, mit der die Schnittmenge bestimmt werden soll
        +
        Returns:
        +
        Eine neue Set, die die Schnittmenge der beiden Mengen repräsentiert.
        +
        +
      • +
      + + + +
        +
      • +

        enthaelt

        +
        public boolean enthaelt​(int n)
        +
        Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist.
        +
        +
        Specified by:
        +
        enthaelt in class Set
        +
        Parameters:
        +
        wert - Der zu suchende Wert
        +
        +
      • +
      + + + +
        +
      • +

        entfernen

        +
        public void entfernen​(int n)
        +
        Entfernt einen Wert aus der Menge, falls er enthalten ist.
        +
        +
        Specified by:
        +
        entfernen in class Set
        +
        Parameters:
        +
        wert - Der zu entfernende Wert
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + diff --git a/Quellcodes/Alg_DS_Set/03_set_loes/doc/SetVarianteB.html b/Quellcodes/Alg_DS_Set/03_set_loes/doc/SetVarianteB.html new file mode 100644 index 0000000..9e124f8 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/03_set_loes/doc/SetVarianteB.html @@ -0,0 +1,401 @@ + + + + + +SetVarianteB + + + + + + + + + +
+
+

Class SetVarianteB

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • Set
    • +
    • +
        +
      • SetVarianteB
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    public class SetVarianteB
    +extends Set
    +
    Set-Variante B
    +
    +
    Version:
    +
    26.9.2020
    +
    Author:
    +
    Rainer Helfrich
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      SetVarianteB() +
      Erzeugt eine neue leere Set
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected int[]alsArray() 
      intanzahl() +
      Gibt die Mächtigkeit der Menge zurück
      +
      Setdifferenz​(Set s) +
      Bestimmt die Differenzmenge der Menge selbst und der Menge s.
      +
      voideinfuegen​(int wert) +
      Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist.
      +
      voidentfernen​(int wert) +
      Entfernt einen Wert aus der Menge, falls er enthalten ist.
      +
      booleanenthaelt​(int x) +
      Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist.
      +
      booleanistLeer() +
      Gibt zurück, ob die Menge kein Element enthält
      +
      Setschnittmenge​(Set s) +
      Bestimmt die Schnittmenge der Menge selbst und der Menge s.
      +
      booleanuntermenge​(Set s) +
      Gibt zurück, ob diese Menge eine Untermenge der Menge s ist.
      +
      Setvereinigungsmenge​(Set s) +
      Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s.
      +
      +
        +
      • + + +

        Methods inherited from class Set

        +gleich, toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SetVarianteB

        +
        public SetVarianteB()
        +
        Erzeugt eine neue leere Set
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        istLeer

        +
        public boolean istLeer()
        +
        Gibt zurück, ob die Menge kein Element enthält
        +
        +
        Specified by:
        +
        istLeer in class Set
        +
        Returns:
        +
        true, wenn die Menge leer ist; false sonst
        +
        +
      • +
      + + + +
        +
      • +

        anzahl

        +
        public int anzahl()
        +
        Gibt die Mächtigkeit der Menge zurück
        +
        +
        Specified by:
        +
        anzahl in class Set
        +
        Returns:
        +
        Die Anzahl der Elemente in der Menge
        +
        +
      • +
      + + + +
        +
      • +

        differenz

        +
        public Set differenz​(Set s)
        +
        Bestimmt die Differenzmenge der Menge selbst und der Menge s.
        +
        +
        Specified by:
        +
        differenz in class Set
        +
        Parameters:
        +
        s - Die Menge, die von dieser Menge abgezogen werden soll.
        +
        Returns:
        +
        Eine neue Set, die alle Elemente dieser Menge enthält, die nicht in s enthalten sind.
        +
        +
      • +
      + + + +
        +
      • +

        untermenge

        +
        public boolean untermenge​(Set s)
        +
        Gibt zurück, ob diese Menge eine Untermenge der Menge s ist.
        +
        +
        Specified by:
        +
        untermenge in class Set
        +
        Parameters:
        +
        s - Die Menge, die geprüft werden soll.
        +
        Returns:
        +
        true, wenn jedes Element dieser Menge in s enthalten ist; false sonst
        +
        +
      • +
      + + + +
        +
      • +

        vereinigungsmenge

        +
        public Set vereinigungsmenge​(Set s)
        +
        Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s.
        +
        +
        Specified by:
        +
        vereinigungsmenge in class Set
        +
        Parameters:
        +
        s - Die Menge, mit der die Vereinigungsmenge bestimmt werden soll
        +
        Returns:
        +
        Eine neue Set, die die Vereinigungsmenge der beiden Mengen repräsentiert.
        +
        +
      • +
      + + + +
        +
      • +

        alsArray

        +
        protected int[] alsArray()
        +
        +
        Specified by:
        +
        alsArray in class Set
        +
        +
      • +
      + + + +
        +
      • +

        schnittmenge

        +
        public Set schnittmenge​(Set s)
        +
        Bestimmt die Schnittmenge der Menge selbst und der Menge s.
        +
        +
        Specified by:
        +
        schnittmenge in class Set
        +
        Parameters:
        +
        s - Die Menge, mit der die Schnittmenge bestimmt werden soll
        +
        Returns:
        +
        Eine neue Set, die die Schnittmenge der beiden Mengen repräsentiert.
        +
        +
      • +
      + + + +
        +
      • +

        enthaelt

        +
        public boolean enthaelt​(int x)
        +
        Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist.
        +
        +
        Specified by:
        +
        enthaelt in class Set
        +
        Parameters:
        +
        wert - Der zu suchende Wert
        +
        +
      • +
      + + + +
        +
      • +

        entfernen

        +
        public void entfernen​(int wert)
        +
        Entfernt einen Wert aus der Menge, falls er enthalten ist.
        +
        +
        Specified by:
        +
        entfernen in class Set
        +
        Parameters:
        +
        wert - Der zu entfernende Wert
        +
        +
      • +
      + + + +
        +
      • +

        einfuegen

        +
        public void einfuegen​(int wert)
        +
        Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist.
        +
        +
        Specified by:
        +
        einfuegen in class Set
        +
        Parameters:
        +
        wert - Der einzufügende Wert
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + diff --git a/Quellcodes/Alg_DS_Set/03_set_loes/doc/SetVarianteC.html b/Quellcodes/Alg_DS_Set/03_set_loes/doc/SetVarianteC.html new file mode 100644 index 0000000..6a86811 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/03_set_loes/doc/SetVarianteC.html @@ -0,0 +1,426 @@ + + + + + +SetVarianteC + + + + + + + + + +
+
+

Class SetVarianteC

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • Set
    • +
    • +
        +
      • SetVarianteC
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    public class SetVarianteC
    +extends Set
    +
    Set-Variante C
    +
    +
    Version:
    +
    26.9.2020
    +
    Author:
    +
    Rainer Helfrich
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ConstructorDescription
      SetVarianteC() +
      Erzeugt eine neue leere Set
      +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      protected int[]alsArray() 
      intanzahl() +
      Gibt die Mächtigkeit der Menge zurück
      +
      Setdifferenz​(Set s) +
      Bestimmt die Differenzmenge der Menge selbst und der Menge s.
      +
      voideinfuegen​(int x) +
      Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist.
      +
      voidentfernen​(int x) +
      Entfernt einen Wert aus der Menge, falls er enthalten ist.
      +
      booleanenthaelt​(int x) +
      Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist.
      +
      booleangleich​(Set s) +
      Gibt zurück, ob diese Menge und s die gleichen Elemente enthalten
      +
      booleanistLeer() +
      Gibt zurück, ob die Menge kein Element enthält
      +
      Setschnittmenge​(Set s) +
      Bestimmt die Schnittmenge der Menge selbst und der Menge s.
      +
      booleanuntermenge​(Set s) +
      Gibt zurück, ob diese Menge eine Untermenge der Menge s ist.
      +
      Setvereinigungsmenge​(Set s) +
      Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s.
      +
      +
        +
      • + + +

        Methods inherited from class Set

        +toString
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
    +
  • +
+
+
+
    +
  • + +
    +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SetVarianteC

        +
        public SetVarianteC()
        +
        Erzeugt eine neue leere Set
        +
      • +
      +
    • +
    +
    + +
    +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        alsArray

        +
        protected int[] alsArray()
        +
        +
        Specified by:
        +
        alsArray in class Set
        +
        +
      • +
      + + + +
        +
      • +

        istLeer

        +
        public boolean istLeer()
        +
        Gibt zurück, ob die Menge kein Element enthält
        +
        +
        Specified by:
        +
        istLeer in class Set
        +
        Returns:
        +
        true, wenn die Menge leer ist; false sonst
        +
        +
      • +
      + + + +
        +
      • +

        enthaelt

        +
        public boolean enthaelt​(int x)
        +
        Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist.
        +
        +
        Specified by:
        +
        enthaelt in class Set
        +
        Parameters:
        +
        wert - Der zu suchende Wert
        +
        +
      • +
      + + + +
        +
      • +

        anzahl

        +
        public int anzahl()
        +
        Gibt die Mächtigkeit der Menge zurück
        +
        +
        Specified by:
        +
        anzahl in class Set
        +
        Returns:
        +
        Die Anzahl der Elemente in der Menge
        +
        +
      • +
      + + + +
        +
      • +

        differenz

        +
        public Set differenz​(Set s)
        +
        Bestimmt die Differenzmenge der Menge selbst und der Menge s.
        +
        +
        Specified by:
        +
        differenz in class Set
        +
        Parameters:
        +
        s - Die Menge, die von dieser Menge abgezogen werden soll.
        +
        Returns:
        +
        Eine neue Set, die alle Elemente dieser Menge enthält, die nicht in s enthalten sind.
        +
        +
      • +
      + + + +
        +
      • +

        einfuegen

        +
        public void einfuegen​(int x)
        +
        Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist.
        +
        +
        Specified by:
        +
        einfuegen in class Set
        +
        Parameters:
        +
        wert - Der einzufügende Wert
        +
        +
      • +
      + + + +
        +
      • +

        untermenge

        +
        public boolean untermenge​(Set s)
        +
        Gibt zurück, ob diese Menge eine Untermenge der Menge s ist.
        +
        +
        Specified by:
        +
        untermenge in class Set
        +
        Parameters:
        +
        s - Die Menge, die geprüft werden soll.
        +
        Returns:
        +
        true, wenn jedes Element dieser Menge in s enthalten ist; false sonst
        +
        +
      • +
      + + + +
        +
      • +

        vereinigungsmenge

        +
        public Set vereinigungsmenge​(Set s)
        +
        Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s.
        +
        +
        Specified by:
        +
        vereinigungsmenge in class Set
        +
        Parameters:
        +
        s - Die Menge, mit der die Vereinigungsmenge bestimmt werden soll
        +
        Returns:
        +
        Eine neue Set, die die Vereinigungsmenge der beiden Mengen repräsentiert.
        +
        +
      • +
      + + + +
        +
      • +

        schnittmenge

        +
        public Set schnittmenge​(Set s)
        +
        Bestimmt die Schnittmenge der Menge selbst und der Menge s.
        +
        +
        Specified by:
        +
        schnittmenge in class Set
        +
        Parameters:
        +
        s - Die Menge, mit der die Schnittmenge bestimmt werden soll
        +
        Returns:
        +
        Eine neue Set, die die Schnittmenge der beiden Mengen repräsentiert.
        +
        +
      • +
      + + + +
        +
      • +

        entfernen

        +
        public void entfernen​(int x)
        +
        Entfernt einen Wert aus der Menge, falls er enthalten ist.
        +
        +
        Specified by:
        +
        entfernen in class Set
        +
        Parameters:
        +
        wert - Der zu entfernende Wert
        +
        +
      • +
      + + + +
        +
      • +

        gleich

        +
        public boolean gleich​(Set s)
        +
        Gibt zurück, ob diese Menge und s die gleichen Elemente enthalten
        +
        +
        Overrides:
        +
        gleich in class Set
        +
        Parameters:
        +
        s - Die zu überprüfende Menge
        +
        Returns:
        +
        true, wenn beide Mengen die gleichen Elemente enthalten; false sonst
        +
        +
      • +
      +
    • +
    +
    +
  • +
+
+
+
+ + + diff --git a/Quellcodes/Alg_DS_Set/03_set_loes/doc/allclasses.html b/Quellcodes/Alg_DS_Set/03_set_loes/doc/allclasses.html new file mode 100644 index 0000000..595ef81 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/03_set_loes/doc/allclasses.html @@ -0,0 +1,20 @@ + + + + + +All Classes + + + + + + +

All Classes

+
+ +
+ + diff --git a/Quellcodes/Alg_DS_Set/03_set_loes/doc/constant-values.html b/Quellcodes/Alg_DS_Set/03_set_loes/doc/constant-values.html new file mode 100644 index 0000000..1771f3f --- /dev/null +++ b/Quellcodes/Alg_DS_Set/03_set_loes/doc/constant-values.html @@ -0,0 +1,35 @@ + + + + + +Constant Field Values + + + + + + + + +
+
+

Constant Field Values

+
+

Contents

+
+
+
+ + diff --git a/Quellcodes/Alg_DS_Set/03_set_loes/doc/element-list b/Quellcodes/Alg_DS_Set/03_set_loes/doc/element-list new file mode 100644 index 0000000..0e722c7 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/03_set_loes/doc/element-list @@ -0,0 +1 @@ +unnamed package diff --git a/Quellcodes/Alg_DS_Set/03_set_loes/doc/index.html b/Quellcodes/Alg_DS_Set/03_set_loes/doc/index.html new file mode 100644 index 0000000..cd12d84 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/03_set_loes/doc/index.html @@ -0,0 +1,23 @@ + + + + + +Generated Documentation (Untitled) + + + + + + + +
+ +

SetVarianteC.html

+
+ + diff --git a/Quellcodes/Alg_DS_Set/03_set_loes/doc/logfile.txt b/Quellcodes/Alg_DS_Set/03_set_loes/doc/logfile.txt new file mode 100644 index 0000000..c13cdec --- /dev/null +++ b/Quellcodes/Alg_DS_Set/03_set_loes/doc/logfile.txt @@ -0,0 +1,40 @@ +Class documentation +<---- javadoc command: ----> +D:\Program Files\BlueJ\jdk\bin\javadoc.exe +-author +-version +-nodeprecated +-package +-Xdoclint:none +-noindex +-notree +-nohelp +-nonavbar +-source +11 +-classpath +D:\Program Files\BlueJ\lib\bluejcore.jar;D:\Program Files\BlueJ\lib\junit-4.11.jar;D:\Program Files\BlueJ\lib\hamcrest-core-1.3.jar;D:\Program Files\BlueJ\lib\lang-stride.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.base.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.controls.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.fxml.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.graphics.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.media.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.properties.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.swing.jar;D:\Program Files\BlueJ\lib\javafx\lib\javafx.web.jar;D:\Users\LeRainieur\Documents\Schule\Fortbildungen\Weiterentwicklung der Informatik ab 2015\Eigener Ablauf\Regionaltag 9+10\Turtle - Lösung\aplu5.jar;D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\+libs\SizeOf.jar;D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode) +-d +D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc +-encoding +UTF-8 +-charset +UTF-8 +D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\SetVarianteC.java +<---- end of javadoc command ----> +Loading source file D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\SetVarianteC.java... +Constructing Javadoc information... +Standard Doclet version 11.0.2 +Building tree for all the packages and classes... +Generating D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc\SetVarianteC.html... +D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\SetVarianteC.java:54: warning - @param argument "wert" is not a parameter name. +D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\SetVarianteC.java:117: warning - @param argument "wert" is not a parameter name. +D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\SetVarianteC.java:243: warning - @param argument "wert" is not a parameter name. +Generating D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc\package-summary.html... +Generating D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc\constant-values.html... +Building index for all the packages and classes... +Building index for all classes... +Generating D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc\allclasses.html... +Generating D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc\allclasses.html... +Generating D:\Users\LeRainieur\Documents\Schule\Fortbildungen\ZPG Oberstufe\ADTs\Ergebnis\3_vorlagen_tauschordner\04_set (mit Sourcecode)\doc\index.html... +3 warnings diff --git a/Quellcodes/Alg_DS_Set/03_set_loes/doc/package-summary.html b/Quellcodes/Alg_DS_Set/03_set_loes/doc/package-summary.html new file mode 100644 index 0000000..987db39 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/03_set_loes/doc/package-summary.html @@ -0,0 +1,53 @@ + + + + + +<Unnamed> + + + + + + + + +
+
+

Package <Unnamed>

+
+
+
    +
  • + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    SetVarianteC +
    Set-Variante C
    +
    +
  • +
+
+
+ + diff --git a/Quellcodes/Alg_DS_Set/03_set_loes/doc/script.js b/Quellcodes/Alg_DS_Set/03_set_loes/doc/script.js new file mode 100644 index 0000000..d33d3ab --- /dev/null +++ b/Quellcodes/Alg_DS_Set/03_set_loes/doc/script.js @@ -0,0 +1,139 @@ +/* + * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; +function loadScripts(doc, tag) { + createElem(doc, tag, 'jquery/jszip/dist/jszip.js'); + createElem(doc, tag, 'jquery/jszip-utils/dist/jszip-utils.js'); + if (window.navigator.userAgent.indexOf('MSIE ') > 0 || window.navigator.userAgent.indexOf('Trident/') > 0 || + window.navigator.userAgent.indexOf('Edge/') > 0) { + createElem(doc, tag, 'jquery/jszip-utils/dist/jszip-utils-ie.js'); + } + createElem(doc, tag, 'search.js'); + + $.get(pathtoroot + "module-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "module-search-index.zip", function(e, data) { + var zip = new JSZip(data); + zip.load(data); + moduleSearchIndex = JSON.parse(zip.file("module-search-index.json").asText()); + }); + }); + $.get(pathtoroot + "package-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "package-search-index.zip", function(e, data) { + var zip = new JSZip(data); + zip.load(data); + packageSearchIndex = JSON.parse(zip.file("package-search-index.json").asText()); + }); + }); + $.get(pathtoroot + "type-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "type-search-index.zip", function(e, data) { + var zip = new JSZip(data); + zip.load(data); + typeSearchIndex = JSON.parse(zip.file("type-search-index.json").asText()); + }); + }); + $.get(pathtoroot + "member-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "member-search-index.zip", function(e, data) { + var zip = new JSZip(data); + zip.load(data); + memberSearchIndex = JSON.parse(zip.file("member-search-index.json").asText()); + }); + }); + $.get(pathtoroot + "tag-search-index.zip") + .done(function() { + JSZipUtils.getBinaryContent(pathtoroot + "tag-search-index.zip", function(e, data) { + var zip = new JSZip(data); + zip.load(data); + tagSearchIndex = JSON.parse(zip.file("tag-search-index.json").asText()); + }); + }); + if (!moduleSearchIndex) { + createElem(doc, tag, 'module-search-index.js'); + } + if (!packageSearchIndex) { + createElem(doc, tag, 'package-search-index.js'); + } + if (!typeSearchIndex) { + createElem(doc, tag, 'type-search-index.js'); + } + if (!memberSearchIndex) { + createElem(doc, tag, 'member-search-index.js'); + } + if (!tagSearchIndex) { + createElem(doc, tag, 'tag-search-index.js'); + } + $(window).resize(function() { + $('.navPadding').css('padding-top', $('.fixedNav').css("height")); + }); +} + +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +function show(type) { + count = 0; + for (var key in data) { + var row = document.getElementById(key); + if ((data[key] & type) !== 0) { + row.style.display = ''; + row.className = (count++ % 2) ? rowColor : altColor; + } + else + row.style.display = 'none'; + } + updateTabs(type); +} + +function updateTabs(type) { + for (var value in tabs) { + var sNode = document.getElementById(tabs[value][0]); + var spanNode = sNode.firstChild; + if (value == type) { + sNode.className = activeTableTab; + spanNode.innerHTML = tabs[value][1]; + } + else { + sNode.className = tableTab; + spanNode.innerHTML = "" + tabs[value][1] + ""; + } + } +} + +function updateModuleFrame(pFrame, cFrame) { + top.packageFrame.location = pFrame; + top.classFrame.location = cFrame; +} diff --git a/Quellcodes/Alg_DS_Set/03_set_loes/doc/stylesheet.css b/Quellcodes/Alg_DS_Set/03_set_loes/doc/stylesheet.css new file mode 100644 index 0000000..c027275 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/03_set_loes/doc/stylesheet.css @@ -0,0 +1,906 @@ +/* + * Javadoc style sheet + */ + +@import url('resources/fonts/dejavu.css'); + +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a[href]:hover, a[href]:focus { + text-decoration:none; + color:#bb7a2a; +} +a[name] { + color:#353833; +} +a[name]:before, a[name]:target, a[id]:before, a[id]:target { + content:""; + display:inline-block; + position:relative; + padding-top:129px; + margin-top:-129px; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; + font-style:italic; +} +h4 { + font-size:13px; +} +h5 { + font-size:12px; +} +h6 { + font-size:11px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +table tr td dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} + +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.clear { + clear:both; + height:0px; + overflow:hidden; +} +.aboutLanguage { + float:right; + padding:0px 21px; + font-size:11px; + z-index:200; + margin-top:-9px; +} +.legalCopy { + margin-left:.5em; +} +.bar a, .bar a:link, .bar a:visited, .bar a:active { + color:#FFFFFF; + text-decoration:none; +} +.bar a:hover, .bar a:focus { + color:#bb7a2a; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* + * Styles for navigation bar. + */ +.bar { + background-color:#4D7A97; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:11px; + margin:0; +} +.navPadding { + padding-top: 107px; +} +.fixedNav { + position:fixed; + width:100%; + z-index:999; + background-color:#ffffff; +} +.topNav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.bottomNav { + margin-top:10px; + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.subNav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +ul.navList, ul.subNavList { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.navList li{ + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +ul.navListSearch { + float:right; + margin:0 0 0 0; + padding:0; +} +ul.navListSearch li { + list-style:none; + float:right; + padding: 5px 6px; + text-transform:uppercase; +} +ul.navListSearch li label { + position:relative; + right:-16px; +} +ul.subNavList li { + list-style:none; + float:left; +} +.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.topNav a:hover, .bottomNav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.navBarCell1Rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skipNav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Styles for page header and footer. + */ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexNav { + position:relative; + font-size:12px; + background-color:#dee3e9; +} +.indexNav ul { + margin-top:0; + padding:5px; +} +.indexNav ul li { + display:inline; + list-style-type:none; + padding-right:10px; + text-transform:uppercase; +} +.indexNav h1 { + font-size:13px; +} +.title { + color:#2c4557; + margin:10px 0; +} +.subTitle { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.footer ul { + margin:20px 0 5px 0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* + * Styles for headings. + */ +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList li.blockList h3 { + padding:0; + margin:15px 0; +} +ul.blockList li.blockList h2 { + padding:0px 0 20px 0; +} +/* + * Styles for page layout containers. + */ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer, +.allClassesContainer, .allPackagesContainer { + clear:both; + padding:10px 20px; + position:relative; +} +.indexContainer { + margin:10px; + position:relative; + font-size:12px; +} +.indexContainer h2 { + font-size:13px; + padding:0 0 3px 0; +} +.indexContainer ul { + margin:0; + padding:0; +} +.indexContainer ul li { + list-style:none; + padding-top:2px; +} +.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { + margin:5px 0 10px 0px; + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +.serializedFormContainer dl.nameValue dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +.serializedFormContainer dl.nameValue dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for lists. + */ +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + padding-left:15px; + padding-top:1px; +} +ul.blockList, ul.blockListLast { + margin:10px 0 10px 0; + padding:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { + padding:0px 20px 5px 10px; + border:1px solid #ededed; + background-color:#f8f8f8; +} +ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { + margin-left:0; + padding-left:0; + padding-bottom:15px; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { + list-style:none; + border-bottom:none; + padding-bottom:0; +} +table tr td dl, table tr td dl dt, table tr td dl dd { + margin-top:0; + margin-bottom:1px; +} +/* + * Styles for tables. + */ +.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary, +.requiresSummary, .packagesSummary, .providesSummary, .usesSummary { + width:100%; + border-spacing:0; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; +} +.overviewSummary, .memberSummary, .requiresSummary, .packagesSummary, .providesSummary, .usesSummary { + padding:0px; +} +.overviewSummary caption, .memberSummary caption, .typeSummary caption, +.useSummary caption, .constantsSummary caption, .deprecatedSummary caption, +.requiresSummary caption, .packagesSummary caption, .providesSummary caption, .usesSummary caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + padding-top:10px; + padding-left:1px; + margin:0px; + white-space:pre; +} +.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, +.constantsSummary caption a:link, .deprecatedSummary caption a:link, +.requiresSummary caption a:link, .packagesSummary caption a:link, .providesSummary caption a:link, +.usesSummary caption a:link, +.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover, +.constantsSummary caption a:hover, .deprecatedSummary caption a:hover, +.requiresSummary caption a:hover, .packagesSummary caption a:hover, .providesSummary caption a:hover, +.usesSummary caption a:hover, +.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active, +.constantsSummary caption a:active, .deprecatedSummary caption a:active, +.requiresSummary caption a:active, .packagesSummary caption a:active, .providesSummary caption a:active, +.usesSummary caption a:active, +.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited, +.constantsSummary caption a:visited, .deprecatedSummary caption a:visited, +.requiresSummary caption a:visited, .packagesSummary caption a:visited, .providesSummary caption a:visited, +.usesSummary caption a:visited { + color:#FFFFFF; +} +.useSummary caption a:link, .useSummary caption a:hover, .useSummary caption a:active, +.useSummary caption a:visited { + color:#1f389c; +} +.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, +.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span, +.requiresSummary caption span, .packagesSummary caption span, .providesSummary caption span, +.usesSummary caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +.memberSummary caption span.activeTableTab span, .packagesSummary caption span.activeTableTab span, +.overviewSummary caption span.activeTableTab span, .typeSummary caption span.activeTableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#F8981D; + height:16px; +} +.memberSummary caption span.tableTab span, .packagesSummary caption span.tableTab span, +.overviewSummary caption span.tableTab span, .typeSummary caption span.tableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#4D7A97; + height:16px; +} +.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab, +.packagesSummary caption span.tableTab, .packagesSummary caption span.activeTableTab, +.overviewSummary caption span.tableTab, .overviewSummary caption span.activeTableTab, +.typeSummary caption span.tableTab, .typeSummary caption span.activeTableTab { + padding-top:0px; + padding-left:0px; + padding-right:0px; + background-image:none; + float:none; + display:inline; +} +.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd, +.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd, +.requiresSummary .tabEnd, .packagesSummary .tabEnd, .providesSummary .tabEnd, .usesSummary .tabEnd { + display:none; + width:5px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .activeTableTab .tabEnd, .packagesSummary .activeTableTab .tabEnd, +.overviewSummary .activeTableTab .tabEnd, .typeSummary .activeTableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .tableTab .tabEnd, .packagesSummary .tableTab .tabEnd, +.overviewSummary .tableTab .tabEnd, .typeSummary .tableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + background-color:#4D7A97; + float:left; +} +.rowColor th, .altColor th { + font-weight:normal; +} +.overviewSummary td, .memberSummary td, .typeSummary td, +.useSummary td, .constantsSummary td, .deprecatedSummary td, +.requiresSummary td, .packagesSummary td, .providesSummary td, .usesSummary td { + text-align:left; + padding:0px 0px 12px 10px; +} +th.colFirst, th.colSecond, th.colLast, th.colConstructorName, th.colDeprecatedItemName, .useSummary th, +.constantsSummary th, .packagesSummary th, td.colFirst, td.colSecond, td.colLast, .useSummary td, +.constantsSummary td { + vertical-align:top; + padding-right:0px; + padding-top:8px; + padding-bottom:3px; +} +th.colFirst, th.colSecond, th.colLast, th.colConstructorName, th.colDeprecatedItemName, .constantsSummary th, +.packagesSummary th { + background:#dee3e9; + text-align:left; + padding:8px 3px 3px 7px; +} +td.colFirst, th.colFirst { + font-size:13px; +} +td.colSecond, th.colSecond, td.colLast, th.colConstructorName, th.colDeprecatedItemName, th.colLast { + font-size:13px; +} +.constantsSummary th, .packagesSummary th { + font-size:13px; +} +.providesSummary th.colFirst, .providesSummary th.colLast, .providesSummary td.colFirst, +.providesSummary td.colLast { + white-space:normal; + font-size:13px; +} +.overviewSummary td.colFirst, .overviewSummary th.colFirst, +.requiresSummary td.colFirst, .requiresSummary th.colFirst, +.packagesSummary td.colFirst, .packagesSummary td.colSecond, .packagesSummary th.colFirst, .packagesSummary th, +.usesSummary td.colFirst, .usesSummary th.colFirst, +.providesSummary td.colFirst, .providesSummary th.colFirst, +.memberSummary td.colFirst, .memberSummary th.colFirst, +.memberSummary td.colSecond, .memberSummary th.colSecond, .memberSummary th.colConstructorName, +.typeSummary td.colFirst, .typeSummary th.colFirst { + vertical-align:top; +} +.packagesSummary th.colLast, .packagesSummary td.colLast { + white-space:normal; +} +td.colFirst a:link, td.colFirst a:visited, +td.colSecond a:link, td.colSecond a:visited, +th.colFirst a:link, th.colFirst a:visited, +th.colSecond a:link, th.colSecond a:visited, +th.colConstructorName a:link, th.colConstructorName a:visited, +th.colDeprecatedItemName a:link, th.colDeprecatedItemName a:visited, +.constantValuesContainer td a:link, .constantValuesContainer td a:visited, +.allClassesContainer td a:link, .allClassesContainer td a:visited, +.allPackagesContainer td a:link, .allPackagesContainer td a:visited { + font-weight:bold; +} +.tableSubHeadingColor { + background-color:#EEEEFF; +} +.altColor, .altColor th { + background-color:#FFFFFF; +} +.rowColor, .rowColor th { + background-color:#EEEEEF; +} +/* + * Styles for contents. + */ +.description pre { + margin-top:0; +} +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding:0; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + font-style:normal; +} +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +td.colLast div { + padding-top:0px; +} +td.colLast a { + padding-bottom:3px; +} +/* + * Styles for formatting effect. + */ +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:3px 10px 2px 0px; + color:#474747; +} +.deprecatedLabel, .descfrmTypeLabel, .implementationLabel, .memberNameLabel, .memberNameLink, +.moduleLabelInPackage, .moduleLabelInType, .overrideSpecifyLabel, .packageLabelInType, +.packageHierarchyLabel, .paramLabel, .returnLabel, .seeLabel, .simpleTagLabel, +.throwsLabel, .typeNameLabel, .typeNameLink, .searchTagLink { + font-weight:bold; +} +.deprecationComment, .emphasizedPhrase, .interfaceName { + font-style:italic; +} +.deprecationBlock { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecationComment, div.block div.block span.emphasizedPhrase, +div.block div.block span.interfaceName { + font-style:normal; +} +div.contentContainer ul.blockList li.blockList h2 { + padding-bottom:0px; +} +/* + * Styles for IFRAME. + */ +.mainContainer { + margin:0 auto; + padding:0; + height:100%; + width:100%; + position:fixed; + top:0; + left:0; +} +.leftContainer { + height:100%; + position:fixed; + width:320px; +} +.leftTop { + position:relative; + float:left; + width:315px; + top:0; + left:0; + height:30%; + border-right:6px solid #ccc; + border-bottom:6px solid #ccc; +} +.leftBottom { + position:relative; + float:left; + width:315px; + bottom:0; + left:0; + height:70%; + border-right:6px solid #ccc; + border-top:1px solid #000; +} +.rightContainer { + position:absolute; + left:320px; + top:0; + bottom:0; + height:100%; + right:0; + border-left:1px solid #000; +} +.rightIframe { + margin:0; + padding:0; + height:100%; + right:30px; + width:100%; + overflow:visible; + margin-bottom:30px; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:#4D7A97; + color:#FFFFFF; +} +.resultItem { + font-size:13px; +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:scroll; + overflow-x:scroll; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} +ul.ui-autocomplete { + position:fixed; + z-index:999999; +} +ul.ui-autocomplete li { + float:left; + clear:both; + width:100%; +} +.resultHighlight { + font-weight:bold; +} +#search { + background-image:url('resources/glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + padding-left:20px; + position:relative; + right:-18px; +} +#reset { + background-color: rgb(255,255,255); + background-image:url('resources/x.png'); + background-position:center; + background-repeat:no-repeat; + background-size:12px; + border:0 none; + width:16px; + height:17px; + position:relative; + left:-4px; + top:-4px; + font-size:0px; +} +.watermark { + color:#545454; +} +.searchTagDescResult { + font-style:italic; + font-size:11px; +} +.searchTagHolderResult { + font-style:italic; + font-size:12px; +} +.searchTagResult:before, .searchTagResult:target { + color:red; +} +.moduleGraph span { + display:none; + position:absolute; +} +.moduleGraph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.methodSignature { + white-space:normal; +} + +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid black; +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid black; +} +table.striped { + border-collapse: collapse; + border: 1px solid black; +} +table.striped > thead { + background-color: #E3E3E3; +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid black; +} +table.striped > tbody > tr:nth-child(even) { + background-color: #EEE +} +table.striped > tbody > tr:nth-child(odd) { + background-color: #FFF +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid black; + border-right: 1px solid black; +} +table.striped > tbody > tr > th { + font-weight: normal; +} diff --git a/Quellcodes/Alg_DS_Set/03_set_loes/package.bluej b/Quellcodes/Alg_DS_Set/03_set_loes/package.bluej new file mode 100644 index 0000000..2b81f35 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/03_set_loes/package.bluej @@ -0,0 +1,73 @@ +#BlueJ package file +dependency1.from=BenchmarkBase +dependency1.to=Set +dependency1.type=UsesDependency +dependency2.from=BenchmarkBase +dependency2.to=MeinBenchmark +dependency2.type=UsesDependency +editor.fx.0.height=739 +editor.fx.0.width=1221 +editor.fx.0.x=552 +editor.fx.0.y=100 +objectbench.height=128 +objectbench.width=996 +package.divider.horizontal=0.654 +package.divider.vertical=0.7867298578199052 +package.editor.height=491 +package.editor.width=885 +package.editor.x=469 +package.editor.y=133 +package.frame.height=733 +package.frame.width=1036 +package.numDependencies=2 +package.numTargets=6 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=BenchmarkBase +target1.showInterface=false +target1.type=ClassTarget +target1.width=120 +target1.x=60 +target1.y=200 +target2.height=50 +target2.name=MeinBenchmark +target2.showInterface=false +target2.type=ClassTarget +target2.width=130 +target2.x=150 +target2.y=300 +target3.height=50 +target3.name=Set +target3.showInterface=false +target3.type=AbstractTarget +target3.width=80 +target3.x=320 +target3.y=20 +target4.height=50 +target4.name=SetVarianteC +target4.showInterface=false +target4.type=ClassTarget +target4.width=110 +target4.x=440 +target4.y=190 +target5.height=50 +target5.name=SetVarianteB +target5.showInterface=false +target5.type=ClassTarget +target5.width=110 +target5.x=320 +target5.y=190 +target6.height=50 +target6.name=SetVarianteA +target6.showInterface=false +target6.type=ClassTarget +target6.width=110 +target6.x=200 +target6.y=190 diff --git a/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/+libs/SizeOf.jar b/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/+libs/SizeOf.jar new file mode 100644 index 0000000000000000000000000000000000000000..d1cc0f596b2179e4f4e7cdb39c1800f1109d7625 GIT binary patch literal 8049 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 C7B4se literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/README.TXT b/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/README.TXT new file mode 100644 index 0000000..fb73768 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/README.TXT @@ -0,0 +1,5 @@ +PROJEKTBEZEICHNUNG: Set-Benchmark +PROJEKTZWECK: Konstruieren Sie einen Benchmark, um herauszufinden, um welche Implementation es sich bei einer Set handelt. +VERSION oder DATUM: November 2020 +WIE IST DAS PROJEKT ZU STARTEN: Nachdem Sie in der Methode meinTest der Klasse MeinBenchmark einen Test definiert haben, rufen Sie eine der statischen Methoden speicherTestAusfuehren() oder laufzeitTestAusfuehren() auf. +AUTOR(EN): Rainer Helfrich, ZPG Informatik diff --git a/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/Set.java b/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/Set.java new file mode 100644 index 0000000..753b99d --- /dev/null +++ b/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/Set.java @@ -0,0 +1,107 @@ +/** + * Schnittstelle des ADTs Set + * + * @author Rainer Helfrich + * @version 26.9.2020 + */ + +public abstract class Set +{ + /** + * Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist. + * @param wert Der einzufügende Wert + */ + public abstract void einfuegen(int wert); + + /** + * Entfernt einen Wert aus der Menge, falls er enthalten ist. + * @param wert Der zu entfernende Wert + */ + public abstract void entfernen(int wert); + + /** + * Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist. + * @param wert Der zu suchende Wert + */ + public abstract boolean enthaelt(int wert); + + /** + * Bestimmt die Schnittmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Schnittmenge bestimmt werden soll + * @return Ein neues Set, das die Schnittmenge der beiden Mengen repräsentiert. + */ + public abstract Set schnittmenge(Set s); + + /** + * Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Vereinigungsmenge bestimmt werden soll + * @return Ein neues Set, das die Vereinigungsmenge der beiden Mengen repräsentiert. + */ + public abstract Set vereinigungsmenge(Set s); + + /** + * Gibt zurück, ob diese Menge eine Untermenge der Menge s ist. + * @param s Die Menge, die geprüft werden soll. + * @return true, wenn jedes Element dieser Menge in s enthalten ist; false sonst + */ + public abstract boolean untermenge(Set s); + + /** + * Bestimmt die Differenzmenge der Menge selbst und der Menge s. + * @param s Die Menge, die von dieser Menge abgezogen werden soll. + * @return Ein neues Set, das alle Elemente dieser Menge enthält, die nicht in s enthalten sind. + */ + public abstract Set differenz(Set s); + + /** + * Gibt die Mächtigkeit der Menge zurück + * @return Die Anzahl der Elemente in der Menge + */ + public abstract int anzahl(); + + /** + * Gibt zurück, ob die Menge kein Element enthält + * @return true, wenn die Menge leer ist; false sonst + */ + public abstract boolean istLeer(); + + protected abstract int[] alsArray(); + + /** + * Gibt zurück, ob diese Menge und s die gleichen Elemente enthalten + * @param s Die zu überprüfende Menge + * @return true, wenn beide Mengen die gleichen Elemente enthalten; false sonst + */ + public boolean gleich(Set s) + { + return untermenge(s) && s.untermenge(this); + } + + /** + * Gibt die String-Darstellung der Menge (aufzählende Darstellung) zurück + * @return Ein String, der alle Elemente der Menge aufzählt. + */ + @Override + public String toString() + { + if (istLeer()) + { + return "{ }"; + } + StringBuilder sb = new StringBuilder(); + for(int v : alsArray()) + { + if (sb.length() == 0) + { + sb.append("{ "); + } + else + { + sb.append(", "); + } + sb.append(v); + } + sb.append(" }"); + return sb.toString(); + } +} diff --git a/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/SetVarianteA.java b/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/SetVarianteA.java new file mode 100644 index 0000000..677e24e --- /dev/null +++ b/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/SetVarianteA.java @@ -0,0 +1,240 @@ +import java.util.ArrayList; + +/** + * Set-Variante A + * + * @author Rainer Helfrich + * @version 27.9.2020 + */ +public class SetVarianteA extends Set +{ + private ArrayList[] daten; + private int anzahl; + + /** + * Erzeugt ein neues leeres Set + */ + public SetVarianteA() + { + this(10); + } + + private SetVarianteA(int capacity) + { + if (capacity < 10) + { + capacity = 10; + } + daten = new ArrayList[capacity*2]; + anzahl = 0; + } + + protected int[] alsArray() + { + int[] ergebnis = new int[anzahl]; + int index = 0; + for (ArrayList l : daten) + { + if (l != null) + { + for (int x : l) + { + ergebnis[index] = x; + index++; + } + } + } + return ergebnis; + } + + /** + * Gibt zurück, ob die Menge kein Element enthält + * @return true, wenn die Menge leer ist; false sonst + */ + public boolean istLeer() + { + for (ArrayList l : daten) + { + if (l != null && !l.isEmpty()) + { + return false; + } + } + return true; + } + + /** + * Gibt die Mächtigkeit der Menge zurück + * @return Die Anzahl der Elemente in der Menge + */ + public int anzahl() + { + return anzahl; + } + + /** + * Bestimmt die Differenzmenge der Menge selbst und der Menge s. + * @param s Die Menge, die von dieser Menge abgezogen werden soll. + * @return Ein neues Set, das alle Elemente dieser Menge enthält, die nicht in s enthalten sind. + */ + public Set differenz(Set s) + { + Set ergebnis = new SetVarianteA(anzahl); + for (ArrayList l : daten) + { + if (l != null) + { + for (int n : l) + { + if (!s.enthaelt(n)) + { + ergebnis.einfuegen(n); + } + } + } + } + return ergebnis; + } + + /** + * Gibt zurück, ob diese Menge eine Untermenge der Menge s ist. + * @param s Die Menge, die geprüft werden soll. + * @return true, wenn jedes Element dieser Menge in s enthalten ist; false sonst + */ + public boolean untermenge(Set s) + { + for (ArrayList l : daten) + { + if (l != null) + { + for (int n : l) + { + if (!s.enthaelt(n)) + { + return false; + } + } + } + } + return true; + } + + /** + * Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Vereinigungsmenge bestimmt werden soll + * @return Ein neues Set, das die Vereinigungsmenge der beiden Mengen repräsentiert. + */ + public Set vereinigungsmenge(Set s) + { + SetVarianteA ergebnis = new SetVarianteA(s.anzahl() + anzahl()); + for (ArrayList l : daten) + { + if (l != null) + { + for (int n : l) + { + ergebnis.einfuegen(n); + } + } + } + for (int n : s.alsArray()) + { + ergebnis.einfuegen(n); + } + return ergebnis; + } + + /** + * Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist. + * @param wert Der einzufügende Wert + */ + public void einfuegen(int n) + { + if ((double)anzahl / daten.length > 0.5) + { + rehash(); + } + int hash = n % daten.length; + if (daten[hash] == null) + { + daten[hash] = new ArrayList(2); + } + if (!daten[hash].contains(n)) + { + anzahl++; + daten[hash].add(n); + } + } + + private void rehash() + { + ArrayList[] tmp = new ArrayList[2*daten.length+1]; + for (ArrayList l : daten) + { + if (l != null) + { + for (int n : l) + { + int hash = n % tmp.length; + if (tmp[hash] == null) + { + tmp[hash] = new ArrayList(2); + } + tmp[hash].add(n); + } + } + } + daten = tmp; + } + + /** + * Bestimmt die Schnittmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Schnittmenge bestimmt werden soll + * @return Ein neues Set, das die Schnittmenge der beiden Mengen repräsentiert. + */ + public Set schnittmenge(Set s) + { + SetVarianteA ergebnis = new SetVarianteA(anzahl); + for (ArrayList l : daten) + { + if (l != null) + { + for (int n : l) + { + if (s.enthaelt(n)) + { + ergebnis.einfuegen(n); + } + } + } + } + return ergebnis; + } + + /** + * Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist. + * @param wert Der zu suchende Wert + */ + public boolean enthaelt(int n) + { + int hash = n % daten.length; + return daten[hash] != null && daten[hash].contains(n); + } + + /** + * Entfernt einen Wert aus der Menge, falls er enthalten ist. + * @param wert Der zu entfernende Wert + */ + public void entfernen(int n) + { + int hash = n % daten.length; + if (daten[hash] != null) + { + if (daten[hash].contains(n)) + { + anzahl--; + daten[hash].remove(new Integer(n)); + } + } + } +} diff --git a/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/SetVarianteB.java b/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/SetVarianteB.java new file mode 100644 index 0000000..d36bcc9 --- /dev/null +++ b/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/SetVarianteB.java @@ -0,0 +1,151 @@ +import java.util.ArrayList; + +/** + * Set-Variante B + * + * @author Rainer Helfrich + * @version 26.9.2020 + */ +public class SetVarianteB extends Set +{ + private ArrayList daten; + + /** + * Erzeugt ein neues leeres Set + */ + public SetVarianteB() + { + daten = new ArrayList(); + } + + /** + * Gibt zurück, ob die Menge kein Element enthält + * @return true, wenn die Menge leer ist; false sonst + */ + public boolean istLeer() + { + return daten.isEmpty(); + } + + /** + * Gibt die Mächtigkeit der Menge zurück + * @return Die Anzahl der Elemente in der Menge + */ + public int anzahl() + { + return daten.size(); + } + + /** + * Bestimmt die Differenzmenge der Menge selbst und der Menge s. + * @param s Die Menge, die von dieser Menge abgezogen werden soll. + * @return Ein neues Set, das alle Elemente dieser Menge enthält, die nicht in s enthalten sind. + */ + public Set differenz(Set s) + { + Set ergebnis = new SetVarianteB(); + for(int v : daten) + { + if (!s.enthaelt(v)) + { + ergebnis.einfuegen(v); + } + } + return ergebnis; + } + + /** + * Gibt zurück, ob diese Menge eine Untermenge der Menge s ist. + * @param s Die Menge, die geprüft werden soll. + * @return true, wenn jedes Element dieser Menge in s enthalten ist; false sonst + */ + public boolean untermenge(Set s) + { + for (int v : daten) + { + if (!s.enthaelt(v)) + { + return false; + } + } + return true; + } + + /** + * Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Vereinigungsmenge bestimmt werden soll + * @return Ein neues Set, das die Vereinigungsmenge der beiden Mengen repräsentiert. + */ + public Set vereinigungsmenge(Set s) + { + Set ergebnis = new SetVarianteB(); + for (int v : daten) + { + ergebnis.einfuegen(v); + } + for (int v : s.alsArray()) + { + ergebnis.einfuegen(v); + } + return ergebnis; + } + + protected int[] alsArray() + { + int[] ergebnis = new int[anzahl()]; + for (int i = 0; i < anzahl(); i++) + { + ergebnis[i] = daten.get(i); + } + return ergebnis; + } + + /** + * Bestimmt die Schnittmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Schnittmenge bestimmt werden soll + * @return Ein neues Set, das die Schnittmenge der beiden Mengen repräsentiert. + */ + public Set schnittmenge(Set s) + { + Set ergebnis = new SetVarianteB(); + for (int v : daten) + { + if (s.enthaelt(v)) + { + ergebnis.einfuegen(v); + } + } + return ergebnis; + } + + /** + * Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist. + * @param wert Der zu suchende Wert + */ + public boolean enthaelt(int x) + { + return daten.contains(x); + } + + /** + * Entfernt einen Wert aus der Menge, falls er enthalten ist. + * @param wert Der zu entfernende Wert + */ + public void entfernen(int wert) + { + daten.remove(new Integer(wert)); + } + + /** + * Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist. + * @param wert Der einzufügende Wert + */ + public void einfuegen(int wert) + { + if (!daten.contains(wert)) + { + daten.add(wert); + } + } + +} diff --git a/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/SetVarianteC.java b/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/SetVarianteC.java new file mode 100644 index 0000000..f64179c --- /dev/null +++ b/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/SetVarianteC.java @@ -0,0 +1,294 @@ +import java.util.ArrayList; + +/** + * Set-Variante C + * + * @author Rainer Helfrich + * @version 26.9.2020 + */ +public class SetVarianteC extends Set +{ + private ArrayList daten; + + /** + * Erzeugt ein neues leeres Set + */ + public SetVarianteC() + { + daten = new ArrayList(); + } + + protected int[] alsArray() + { + int[] ergebnis = new int[anzahl()]; + int index = 0; + for (int i = 0; i < 32*daten.size(); i++) + { + if (enthaelt(i)) + { + ergebnis[index] = i; + index++; + } + } + return ergebnis; + } + + /** + * Gibt zurück, ob die Menge kein Element enthält + * @return true, wenn die Menge leer ist; false sonst + */ + public boolean istLeer() + { + for (int v : daten) + { + if (v != 0) + { + return false; + } + } + return true; + } + + /** + * Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist. + * @param wert Der zu suchende Wert + */ + public boolean enthaelt(int x) + { + if (x >= 32*daten.size() || x < 0) + { + return false; + } + int i = x / 32; + int j = x % 32; + int mask = 1 << j; + return (daten.get(i) & mask) != 0; + } + + /** + * Gibt die Mächtigkeit der Menge zurück + * @return Die Anzahl der Elemente in der Menge + */ + public int anzahl() + { + int laenge = 0; + for (int i : daten) + { + laenge += Integer.bitCount(i); + } + return laenge; + } + + /** + * Bestimmt die Differenzmenge der Menge selbst und der Menge s. + * @param s Die Menge, die von dieser Menge abgezogen werden soll. + * @return Ein neues Set, das alle Elemente dieser Menge enthält, die nicht in s enthalten sind. + */ + public Set differenz(Set s) + { + SetVarianteC ergebnis = new SetVarianteC(); + if (s instanceof SetVarianteC) + { + SetVarianteC bs = (SetVarianteC)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + ergebnis.daten.add(daten.get(i) & ~(bs.daten.get(i))); + } + for (int i = bs.daten.size(); i < daten.size(); i++) + { + ergebnis.daten.add(daten.get(i)); + } + } + else + { + for (int i = 0; i < 32*daten.size(); i++) + { + if (enthaelt(i) && !s.enthaelt(i)) + { + ergebnis.einfuegen(i); + } + } + } + return ergebnis; + } + + /** + * Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist. + * @param wert Der einzufügende Wert + */ + public void einfuegen(int x) + { + if (x >= 0) + { + int i = x / 32; + daten.ensureCapacity(i+1); + while(i >= daten.size()) + { + daten.add(0); + } + int j = x % 32; + int mask = 1 << j; + daten.set(i, daten.get(i) | mask); + } + } + + /** + * Gibt zurück, ob diese Menge eine Untermenge der Menge s ist. + * @param s Die Menge, die geprüft werden soll. + * @return true, wenn jedes Element dieser Menge in s enthalten ist; false sonst + */ + public boolean untermenge(Set s) + { + if (s instanceof SetVarianteC) + { + SetVarianteC bs = (SetVarianteC)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + int a = daten.get(i); + int b = bs.daten.get(i); + if ((a & ~b) != 0) + { + return false; + } + } + for (int i = bs.daten.size(); i < daten.size(); i++) + { + if (daten.get(i) != 0) + { + return false; + } + } + return true; + } + else + { + for (int i = 0; i < 32*daten.size(); i++) + { + if (enthaelt(i) && !s.enthaelt(i)) + { + return false; + } + } + return true; + } + } + + /** + * Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Vereinigungsmenge bestimmt werden soll + * @return Ein neues Set, das die Vereinigungsmenge der beiden Mengen repräsentiert. + */ + public Set vereinigungsmenge(Set s) + { + SetVarianteC ergebnis = new SetVarianteC(); + if (s instanceof SetVarianteC) + { + SetVarianteC bs = (SetVarianteC)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + ergebnis.daten.add(daten.get(i) | bs.daten.get(i)); + } + for (int i = daten.size(); i < bs.daten.size(); i++) + { + ergebnis.daten.add(bs.daten.get(i)); + } + for (int i = bs.daten.size(); i < daten.size(); i++) + { + ergebnis.daten.add(daten.get(i)); + } + } + else + { + int[] a = s.alsArray(); + ergebnis.daten.addAll(daten); + for (int n : a) + { + ergebnis.einfuegen(n); + } + } + return ergebnis; + } + + /** + * Bestimmt die Schnittmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Schnittmenge bestimmt werden soll + * @return Ein neues Set, das die Schnittmenge der beiden Mengen repräsentiert. + */ + public Set schnittmenge(Set s) + { + SetVarianteC ergebnis = new SetVarianteC(); + if (s instanceof SetVarianteC) + { + SetVarianteC bs = (SetVarianteC)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + ergebnis.daten.add(daten.get(i) & bs.daten.get(i)); + } + } + else + { + for (int i = 0; i < 32*daten.size(); i++) + { + if (enthaelt(i) && s.enthaelt(i)) + { + ergebnis.einfuegen(i); + } + } + } + return ergebnis; + } + + /** + * Entfernt einen Wert aus der Menge, falls er enthalten ist. + * @param wert Der zu entfernende Wert + */ + public void entfernen(int x) + { + if (x < 32*daten.size() && x >= 0) + { + int i = x / 32; + int j = x % 32; + int mask = ~(1 << j); + daten.set(i, daten.get(i) & mask); + } + } + + /** + * Gibt zurück, ob diese Menge und s die gleichen Elemente enthalten + * @param s Die zu überprüfende Menge + * @return true, wenn beide Mengen die gleichen Elemente enthalten; false sonst + */ + public boolean gleich(Set s) + { + if (s instanceof SetVarianteC) + { + SetVarianteC bs = (SetVarianteC)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + if (daten.get(i) != bs.daten.get(i)) + { + return false; + } + } + for (int i = daten.size(); i < bs.daten.size(); i++) + { + if (bs.daten.get(i) != 0) + { + return false; + } + } + for (int i = bs.daten.size(); i < daten.size(); i++) + { + if (daten.get(i) != 0) + { + return false; + } + } + return true; + } + else + { + return super.gleich(s); + } + } +} diff --git a/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/package.bluej b/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/package.bluej new file mode 100644 index 0000000..a0235cb --- /dev/null +++ b/Quellcodes/Alg_DS_Set/04_set_mitSourcecode_loes/package.bluej @@ -0,0 +1,73 @@ +#BlueJ package file +dependency1.from=BenchmarkBase +dependency1.to=Set +dependency1.type=UsesDependency +dependency2.from=BenchmarkBase +dependency2.to=MeinBenchmark +dependency2.type=UsesDependency +editor.fx.0.height=739 +editor.fx.0.width=1439 +editor.fx.0.x=310 +editor.fx.0.y=51 +objectbench.height=128 +objectbench.width=996 +package.divider.horizontal=0.654 +package.divider.vertical=0.7867298578199052 +package.editor.height=491 +package.editor.width=885 +package.editor.x=469 +package.editor.y=133 +package.frame.height=733 +package.frame.width=1036 +package.numDependencies=2 +package.numTargets=6 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=60 +readme.name=@README +readme.width=49 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=BenchmarkBase +target1.showInterface=false +target1.type=ClassTarget +target1.width=120 +target1.x=60 +target1.y=200 +target2.height=50 +target2.name=MeinBenchmark +target2.showInterface=false +target2.type=ClassTarget +target2.width=130 +target2.x=150 +target2.y=300 +target3.height=50 +target3.name=Set +target3.showInterface=false +target3.type=AbstractTarget +target3.width=80 +target3.x=320 +target3.y=20 +target4.height=50 +target4.name=SetVarianteC +target4.showInterface=false +target4.type=ClassTarget +target4.width=110 +target4.x=440 +target4.y=190 +target5.height=50 +target5.name=SetVarianteB +target5.showInterface=false +target5.type=ClassTarget +target5.width=110 +target5.x=320 +target5.y=190 +target6.height=50 +target6.name=SetVarianteA +target6.showInterface=false +target6.type=ClassTarget +target6.width=110 +target6.x=200 +target6.y=190 diff --git a/Quellcodes/Alg_DS_Set/readme.adoc b/Quellcodes/Alg_DS_Set/readme.adoc new file mode 100644 index 0000000..849992d --- /dev/null +++ b/Quellcodes/Alg_DS_Set/readme.adoc @@ -0,0 +1,11 @@ += Material : + +|=== +|Zuordnung| +|Klassenstufe| +|Bildungsplanbezug | +|Werkzeug| +|Autoren| +|=== + +== Inhalt diff --git a/Quellcodes/Alg_DS_Snake/.gitignore b/Quellcodes/Alg_DS_Snake/.gitignore new file mode 100644 index 0000000..2cc0cb6 --- /dev/null +++ b/Quellcodes/Alg_DS_Snake/.gitignore @@ -0,0 +1,7 @@ +**/*.sh +**/*.class +**/*.ctxt +repo.adoc +repo_subtree.adoc +/alt +/hide diff --git a/Quellcodes/Alg_DS_Snake/01_snake_roh/Apple.java b/Quellcodes/Alg_DS_Snake/01_snake_roh/Apple.java new file mode 100644 index 0000000..b274a15 --- /dev/null +++ b/Quellcodes/Alg_DS_Snake/01_snake_roh/Apple.java @@ -0,0 +1,12 @@ +import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) + +/** + * Stellt einen Apfel dar, den die Schlange fressen soll + * + * @author Rainer Helfrich + * @version April 2020 + */ +public class Apple extends Actor +{ + +} diff --git a/Quellcodes/Alg_DS_Snake/01_snake_roh/Queue.java b/Quellcodes/Alg_DS_Snake/01_snake_roh/Queue.java new file mode 100644 index 0000000..7e60a9f --- /dev/null +++ b/Quellcodes/Alg_DS_Snake/01_snake_roh/Queue.java @@ -0,0 +1,32 @@ +/** + * Abstrakte Basisklasse für Queues + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public abstract class Queue +{ + /** + * Gibt zurück, ob die Queue leer ist + * @return true, wenn die Queue leer ist; false sonst + */ + public abstract boolean isEmpty(); + + /** + * Fügt ein neues Element hinten in der Schlange ein + * @param x Das neue Element + */ + public abstract void enqueue(T x); + + /** + * Entfernt das vorderste Element aus der Queue (falls sie nicht leer ist) und gibt es zurück + * @return Das bisherige vorderste Element + */ + public abstract T dequeue(); + + /** + * Gibt das vorderste Element der Queue zurück (falls sie nicht leer ist) + * @return Das vorderste Element + */ + public abstract T front(); +} diff --git a/Quellcodes/Alg_DS_Snake/01_snake_roh/README.TXT b/Quellcodes/Alg_DS_Snake/01_snake_roh/README.TXT new file mode 100644 index 0000000..53661eb --- /dev/null +++ b/Quellcodes/Alg_DS_Snake/01_snake_roh/README.TXT @@ -0,0 +1,7 @@ +PROJECT TITLE: Snake +PURPOSE OF PROJECT: Implementieren Sie ein Snake-Spiel +VERSION or DATE: April 2020 +HOW TO START THIS PROJECT: Klicken Sie nach dem Kompilieren auf "Run" und drücken Sie die Leertaste +AUTHORS: Rainer Helfrich, ZPG Informatik + +Verwendete Bilder aus der Greenfoot-Bibliothek diff --git a/Quellcodes/Alg_DS_Snake/01_snake_roh/Snake.java b/Quellcodes/Alg_DS_Snake/01_snake_roh/Snake.java new file mode 100644 index 0000000..07b398e --- /dev/null +++ b/Quellcodes/Alg_DS_Snake/01_snake_roh/Snake.java @@ -0,0 +1,102 @@ +import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) +import java.util.List; + +/** + * Die Schlange, die vom Spieler gesteuert wird + * + * @author Rainer Helfrich + * @version April 2020 + */ +public class Snake extends Actor +{ + /** + * Die Queue, die die Körperelemente enthält + */ + private Queue theQueue; + + /** + * Die aktuelle Bewegungsrichtung der Schlange + */ + private char richtung; + + /** + * Konstanten für die vier Bewegungsrichtungen + */ + private final char OBEN = 'w'; + private final char UNTEN = 's'; + private final char LINKS = 'a'; + private final char RECHTS = 'd'; + + /** + * Erzeugt eine neue Schlange und platziert sie in der Welt. + */ + public Snake(World w) + { + //# TODO: Erzeugen Sie eine neue Queue + + //# Ende TODO + if (theQueue != null) + { + SnakeElement el = new SnakeElement(); + w.addObject(el, 15, 10); + theQueue.enqueue(el); + el = new SnakeElement(); + w.addObject(el, 14, 10); + theQueue.enqueue(el); + } + richtung = RECHTS; + } + + /** + * Prüft, ob die Taste zum Buchstaben c gedrückt ist + * @param c Die Taste, die überprüft wird + * @return true, wenn die Taste gedrückt ist; false sonst + */ + private boolean isKeyDown(char c) + { + return Greenfoot.isKeyDown(""+c); + } + + /** + * Wird in jedem Zeitschritt aufgerufen + */ + public void act() + { + if (isKeyDown(OBEN) && richtung != UNTEN) + { + richtung = OBEN; + } + else if (isKeyDown(UNTEN) && richtung != OBEN) + { + richtung = UNTEN; + } + else if (isKeyDown(LINKS) && richtung != RECHTS) + { + richtung = LINKS; + } + else if (isKeyDown(RECHTS) && richtung != LINKS) + { + richtung = RECHTS; + } + SnakeWorld sw = (SnakeWorld)getWorld(); + + int x = getX(); + int y = getY(); + //# TODO + //# Bestimmen Sie die neue Position (x,y) der Schlange + //# Achtung: Was passiert, wenn die Schlange aus dem Spielfeld herausfährt? + + //# Finden Sie heraus, ob sich an der Position des Kopfes ein Apfel befindet + + //# Wenn ja, entfernen Sie den Apfel aus der Welt und platzieren Sie einen neuen Apfel in der Welt. + + //# Wenn nein: Befindet sich ein Körperteil der Schlange an der Position des Kopfes? Wenn ja, ist das Spiel verloren. + + //# Wenn auch das nicht der Fall ist, wird nur der letzte Teil des Schwanzes entfernt. + + //# In jedem Fall wird an der neuen Position ein neuer Kopf erzeugt und in die Schlange eingefügt. + //# Ende TODO + + setLocation(x, y); + } +} diff --git a/Quellcodes/Alg_DS_Snake/01_snake_roh/SnakeElement.java b/Quellcodes/Alg_DS_Snake/01_snake_roh/SnakeElement.java new file mode 100644 index 0000000..41ebdc1 --- /dev/null +++ b/Quellcodes/Alg_DS_Snake/01_snake_roh/SnakeElement.java @@ -0,0 +1,12 @@ +import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) + +/** + * Ein Körperelement der Schlange + * + * @author Rainer Helfrich + * @version April 2020 + */ +public class SnakeElement extends Actor +{ + +} diff --git a/Quellcodes/Alg_DS_Snake/01_snake_roh/SnakeWorld.java b/Quellcodes/Alg_DS_Snake/01_snake_roh/SnakeWorld.java new file mode 100644 index 0000000..e255cbc --- /dev/null +++ b/Quellcodes/Alg_DS_Snake/01_snake_roh/SnakeWorld.java @@ -0,0 +1,71 @@ +import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) + +/** + * Die Welt, in der sich die Schlange bewegt + * + * @author Rainer Helfrich + * @version 2020-04-08 + */ +public class SnakeWorld extends World +{ + /** + * Die Ausführungsgeschwindigkeit + */ + private int speed; + + /** + * Erzeugt eine neue Welt + */ + public SnakeWorld() + { + super(30, 20, 20); + } + + /** + * Platziert einen neuen Apfel an einer freien Stelle in der Welt + */ + public void placeApple() + { + Apple a = new Apple(); + int x, y; + do + { + x = Greenfoot.getRandomNumber(getWidth()); + y = Greenfoot.getRandomNumber(getHeight()); + } while (getObjectsAt(x, y, SnakeElement.class).size() > 0); + addObject(a, x, y); + if (speed < 49) // danach nicht mehr spielbar + { + speed++; + Greenfoot.setSpeed(speed); + } + } + + /** + * Wird aufgerufen, wenn das Spiel verloren ist. + * Zeigt eine Nachricht und die Punktezahl an. + */ + public void setGameOver() + { + int points = getObjects(SnakeElement.class).size() - 2; + removeObjects(getObjects(null)); + getBackground().drawImage(new GreenfootImage("Game over", 64, null, null), 170, 130); + getBackground().drawImage(new GreenfootImage("Punkte: " + points, 40, null, null), 220, 220); + } + + /** + * Wartet auf das Drücken der Leertaste, um das Spiel zu initialisieren + */ + public void act() + { + if (Greenfoot.isKeyDown("space") && + getObjects(Snake.class).isEmpty()) + { + setBackground((GreenfootImage)null); + Snake s = new Snake(this); + addObject(s, 15,10); + speed = 22; + placeApple(); + } + } +} diff --git a/Quellcodes/Alg_DS_Snake/01_snake_roh/images/apple1.png b/Quellcodes/Alg_DS_Snake/01_snake_roh/images/apple1.png new file mode 100644 index 0000000000000000000000000000000000000000..9b6580631f631ea080a4eea5a3babce30f58cc5f GIT binary patch literal 680 zcmV;Z0$2TsP)Qw{O6JU_`E9%x6xDeqYp9LD)_^>L46QBnE{1;r5oEJ!hu7Xd3QD-#?PF$)L)006D)bMpWI00DGTPE!Ct=GbNc z000?uMObuGZ)S9NVRB^vM{;3sXlY|ZZ*F#Fa&%>KHC;&V0005kNkl$-y= z408%txj0a(i0=Jg^R(dH_8sy!X%Z+jO${x^;AEA`a43es#N>pi@;DGr3S*9{3o0RS zh_7H$m2Xi56(czWtQQypnimJ8dP5vSOez`^+&@kT6&nmOgfLVM5H%dH7-`&?sA~CA zzETV(goyQfa*vm6I+XPb;*dv9mRR#=fW$_obMo7M{vLv^hEuUeoJa2`zpi_{*%r|O zD2xtW8twDx{W_82eUn|#3Y1a+amLx&Cs}wBOnd3toghFc2E@~8J7x>Qa%Mr2K>K5; z9)i}^vIAQz8(Rbo#C2`g3DNhOV8^kPSQkEY;sDVSgc3afJFo?3tkj}IU$i#zVeg-$sg8TEz-TPww%}?j!ew6aK z+0Xp>^L5frFZp^V>+)6b^CQlkK*G+}wl~BpTKY8V>QTM#y?U>z=*u&^ghQV1{VJ7qh=MaDZG>jK-(U~{s|Z;f~O9g_5?_uh23089Y5Ljk|~ ztyo4eI_$9&weVsqqsy(7hN^{ul*oyYG9z&o5+Hcbu9ZKWFUXq>=pNwN7i4TIoQYFh>GbJyd5@OU4s}{7WYi)E z39tvOVF&>L1aBEC2CM<30%Sy#w9#{xQ)|)pj=RM!39I=LfHeS4H3nI~<&S1l_(Gh} zi>;KFArT3I!DN>&Nktc& z;VI!9FMqi1Kjl52C4m_LG5a82!@_7l7Yto;U|<=}*8i!C@mO&vp(wQ)v!fmU?Di&~ zR4SrR79*TjF{VTgt=?rG9hO-*NJ0@=lDh8wuatav$nL{+ZZ`QGnPZ>Z>#n43! zTECkrL`N#2nK4muf}4Xyk?n4~rO^&6?}(gXNFDY{A?PD(xDOaqXrwcG-#ogk85aRm z#pItFinW;qx}&l#-B>&=_&<03#fJ|#v4$ZPpdx})fDliX)cbl5HBB^vj0fed%Fs}E zK>FCK`0MgnaZ?F_H#;+MPn{C?wl_F`c%OwKkcxOOkHNV$!#a!JhrI2{s%xfu&IN46 zNOIy6&x-rgbM%LHkJeN%!g{Aq>gi|1wT<`v^k|#si!m!xHTeq}+($gH&)Q&&X7{nW ziAP{76)?9%E*zsvW&|CKVF`1N(J{OP;x z-wFlQ9gv=$r)S@O!%c5(uqsEv7zbl=IT@$S*%;+NC&^eQtp zzjL+p|8r|AM*RNt5%F55&y(3jy3*;<#rtc1{`L)@Y^}2}nrUx)YuxGx%;2mGK6PH2 z*+tqKUXXv8Uly;%30_HZ`rz-^T=}sV;U8bm;;8|BrWo<(C%d?O`-WTIy2rV5h>4)U zp!%%y-m>!ylXa*VUXUBpbM(hF$IAeI_x2lp`$u07%s%!aeC-$3T>VCLy*r@0X$QY) zW%3+*428sk5SS%GQfIPaj~!>R?mcd&IsTUB^bRxD*KhfUkAnfge*tTGYc&$$%q#!^ N002ovPDHLkV1m|$LLvYF literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Snake/01_snake_roh/images/transparent.png b/Quellcodes/Alg_DS_Snake/01_snake_roh/images/transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..d406af66a31b590872ac8ba50cf3db13c6ac1ec2 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VTavfC3&Vd9T(EcfWS|IVfk$L9 z0|U1(2s1Lwnj--eWH0gbb!C6T!pUu_w)MfLD?lOH%#er@=ltB<)VvZPmw~~#C^fMp zHASI3vm`^o-P1Q9MK6^dC@$*h;uvCaIypgtb#a17Pg9@)*9v9^wh#tJ=XUuyAf2AB KelF{r5}E*-G%BnB literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Snake/01_snake_roh/project.greenfoot b/Quellcodes/Alg_DS_Snake/01_snake_roh/project.greenfoot new file mode 100644 index 0000000..3eccba2 --- /dev/null +++ b/Quellcodes/Alg_DS_Snake/01_snake_roh/project.greenfoot @@ -0,0 +1,83 @@ +#Greenfoot project file +class.Apple.image=apple1.png +class.Snake.image=transparent.png +class.SnakeElement.image=ball.png +dependency1.from=SnakeWorld +dependency1.to=Apple +dependency1.type=UsesDependency +dependency2.from=SnakeWorld +dependency2.to=Snake +dependency2.type=UsesDependency +dependency3.from=SnakeWorld +dependency3.to=SnakeElement +dependency3.type=UsesDependency +dependency4.from=Snake +dependency4.to=Queue +dependency4.type=UsesDependency +dependency5.from=Snake +dependency5.to=SnakeElement +dependency5.type=UsesDependency +dependency6.from=Snake +dependency6.to=SnakeWorld +dependency6.type=UsesDependency +editor.fx.0.height=739 +editor.fx.0.width=1195 +editor.fx.0.x=552 +editor.fx.0.y=100 +height=795 +package.numDependencies=6 +package.numTargets=5 +project.charset=UTF-8 +publish.hasSource=false +publish.locked=true +publish.longDesc= +publish.shortDesc= +publish.tags= +publish.title= +publish.url= +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +simulation.speed=68 +target1.height=50 +target1.name=Apple +target1.showInterface=false +target1.type=ClassTarget +target1.width=80 +target1.x=0 +target1.y=0 +target2.height=50 +target2.name=SnakeElement +target2.showInterface=false +target2.type=ClassTarget +target2.width=100 +target2.x=0 +target2.y=0 +target3.height=50 +target3.name=Snake +target3.showInterface=false +target3.type=ClassTarget +target3.width=80 +target3.x=0 +target3.y=0 +target4.height=50 +target4.name=SnakeWorld +target4.showInterface=false +target4.type=ClassTarget +target4.width=90 +target4.x=0 +target4.y=0 +target5.height=50 +target5.name=Queue +target5.showInterface=false +target5.type=AbstractTarget +target5.width=80 +target5.x=0 +target5.y=0 +version=3.0.0 +width=1175 +world.lastInstantiated=SnakeWorld +xPosition=15 +yPosition=44 diff --git a/Quellcodes/Alg_DS_Snake/02_snake_loes/Apple.java b/Quellcodes/Alg_DS_Snake/02_snake_loes/Apple.java new file mode 100644 index 0000000..b274a15 --- /dev/null +++ b/Quellcodes/Alg_DS_Snake/02_snake_loes/Apple.java @@ -0,0 +1,12 @@ +import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) + +/** + * Stellt einen Apfel dar, den die Schlange fressen soll + * + * @author Rainer Helfrich + * @version April 2020 + */ +public class Apple extends Actor +{ + +} diff --git a/Quellcodes/Alg_DS_Snake/02_snake_loes/ArrayQueue.java b/Quellcodes/Alg_DS_Snake/02_snake_loes/ArrayQueue.java new file mode 100644 index 0000000..c34e0cd --- /dev/null +++ b/Quellcodes/Alg_DS_Snake/02_snake_loes/ArrayQueue.java @@ -0,0 +1,124 @@ + +/** + * Queue basierend auf einem Array + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ArrayQueue extends Queue +{ + /** + * Die Nutzdaten + */ + private Object[] daten; + + /** + * Der Index des ersten Wertes + */ + private int first; + + /** + * Der nächste freie Index + */ + private int last; + + /** + * Erzeugt eine neue, leere Queue + */ + public ArrayQueue() + { + daten = new Object[10]; + first = 0; + last = 0; + } + + /** + * Fügt ein neues Element hinten in der Schlange ein + * @param x Das neue Element + */ + public void enqueue(T x) + { + daten[last] = x; + last++; + if (last == daten.length) + { + last = 0; + } + if (last == first) // Vergrößerung nötig + { + Object[] tmp = new Object[daten.length*2]; + System.arraycopy(daten, first, tmp, 0, daten.length - first); + System.arraycopy(daten, 0, tmp, daten.length - first, first); + first = 0; + last = daten.length; + daten = tmp; + } + } + + /** + * Gibt das vorderste Element der Queue zurück (falls sie nicht leer ist) + * @return Das vorderste Element + */ + public T front() + { + if (isEmpty()) + { + return null; + } + return (T)daten[first]; + } + + /** + * Entfernt das vorderste Element aus der Queue (falls sie nicht leer ist) und gibt es zurück + * @return Das bisherige vorderste Element + */ + public T dequeue() + { + T x = null; + if (!isEmpty()) + { + x = (T)daten[first]; + first++; + if (first == daten.length) + { + first = 0; + } + } + return x; + } + + /** + * Gibt zurück, ob die Queue leer ist + * @return true, wenn die Queue leer ist; false sonst + */ + public boolean isEmpty() + { + return first == last; + } + + /** + * Gibt die Queue in String-Form aus. + * @return Die String-Repräsentation der Queue + */ + @Override + public String toString() + { + StringBuilder b = new StringBuilder(); + for (int i = first; i < (last < first ? daten.length : last); i++) + { + if (i != first) + { + b.append(", "); + } + b.append(daten[i]); + } + if (last < first) + { + for (int i = 0; i < last; i++) + { + b.append(", " + daten[i]); + } + } + return "< " + b.toString() + " <"; + } +} diff --git a/Quellcodes/Alg_DS_Snake/02_snake_loes/Queue.java b/Quellcodes/Alg_DS_Snake/02_snake_loes/Queue.java new file mode 100644 index 0000000..7e60a9f --- /dev/null +++ b/Quellcodes/Alg_DS_Snake/02_snake_loes/Queue.java @@ -0,0 +1,32 @@ +/** + * Abstrakte Basisklasse für Queues + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public abstract class Queue +{ + /** + * Gibt zurück, ob die Queue leer ist + * @return true, wenn die Queue leer ist; false sonst + */ + public abstract boolean isEmpty(); + + /** + * Fügt ein neues Element hinten in der Schlange ein + * @param x Das neue Element + */ + public abstract void enqueue(T x); + + /** + * Entfernt das vorderste Element aus der Queue (falls sie nicht leer ist) und gibt es zurück + * @return Das bisherige vorderste Element + */ + public abstract T dequeue(); + + /** + * Gibt das vorderste Element der Queue zurück (falls sie nicht leer ist) + * @return Das vorderste Element + */ + public abstract T front(); +} diff --git a/Quellcodes/Alg_DS_Snake/02_snake_loes/README.TXT b/Quellcodes/Alg_DS_Snake/02_snake_loes/README.TXT new file mode 100644 index 0000000..53661eb --- /dev/null +++ b/Quellcodes/Alg_DS_Snake/02_snake_loes/README.TXT @@ -0,0 +1,7 @@ +PROJECT TITLE: Snake +PURPOSE OF PROJECT: Implementieren Sie ein Snake-Spiel +VERSION or DATE: April 2020 +HOW TO START THIS PROJECT: Klicken Sie nach dem Kompilieren auf "Run" und drücken Sie die Leertaste +AUTHORS: Rainer Helfrich, ZPG Informatik + +Verwendete Bilder aus der Greenfoot-Bibliothek diff --git a/Quellcodes/Alg_DS_Snake/02_snake_loes/Snake.java b/Quellcodes/Alg_DS_Snake/02_snake_loes/Snake.java new file mode 100644 index 0000000..153a2c2 --- /dev/null +++ b/Quellcodes/Alg_DS_Snake/02_snake_loes/Snake.java @@ -0,0 +1,131 @@ +import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) +import java.util.List; + +/** + * Die Schlange, die vom Spieler gesteuert wird + * + * @author Rainer Helfrich + * @version April 2020 + */ +public class Snake extends Actor +{ + /** + * Die Queue, die die Körperelemente enthält + */ + private Queue theQueue; + + /** + * Die aktuelle Bewegungsrichtung der Schlange + */ + private char richtung; + + /** + * Konstanten für die vier Bewegungsrichtungen + */ + private final char OBEN = 'w'; + private final char UNTEN = 's'; + private final char LINKS = 'a'; + private final char RECHTS = 'd'; + + /** + * Erzeugt eine neue Schlange und platziert sie in der Welt. + */ + public Snake(World w) + { + theQueue = new ArrayQueue(); + SnakeElement el = new SnakeElement(); + w.addObject(el, 15, 10); + theQueue.enqueue(el); + el = new SnakeElement(); + w.addObject(el, 14, 10); + theQueue.enqueue(el); + richtung = RECHTS; + } + + /** + * Prüft, ob die Taste zum Buchstaben c gedrückt ist + * @param c Die Taste, die überprüft wird + * @return true, wenn die Taste gedrückt ist; false sonst + */ + private boolean isKeyDown(char c) + { + return Greenfoot.isKeyDown(""+c); + } + + private int neuePosition(int p, int g) + { + if (p < 0) + { + p += g; + } + return p % g; + } + + /** + * Wird in jedem Zeitschritt aufgerufen + */ + public void act() + { + if (isKeyDown(OBEN) && richtung != UNTEN) + { + richtung = OBEN; + } + else if (isKeyDown(UNTEN) && richtung != OBEN) + { + richtung = UNTEN; + } + else if (isKeyDown(LINKS) && richtung != RECHTS) + { + richtung = LINKS; + } + else if (isKeyDown(RECHTS) && richtung != LINKS) + { + richtung = RECHTS; + } + SnakeWorld sw = (SnakeWorld)getWorld(); + + int x = getX(); + int y = getY(); + if (richtung == OBEN) + { + y--; + } + else if (richtung == UNTEN) + { + y++; + } + else if (richtung == LINKS) + { + x--; + } + else if (richtung == RECHTS) + { + x++; + } + x = neuePosition(x, getWorld().getWidth()); + y = neuePosition(y, getWorld().getHeight()); + + List apples = sw.getObjectsAt(x, y, Apple.class); + SnakeElement el; + if (!apples.isEmpty()) + { + Apple a = apples.get(0); + sw.removeObject(a); + sw.placeApple(); + } + else + { + el = theQueue.dequeue(); + sw.removeObject(el); + } + if (!sw.getObjectsAt(x, y, SnakeElement.class).isEmpty()) // Kollision mit sich selbst + { + sw.setGameOver(); + return; + } + el = new SnakeElement(); + sw.addObject(el, x, y); + theQueue.enqueue(el); + setLocation(x, y); + } +} diff --git a/Quellcodes/Alg_DS_Snake/02_snake_loes/SnakeElement.java b/Quellcodes/Alg_DS_Snake/02_snake_loes/SnakeElement.java new file mode 100644 index 0000000..41ebdc1 --- /dev/null +++ b/Quellcodes/Alg_DS_Snake/02_snake_loes/SnakeElement.java @@ -0,0 +1,12 @@ +import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) + +/** + * Ein Körperelement der Schlange + * + * @author Rainer Helfrich + * @version April 2020 + */ +public class SnakeElement extends Actor +{ + +} diff --git a/Quellcodes/Alg_DS_Snake/02_snake_loes/SnakeWorld.java b/Quellcodes/Alg_DS_Snake/02_snake_loes/SnakeWorld.java new file mode 100644 index 0000000..e255cbc --- /dev/null +++ b/Quellcodes/Alg_DS_Snake/02_snake_loes/SnakeWorld.java @@ -0,0 +1,71 @@ +import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) + +/** + * Die Welt, in der sich die Schlange bewegt + * + * @author Rainer Helfrich + * @version 2020-04-08 + */ +public class SnakeWorld extends World +{ + /** + * Die Ausführungsgeschwindigkeit + */ + private int speed; + + /** + * Erzeugt eine neue Welt + */ + public SnakeWorld() + { + super(30, 20, 20); + } + + /** + * Platziert einen neuen Apfel an einer freien Stelle in der Welt + */ + public void placeApple() + { + Apple a = new Apple(); + int x, y; + do + { + x = Greenfoot.getRandomNumber(getWidth()); + y = Greenfoot.getRandomNumber(getHeight()); + } while (getObjectsAt(x, y, SnakeElement.class).size() > 0); + addObject(a, x, y); + if (speed < 49) // danach nicht mehr spielbar + { + speed++; + Greenfoot.setSpeed(speed); + } + } + + /** + * Wird aufgerufen, wenn das Spiel verloren ist. + * Zeigt eine Nachricht und die Punktezahl an. + */ + public void setGameOver() + { + int points = getObjects(SnakeElement.class).size() - 2; + removeObjects(getObjects(null)); + getBackground().drawImage(new GreenfootImage("Game over", 64, null, null), 170, 130); + getBackground().drawImage(new GreenfootImage("Punkte: " + points, 40, null, null), 220, 220); + } + + /** + * Wartet auf das Drücken der Leertaste, um das Spiel zu initialisieren + */ + public void act() + { + if (Greenfoot.isKeyDown("space") && + getObjects(Snake.class).isEmpty()) + { + setBackground((GreenfootImage)null); + Snake s = new Snake(this); + addObject(s, 15,10); + speed = 22; + placeApple(); + } + } +} diff --git a/Quellcodes/Alg_DS_Snake/02_snake_loes/images/apple1.png b/Quellcodes/Alg_DS_Snake/02_snake_loes/images/apple1.png new file mode 100644 index 0000000000000000000000000000000000000000..9b6580631f631ea080a4eea5a3babce30f58cc5f GIT binary patch literal 680 zcmV;Z0$2TsP)Qw{O6JU_`E9%x6xDeqYp9LD)_^>L46QBnE{1;r5oEJ!hu7Xd3QD-#?PF$)L)006D)bMpWI00DGTPE!Ct=GbNc z000?uMObuGZ)S9NVRB^vM{;3sXlY|ZZ*F#Fa&%>KHC;&V0005kNkl$-y= z408%txj0a(i0=Jg^R(dH_8sy!X%Z+jO${x^;AEA`a43es#N>pi@;DGr3S*9{3o0RS zh_7H$m2Xi56(czWtQQypnimJ8dP5vSOez`^+&@kT6&nmOgfLVM5H%dH7-`&?sA~CA zzETV(goyQfa*vm6I+XPb;*dv9mRR#=fW$_obMo7M{vLv^hEuUeoJa2`zpi_{*%r|O zD2xtW8twDx{W_82eUn|#3Y1a+amLx&Cs}wBOnd3toghFc2E@~8J7x>Qa%Mr2K>K5; z9)i}^vIAQz8(Rbo#C2`g3DNhOV8^kPSQkEY;sDVSgc3afJFo?3tkj}IU$i#zVeg-$sg8TEz-TPww%}?j!ew6aK z+0Xp>^L5frFZp^V>+)6b^CQlkK*G+}wl~BpTKY8V>QTM#y?U>z=*u&^ghQV1{VJ7qh=MaDZG>jK-(U~{s|Z;f~O9g_5?_uh23089Y5Ljk|~ ztyo4eI_$9&weVsqqsy(7hN^{ul*oyYG9z&o5+Hcbu9ZKWFUXq>=pNwN7i4TIoQYFh>GbJyd5@OU4s}{7WYi)E z39tvOVF&>L1aBEC2CM<30%Sy#w9#{xQ)|)pj=RM!39I=LfHeS4H3nI~<&S1l_(Gh} zi>;KFArT3I!DN>&Nktc& z;VI!9FMqi1Kjl52C4m_LG5a82!@_7l7Yto;U|<=}*8i!C@mO&vp(wQ)v!fmU?Di&~ zR4SrR79*TjF{VTgt=?rG9hO-*NJ0@=lDh8wuatav$nL{+ZZ`QGnPZ>Z>#n43! zTECkrL`N#2nK4muf}4Xyk?n4~rO^&6?}(gXNFDY{A?PD(xDOaqXrwcG-#ogk85aRm z#pItFinW;qx}&l#-B>&=_&<03#fJ|#v4$ZPpdx})fDliX)cbl5HBB^vj0fed%Fs}E zK>FCK`0MgnaZ?F_H#;+MPn{C?wl_F`c%OwKkcxOOkHNV$!#a!JhrI2{s%xfu&IN46 zNOIy6&x-rgbM%LHkJeN%!g{Aq>gi|1wT<`v^k|#si!m!xHTeq}+($gH&)Q&&X7{nW ziAP{76)?9%E*zsvW&|CKVF`1N(J{OP;x z-wFlQ9gv=$r)S@O!%c5(uqsEv7zbl=IT@$S*%;+NC&^eQtp zzjL+p|8r|AM*RNt5%F55&y(3jy3*;<#rtc1{`L)@Y^}2}nrUx)YuxGx%;2mGK6PH2 z*+tqKUXXv8Uly;%30_HZ`rz-^T=}sV;U8bm;;8|BrWo<(C%d?O`-WTIy2rV5h>4)U zp!%%y-m>!ylXa*VUXUBpbM(hF$IAeI_x2lp`$u07%s%!aeC-$3T>VCLy*r@0X$QY) zW%3+*428sk5SS%GQfIPaj~!>R?mcd&IsTUB^bRxD*KhfUkAnfge*tTGYc&$$%q#!^ N002ovPDHLkV1m|$LLvYF literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Snake/02_snake_loes/images/transparent.png b/Quellcodes/Alg_DS_Snake/02_snake_loes/images/transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..d406af66a31b590872ac8ba50cf3db13c6ac1ec2 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VTavfC3&Vd9T(EcfWS|IVfk$L9 z0|U1(2s1Lwnj--eWH0gbb!C6T!pUu_w)MfLD?lOH%#er@=ltB<)VvZPmw~~#C^fMp zHASI3vm`^o-P1Q9MK6^dC@$*h;uvCaIypgtb#a17Pg9@)*9v9^wh#tJ=XUuyAf2AB KelF{r5}E*-G%BnB literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Snake/02_snake_loes/project.greenfoot b/Quellcodes/Alg_DS_Snake/02_snake_loes/project.greenfoot new file mode 100644 index 0000000..afac716 --- /dev/null +++ b/Quellcodes/Alg_DS_Snake/02_snake_loes/project.greenfoot @@ -0,0 +1,96 @@ +#Greenfoot project file +class.Apple.image=apple1.png +class.Snake.image=transparent.png +class.SnakeElement.image=ball.png +dependency1.from=SnakeWorld +dependency1.to=Apple +dependency1.type=UsesDependency +dependency2.from=SnakeWorld +dependency2.to=Snake +dependency2.type=UsesDependency +dependency3.from=SnakeWorld +dependency3.to=SnakeElement +dependency3.type=UsesDependency +dependency4.from=Snake +dependency4.to=Queue +dependency4.type=UsesDependency +dependency5.from=Snake +dependency5.to=SnakeElement +dependency5.type=UsesDependency +dependency6.from=Snake +dependency6.to=ArrayQueue +dependency6.type=UsesDependency +dependency7.from=Snake +dependency7.to=SnakeWorld +dependency7.type=UsesDependency +dependency8.from=Snake +dependency8.to=Apple +dependency8.type=UsesDependency +editor.fx.0.height=0 +editor.fx.0.width=0 +editor.fx.0.x=0 +editor.fx.0.y=0 +height=795 +package.numDependencies=8 +package.numTargets=6 +project.charset=UTF-8 +publish.hasSource=false +publish.locked=true +publish.longDesc= +publish.shortDesc= +publish.tags= +publish.title= +publish.url= +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +simulation.speed=68 +target1.height=50 +target1.name=ArrayQueue +target1.showInterface=false +target1.type=ClassTarget +target1.width=110 +target1.x=0 +target1.y=0 +target2.height=50 +target2.name=Apple +target2.showInterface=false +target2.type=ClassTarget +target2.width=80 +target2.x=0 +target2.y=0 +target3.height=50 +target3.name=SnakeElement +target3.showInterface=false +target3.type=ClassTarget +target3.width=100 +target3.x=0 +target3.y=0 +target4.height=50 +target4.name=Snake +target4.showInterface=false +target4.type=ClassTarget +target4.width=80 +target4.x=0 +target4.y=0 +target5.height=50 +target5.name=SnakeWorld +target5.showInterface=false +target5.type=ClassTarget +target5.width=90 +target5.x=0 +target5.y=0 +target6.height=50 +target6.name=Queue +target6.showInterface=false +target6.type=AbstractTarget +target6.width=80 +target6.x=0 +target6.y=0 +version=3.0.0 +width=1175 +world.lastInstantiated=SnakeWorld +xPosition=454 +yPosition=62 diff --git a/Quellcodes/Alg_DS_Snake/readme.adoc b/Quellcodes/Alg_DS_Snake/readme.adoc new file mode 100644 index 0000000..849992d --- /dev/null +++ b/Quellcodes/Alg_DS_Snake/readme.adoc @@ -0,0 +1,11 @@ += Material : + +|=== +|Zuordnung| +|Klassenstufe| +|Bildungsplanbezug | +|Werkzeug| +|Autoren| +|=== + +== Inhalt diff --git a/Quellcodes/Alg_DS_Stack/.gitignore b/Quellcodes/Alg_DS_Stack/.gitignore new file mode 100644 index 0000000..2cc0cb6 --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/.gitignore @@ -0,0 +1,7 @@ +**/*.sh +**/*.class +**/*.ctxt +repo.adoc +repo_subtree.adoc +/alt +/hide diff --git a/Quellcodes/Alg_DS_Stack/01_stack_roh/ArrayStack.java b/Quellcodes/Alg_DS_Stack/01_stack_roh/ArrayStack.java new file mode 100644 index 0000000..8b80577 --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/01_stack_roh/ArrayStack.java @@ -0,0 +1,48 @@ + +/** + * Ein Stack basierend auf einem Array + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ArrayStack extends Stack +{ + /** + * Gibt das oberste Element des Stacks zurück (falls der Stack nicht leer ist) + * @return Das oberste Element + */ + public T top() + { + //# TODO: Hier ist etwas zu tun! + return null; + } + + /** + * Entfernt das oberste Element vom Stack (falls der Stack nicht leer ist) und gibt es zurück + * @return Das bisherige oberste Element + */ + public T pop() + { + //# TODO: Hier ist etwas zu tun! + return null; + } + + /** + * Legt ein neues Element auf den Stack + * @param x Das neue Element + */ + public void push(T wert) + { + //# TODO: Hier ist etwas zu tun! + } + + /** + * Gibt zurück, ob der Stack leer ist + * @return true, wenn der Stack leer ist; false sonst + */ + public boolean isEmpty() + { + //# TODO: Hier ist etwas zu tun! + return false; + } +} diff --git a/Quellcodes/Alg_DS_Stack/01_stack_roh/ArrayStackTester.java b/Quellcodes/Alg_DS_Stack/01_stack_roh/ArrayStackTester.java new file mode 100644 index 0000000..78ce2cc --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/01_stack_roh/ArrayStackTester.java @@ -0,0 +1,16 @@ +import org.junit.Before; + +/** + * Testklasse für den ArrayStack + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ArrayStackTester extends StackTester +{ + @Before + public void setUp() + { + theStack = new ArrayStack(); + } +} diff --git a/Quellcodes/Alg_DS_Stack/01_stack_roh/LinkedStack.java b/Quellcodes/Alg_DS_Stack/01_stack_roh/LinkedStack.java new file mode 100644 index 0000000..8140513 --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/01_stack_roh/LinkedStack.java @@ -0,0 +1,48 @@ + +/** + * Ein Stack basierend auf einer verketteten Liste + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class LinkedStack extends Stack +{ + /** + * Gibt das oberste Element des Stacks zurück (falls der Stack nicht leer ist) + * @return Das oberste Element + */ + public T top() + { + //# TODO: Hier ist etwas zu tun! + return null; + } + + /** + * Entfernt das oberste Element vom Stack (falls der Stack nicht leer ist) und gibt es zurück + * @return Das bisherige oberste Element + */ + public T pop() + { + //# TODO: Hier ist etwas zu tun! + return null; + } + + /** + * Legt ein neues Element auf den Stack + * @param x Das neue Element + */ + public void push(T wert) + { + //# TODO: Hier ist etwas zu tun! + } + + /** + * Gibt zurück, ob der Stack leer ist + * @return true, wenn der Stack leer ist; false sonst + */ + public boolean isEmpty() + { + //# TODO: Hier ist etwas zu tun! + return false; + } +} diff --git a/Quellcodes/Alg_DS_Stack/01_stack_roh/LinkedStackTester.java b/Quellcodes/Alg_DS_Stack/01_stack_roh/LinkedStackTester.java new file mode 100644 index 0000000..aae6871 --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/01_stack_roh/LinkedStackTester.java @@ -0,0 +1,16 @@ +import org.junit.Before; + +/** + * Testklasse für den LinkedStack + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class LinkedStackTester extends StackTester +{ + @Before + public void setUp() + { + theStack = new LinkedStack(); + } +} \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Stack/01_stack_roh/README.TXT b/Quellcodes/Alg_DS_Stack/01_stack_roh/README.TXT new file mode 100644 index 0000000..e45dacd --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/01_stack_roh/README.TXT @@ -0,0 +1,5 @@ +PROJEKTBEZEICHNUNG: Stack +PROJEKTZWECK: Zwei Implementationen des ADTs Stack +VERSION oder DATUM: Oktober 2020 +WIE IST DAS PROJEKT ZU STARTEN: Implementieren Sie den ArrayStack oder den LinkedStack. Führen Sie dann bei den entsprechenden Tester-Klassen "Alles testen" aus. +AUTOR(EN): Rainer Helfrich, ZPG Informatik diff --git a/Quellcodes/Alg_DS_Stack/01_stack_roh/Stack.java b/Quellcodes/Alg_DS_Stack/01_stack_roh/Stack.java new file mode 100644 index 0000000..332c28a --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/01_stack_roh/Stack.java @@ -0,0 +1,32 @@ +/** + * Abstrakte Basisklasse für Stacks + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public abstract class Stack +{ + /** + * Gibt zurück, ob der Stack leer ist + * @return true, wenn der Stack leer ist; false sonst + */ + public abstract boolean isEmpty(); + + /** + * Legt ein neues Element auf den Stack + * @param x Das neue Element + */ + public abstract void push(T x); + + /** + * Entfernt das oberste Element vom Stack (falls der Stack nicht leer ist) und gibt es zurück + * @return Das bisherige oberste Element + */ + public abstract T pop(); + + /** + * Gibt das oberste Element des Stacks zurück (falls der Stack nicht leer ist) + * @return Das oberste Element + */ + public abstract T top(); +} diff --git a/Quellcodes/Alg_DS_Stack/01_stack_roh/StackTester.java b/Quellcodes/Alg_DS_Stack/01_stack_roh/StackTester.java new file mode 100644 index 0000000..7833474 --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/01_stack_roh/StackTester.java @@ -0,0 +1,4978 @@ +import static org.junit.Assert.*; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/** + * Führt eine Reihe von Tests mit einem Stack aus + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public abstract class StackTester +{ + /** + * Der zu testende Stack + */ + protected Stack theStack; + + @Test + public void test01() + { + Integer tmp; + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(8); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(8,theStack.top().intValue()); + theStack.push(7); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(7,theStack.top().intValue()); + theStack.push(7); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(7,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(7,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(7,theStack.top().intValue()); + theStack.push(9); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(9,theStack.top().intValue()); + theStack.push(4); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(4,theStack.top().intValue()); + theStack.push(8); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(8,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(8,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(4,theStack.top().intValue()); + theStack.push(5); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(5,theStack.top().intValue()); + theStack.push(6); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + theStack.push(0); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(0,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(0,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + theStack.push(8); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(8,theStack.top().intValue()); + theStack.push(6); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(6,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(8,theStack.top().intValue()); + theStack.push(2); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(2,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(2,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(8,theStack.top().intValue()); + theStack.push(6); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(6,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(8,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(6,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(5,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(4,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(9,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(7,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(8,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(5); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(5,theStack.top().intValue()); + theStack.push(6); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(6,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(5,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(5); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(5,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(5,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(0); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(0,theStack.top().intValue()); + theStack.push(8); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(8,theStack.top().intValue()); + theStack.push(8); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(8,theStack.top().intValue()); + theStack.push(7); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(7,theStack.top().intValue()); + theStack.push(2); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(2,theStack.top().intValue()); + theStack.push(4); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(4,theStack.top().intValue()); + theStack.push(4); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(4,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(4,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(4,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(2,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(7,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(8,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(8,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(0,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(4); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(4,theStack.top().intValue()); + theStack.push(1); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(1,theStack.top().intValue()); + theStack.push(8); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(8,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(8,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(1,theStack.top().intValue()); + theStack.push(5); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(5,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(5,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(1,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(4,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(3); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(3,theStack.top().intValue()); + theStack.push(6); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + theStack.push(4); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(4,theStack.top().intValue()); + theStack.push(9); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(9,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(9,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(4,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(6,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(3,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(4); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(4,theStack.top().intValue()); + theStack.push(1); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(1,theStack.top().intValue()); + theStack.push(4); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(4,theStack.top().intValue()); + theStack.push(3); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(3,theStack.top().intValue()); + theStack.push(2); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(2,theStack.top().intValue()); + theStack.push(0); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(0,theStack.top().intValue()); + theStack.push(3); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(3,theStack.top().intValue()); + theStack.push(0); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(0,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(0,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(3,theStack.top().intValue()); + theStack.push(7); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(7,theStack.top().intValue()); + theStack.push(6); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + theStack.push(0); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(0,theStack.top().intValue()); + theStack.push(6); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(6,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(0,theStack.top().intValue()); + theStack.push(1); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(1,theStack.top().intValue()); + theStack.push(8); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(8,theStack.top().intValue()); + theStack.push(2); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(2,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(2,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(8,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(1,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(0,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(6,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(7,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(3,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(0,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(2,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(3,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(4,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(1,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(4,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(4); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(4,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(4,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(0); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(0,theStack.top().intValue()); + theStack.push(5); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(5,theStack.top().intValue()); + theStack.push(1); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(1,theStack.top().intValue()); + theStack.push(3); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(3,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(3,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(1,theStack.top().intValue()); + theStack.push(2); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(2,theStack.top().intValue()); + theStack.push(6); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + theStack.push(4); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(4,theStack.top().intValue()); + theStack.push(0); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(0,theStack.top().intValue()); + theStack.push(7); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(7,theStack.top().intValue()); + theStack.push(6); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + theStack.push(0); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(0,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(0,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(6,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(7,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(0,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(4,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(6,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(2,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(1,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(5,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(0,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(9); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(9,theStack.top().intValue()); + theStack.push(0); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(0,theStack.top().intValue()); + theStack.push(6); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + theStack.push(8); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(8,theStack.top().intValue()); + theStack.push(6); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + theStack.push(4); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(4,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(4,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(6,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(8,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(8,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(6,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(0,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(9,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(9); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(9,theStack.top().intValue()); + theStack.push(1); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(1,theStack.top().intValue()); + theStack.push(1); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(1,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(1,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(1,theStack.top().intValue()); + theStack.push(6); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + theStack.push(7); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(7,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(7,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(6,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(1,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(1,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(9,theStack.top().intValue()); + theStack.push(0); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(0,theStack.top().intValue()); + theStack.push(0); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(0,theStack.top().intValue()); + theStack.push(7); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(7,theStack.top().intValue()); + theStack.push(6); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + } + + @Test + public void test02() + { + Integer tmp; + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(82); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(82,theStack.top().intValue()); + theStack.push(84); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(84,theStack.top().intValue()); + theStack.push(57); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(57,theStack.top().intValue()); + theStack.push(98); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(98,theStack.top().intValue()); + theStack.push(74); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(74,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(74,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(98,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(57,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(84,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(82,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(90); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(90,theStack.top().intValue()); + theStack.push(5); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(5,theStack.top().intValue()); + theStack.push(23); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(23,theStack.top().intValue()); + theStack.push(81); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(81,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(81,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(23,theStack.top().intValue()); + theStack.push(51); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(51,theStack.top().intValue()); + theStack.push(46); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(46,theStack.top().intValue()); + theStack.push(35); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(35,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(35,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(46,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(51,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(23,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(5,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(90,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(51); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(51,theStack.top().intValue()); + theStack.push(2); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(2,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(2,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(51,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(5); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(5,theStack.top().intValue()); + theStack.push(2); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(2,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(2,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(5,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(94); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(94,theStack.top().intValue()); + theStack.push(20); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(20,theStack.top().intValue()); + theStack.push(58); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(58,theStack.top().intValue()); + theStack.push(6); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + theStack.push(33); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(33,theStack.top().intValue()); + theStack.push(91); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(91,theStack.top().intValue()); + theStack.push(68); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(68,theStack.top().intValue()); + theStack.push(41); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(41,theStack.top().intValue()); + theStack.push(41); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(41,theStack.top().intValue()); + theStack.push(62); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(62,theStack.top().intValue()); + theStack.push(39); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(39,theStack.top().intValue()); + theStack.push(6); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + theStack.push(33); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(33,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(33,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + theStack.push(64); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(64,theStack.top().intValue()); + theStack.push(7); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(7,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(7,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(64,theStack.top().intValue()); + theStack.push(51); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(51,theStack.top().intValue()); + theStack.push(38); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(38,theStack.top().intValue()); + theStack.push(0); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(0,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(0,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(38,theStack.top().intValue()); + theStack.push(12); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(12,theStack.top().intValue()); + theStack.push(46); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(46,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(46,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(12,theStack.top().intValue()); + theStack.push(15); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(15,theStack.top().intValue()); + theStack.push(98); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(98,theStack.top().intValue()); + theStack.push(65); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(65,theStack.top().intValue()); + theStack.push(92); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(92,theStack.top().intValue()); + theStack.push(40); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(40,theStack.top().intValue()); + theStack.push(40); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(40,theStack.top().intValue()); + theStack.push(30); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(30,theStack.top().intValue()); + theStack.push(42); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(42,theStack.top().intValue()); + theStack.push(12); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(12,theStack.top().intValue()); + theStack.push(81); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(81,theStack.top().intValue()); + theStack.push(55); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(55,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(55,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(81,theStack.top().intValue()); + theStack.push(21); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(21,theStack.top().intValue()); + theStack.push(17); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(17,theStack.top().intValue()); + theStack.push(62); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(62,theStack.top().intValue()); + theStack.push(21); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(21,theStack.top().intValue()); + theStack.push(59); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(59,theStack.top().intValue()); + theStack.push(18); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(18,theStack.top().intValue()); + theStack.push(7); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(7,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(7,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(18,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(59,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(21,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(62,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(17,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(21,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(81,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(12,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(42,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(30,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(40,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(40,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(92,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(65,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(98,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(15,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(12,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(38,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(51,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(64,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(6,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(39,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(62,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(41,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(41,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(68,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(91,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(33,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(6,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(58,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(20,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(94,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(50); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(50,theStack.top().intValue()); + theStack.push(27); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(27,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(27,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(50,theStack.top().intValue()); + theStack.push(89); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(89,theStack.top().intValue()); + theStack.push(82); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(82,theStack.top().intValue()); + theStack.push(30); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(30,theStack.top().intValue()); + theStack.push(24); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(24,theStack.top().intValue()); + theStack.push(62); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(62,theStack.top().intValue()); + theStack.push(24); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(24,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(24,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(62,theStack.top().intValue()); + theStack.push(32); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(32,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(32,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(62,theStack.top().intValue()); + theStack.push(57); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(57,theStack.top().intValue()); + theStack.push(39); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(39,theStack.top().intValue()); + theStack.push(90); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(90,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(90,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(39,theStack.top().intValue()); + theStack.push(82); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(82,theStack.top().intValue()); + theStack.push(42); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(42,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(42,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(82,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(39,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(57,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(62,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(24,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(30,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(82,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(89,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(50,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(81); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(81,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(81,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(30); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(30,theStack.top().intValue()); + theStack.push(0); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(0,theStack.top().intValue()); + theStack.push(93); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(93,theStack.top().intValue()); + theStack.push(64); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(64,theStack.top().intValue()); + theStack.push(40); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(40,theStack.top().intValue()); + theStack.push(85); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(85,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(85,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(40,theStack.top().intValue()); + theStack.push(24); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(24,theStack.top().intValue()); + theStack.push(91); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(91,theStack.top().intValue()); + } + + @Test + public void test03() + { + Integer tmp; + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(94); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(94,theStack.top().intValue()); + theStack.push(424); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(424,theStack.top().intValue()); + theStack.push(550); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(550,theStack.top().intValue()); + theStack.push(301); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(301,theStack.top().intValue()); + theStack.push(57); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(57,theStack.top().intValue()); + theStack.push(188); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(188,theStack.top().intValue()); + theStack.push(784); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(784,theStack.top().intValue()); + theStack.push(235); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(235,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(235,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(784,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(188,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(57,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(301,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(550,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(424,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(94,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(96); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(96,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(96,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(807); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(807,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(807,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(0); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(0,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(0,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(801); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(801,theStack.top().intValue()); + theStack.push(683); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(683,theStack.top().intValue()); + theStack.push(819); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(819,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(819,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(683,theStack.top().intValue()); + theStack.push(516); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(516,theStack.top().intValue()); + theStack.push(940); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(940,theStack.top().intValue()); + theStack.push(757); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(757,theStack.top().intValue()); + theStack.push(828); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(828,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(828,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(757,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(940,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(516,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(683,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(801,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(737); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(737,theStack.top().intValue()); + theStack.push(883); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(883,theStack.top().intValue()); + theStack.push(264); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(264,theStack.top().intValue()); + theStack.push(165); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(165,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(165,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(264,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(883,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(737,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(482); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(482,theStack.top().intValue()); + theStack.push(128); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(128,theStack.top().intValue()); + theStack.push(665); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(665,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(665,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(128,theStack.top().intValue()); + theStack.push(747); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(747,theStack.top().intValue()); + theStack.push(348); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(348,theStack.top().intValue()); + theStack.push(182); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(182,theStack.top().intValue()); + theStack.push(242); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(242,theStack.top().intValue()); + theStack.push(805); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(805,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(805,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(242,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(182,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(348,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(747,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(128,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(482,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(202); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(202,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(202,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(384); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(384,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(384,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(870); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(870,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(870,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(827); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(827,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(827,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(763); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(763,theStack.top().intValue()); + theStack.push(794); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(794,theStack.top().intValue()); + theStack.push(865); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(865,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(865,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(794,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(763,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(135); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(135,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(135,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(971); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(971,theStack.top().intValue()); + theStack.push(769); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(769,theStack.top().intValue()); + theStack.push(561); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(561,theStack.top().intValue()); + theStack.push(562); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(562,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(562,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(561,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(561,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(769,theStack.top().intValue()); + theStack.push(244); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(244,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(244,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(769,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(769,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(971,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(23); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(23,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(23,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(466); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(466,theStack.top().intValue()); + theStack.push(756); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(756,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(756,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(466,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(26); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(26,theStack.top().intValue()); + theStack.push(446); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(446,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(446,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(26,theStack.top().intValue()); + theStack.push(979); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(979,theStack.top().intValue()); + theStack.push(710); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(710,theStack.top().intValue()); + theStack.push(113); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(113,theStack.top().intValue()); + theStack.push(112); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(112,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(112,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(113,theStack.top().intValue()); + theStack.push(755); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(755,theStack.top().intValue()); + theStack.push(430); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(430,theStack.top().intValue()); + theStack.push(848); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(848,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(848,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(430,theStack.top().intValue()); + theStack.push(627); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(627,theStack.top().intValue()); + theStack.push(984); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(984,theStack.top().intValue()); + theStack.push(980); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(980,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(980,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(984,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(627,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(430,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(755,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(113,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(710,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(979,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(26,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(952); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(952,theStack.top().intValue()); + theStack.push(403); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(403,theStack.top().intValue()); + theStack.push(522); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(522,theStack.top().intValue()); + theStack.push(765); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(765,theStack.top().intValue()); + theStack.push(251); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(251,theStack.top().intValue()); + theStack.push(313); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(313,theStack.top().intValue()); + theStack.push(481); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(481,theStack.top().intValue()); + theStack.push(875); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(875,theStack.top().intValue()); + theStack.push(672); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(672,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(672,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(875,theStack.top().intValue()); + theStack.push(214); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(214,theStack.top().intValue()); + theStack.push(480); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(480,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(480,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(214,theStack.top().intValue()); + } + + @Test + public void test04() + { + Integer tmp; + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(757); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(757,theStack.top().intValue()); + theStack.push(190); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(190,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(190,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(757,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(805); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(805,theStack.top().intValue()); + theStack.push(975); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(975,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(975,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(805,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(859); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(859,theStack.top().intValue()); + theStack.push(84); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(84,theStack.top().intValue()); + theStack.push(790); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(790,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(790,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(84,theStack.top().intValue()); + theStack.push(464); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(464,theStack.top().intValue()); + theStack.push(127); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(127,theStack.top().intValue()); + theStack.push(800); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(800,theStack.top().intValue()); + theStack.push(108); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(108,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(108,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(800,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(127,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(464,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(84,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(859,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(586); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(586,theStack.top().intValue()); + theStack.push(463); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(463,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(463,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(586,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(586,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(515); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(515,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(515,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(555); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(555,theStack.top().intValue()); + theStack.push(278); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(278,theStack.top().intValue()); + theStack.push(729); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(729,theStack.top().intValue()); + theStack.push(36); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(36,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(36,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(729,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(278,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(555,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(81); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(81,theStack.top().intValue()); + theStack.push(176); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(176,theStack.top().intValue()); + theStack.push(124); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(124,theStack.top().intValue()); + theStack.push(533); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(533,theStack.top().intValue()); + theStack.push(361); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(361,theStack.top().intValue()); + theStack.push(868); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(868,theStack.top().intValue()); + theStack.push(296); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(296,theStack.top().intValue()); + theStack.push(914); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(914,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(914,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(296,theStack.top().intValue()); + theStack.push(683); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(683,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(683,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(296,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(296,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(868,theStack.top().intValue()); + theStack.push(576); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(576,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(576,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(868,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(868,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(361,theStack.top().intValue()); + theStack.push(63); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(63,theStack.top().intValue()); + theStack.push(514); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(514,theStack.top().intValue()); + theStack.push(162); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(162,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(162,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(514,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(514,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(63,theStack.top().intValue()); + theStack.push(431); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(431,theStack.top().intValue()); + theStack.push(941); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(941,theStack.top().intValue()); + theStack.push(471); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(471,theStack.top().intValue()); + theStack.push(712); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(712,theStack.top().intValue()); + theStack.push(571); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(571,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(571,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(712,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(712,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(471,theStack.top().intValue()); + theStack.push(113); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(113,theStack.top().intValue()); + theStack.push(143); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(143,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(143,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(113,theStack.top().intValue()); + theStack.push(803); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(803,theStack.top().intValue()); + theStack.push(390); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(390,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(390,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(803,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(113,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(471,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(941,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(431,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(63,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(361,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(533,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(124,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(176,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(81,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(48); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(48,theStack.top().intValue()); + theStack.push(759); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(759,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(759,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(48,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(48,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(385); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(385,theStack.top().intValue()); + theStack.push(193); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(193,theStack.top().intValue()); + theStack.push(57); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(57,theStack.top().intValue()); + theStack.push(183); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(183,theStack.top().intValue()); + theStack.push(476); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(476,theStack.top().intValue()); + theStack.push(897); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(897,theStack.top().intValue()); + theStack.push(936); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(936,theStack.top().intValue()); + theStack.push(593); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(593,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(593,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(936,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(936,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(897,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(476,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(183,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(57,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(193,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(385,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(685); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(685,theStack.top().intValue()); + theStack.push(952); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(952,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(952,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(685,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(685,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(257); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(257,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(257,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(297); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(297,theStack.top().intValue()); + theStack.push(180); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(180,theStack.top().intValue()); + theStack.push(409); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(409,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(409,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(180,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(180,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(297,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(809); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(809,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(809,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(845); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(845,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(845,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(481); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(481,theStack.top().intValue()); + theStack.push(697); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(697,theStack.top().intValue()); + theStack.push(654); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(654,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(654,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(697,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(697,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(481,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(62); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(62,theStack.top().intValue()); + theStack.push(980); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(980,theStack.top().intValue()); + theStack.push(466); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(466,theStack.top().intValue()); + theStack.push(922); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(922,theStack.top().intValue()); + theStack.push(445); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(445,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(445,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(922,theStack.top().intValue()); + } + + @Test + public void test05() + { + Integer tmp; + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(98); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(98,theStack.top().intValue()); + theStack.push(30); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(30,theStack.top().intValue()); + theStack.push(963); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(963,theStack.top().intValue()); + theStack.push(454); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(454,theStack.top().intValue()); + theStack.push(77); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(77,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(77,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(454,theStack.top().intValue()); + theStack.push(24); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(24,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(24,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(454,theStack.top().intValue()); + theStack.push(622); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(622,theStack.top().intValue()); + theStack.push(748); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(748,theStack.top().intValue()); + theStack.push(584); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(584,theStack.top().intValue()); + theStack.push(528); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(528,theStack.top().intValue()); + theStack.push(547); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(547,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(547,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(528,theStack.top().intValue()); + theStack.push(440); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(440,theStack.top().intValue()); + theStack.push(485); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(485,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(485,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(440,theStack.top().intValue()); + theStack.push(549); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(549,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(549,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(440,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(528,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(584,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(748,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(622,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(454,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(963,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(30,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(98,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(845); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(845,theStack.top().intValue()); + theStack.push(834); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(834,theStack.top().intValue()); + theStack.push(920); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(920,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(920,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(834,theStack.top().intValue()); + theStack.push(334); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(334,theStack.top().intValue()); + theStack.push(528); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(528,theStack.top().intValue()); + theStack.push(44); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(44,theStack.top().intValue()); + theStack.push(778); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(778,theStack.top().intValue()); + theStack.push(499); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(499,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(499,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(778,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(44,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(528,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(334,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(834,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(845,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(657); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(657,theStack.top().intValue()); + theStack.push(588); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(588,theStack.top().intValue()); + theStack.push(82); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(82,theStack.top().intValue()); + theStack.push(213); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(213,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(213,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(82,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(82,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(588,theStack.top().intValue()); + theStack.push(78); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(78,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(78,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(588,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(588,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(657,theStack.top().intValue()); + theStack.push(614); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(614,theStack.top().intValue()); + theStack.push(3); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(3,theStack.top().intValue()); + theStack.push(848); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(848,theStack.top().intValue()); + theStack.push(691); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(691,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(691,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(848,theStack.top().intValue()); + theStack.push(468); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(468,theStack.top().intValue()); + theStack.push(393); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(393,theStack.top().intValue()); + theStack.push(294); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(294,theStack.top().intValue()); + theStack.push(329); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(329,theStack.top().intValue()); + theStack.push(8); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(8,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(8,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(329,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(294,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(393,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(468,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(848,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(3,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(614,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(657,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(665); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(665,theStack.top().intValue()); + theStack.push(771); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(771,theStack.top().intValue()); + theStack.push(442); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(442,theStack.top().intValue()); + theStack.push(405); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(405,theStack.top().intValue()); + theStack.push(930); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(930,theStack.top().intValue()); + theStack.push(513); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(513,theStack.top().intValue()); + theStack.push(289); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(289,theStack.top().intValue()); + theStack.push(455); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(455,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(455,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(289,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(513,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(930,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(405,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(442,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(771,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(665,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(791); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(791,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(791,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(362); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(362,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(362,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(720); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(720,theStack.top().intValue()); + theStack.push(328); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(328,theStack.top().intValue()); + theStack.push(454); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(454,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(454,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(328,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(720,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(626); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(626,theStack.top().intValue()); + theStack.push(878); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(878,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(878,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(626,theStack.top().intValue()); + theStack.push(220); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(220,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(220,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(626,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(626,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(959); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(959,theStack.top().intValue()); + theStack.push(907); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(907,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(907,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(959,theStack.top().intValue()); + theStack.push(942); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(942,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(942,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(959,theStack.top().intValue()); + theStack.push(971); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(971,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(971,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(959,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(959,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(781); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(781,theStack.top().intValue()); + theStack.push(288); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(288,theStack.top().intValue()); + theStack.push(677); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(677,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(677,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(288,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(288,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(781,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(295); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(295,theStack.top().intValue()); + theStack.push(684); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(684,theStack.top().intValue()); + theStack.push(976); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(976,theStack.top().intValue()); + theStack.push(570); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(570,theStack.top().intValue()); + theStack.push(873); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(873,theStack.top().intValue()); + theStack.push(965); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(965,theStack.top().intValue()); + theStack.push(241); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(241,theStack.top().intValue()); + theStack.push(573); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(573,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(573,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(241,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(241,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(965,theStack.top().intValue()); + theStack.push(645); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(645,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(645,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(965,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(873,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(570,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(976,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(684,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(295,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(109); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(109,theStack.top().intValue()); + } + + @Test + public void test06() + { + Integer tmp; + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(781); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(781,theStack.top().intValue()); + theStack.push(122); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(122,theStack.top().intValue()); + theStack.push(687); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(687,theStack.top().intValue()); + theStack.push(131); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(131,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(131,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(687,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(122,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(781,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(677); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(677,theStack.top().intValue()); + theStack.push(537); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(537,theStack.top().intValue()); + theStack.push(585); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(585,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(585,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(537,theStack.top().intValue()); + theStack.push(922); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(922,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(922,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(537,theStack.top().intValue()); + theStack.push(308); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(308,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(308,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(537,theStack.top().intValue()); + theStack.push(32); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(32,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(32,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(537,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(677,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(359); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(359,theStack.top().intValue()); + theStack.push(19); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(19,theStack.top().intValue()); + theStack.push(251); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(251,theStack.top().intValue()); + theStack.push(564); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(564,theStack.top().intValue()); + theStack.push(996); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(996,theStack.top().intValue()); + theStack.push(317); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(317,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(317,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(996,theStack.top().intValue()); + theStack.push(471); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(471,theStack.top().intValue()); + theStack.push(399); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(399,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(399,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(471,theStack.top().intValue()); + theStack.push(999); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(999,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(999,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(471,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(996,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(564,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(251,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(19,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(359,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(587); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(587,theStack.top().intValue()); + theStack.push(428); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(428,theStack.top().intValue()); + theStack.push(762); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(762,theStack.top().intValue()); + theStack.push(836); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(836,theStack.top().intValue()); + theStack.push(379); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(379,theStack.top().intValue()); + theStack.push(408); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(408,theStack.top().intValue()); + theStack.push(156); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(156,theStack.top().intValue()); + theStack.push(451); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(451,theStack.top().intValue()); + theStack.push(741); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(741,theStack.top().intValue()); + theStack.push(520); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(520,theStack.top().intValue()); + theStack.push(315); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(315,theStack.top().intValue()); + theStack.push(309); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(309,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(309,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(315,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(315,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(520,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(741,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(451,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(156,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(408,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(379,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(836,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(762,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(428,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(587,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(546); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(546,theStack.top().intValue()); + theStack.push(836); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(836,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(836,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(546,theStack.top().intValue()); + theStack.push(837); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(837,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(837,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(546,theStack.top().intValue()); + theStack.push(939); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(939,theStack.top().intValue()); + theStack.push(214); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(214,theStack.top().intValue()); + theStack.push(284); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(284,theStack.top().intValue()); + theStack.push(994); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(994,theStack.top().intValue()); + theStack.push(132); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(132,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(132,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(994,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(284,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(214,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(939,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(546,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(339); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(339,theStack.top().intValue()); + theStack.push(312); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(312,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(312,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(339,theStack.top().intValue()); + theStack.push(663); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(663,theStack.top().intValue()); + theStack.push(800); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(800,theStack.top().intValue()); + theStack.push(36); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(36,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(36,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(800,theStack.top().intValue()); + theStack.push(565); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(565,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(565,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(800,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(663,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(339,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(65); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(65,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(65,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(653); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(653,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(653,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(496); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(496,theStack.top().intValue()); + theStack.push(738); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(738,theStack.top().intValue()); + theStack.push(385); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(385,theStack.top().intValue()); + theStack.push(792); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(792,theStack.top().intValue()); + theStack.push(33); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(33,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(33,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(792,theStack.top().intValue()); + theStack.push(976); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(976,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(976,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(792,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(385,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(738,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(496,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(405); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(405,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(405,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(974); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(974,theStack.top().intValue()); + theStack.push(920); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(920,theStack.top().intValue()); + theStack.push(815); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(815,theStack.top().intValue()); + theStack.push(737); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(737,theStack.top().intValue()); + theStack.push(531); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(531,theStack.top().intValue()); + theStack.push(279); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(279,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(279,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(531,theStack.top().intValue()); + theStack.push(970); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(970,theStack.top().intValue()); + theStack.push(415); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(415,theStack.top().intValue()); + theStack.push(884); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(884,theStack.top().intValue()); + theStack.push(703); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(703,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(703,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(884,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(884,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(415,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(970,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(531,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(737,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(815,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(920,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(974,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(976); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(976,theStack.top().intValue()); + theStack.push(333); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(333,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(333,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(976,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(955); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(955,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(955,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(68); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(68,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(68,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(701); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(701,theStack.top().intValue()); + theStack.push(258); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(258,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(258,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(701,theStack.top().intValue()); + } + + @Test + public void test07() + { + Integer tmp; + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(456); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(456,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(456,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(983); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(983,theStack.top().intValue()); + theStack.push(134); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(134,theStack.top().intValue()); + theStack.push(639); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(639,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(639,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(134,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(134,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(983,theStack.top().intValue()); + theStack.push(721); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(721,theStack.top().intValue()); + theStack.push(219); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(219,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(219,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(721,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(721,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(983,theStack.top().intValue()); + theStack.push(425); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(425,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(425,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(983,theStack.top().intValue()); + theStack.push(196); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(196,theStack.top().intValue()); + theStack.push(720); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(720,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(720,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(196,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(983,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(741); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(741,theStack.top().intValue()); + theStack.push(731); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(731,theStack.top().intValue()); + theStack.push(697); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(697,theStack.top().intValue()); + theStack.push(519); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(519,theStack.top().intValue()); + theStack.push(188); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(188,theStack.top().intValue()); + theStack.push(943); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(943,theStack.top().intValue()); + theStack.push(267); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(267,theStack.top().intValue()); + theStack.push(467); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(467,theStack.top().intValue()); + theStack.push(845); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(845,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(845,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(467,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(467,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(267,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(943,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(188,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(519,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(697,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(731,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(741,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(489); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(489,theStack.top().intValue()); + theStack.push(801); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(801,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(801,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(489,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(489,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(591); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(591,theStack.top().intValue()); + theStack.push(439); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(439,theStack.top().intValue()); + theStack.push(195); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(195,theStack.top().intValue()); + theStack.push(937); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(937,theStack.top().intValue()); + theStack.push(575); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(575,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(575,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(937,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(195,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(439,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(591,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(250); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(250,theStack.top().intValue()); + theStack.push(505); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(505,theStack.top().intValue()); + theStack.push(459); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(459,theStack.top().intValue()); + theStack.push(269); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(269,theStack.top().intValue()); + theStack.push(158); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(158,theStack.top().intValue()); + theStack.push(744); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(744,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(744,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(158,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(269,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(459,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(505,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(250,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(483); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(483,theStack.top().intValue()); + theStack.push(168); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(168,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(168,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(483,theStack.top().intValue()); + theStack.push(22); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(22,theStack.top().intValue()); + theStack.push(259); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(259,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(259,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(22,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(22,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(483,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(84); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(84,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(84,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(864); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(864,theStack.top().intValue()); + theStack.push(689); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(689,theStack.top().intValue()); + theStack.push(235); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(235,theStack.top().intValue()); + theStack.push(235); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(235,theStack.top().intValue()); + theStack.push(974); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(974,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(974,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(235,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(235,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(689,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(864,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(959); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(959,theStack.top().intValue()); + theStack.push(901); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(901,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(901,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(959,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(337); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(337,theStack.top().intValue()); + theStack.push(980); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(980,theStack.top().intValue()); + theStack.push(527); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(527,theStack.top().intValue()); + theStack.push(781); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(781,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(781,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(527,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(980,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(337,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(265); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(265,theStack.top().intValue()); + theStack.push(182); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(182,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(182,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(265,theStack.top().intValue()); + theStack.push(305); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(305,theStack.top().intValue()); + theStack.push(640); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(640,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(640,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(305,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(305,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(265,theStack.top().intValue()); + theStack.push(861); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(861,theStack.top().intValue()); + theStack.push(226); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(226,theStack.top().intValue()); + theStack.push(974); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(974,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(974,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(226,theStack.top().intValue()); + theStack.push(56); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(56,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(56,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(226,theStack.top().intValue()); + theStack.push(973); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(973,theStack.top().intValue()); + theStack.push(492); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(492,theStack.top().intValue()); + theStack.push(333); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(333,theStack.top().intValue()); + theStack.push(466); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(466,theStack.top().intValue()); + theStack.push(575); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(575,theStack.top().intValue()); + theStack.push(613); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(613,theStack.top().intValue()); + theStack.push(357); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(357,theStack.top().intValue()); + theStack.push(365); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(365,theStack.top().intValue()); + theStack.push(166); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(166,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(166,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(365,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(357,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(613,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(575,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(466,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(333,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(492,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(973,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(226,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(861,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(265,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(625); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(625,theStack.top().intValue()); + theStack.push(253); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(253,theStack.top().intValue()); + theStack.push(92); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(92,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(92,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(253,theStack.top().intValue()); + theStack.push(778); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(778,theStack.top().intValue()); + theStack.push(901); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(901,theStack.top().intValue()); + theStack.push(962); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(962,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(962,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(901,theStack.top().intValue()); + } + + @Test + public void test08() + { + Integer tmp; + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(772); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(772,theStack.top().intValue()); + theStack.push(44); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(44,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(44,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(772,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(983); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(983,theStack.top().intValue()); + theStack.push(771); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(771,theStack.top().intValue()); + theStack.push(932); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(932,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(932,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(771,theStack.top().intValue()); + theStack.push(39); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(39,theStack.top().intValue()); + theStack.push(724); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(724,theStack.top().intValue()); + theStack.push(917); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(917,theStack.top().intValue()); + theStack.push(362); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(362,theStack.top().intValue()); + theStack.push(70); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(70,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(70,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(362,theStack.top().intValue()); + theStack.push(584); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(584,theStack.top().intValue()); + theStack.push(672); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(672,theStack.top().intValue()); + theStack.push(2); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(2,theStack.top().intValue()); + theStack.push(679); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(679,theStack.top().intValue()); + theStack.push(873); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(873,theStack.top().intValue()); + theStack.push(336); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(336,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(336,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(873,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(873,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(679,theStack.top().intValue()); + theStack.push(823); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(823,theStack.top().intValue()); + theStack.push(462); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(462,theStack.top().intValue()); + theStack.push(274); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(274,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(274,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(462,theStack.top().intValue()); + theStack.push(626); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(626,theStack.top().intValue()); + theStack.push(639); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(639,theStack.top().intValue()); + theStack.push(75); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(75,theStack.top().intValue()); + theStack.push(542); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(542,theStack.top().intValue()); + theStack.push(397); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(397,theStack.top().intValue()); + theStack.push(189); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(189,theStack.top().intValue()); + theStack.push(384); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(384,theStack.top().intValue()); + theStack.push(874); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(874,theStack.top().intValue()); + theStack.push(865); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(865,theStack.top().intValue()); + theStack.push(728); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(728,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(728,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(865,theStack.top().intValue()); + theStack.push(975); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(975,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(975,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(865,theStack.top().intValue()); + theStack.push(871); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(871,theStack.top().intValue()); + theStack.push(613); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(613,theStack.top().intValue()); + theStack.push(71); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(71,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(71,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(613,theStack.top().intValue()); + theStack.push(734); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(734,theStack.top().intValue()); + theStack.push(64); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(64,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(64,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(734,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(613,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(871,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(865,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(874,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(384,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(189,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(397,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(542,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(75,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(639,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(626,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(462,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(823,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(679,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(2,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(672,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(584,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(362,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(917,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(724,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(39,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(771,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(983,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(392); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(392,theStack.top().intValue()); + theStack.push(906); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(906,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(906,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(392,theStack.top().intValue()); + theStack.push(734); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(734,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(734,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(392,theStack.top().intValue()); + theStack.push(560); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(560,theStack.top().intValue()); + theStack.push(853); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(853,theStack.top().intValue()); + theStack.push(283); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(283,theStack.top().intValue()); + theStack.push(948); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(948,theStack.top().intValue()); + theStack.push(364); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(364,theStack.top().intValue()); + theStack.push(825); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(825,theStack.top().intValue()); + theStack.push(80); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(80,theStack.top().intValue()); + theStack.push(886); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(886,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(886,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(80,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(80,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(825,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(364,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(948,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(283,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(853,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(560,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(392,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(405); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(405,theStack.top().intValue()); + theStack.push(996); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(996,theStack.top().intValue()); + theStack.push(198); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(198,theStack.top().intValue()); + theStack.push(926); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(926,theStack.top().intValue()); + theStack.push(681); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(681,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(681,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(926,theStack.top().intValue()); + theStack.push(893); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(893,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(893,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(926,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(198,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(996,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(405,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(225); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(225,theStack.top().intValue()); + theStack.push(540); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(540,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(540,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(225,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(286); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(286,theStack.top().intValue()); + theStack.push(289); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(289,theStack.top().intValue()); + theStack.push(142); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(142,theStack.top().intValue()); + theStack.push(225); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(225,theStack.top().intValue()); + theStack.push(124); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(124,theStack.top().intValue()); + theStack.push(662); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(662,theStack.top().intValue()); + theStack.push(389); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(389,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(389,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(662,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(662,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(124,theStack.top().intValue()); + theStack.push(950); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(950,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(950,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(124,theStack.top().intValue()); + theStack.push(392); + + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(392,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(392,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(124,theStack.top().intValue()); + theStack.push(309); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(309,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(309,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(124,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(124,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(225,theStack.top().intValue()); + theStack.push(550); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(550,theStack.top().intValue()); + theStack.push(760); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(760,theStack.top().intValue()); + theStack.push(585); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(585,theStack.top().intValue()); + theStack.push(132); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(132,theStack.top().intValue()); + theStack.push(207); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(207,theStack.top().intValue()); + theStack.push(716); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(716,theStack.top().intValue()); + theStack.push(805); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(805,theStack.top().intValue()); + theStack.push(274); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(274,theStack.top().intValue()); + theStack.push(144); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(144,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(144,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(274,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(805,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(716,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(207,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(132,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(585,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(760,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(550,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(225,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(142,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(289,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(286,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(99); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(99,theStack.top().intValue()); + theStack.push(404); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(404,theStack.top().intValue()); + } + + @Test + public void test09() + { + Integer tmp; + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(858); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(858,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(858,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(139); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(139,theStack.top().intValue()); + theStack.push(954); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(954,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(954,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(139,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(861); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(861,theStack.top().intValue()); + theStack.push(879); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(879,theStack.top().intValue()); + theStack.push(757); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(757,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(757,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(879,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(879,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(861,theStack.top().intValue()); + theStack.push(290); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(290,theStack.top().intValue()); + theStack.push(288); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(288,theStack.top().intValue()); + theStack.push(200); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(200,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(200,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(288,theStack.top().intValue()); + theStack.push(155); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(155,theStack.top().intValue()); + theStack.push(989); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(989,theStack.top().intValue()); + theStack.push(362); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(362,theStack.top().intValue()); + theStack.push(62); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(62,theStack.top().intValue()); + theStack.push(716); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(716,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(716,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(62,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(362,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(989,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(155,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(288,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(290,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(861,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(152); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(152,theStack.top().intValue()); + theStack.push(503); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(503,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(503,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(152,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(386); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(386,theStack.top().intValue()); + theStack.push(487); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(487,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(487,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(386,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(386,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(256); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(256,theStack.top().intValue()); + theStack.push(135); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(135,theStack.top().intValue()); + theStack.push(260); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(260,theStack.top().intValue()); + theStack.push(625); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(625,theStack.top().intValue()); + theStack.push(356); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(356,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(356,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(625,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(260,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(135,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(256,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(628); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(628,theStack.top().intValue()); + theStack.push(522); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(522,theStack.top().intValue()); + theStack.push(177); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(177,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(177,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(522,theStack.top().intValue()); + theStack.push(55); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(55,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(55,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(522,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(522,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(628,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(46); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(46,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(46,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(400); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(400,theStack.top().intValue()); + theStack.push(876); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(876,theStack.top().intValue()); + theStack.push(417); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(417,theStack.top().intValue()); + theStack.push(725); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(725,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(725,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(417,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(417,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(876,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(876,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(400,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(400,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(329); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(329,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(329,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(681); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(681,theStack.top().intValue()); + theStack.push(231); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(231,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(231,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(681,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(99); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(99,theStack.top().intValue()); + theStack.push(894); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(894,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(894,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(99,theStack.top().intValue()); + theStack.push(948); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(948,theStack.top().intValue()); + theStack.push(313); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(313,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(313,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(948,theStack.top().intValue()); + theStack.push(811); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(811,theStack.top().intValue()); + theStack.push(102); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(102,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(102,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(811,theStack.top().intValue()); + theStack.push(290); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(290,theStack.top().intValue()); + theStack.push(258); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(258,theStack.top().intValue()); + theStack.push(323); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(323,theStack.top().intValue()); + theStack.push(610); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(610,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(610,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(323,theStack.top().intValue()); + theStack.push(976); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(976,theStack.top().intValue()); + theStack.push(140); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(140,theStack.top().intValue()); + theStack.push(169); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(169,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(169,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(140,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(140,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(976,theStack.top().intValue()); + theStack.push(281); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(281,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(281,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(976,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(976,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(323,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(323,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(258,theStack.top().intValue()); + theStack.push(577); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(577,theStack.top().intValue()); + theStack.push(642); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(642,theStack.top().intValue()); + theStack.push(407); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(407,theStack.top().intValue()); + theStack.push(787); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(787,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(787,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(407,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(642,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(577,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(258,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(290,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(811,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(948,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(99,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(72); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(72,theStack.top().intValue()); + theStack.push(651); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(651,theStack.top().intValue()); + theStack.push(603); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(603,theStack.top().intValue()); + theStack.push(566); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(566,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(566,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(603,theStack.top().intValue()); + theStack.push(572); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(572,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(572,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(603,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(651,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(72,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(725); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(725,theStack.top().intValue()); + theStack.push(931); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(931,theStack.top().intValue()); + theStack.push(359); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(359,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(359,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(931,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(725,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(610); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(610,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(610,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + } + + @Test + public void test10() + { + Integer tmp; + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(963); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(963,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(963,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(179); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(179,theStack.top().intValue()); + theStack.push(479); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(479,theStack.top().intValue()); + theStack.push(88); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(88,theStack.top().intValue()); + theStack.push(602); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(602,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(602,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(88,theStack.top().intValue()); + theStack.push(29); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(29,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(29,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(88,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(479,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(179,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(217); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(217,theStack.top().intValue()); + theStack.push(345); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(345,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(345,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(217,theStack.top().intValue()); + theStack.push(836); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(836,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(836,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(217,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(299); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(299,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(299,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(791); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(791,theStack.top().intValue()); + theStack.push(684); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(684,theStack.top().intValue()); + theStack.push(516); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(516,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(516,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(684,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(684,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(791,theStack.top().intValue()); + theStack.push(898); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(898,theStack.top().intValue()); + theStack.push(6); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(6,theStack.top().intValue()); + theStack.push(742); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(742,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(742,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(6,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(898,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(791,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(326); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(326,theStack.top().intValue()); + theStack.push(557); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(557,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(557,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(326,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(79); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(79,theStack.top().intValue()); + theStack.push(604); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(604,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(604,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(79,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(776); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(776,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(776,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(495); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(495,theStack.top().intValue()); + theStack.push(963); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(963,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(963,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(495,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(4); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(4,theStack.top().intValue()); + theStack.push(408); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(408,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(408,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(4,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(4,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(42); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(42,theStack.top().intValue()); + theStack.push(839); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(839,theStack.top().intValue()); + theStack.push(125); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(125,theStack.top().intValue()); + theStack.push(435); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(435,theStack.top().intValue()); + theStack.push(594); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(594,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(594,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(435,theStack.top().intValue()); + theStack.push(502); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(502,theStack.top().intValue()); + theStack.push(397); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(397,theStack.top().intValue()); + theStack.push(316); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(316,theStack.top().intValue()); + theStack.push(17); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(17,theStack.top().intValue()); + theStack.push(141); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(141,theStack.top().intValue()); + theStack.push(611); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(611,theStack.top().intValue()); + theStack.push(909); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(909,theStack.top().intValue()); + theStack.push(47); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(47,theStack.top().intValue()); + theStack.push(973); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(973,theStack.top().intValue()); + theStack.push(122); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(122,theStack.top().intValue()); + theStack.push(426); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(426,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(426,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(122,theStack.top().intValue()); + theStack.push(485); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(485,theStack.top().intValue()); + theStack.push(446); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(446,theStack.top().intValue()); + theStack.push(196); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(196,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(196,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(446,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(485,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(122,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(973,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(47,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(909,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(611,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(141,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(17,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(316,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(397,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(502,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(435,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(125,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(839,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(42,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(248); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(248,theStack.top().intValue()); + theStack.push(895); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(895,theStack.top().intValue()); + theStack.push(625); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(625,theStack.top().intValue()); + theStack.push(103); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(103,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(103,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(625,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(895,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(248,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(873); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(873,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(873,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(457); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(457,theStack.top().intValue()); + theStack.push(8); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(8,theStack.top().intValue()); + theStack.push(859); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(859,theStack.top().intValue()); + theStack.push(464); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(464,theStack.top().intValue()); + theStack.push(532); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(532,theStack.top().intValue()); + theStack.push(377); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(377,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(377,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(532,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(464,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(859,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(8,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(457,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(428); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(428,theStack.top().intValue()); + theStack.push(455); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(455,theStack.top().intValue()); + theStack.push(884); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(884,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(884,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(455,theStack.top().intValue()); + theStack.push(871); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(871,theStack.top().intValue()); + theStack.push(605); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(605,theStack.top().intValue()); + theStack.push(237); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(237,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(237,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(605,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(605,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(871,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(455,tmp.intValue()); + tmp = theStack.pop(); + assertEquals(428,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(507); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(507,theStack.top().intValue()); + theStack.push(809); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(809,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(809,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(507,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(507,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(592); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(592,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(592,tmp.intValue()); + assertTrue(theStack.isEmpty()); + assertNull(theStack.top()); + theStack.push(307); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(307,theStack.top().intValue()); + theStack.push(711); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(711,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(711,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(307,theStack.top().intValue()); + theStack.push(531); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(531,theStack.top().intValue()); + theStack.push(918); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(918,theStack.top().intValue()); + theStack.push(561); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(561,theStack.top().intValue()); + tmp = theStack.pop(); + assertEquals(561,tmp.intValue()); + assertFalse(theStack.isEmpty()); + assertNotNull(theStack.top()); + assertEquals(918,theStack.top().intValue()); + } +} diff --git a/Quellcodes/Alg_DS_Stack/01_stack_roh/package.bluej b/Quellcodes/Alg_DS_Stack/01_stack_roh/package.bluej new file mode 100644 index 0000000..59130a3 --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/01_stack_roh/package.bluej @@ -0,0 +1,76 @@ +#BlueJ package file +dependency1.from=StackTester +dependency1.to=Stack +dependency1.type=UsesDependency +dependency2.from=LinkedStackTester +dependency2.to=LinkedStack +dependency2.type=UsesDependency +dependency3.from=ArrayStackTester +dependency3.to=ArrayStack +dependency3.type=UsesDependency +editor.fx.0.height=739 +editor.fx.0.width=816 +editor.fx.0.x=59 +editor.fx.0.y=61 +objectbench.height=109 +objectbench.width=861 +package.divider.horizontal=0.6 +package.divider.vertical=0.768 +package.editor.height=377 +package.editor.width=750 +package.editor.x=26 +package.editor.y=198 +package.frame.height=600 +package.frame.width=901 +package.numDependencies=3 +package.numTargets=6 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=StackTester +target1.showInterface=false +target1.type=AbstractTarget +target1.width=100 +target1.x=170 +target1.y=190 +target2.height=50 +target2.name=LinkedStack +target2.showInterface=false +target2.type=ClassTarget +target2.width=130 +target2.x=330 +target2.y=140 +target3.height=50 +target3.name=LinkedStackTester +target3.showInterface=false +target3.type=UnitTestTargetJunit4 +target3.width=140 +target3.x=230 +target3.y=290 +target4.height=50 +target4.name=ArrayStackTester +target4.showInterface=false +target4.type=UnitTestTargetJunit4 +target4.width=130 +target4.x=40 +target4.y=290 +target5.height=50 +target5.name=ArrayStack +target5.showInterface=false +target5.type=ClassTarget +target5.width=120 +target5.x=20 +target5.y=140 +target6.height=50 +target6.name=Stack +target6.showInterface=false +target6.type=AbstractTarget +target6.width=80 +target6.x=180 +target6.y=60 diff --git a/Quellcodes/Alg_DS_Stack/02_stack_loes/ArrayStack.java b/Quellcodes/Alg_DS_Stack/02_stack_loes/ArrayStack.java new file mode 100644 index 0000000..dbcc08b --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/02_stack_loes/ArrayStack.java @@ -0,0 +1,101 @@ + +/** + * Ein Stack basierend auf einem Array + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ArrayStack extends Stack +{ + /** + * Enthält die Nutzdaten + */ + private Object[] daten; + /** + * Die Zahl gibt an, wie viele Elemente auf dem Stack liegen und damit auch, + * wie viele Werte im Datenarray gültig sind. + */ + private int anzahl; + + /** + * Erzeugt einen neuen leeren Stack + */ + public ArrayStack() + { + daten = new Object[10]; + anzahl = 0; + } + + /** + * Gibt das oberste Element des Stacks zurück (falls der Stack nicht leer ist) + * @return Das oberste Element + */ + public T top() + { + if (!isEmpty()) + { + return (T)daten[anzahl-1]; + } + return null; + } + + /** + * Entfernt das oberste Element vom Stack (falls der Stack nicht leer ist) und gibt es zurück + * @return Das bisherige oberste Element + */ + public T pop() + { + if (!isEmpty()) + { + anzahl--; + return (T)daten[anzahl]; + } + return null; + } + + /** + * Legt ein neues Element auf den Stack + * @param x Das neue Element + */ + public void push(T wert) + { + if (anzahl == daten.length) + { + Object[] tmp = new Object[2*daten.length]; + System.arraycopy(daten, 0, tmp, 0, daten.length); + daten = tmp; + } + daten[anzahl] = wert; + anzahl++; + } + + /** + * Gibt zurück, ob der Stack leer ist + * @return true, wenn der Stack leer ist; false sonst + */ + public boolean isEmpty() + { + return anzahl == 0; + } + + /** + * Gibt den Stack in String-Form aus. + * @return Die String-Repräsentation des Stacks + */ + @Override + public String toString() + { + StringBuilder b = new StringBuilder(); + b.append("[ "); + for (int i = 0; i < anzahl; i++) + { + if (i > 0) + { + b.append(", "); + } + b.append(daten[i]); + } + b.append(" <"); + return b.toString(); + } +} diff --git a/Quellcodes/Alg_DS_Stack/02_stack_loes/ArrayStackTester.java b/Quellcodes/Alg_DS_Stack/02_stack_loes/ArrayStackTester.java new file mode 100644 index 0000000..78ce2cc --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/02_stack_loes/ArrayStackTester.java @@ -0,0 +1,16 @@ +import org.junit.Before; + +/** + * Testklasse für den ArrayStack + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ArrayStackTester extends StackTester +{ + @Before + public void setUp() + { + theStack = new ArrayStack(); + } +} diff --git a/Quellcodes/Alg_DS_Stack/02_stack_loes/CantorStack.java b/Quellcodes/Alg_DS_Stack/02_stack_loes/CantorStack.java new file mode 100644 index 0000000..1082843 --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/02_stack_loes/CantorStack.java @@ -0,0 +1,121 @@ +import java.math.BigInteger; + +/** + * Ein Stack basierend auf der Cantorschen Paarungsfunktion + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class CantorStack extends Stack +{ + /** + * Die Zahl, die den Stack repräsentiert + */ + private BigInteger stack; + + /** + * Erzeugt einen neuen leeren Stack + */ + public CantorStack() + { + stack = BigInteger.TWO; + } + + /** + * Gibt zurück, ob der Stack leer ist + * @return true, wenn der Stack leer ist; false sonst + */ + public boolean isEmpty() + { + return stack.equals(BigInteger.TWO); + } + + /** + * Legt ein neues Element auf den Stack + * @param x Das neue Element + */ + public void push(Integer wert) + { + BigInteger y = BigInteger.valueOf(wert); + BigInteger x = stack; + BigInteger t1 = x.add(y); + BigInteger t2 = t1.add(BigInteger.ONE); + BigInteger t3 = t1.multiply(t2).shiftRight(1); + System.out.print("Push: (" + stack + " x " + wert + ") -> "); + stack = y.add(t3); + System.out.println(stack); + } + + /** + * Gibt das oberste Element des Stacks zurück (falls der Stack nicht leer ist) + * @return Das oberste Element + */ + public Integer top() + { + if (isEmpty()) + { + return null; + } + BigInteger top = topInt(); + System.out.println("Top: " + top); + return top.intValue(); + } + + private BigInteger topInt() + { + return stack.subtract(f(q(stack))); + } + + /** + * Entfernt das oberste Element vom Stack (falls der Stack nicht leer ist) und gibt es zurück + * @return Das bisherige oberste Element + */ + public Integer pop() + { + if (isEmpty()) + { + return null; + } + BigInteger top = topInt(); + System.out.print("Pop: " + stack + " -> ("); + stack = q(stack).subtract(top); + System.out.println(stack + "," + top +")"); + return top.intValue(); + } + + private BigInteger f(BigInteger w) + { + return w.multiply(w.add(BigInteger.ONE)).shiftRight(1); + } + + private BigInteger q(BigInteger z) + { + return z.shiftLeft(3).add(BigInteger.ONE).sqrt().subtract(BigInteger.ONE).shiftRight(1); + } + + /** + * Gibt den Stack in String-Form aus. + * @return Die String-Repräsentation des Stacks + */ + @Override + public String toString() + { + String ergebnis = " <"; + CantorStack s = new CantorStack(); + while(!this.isEmpty()) + { + Integer top = pop(); + s.push(top); + ergebnis = top + ergebnis; + if (!isEmpty()) + { + ergebnis = ", " + ergebnis; + } + } + while(!s.isEmpty()) + { + push(s.pop()); + } + return "[ " + ergebnis; + } +} diff --git a/Quellcodes/Alg_DS_Stack/02_stack_loes/CantorStackTester.java b/Quellcodes/Alg_DS_Stack/02_stack_loes/CantorStackTester.java new file mode 100644 index 0000000..644ce0e --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/02_stack_loes/CantorStackTester.java @@ -0,0 +1,16 @@ +import org.junit.Before; + +/** + * Testklasse für den LinkedStack + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class CantorStackTester extends StackTester +{ + @Before + public void setUp() + { + theStack = new CantorStack(); + } +} diff --git a/Quellcodes/Alg_DS_Stack/02_stack_loes/LinkedStack.java b/Quellcodes/Alg_DS_Stack/02_stack_loes/LinkedStack.java new file mode 100644 index 0000000..2482fce --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/02_stack_loes/LinkedStack.java @@ -0,0 +1,115 @@ + +/** + * Ein Stack basierend auf einer verketteten Liste + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class LinkedStack extends Stack +{ + /** + * Das oberste Element des Stacks + */ + private Listenknoten topNode; + + /** + * Erzeugt einen neuen leeren Stack + */ + public LinkedStack() + { + topNode = null; + } + + /** + * Gibt das oberste Element des Stacks zurück (falls der Stack nicht leer ist) + * @return Das oberste Element + */ + public T top() + { + if (!isEmpty()) + { + return topNode.daten; + } + return null; + } + + /** + * Entfernt das oberste Element vom Stack (falls der Stack nicht leer ist) und gibt es zurück + * @return Das bisherige oberste Element + */ + public T pop() + { + T top = null; + if (!isEmpty()) + { + top = topNode.daten; + topNode = topNode.nachfolger; + } + return top; + } + + /** + * Legt ein neues Element auf den Stack + * @param x Das neue Element + */ + public void push(T wert) + { + topNode = new Listenknoten(wert, topNode); + } + + /** + * Gibt zurück, ob der Stack leer ist + * @return true, wenn der Stack leer ist; false sonst + */ + public boolean isEmpty() + { + return topNode == null; + } + + /** + * Ein Listenknoten, wie er bei den verketteten Listen verwendet wurde. + * Diesmal allerdings als innere Klasse + */ + private class Listenknoten + { + /** + * Der Datenwert des Listenknotens + */ + public T daten; + /** + * Der Nachfolger des Listenknotens + */ + public Listenknoten nachfolger; + + /** + * Erzeugt einen neuen Listenknoten + * + * @param daten Der Datenwert des Knotens + * @param nachfolger Der Nachfolger des Knotens + */ + public Listenknoten(T daten, Listenknoten nachfolger) + { + this.daten = daten; + this.nachfolger = nachfolger; + } + } + + /** + * Gibt den Stack in String-Form aus. + * @return Die String-Repräsentation des Stacks + */ + @Override + public String toString() + { + String ergebnis = " <"; + Listenknoten k = this.topNode; + while(k != null) + { + ergebnis = k.daten + ergebnis; + if (k.nachfolger != null) + ergebnis = ", " + ergebnis; + k = k.nachfolger; + } + return "[ " + ergebnis; + } +} diff --git a/Quellcodes/Alg_DS_Stack/02_stack_loes/LinkedStackTester.java b/Quellcodes/Alg_DS_Stack/02_stack_loes/LinkedStackTester.java new file mode 100644 index 0000000..aae6871 --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/02_stack_loes/LinkedStackTester.java @@ -0,0 +1,16 @@ +import org.junit.Before; + +/** + * Testklasse für den LinkedStack + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class LinkedStackTester extends StackTester +{ + @Before + public void setUp() + { + theStack = new LinkedStack(); + } +} \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Stack/02_stack_loes/README.TXT b/Quellcodes/Alg_DS_Stack/02_stack_loes/README.TXT new file mode 100644 index 0000000..e45dacd --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/02_stack_loes/README.TXT @@ -0,0 +1,5 @@ +PROJEKTBEZEICHNUNG: Stack +PROJEKTZWECK: Zwei Implementationen des ADTs Stack +VERSION oder DATUM: Oktober 2020 +WIE IST DAS PROJEKT ZU STARTEN: Implementieren Sie den ArrayStack oder den LinkedStack. Führen Sie dann bei den entsprechenden Tester-Klassen "Alles testen" aus. +AUTOR(EN): Rainer Helfrich, ZPG Informatik diff --git a/Quellcodes/Alg_DS_Stack/02_stack_loes/Stack.java b/Quellcodes/Alg_DS_Stack/02_stack_loes/Stack.java new file mode 100644 index 0000000..332c28a --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/02_stack_loes/Stack.java @@ -0,0 +1,32 @@ +/** + * Abstrakte Basisklasse für Stacks + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public abstract class Stack +{ + /** + * Gibt zurück, ob der Stack leer ist + * @return true, wenn der Stack leer ist; false sonst + */ + public abstract boolean isEmpty(); + + /** + * Legt ein neues Element auf den Stack + * @param x Das neue Element + */ + public abstract void push(T x); + + /** + * Entfernt das oberste Element vom Stack (falls der Stack nicht leer ist) und gibt es zurück + * @return Das bisherige oberste Element + */ + public abstract T pop(); + + /** + * Gibt das oberste Element des Stacks zurück (falls der Stack nicht leer ist) + * @return Das oberste Element + */ + public abstract T top(); +} diff --git a/Quellcodes/Alg_DS_Stack/02_stack_loes/StackTester.java b/Quellcodes/Alg_DS_Stack/02_stack_loes/StackTester.java new file mode 100644 index 0000000000000000000000000000000000000000..e0abdd10b4906becd34b6cb76ee8f0dc192d37a5 GIT binary patch literal 192748 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 literal 0 HcmV?d00001 diff --git a/Quellcodes/Alg_DS_Stack/02_stack_loes/package.bluej b/Quellcodes/Alg_DS_Stack/02_stack_loes/package.bluej new file mode 100644 index 0000000..901d4c3 --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/02_stack_loes/package.bluej @@ -0,0 +1,93 @@ +#BlueJ package file +dependency1.from=StackTester +dependency1.to=Stack +dependency1.type=UsesDependency +dependency2.from=CantorStackTester +dependency2.to=CantorStack +dependency2.type=UsesDependency +dependency3.from=LinkedStackTester +dependency3.to=LinkedStack +dependency3.type=UsesDependency +dependency4.from=ArrayStackTester +dependency4.to=ArrayStack +dependency4.type=UsesDependency +editor.fx.0.height=709 +editor.fx.0.width=1184 +editor.fx.0.x=14 +editor.fx.0.y=113 +objectbench.height=121 +objectbench.width=840 +package.divider.horizontal=0.6 +package.divider.vertical=0.7668488160291439 +package.editor.height=414 +package.editor.width=729 +package.editor.x=914 +package.editor.y=77 +package.frame.height=649 +package.frame.width=880 +package.numDependencies=4 +package.numTargets=8 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=StackTester +target1.showInterface=false +target1.type=AbstractTarget +target1.width=100 +target1.x=170 +target1.y=190 +target2.height=50 +target2.name=CantorStack +target2.showInterface=false +target2.type=ClassTarget +target2.width=100 +target2.x=420 +target2.y=220 +target3.height=50 +target3.name=CantorStackTester +target3.showInterface=false +target3.type=UnitTestTargetJunit4 +target3.width=140 +target3.x=400 +target3.y=290 +target4.height=50 +target4.name=LinkedStack +target4.showInterface=false +target4.type=ClassTarget +target4.width=130 +target4.x=400 +target4.y=130 +target5.height=50 +target5.name=LinkedStackTester +target5.showInterface=false +target5.type=UnitTestTargetJunit4 +target5.width=140 +target5.x=230 +target5.y=290 +target6.height=50 +target6.name=ArrayStackTester +target6.showInterface=false +target6.type=UnitTestTargetJunit4 +target6.width=130 +target6.x=40 +target6.y=290 +target7.height=50 +target7.name=ArrayStack +target7.showInterface=false +target7.type=ClassTarget +target7.width=120 +target7.x=0 +target7.y=140 +target8.height=50 +target8.name=Stack +target8.showInterface=false +target8.type=AbstractTarget +target8.width=80 +target8.x=180 +target8.y=80 diff --git a/Quellcodes/Alg_DS_Stack/readme.adoc b/Quellcodes/Alg_DS_Stack/readme.adoc new file mode 100644 index 0000000..849992d --- /dev/null +++ b/Quellcodes/Alg_DS_Stack/readme.adoc @@ -0,0 +1,11 @@ += Material : + +|=== +|Zuordnung| +|Klassenstufe| +|Bildungsplanbezug | +|Werkzeug| +|Autoren| +|=== + +== Inhalt diff --git a/Quellcodes/Alg_DS_Sudoku/.gitignore b/Quellcodes/Alg_DS_Sudoku/.gitignore new file mode 100644 index 0000000..2cc0cb6 --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/.gitignore @@ -0,0 +1,7 @@ +**/*.sh +**/*.class +**/*.ctxt +repo.adoc +repo_subtree.adoc +/alt +/hide diff --git a/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/BekannteZahl.java b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/BekannteZahl.java new file mode 100644 index 0000000..8c573dc --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/BekannteZahl.java @@ -0,0 +1,59 @@ +import java.awt.*; + +/** + * Repräsentiert eine "sicher" eingetragene Zahl in einer Sudoku-Zelle + * Kann eine Vorgabe sein oder eine durch Schlussfolgerungen gesetzte Zahl sein. + * + * @author Rainer Helfrich + * @version Dezember 2020 + */ +public class BekannteZahl implements Eintrag +{ + /** + * Der Wert der bekannten Zahl + */ + private int wert; + + /** + * Die Farbe, in der die Zahl gezeichnet werden soll (für Backtracking-Situationen) + */ + private Color farbe; + + /** + * Erzeugt eine neue bekannte Zahl + * @param w Der Wert der Zahl + */ + public BekannteZahl(int w) + { + wert = w; + farbe = Color.BLACK; + } + + /** + * Markiert die Zahl, dies bedeutet, dass sie beim Backtracking "geraten" wurde + */ + public void setMarkiert() + { + farbe = new Color(140, 70, 120); + } + + /** + * Zeichnet die Zahl auf ein Graphics-Objekt + * Sollte nicht direkt aufgerufen werden. + */ + public void zeichneDich(Graphics g, Rectangle r) + { + g.setColor(farbe); + g.setFont(g.getFont().deriveFont(65.0f)); + SudokuPanel.drawCenteredString(g, ""+wert, r); + } + + /** + * Gibt den Zahlwert der bekannten Zahl zurück + * @return Der Wert der Zahl + */ + public int getZahl() + { + return wert; + } +} diff --git a/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/BitSet.java b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/BitSet.java new file mode 100644 index 0000000..2f8bf0a --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/BitSet.java @@ -0,0 +1,294 @@ +import java.util.ArrayList; + +/** + * Eine Set basierend auf Bitvektoren + * + * @author Rainer Helfrich + * @version 26.9.2020 + */ +public class BitSet extends Set +{ + private ArrayList daten; + + /** + * Erzeugt eine neue leere Set + */ + public BitSet() + { + daten = new ArrayList(); + } + + protected int[] alsArray() + { + int[] ergebnis = new int[anzahl()]; + int index = 0; + for (int i = 0; i < 32*daten.size(); i++) + { + if (enthaelt(i)) + { + ergebnis[index] = i; + index++; + } + } + return ergebnis; + } + + /** + * Gibt zurück, ob die Menge kein Element enthält + * @return true, wenn die Menge leer ist; false sonst + */ + public boolean istLeer() + { + for (int v : daten) + { + if (v != 0) + { + return false; + } + } + return true; + } + + /** + * Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist. + * @param wert Der zu suchende Wert + */ + public boolean enthaelt(int x) + { + if (x >= 32*daten.size() || x < 0) + { + return false; + } + int i = x / 32; + int j = x % 32; + int mask = 1 << j; + return (daten.get(i) & mask) != 0; + } + + /** + * Gibt die Mächtigkeit der Menge zurück + * @return Die Anzahl der Elemente in der Menge + */ + public int anzahl() + { + int laenge = 0; + for (int i : daten) + { + laenge += Integer.bitCount(i); + } + return laenge; + } + + /** + * Bestimmt die Differenzmenge der Menge selbst und der Menge s. + * @param s Die Menge, die von dieser Menge abgezogen werden soll. + * @return Eine neue Set, die alle Elemente dieser Menge enthält, die nicht in s enthalten sind. + */ + public Set differenz(Set s) + { + BitSet ergebnis = new BitSet(); + if (s instanceof BitSet) + { + BitSet bs = (BitSet)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + ergebnis.daten.add(daten.get(i) & ~(bs.daten.get(i))); + } + for (int i = bs.daten.size(); i < daten.size(); i++) + { + ergebnis.daten.add(daten.get(i)); + } + } + else + { + for (int i = 0; i < 32*daten.size(); i++) + { + if (enthaelt(i) && !s.enthaelt(i)) + { + ergebnis.einfuegen(i); + } + } + } + return ergebnis; + } + + /** + * Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist. + * @param wert Der einzufügende Wert + */ + public void einfuegen(int x) + { + if (x >= 0) + { + int i = x / 32; + daten.ensureCapacity(i+1); + while(i >= daten.size()) + { + daten.add(0); + } + int j = x % 32; + int mask = 1 << j; + daten.set(i, daten.get(i) | mask); + } + } + + /** + * Gibt zurück, ob diese Menge eine Untermenge der Menge s ist. + * @param s Die Menge, die geprüft werden soll. + * @return true, wenn jedes Element dieser Menge in s enthalten ist; false sonst + */ + public boolean untermenge(Set s) + { + if (s instanceof BitSet) + { + BitSet bs = (BitSet)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + int a = daten.get(i); + int b = bs.daten.get(i); + if ((a & ~b) != 0) + { + return false; + } + } + for (int i = bs.daten.size(); i < daten.size(); i++) + { + if (daten.get(i) != 0) + { + return false; + } + } + return true; + } + else + { + for (int i = 0; i < 32*daten.size(); i++) + { + if (enthaelt(i) && !s.enthaelt(i)) + { + return false; + } + } + return true; + } + } + + /** + * Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Vereinigungsmenge bestimmt werden soll + * @return Eine neue Set, die die Vereinigungsmenge der beiden Mengen repräsentiert. + */ + public Set vereinigungsmenge(Set s) + { + BitSet ergebnis = new BitSet(); + if (s instanceof BitSet) + { + BitSet bs = (BitSet)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + ergebnis.daten.add(daten.get(i) | bs.daten.get(i)); + } + for (int i = daten.size(); i < bs.daten.size(); i++) + { + ergebnis.daten.add(bs.daten.get(i)); + } + for (int i = bs.daten.size(); i < daten.size(); i++) + { + ergebnis.daten.add(daten.get(i)); + } + } + else + { + int[] a = s.alsArray(); + ergebnis.daten.addAll(daten); + for (int n : a) + { + ergebnis.einfuegen(n); + } + } + return ergebnis; + } + + /** + * Bestimmt die Schnittmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Schnittmenge bestimmt werden soll + * @return Eine neue Set, die die Schnittmenge der beiden Mengen repräsentiert. + */ + public Set schnittmenge(Set s) + { + BitSet ergebnis = new BitSet(); + if (s instanceof BitSet) + { + BitSet bs = (BitSet)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + ergebnis.daten.add(daten.get(i) & bs.daten.get(i)); + } + } + else + { + for (int i = 0; i < 32*daten.size(); i++) + { + if (enthaelt(i) && s.enthaelt(i)) + { + ergebnis.einfuegen(i); + } + } + } + return ergebnis; + } + + /** + * Entfernt einen Wert aus der Menge, falls er enthalten ist. + * @param wert Der zu entfernende Wert + */ + public void entfernen(int x) + { + if (x < 32*daten.size() && x >= 0) + { + int i = x / 32; + int j = x % 32; + int mask = ~(1 << j); + daten.set(i, daten.get(i) & mask); + } + } + + /** + * Gibt zurück, ob diese Menge und s die gleichen Elemente enthalten + * @param s Die zu überprüfende Menge + * @return true, wenn beide Mengen die gleichen Elemente enthalten; false sonst + */ + public boolean gleich(Set s) + { + if (s instanceof BitSet) + { + BitSet bs = (BitSet)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + if (daten.get(i) != bs.daten.get(i)) + { + return false; + } + } + for (int i = daten.size(); i < bs.daten.size(); i++) + { + if (bs.daten.get(i) != 0) + { + return false; + } + } + for (int i = bs.daten.size(); i < daten.size(); i++) + { + if (daten.get(i) != 0) + { + return false; + } + } + return true; + } + else + { + return super.gleich(s); + } + } +} diff --git a/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/Eintrag.java b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/Eintrag.java new file mode 100644 index 0000000..41959af --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/Eintrag.java @@ -0,0 +1,16 @@ +import java.awt.*; + +/** + * Ein Eintrag in einer Sudoku-Zelle, kann entweder eine feststehende Zahl sein oder eine Menge von Kandidaten + * + * @author Rainer Helfrich + * @version Dezember 2020 + */ +public interface Eintrag +{ + /** + * Zeichnet den Eintrag auf ein Graphics-Objekt + * Sollte nicht direkt aufgerufen werden. + */ + void zeichneDich(Graphics g, Rectangle ziel); +} diff --git a/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/Kandidatenmenge.java b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/Kandidatenmenge.java new file mode 100644 index 0000000..5305d01 --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/Kandidatenmenge.java @@ -0,0 +1,56 @@ +import java.awt.*; + +/** + * Repräsentiert eine Kandidatenmenge für eine Sudoku-Zelle + * + * @author Rainer Helfrich + * @version Dezember 2020 + */ +public class Kandidatenmenge extends BitSet implements Eintrag +{ + /** + * Erzeugt eine neue Kandidatenmenge bestehend aus den Zahlen von 1 bis 9 + */ + public Kandidatenmenge() + { + for (int i = 1; i <= 9; i++) + { + this.einfuegen(i); + } + } + + /** + * Zeichnet die Kandidatenmenge auf ein Graphics-Objekt + * Sollte nicht direkt aufgerufen werden. + */ + public void zeichneDich(Graphics g, Rectangle r) + { + if (istLeer()) + { + g.setColor(Color.RED); + ((Graphics2D)g).setStroke(new BasicStroke(3)); + g.drawLine(r.x,r.y,r.x+r.width, r.y+r.height); + g.drawLine(r.x,r.y+r.height,r.x+r.width, r.y); + } + else + { + g.setColor(Color.BLUE); + g.setFont(g.getFont().deriveFont(20.0f)); + for (int i = 0; i < 3; i++) + { + for (int j = 0; j < 3; j++) + { + int n = 3*j+i+1; + if (enthaelt(n)) + { + int x = (int)(r.getX()+i*r.getWidth()/3); + int y = (int)(r.getY()+j*r.getHeight()/3); + int w = (int)(r.getWidth()/3); + int h = (int)(r.getHeight()/3); + SudokuPanel.drawCenteredString(g, ""+n, x, y, w, h); + } + } + } + } + } +} diff --git a/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/README.TXT b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/README.TXT new file mode 100644 index 0000000..b1e254d --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/README.TXT @@ -0,0 +1,5 @@ +PROJEKTBEZEICHNUNG: Sudoku +PROJEKTZWECK: Implementieren Sie einen Teil eines Sudoku-Löser +VERSION oder DATUM: Dezember 2020 +WIE IST DAS PROJEKT ZU STARTEN: Erzeugen Sie ein neues Objekt vom Typ SudokuGitter, entweder ohne Parameter oder mit einem int-Parameter (von 0 bis 399) +AUTOR(EN): Rainer Helfrich, ZPG Informatik diff --git a/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/Set.java b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/Set.java new file mode 100644 index 0000000..60ec0f2 --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/Set.java @@ -0,0 +1,107 @@ +/** + * Schnittstelle des ADTs Set + * + * @author Rainer Helfrich + * @version 26.9.2020 + */ + +public abstract class Set +{ + /** + * Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist. + * @param wert Der einzufügende Wert + */ + public abstract void einfuegen(int wert); + + /** + * Entfernt einen Wert aus der Menge, falls er enthalten ist. + * @param wert Der zu entfernende Wert + */ + public abstract void entfernen(int wert); + + /** + * Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist. + * @param wert Der zu suchende Wert + */ + public abstract boolean enthaelt(int wert); + + /** + * Bestimmt die Schnittmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Schnittmenge bestimmt werden soll + * @return Eine neue Set, die die Schnittmenge der beiden Mengen repräsentiert. + */ + public abstract Set schnittmenge(Set s); + + /** + * Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Vereinigungsmenge bestimmt werden soll + * @return Eine neue Set, die die Vereinigungsmenge der beiden Mengen repräsentiert. + */ + public abstract Set vereinigungsmenge(Set s); + + /** + * Gibt zurück, ob diese Menge eine Untermenge der Menge s ist. + * @param s Die Menge, die geprüft werden soll. + * @return true, wenn jedes Element dieser Menge in s enthalten ist; false sonst + */ + public abstract boolean untermenge(Set s); + + /** + * Bestimmt die Differenzmenge der Menge selbst und der Menge s. + * @param s Die Menge, die von dieser Menge abgezogen werden soll. + * @return Eine neue Set, die alle Elemente dieser Menge enthält, die nicht in s enthalten sind. + */ + public abstract Set differenz(Set s); + + /** + * Gibt die Mächtigkeit der Menge zurück + * @return Die Anzahl der Elemente in der Menge + */ + public abstract int anzahl(); + + /** + * Gibt zurück, ob die Menge kein Element enthält + * @return true, wenn die Menge leer ist; false sonst + */ + public abstract boolean istLeer(); + + protected abstract int[] alsArray(); + + /** + * Gibt zurück, ob diese Menge und s die gleichen Elemente enthalten + * @param s Die zu überprüfende Menge + * @return true, wenn beide Mengen die gleichen Elemente enthalten; false sonst + */ + public boolean gleich(Set s) + { + return untermenge(s) && s.untermenge(this); + } + + /** + * Gibt die String-Darstellung der Menge (aufzählende Darstellung) zurück + * @return Ein String, der alle Elemente der Menge aufzählt. + */ + @Override + public String toString() + { + if (istLeer()) + { + return "{ }"; + } + StringBuilder sb = new StringBuilder(); + for(int v : alsArray()) + { + if (sb.length() == 0) + { + sb.append("{ "); + } + else + { + sb.append(", "); + } + sb.append(v); + } + sb.append(" }"); + return sb.toString(); + } +} diff --git a/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/SudokuFrame.java b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/SudokuFrame.java new file mode 100644 index 0000000..8473207 --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/SudokuFrame.java @@ -0,0 +1,194 @@ +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.swing.event.*; +import java.util.concurrent.atomic.AtomicBoolean; + +/** + * + * Ein Fenster, um das Sudoku-Spiel darzustellen + * Hier sollte nichts verändert werden. + * @version Dezember 2020 + * @author Rainer Helfrich + */ + +public class SudokuFrame extends JFrame { + + Point backtrackingPosition; + int nextBacktrackIndex; + JButton btnBacktrack; + SudokuGitter dasSpiel; + JLabel lblSackgasse; + + public SudokuFrame(SudokuGitter sp, SudokuFrame parent) { + + super(); + backtrackingPosition = null; + dasSpiel = sp; + nextBacktrackIndex = -1; + setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + int frameWidth = 800; + int frameHeight = 900; + setSize(frameWidth, frameHeight); + + if (parent != null) + { + parent.setEnabled(false); + setLocation(parent.getX() + 20, parent.getY() + 20); + } + else + { + Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); + int x = (d.width - getSize().width) / 2; + int y = (d.height - getSize().height) / 2; + setLocation(x, y); + } + setTitle("Sudokus lösen"); + setResizable(false); + Container cp = getContentPane(); + cp.setLayout(null); + + SudokuPanel sudokuPanel1 = new SudokuPanel(sp); + sudokuPanel1.setBounds(8, 8, 720, 720); + cp.add(sudokuPanel1); + + final JLabel lblGewonnen = new JLabel("Spiel gelöst"); + lblGewonnen.setBounds(220, 770, 400, 16); + lblGewonnen.hide(); + cp.add(lblGewonnen); + + lblSackgasse = new JLabel("Spiel so nicht lösbar -> Backtracking nötig"); + lblSackgasse.setBounds(220, 770, 400, 16); + lblSackgasse.setForeground(Color.RED); + lblSackgasse.hide(); + cp.add(lblSackgasse); + + final JButton btnKandidatenListe = new JButton("Kandidatenmengen erstellen"); + final JButton btnEintrag = new JButton("Eintragen"); + final JButton btnAutomatisch = new JButton("Automatisch"); + btnAutomatisch.setBounds(8, 770, 200, 24); + btnEintrag.setEnabled(false); + btnBacktrack = new JButton("Backtracking-Schritt"); + btnBacktrack.setEnabled(false); + btnKandidatenListe.setBounds(8, 740, 200, 24); + + AtomicBoolean bEintragungMoeglich = new AtomicBoolean(false); + ActionListener alKandidaten = new ActionListener() { + public void actionPerformed(ActionEvent evt) { + bEintragungMoeglich.set(sp.kandidatenMengenErstellen()); + if (bEintragungMoeglich.get()) + { + btnEintrag.setEnabled(true); + } + else // Fehler -> Zurückgehen + { + btnBacktrack.setEnabled(false); + btnAutomatisch.setEnabled(false); + lblSackgasse.show(); + } + btnKandidatenListe.setEnabled(false); + sudokuPanel1.repaint(); + } + }; + ActionListener alEintrag = new ActionListener() { + public void actionPerformed(ActionEvent evt) { + bEintragungMoeglich.set(sp.eintragen()); + if (bEintragungMoeglich.get()) // es war eine Eintragung möglich + { + btnKandidatenListe.setEnabled(true); + } + else // Man muss raten -> Backtracking + { + btnBacktrack.setEnabled(true); + btnAutomatisch.setEnabled(false); + backtrackingPosition = sp.getPositionVonKleinsterKandidatenmenge(); + if (backtrackingPosition == null) + { + if (sp.istGeloest()) + { + lblGewonnen.show(); + btnBacktrack.setEnabled(false); + btnEintrag.setEnabled(false); + } + return; + } + Kandidatenmenge km = (Kandidatenmenge)sp.getEintrag(backtrackingPosition.x, backtrackingPosition.y); + nextBacktrackIndex = 0; + btnBacktrack.setText("Backtracking-Schritt 1 von " + km.anzahl()); + } + btnEintrag.setEnabled(false); + sudokuPanel1.repaint(); + } + }; + + btnKandidatenListe.addActionListener(alKandidaten); + cp.add(btnKandidatenListe); + cp.add(btnAutomatisch); + + btnEintrag.setBounds(220, 740, 200, 24); + btnEintrag.addActionListener(alEintrag); + cp.add(btnEintrag); + + btnAutomatisch.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent evt) { + if (btnEintrag.isEnabled()) + { + alEintrag.actionPerformed(null); + } + while(true) + { + alKandidaten.actionPerformed(null); + if (!bEintragungMoeglich.get()) + { + break; + } + alEintrag.actionPerformed(null); + if (!bEintragungMoeglich.get()) + { + break; + } + } + } + }); + + btnBacktrack.setBounds(220+212, 740, 200, 24); + btnBacktrack.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent evt) { + int versuch = ((Kandidatenmenge)sp.getEintrag(backtrackingPosition.x, backtrackingPosition.y)).alsArray()[nextBacktrackIndex]; + SudokuGitter spNeu = sp.klonErzeugen(backtrackingPosition.x, backtrackingPosition.y, versuch); + } + }); + cp.add(btnBacktrack); + + addWindowListener(new WindowAdapter(){ + public void windowClosing(WindowEvent e){ + if (parent != null) + { + parent.setEnabled(true); + parent.nextBacktrackStep(); + } + } + }); + setVisible(true); + } + + private void nextBacktrackStep() + { + if (this.backtrackingPosition != null) + { + Kandidatenmenge km = (Kandidatenmenge)dasSpiel.getEintrag(backtrackingPosition.x, backtrackingPosition.y); + nextBacktrackIndex++; + if (nextBacktrackIndex >= km.anzahl()) + { + btnBacktrack.setEnabled(false); + btnBacktrack.setText("Backtracking-Schritt"); + lblSackgasse.show(); + } + else + { + btnBacktrack.setText("Backtracking-Schritt "+(nextBacktrackIndex+1)+" von " + km.anzahl()); + } + } + + } +} diff --git a/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/SudokuGitter.java b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/SudokuGitter.java new file mode 100644 index 0000000..6aad1c9 --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/SudokuGitter.java @@ -0,0 +1,327 @@ +import java.util.ArrayList; +import java.util.function.Predicate; +import java.awt.Point; + +/** + * Repräsentiert ein 9x9-Sudoku-Gitter + * + * @author Rainer Helfrich + * @version Dezember 2020 + */ +public class SudokuGitter +{ + /** + * Die einzelnen Felder des Gitters + * Erster Index = x-Koordinate + * Zweiter Index = y-Koordinate + */ + private Eintrag[][] felder; + + /** + * Verweist auf das Fenster, in dem das Gitter dargestellt wird + */ + private SudokuFrame theFrame; + + /** + * Erzeugt ein neues Gitter mit dem Rätsel Nr. 100 + */ + public SudokuGitter() + { + this(100); + } + + /** + * Erzeugt ein neues Gitter mit dem Rätsel Nr. 100 + * @param nummer Die Nummer des Spiels + */ + public SudokuGitter(int nummer) + { + this(SudokuRaetselDB.getRaetsel(nummer)); + } + + /** + * Erzeugt ein neues Gitter mit durch den String beschriebenen Spiel + * @param spiel Eine String-Codierung des Spiels + */ + public SudokuGitter(String spiel) + { + this(spiel, null); + } + + /** + * Erzeugt ein neues Gitter als Kopie eines anderen Gitters + * @param vorlage Die Vorlage für das neue Gitter + */ + private SudokuGitter(SudokuGitter vorlage) + { + this(vorlage.toString(), vorlage.theFrame); + } + + /** + * Erzeugt ein neues Gitter mit durch den String beschriebenen Spiel + * @param spiel Eine String-Codierung des Spiels + * @param parent Das übergeordnete Fenster des neu erzeugten Fensters (kann auch null sein) + */ + private SudokuGitter(String spiel, SudokuFrame parent) + { + felder = new Eintrag[9][9]; + char[] cSpiel = spiel.toCharArray(); + for (int i = 0; i < 9; i++) + { + for (int j = 0; j < 9; j++) + { + if (cSpiel[9*j+i] != '.') + { + felder[i][j] = new BekannteZahl(Integer.parseInt(""+cSpiel[9*j+i])); + } + } + } + theFrame = new SudokuFrame(this, parent); + } + + /** + * Erzeugt einen Klon des aktuellen Gitters und setzt eine Zelle auf einen bestimmten Wert + * @param x Die x-Koordinate des zu setzenden Feldes + * @param y Die y-Koordinate des zu setzenden Feldes + * @param wert Der zu setzende Wert + * @return Die Kopie des Gitters + */ + public SudokuGitter klonErzeugen(int x, int y, int wert) + { + SudokuGitter sp = new SudokuGitter(this); + BekannteZahl raten = new BekannteZahl(wert); + raten.setMarkiert(); + sp.felder[x][y] = raten; + sp.theFrame.setTitle("Sudokus lösen: Versuch (" + x + "," + y + ") <- " + wert); + return sp; + } + + /** + * Wandelt das Gitter in seine String-Darstellung um + * @return Eine String-Darstellung des Gitters + */ + public String toString() + { + StringBuilder sb = new StringBuilder(); + for (int y = 0; y < 9; y++) + { + for (int x = 0; x < 9; x++) + { + if (felder[x][y] instanceof BekannteZahl) + { + sb.append(""+((BekannteZahl)felder[x][y]).getZahl()); + } + else + { + sb.append("."); + } + } + } + return sb.toString(); + } + + /** + * Prüft, ob das Spiel gelöst ist + * @return true, wenn das Spiel gelöst ist; false sonst + */ + public boolean istGeloest() + { + for (int i = 0; i < 9; i++) + { + for (int j = 0; j < 9; j++) + { + if (!(felder[i][j] instanceof BekannteZahl)) + { + return false; + } + } + } + return true; + } + + /** + * Trägt eine Zahl ins Gitter ein, wenn es möglich ist. Wenn ja, löscht es alle Kandidatenmengen aus dem Gitter + * @return true, wenn eine Eintragung möglich war; false sonst + */ + public boolean eintragen() + { + boolean ergebnis = nackterEinerEintragen(); + if (!ergebnis) + { + ergebnis = versteckterEinerEintragen(); + } + if (ergebnis) + { + for (int i = 0; i < 9; i++) + { + for (int j = 0; j < 9; j++) + { + if (felder[i][j] instanceof Kandidatenmenge) + { + felder[i][j] = null; + } + } + } + } + return ergebnis; + } + + /** + * Gibt den Eintrag an der gewünschten Koordinate zurück + * @param x Die x-Koordinate des Eintrags (0 bis 8) + * @param y Die y-Koordinate des Eintrags (0 bis 8) + * @return Der Eintrag an der gewünschten Koordinate + */ + public Eintrag getEintrag(int x, int y) + { + return felder[x][y]; + } + + /** + * Gibt alle Einträge der gewünschten Zeile zurück + * @param z Die Nummer der Zeile (0 bis 8) + * @return Ein Array mit allen Einträgen der Zeile + */ + private Eintrag[] getZeile(int z) + { + return getZeile(z, null); + } + + /** + * Gibt alle Einträge der gewünschten Zeile zurück, die einem Prädikat entsprechen + * @param z Die Nummer der Zeile (0 bis 8) + * @param pred Das Prädikat, mit dem die Einträge geprüft werden sollen; null für alle Einträge + * @return Ein Array mit allen Einträgen der Zeile, die dem Prädikat entsprechen + */ + private Eintrag[] getZeile(int z, Predicate pred) + { + ArrayList a = new ArrayList(); + for (int i = 0; i < 9; i++) + { + if (pred == null || pred.test(felder[i][z])) + a.add(felder[i][z]); + } + return a.toArray(new Eintrag[0]); + } + + /** + * Gibt alle Einträge der gewünschten Spalte zurück + * @param s Die Nummer der Spalte (0 bis 8) + * @return Ein Array mit allen Einträgen der Spalte + */ + private Eintrag[] getSpalte(int s) + { + return getSpalte(s, null); + } + + /** + * Gibt alle Einträge der gewünschten Spalte zurück, die einem Prädikat entsprechen + * @param s Die Nummer der Spalte (0 bis 8) + * @param pred Das Prädikat, mit dem die Einträge geprüft werden sollen; null für alle Einträge + * @return Ein Array mit allen Einträgen der Spalte, die dem Prädikat entsprechen + */ + private Eintrag[] getSpalte(int s, Predicate pred) + { + ArrayList a = new ArrayList(); + for (int i = 0; i < 9; i++) + { + if (pred == null || pred.test(felder[s][i])) + a.add(felder[s][i]); + } + return a.toArray(new Eintrag[0]); + } + + /** + * Gibt alle Einträge des Blocks zurück, in dem die Zelle (x,y) liegt + * @param x Die x-Koordinate der Zelle (0 bis 8) + * @param y Die y-Koordinate der Zelle (0 bis 8) + * @return Ein Array mit allen Einträgen des Blocks + */ + private Eintrag[] getBlockVon(int x, int y) + { + return getBlockVon(x, y, null); + } + + /** + * Gibt alle Einträge des Blocks zurück, in dem die Zelle (x,y) liegt, sonfern diese einem Prädikat entsprechen + * @param x Die x-Koordinate der Zelle (0 bis 8) + * @param y Die y-Koordinate der Zelle (0 bis 8) + * @return Ein Array mit allen Einträgen des Blocks, die dem Prädikat entsprechen + */ + private Eintrag[] getBlockVon(int x, int y, Predicate pred) + { + ArrayList a = new ArrayList(); + int xs = (x/3)*3; + int ys = (y/3)*3; + for (int i = 0; i < 3; i++) + { + for (int j = 0; j < 3; j++) + { + if (pred == null || pred.test(felder[xs+i][ys+j])) + a.add(felder[xs+i][ys+j]); + } + } + return a.toArray(new Eintrag[0]); + } + + /** + * Trägt in allen Zellen des Gitters, an denen bisher null steht, die Kandidatenmenge ein + * @return true, wenn alle Kandidatenmengen nichtleer sind; false sonst + */ + public boolean kandidatenMengenErstellen() + { + //# TODO: Vervollständigen Sie die Methode. + //# Sie soll an alle Stellen im zweidimensionalen Array felder, die derzeit null enthalten, eine Kandidatenmenge setzen + //# Falls eine der Kandidatenmengen leer ist, soll false zurückgegeben werden, andernfalls true. + return true; + } + + /** + * Trägt eine Zahl nach der "Nackter Einer"-Technik ins Gitter ein. + * @return true, wenn eine solche Eintragung möglich war; false sonst + */ + private boolean nackterEinerEintragen() + { + //# TODO: Vervollständigen Sie die Methode. + //# Sie soll einen (!) Eintragungsschritt nach der "Nackter Einer"-Technik machen + //# und true zurückgeben, wenn das Eintragen möglich war. Andernfalls soll false zurückgeliefert werden. + //# Es ist wirklich wichtig, dass Sie immer nur einen Eintragungsschritt machen, da sonst falsche Ergebnisse entstehen können. + //# Zum Eintragen erzeugen Sie ein neues Objekt vom Typ BekannteZahl mit der entsprechenden Ziffer als Parameter und + //# tragen Sie es in das zweidimensionale Array felder ein. + + return false; + } + + /** + * Trägt eine Zahl nach der "Versteckter Einer"-Technik ins Gitter ein. + * @return true, wenn eine solche Eintragung möglich war; false sonst + */ + private boolean versteckterEinerEintragen() + { + //# TODO: Vervollständigen Sie die Methode. + //# Sie soll einen (!) Eintragungsschritt nach der "Versteckter Einer"-Technik machen + //# und true zurückgeben, wenn das Eintragen möglich war. Andernfalls soll false zurückgeliefert werden. + //# Es ist wirklich wichtig, dass Sie immer nur einen Eintragungsschritt machen, da sonst falsche Ergebnisse entstehen können. + //# Zum Eintragen erzeugen Sie ein neues Objekt vom Typ BekannteZahl mit der entsprechenden Ziffer als Parameter und + //# tragen Sie es in das zweidimensionale Array felder ein. + + return false; + } + + /** + * Sucht die kleinste Kandidatenmenge im Gitter und gibt ihre Koordinaten als Point zurück + * @return Die Koordinaten der kleinsten Kandidatenmenge; null, wenn keine Kandidatenmenge im Gitter steht + */ + public Point getPositionVonKleinsterKandidatenmenge() + { + Point p = null; + //# TODO: Vervollständigen Sie diese Methode. + //# Sie gibt die Position der Kandidatenmenge zurück, die die wenigsten Werte enthält. + //# Der x-Wert des Point-Objekts ist die erste Koordinate im zweidimensionalen Array felder, der y-Wert die zweite + //# Beispiel zum Erzeugen eines Point: p = new Point(spalte, zeile); + //# Falls kein Eintrag in felder eine Kandidatenmenge ist, soll null zurückgegeben werden. + //# Dies ist der Fall, wenn das Rätsel gelöst ist. + + return p; + } +} diff --git a/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/SudokuPanel.java b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/SudokuPanel.java new file mode 100644 index 0000000..1160643 --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/SudokuPanel.java @@ -0,0 +1,99 @@ +import javax.swing.*; +import java.awt.*; + +/** + * Ein Panel, in dem das Sudoku-Spiel gezeichnet wird. + * Hier sollte nichts verändert werden. + * @author Rainer Helfrich + * @version Dezember 2020 + */ +public class SudokuPanel extends JPanel +{ + /** + * Das Spiel, das dargestellt werden soll + */ + private SudokuGitter dasSpiel; + + /** + * Erzeugt ein neues Panel + * @param s Das Spiel, das dargestellt werden soll. + */ + public SudokuPanel(SudokuGitter s) + { + dasSpiel = s; + } + + /** + * Zeichnet das Spiel auf ein Graphics-Objekt + * @param gg Das Graphics-Objekt, auf das gezeichnet werden soll + */ + public void paintComponent(Graphics gg) + { + Graphics2D g = (Graphics2D)gg; + g.setColor(Color.WHITE); + g.fillRect(0,0,getWidth(),getHeight()); + g.setColor(Color.BLACK); + g.setStroke(new BasicStroke(5)); + int w = getWidth()-5; + int h = getHeight()-5; + g.drawRect(2, 2, w/3, h); + g.drawRect(2+w/3, 2, w/3, h); + g.drawRect(2+2*w/3, 2, getWidth()-2*w/3-5, h); + g.drawRect(2, 2, w, h/3); + g.drawRect(2, 2+h/3, w, h/3); + g.drawRect(2, 2+2*w/3, w, getHeight()-2*h/3-5); + g.setStroke(new BasicStroke(2)); + for (int i = 1; i < 9; i++) { + g.drawLine(2+i*w/9, 2, 2+i*w/9, h); + g.drawLine(2, 2+i*h/9, w, 2+i*h/9); + } + int cellWidth = w/9; + int cellHeight = h/9; + for (int i = 0; i < 9; i++) + { + int x = 2+i*w/9; + for (int j = 0; j < 9; j++) + { + int y = 2+j*h/9; + Eintrag e = dasSpiel.getEintrag(i, j); + if (e == null) + { + continue; + } + Rectangle r = new Rectangle(x+5, y+5, cellWidth-10, cellHeight-10); + e.zeichneDich(gg, r); + } + } + } + + /** + * Zeichnet einen String in einem Rechteck zentriert auf ein Graphics-Objekt + * @param g Das Graphics-Objekt, auf das gezeichnet werden soll + * @param text Der zu zeichnende Text + * @param rect Der Bereich, in den der Text zentriert werden soll + */ + public static void drawCenteredString(Graphics g, String text, Rectangle rect) { + drawCenteredString(g, text, rect.x, rect.y, rect.width, rect.height); + } + + /** + * Zeichnet einen String in einem Rechteck zentriert auf ein Graphics-Objekt + * @param g Das Graphics-Objekt, auf das gezeichnet werden soll + * @param text Der zu zeichnende Text + * @param x x-Koordinate der linken oberen Ecke des Rechtecks + * @param y y-Koordinate der linken oberen Ecke des Rechtecks + * @param w Breite des Rechtecks + * @param h Höhe des Rechtecks + */ + public static void drawCenteredString(Graphics g, String text, int x, int y, int w, int h) { + // Get the FontMetrics + FontMetrics metrics = g.getFontMetrics(); + // Determine the X coordinate for the text + x += (w - metrics.stringWidth(text)) / 2; + // Determine the Y coordinate for the text (note we add the ascent, as in java 2d 0 is top of the screen) + y += ((h - metrics.getHeight()) / 2) + metrics.getAscent(); + // Draw the String + g.drawString(text, x, y); + } + +} \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/SudokuRaetselDB.java b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/SudokuRaetselDB.java new file mode 100644 index 0000000..dd7eacb --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/SudokuRaetselDB.java @@ -0,0 +1,444 @@ + +/** + * Eine "Datenbank" mit 400 Sudoku-Rätseln + * + * @author Rainer Helfrich + * @version Dezember 2020 + * + * Rätsel erzeugt mit https://qqwing.com/generate.html + */ +public class SudokuRaetselDB +{ + /** + * Gibt das gewünschte Rätsel zurück + * @param nummer Die Nummer des Rätsels + * @return Das Rätsel als String codiert. + */ + public static String getRaetsel(int nummer) + { + if (nummer < 0 || nummer >= 400) + { + return "................................................................................."; + } + System.out.print("Rätsel Nr. " + nummer + " ("); + if (nummer < 100) + { + System.out.print("einfach"); + } + else if (nummer < 200) + { + System.out.print("mittel"); + } + else + { + if (nummer >= 300) + System.out.print("sehr "); + System.out.print("schwer"); + } + System.out.println(")"); + return raetsel[nummer]; + } + + private static String[] raetsel = { + "..42...18..2.4....1..68..9.26...9..7...7..28..87...9.3...4.....4..........8.3..2.", + ".5.6.3......2.......3.7.....2..69.574.....8.97..54..26....2.6......8..34...9.62..", + ".642....99...5....1.54.8..624....3.........1..8.3.1452.2.....6.......8.3.....42..", + "...3..15.....1.......7.......36...4..7.2853..8.1..76..7..52...3.2.8..4...3...6...", + "6..21..9...85....6.4.9..82.1..4.6.5.....7.2.94.9..5.7...........8.......5.264....", + "5...6...973.2..4.....5..3......2.6..3........8..4......5.9.8.7..2.....356.7...9.8", + ".9....45.......3...5..3.127..849..7..29.538...7.2...9..8....74...........43..591.", + "1......4.8.7..2.1.2.......9..9..43..3.8...7.4..286...........7173..9.48......69..", + "...693..2..4...........13......8.9......4..37...1.98..4.1...69.37......1...2.6...", + ".8.....4........6...931....8.649..237.........4..3..174...61.9..92....3...7......", + "...6.8.....59.4.3..9.2.....5.7........672...5.4...3..2.......4.862......9....53..", + "..9..6.4....4...2.5......7......7.....5......76...9.....1.5.3..3.462.5..9...741..", + "...2.....9..71....1............8.2.78..9....37.91....5.8..7.43......45.84...5.1.2", + ".93..518..2.....34..51....7.7...3......981.....927......249..........8....1..29..", + "8.....2..2.9.7..38.....1.7......6......3.2.41.8479.3..31....78..........76.......", + "..47.....56...917..1.6.54.8.5..367.4..3..851.....7........4............9......85.", + "6....34.......539........6...6.......35.4982...968..7..435....9.2.....4.......2..", + "...6.1.3..2.9.....85..27.6....8......3..5....5...6.......3.9.7.9.1.....6.7..1..59", + "..........8....1.49.1..7.2.......872....4..1.........3..85...3.7...91..5.5.42...8", + ".........7.....6....5.....8..9.283.717.69.....2.3..1.....8...1.5.6..18.3..8...7.2", + "3..91....4....59..1...2.......486...8...5.2........1...5.2...98.6..4.....1.6.9.4.", + ".37....1...............54...1.2.8..4.9..13.7.7.5.....14..............29835...97..", + ".1.9..8..5..1....286......3...3.8..7..5.26......5........6......87..2.9...9....56", + "...6952.7...4..3.8........5...9.3.5.....7...29...5...65....28.473..64...8........", + "5.......123.9.6.....9..53.44.5..3..7.1.6.9..576..4..133.....1........7....7.....6", + "..........8...9....9...1..26..4..89532..95.6...........14....8.96..2..1.......2.3", + ".78.41.5.4........9.15...48...3..5...42..7...8..95.71.137.....9......3...........", + "4.568.1..........6..831...9........33...5.8.2......95...1.3..25.2....3..8.4.6....", + "...5.7.1..7......2...9.......18..6..98.65.1..5.6.......3...2..7...13..8......8.9.", + "7.26....4.3...4....16......1....24..2.98167....3.9.....2....9.6.91.3.........7.1.", + "9.3....71....65..2..........1..........82..9.......5.6.3....1.7..92....32.7...86.", + ".2...896......9.5718..........29.6...6....24..4.....18........4..6...1..57.....2.", + "...7..4.5.......934....167....2.3.......1....562.9.....3..6791.2..13.........5...", + "149.2....3.8..............196...2.......4.76...2....84....74893.8..6..1...3......", + "2.157....56..8.....8...1...............246....16..7.4...8.2.6....746312...27....4", + "648.....79.73....5.5....18.3......6..65...734..4.......7..8..16........8..9..45..", + ".......4..7..39.....9..7..5..3...4...1.....28..4.....1.589.....2..7.41...3..1.8.9", + "9..........47...........9.31..98.......2.......5..1.74...87.4..3..1.25..257.3..1.", + "8..9...7..64...39.....542.8....6.......3.8.5..7..4......7..246...387....5....3...", + "8..5..7...9.........3.81.2...5.........162......7..6.2........1...92.58.9..6.3.7.", + "4..6.2............5.379.4...2...6.8375...8.6..3.4.....9.7.436.....9.......6.2....", + "....6....8.....9.4.............3......7..438.4..6.8..5..6..14.95..8..13..193..87.", + "....4.3..6.4.9..7..237....956....72...2......1....5.64.5.......9....3....3.....12", + ".............6.......79...2..4.....57.2.85...5....918.2...479.1.57......19.8...64", + "7..48.3.92...69......7...8..9.6..24.......9..5....36...5...........9.4......32.7.", + "..6.....2425...1.6.....3.5..13.9...4......38..4....2.9..8.......64.8....39...26..", + "..3..29..19.46..7.2..7.8..3..8.7...........3292....71........4..1...9...34.......", + "..7.4.....1...3...93.812....9...748...832.1.9.2..........9..........18..3815.4...", + "87..3.4...........1.29..7.8...21...4.19.87............3....5.9.9.73.....481.7....", + "........1.....19.58.........6..8....5...7..23.7.39.8..9...3.6....1625.3...2..9...", + "...6..1.9.....3.6.2....13.5..3.4.29....8.56.........5.4.9.3...2.2.....81....9....", + "3.....1...5..7...26...159.77.46........4..53..29..3.6....2....5....9......1......", + "4...8.6.297..2..5.8.3........4....7...8.7.2.4..7..5..9......5...5.3...4.......827", + "5...9..18...3..4........35.....6.2.3........7....53.9.41.82....3....9.2..795.1.4.", + "............4...89.......6...4.5.81...5.9.6.3..7.61..534.5......6.91.4..8.9.....7", + "...4.7.....45..937.56..9.......9..65..9..8..38..756.2.......7.....3.4.....2....5.", + "....5.89..3..6.7.15.7.....6.2.9.....7..8...........2...62.8...7..5..73629..3...8.", + ".7.....9.2.9.34.85...7.8..24..2.........57...7..8.96.......5.3........7..4..2..5.", + ".89.....3..475...1....38..4..5.....8...38..1.....42....17.2....43.517...5.2..4...", + "......59..68..41..4.1..2...5.2.....3..3..94.21......8.3...158..6......3..8.....5.", + "...6.7....9.....5..7...198.76...45.9...275...............8........1.67...81.52.94", + "..2......6..4....1.31.9....7..2.4....59.37.............7...2..62.3.6.....9.15.3..", + ".....3..1...98.....7..268...283...14.....496..61...7.2....78......6..2.3......6..", + "....8.......2.6.8.7..31.6..4....821..3.....7.21.67384.84.1...6.396..2............", + ".1...5......36..54....419.......8..36.5.9481.......67.....76435.4.18.7...........", + "........4.2..3.51.....2...3......18...29..7.5....8...9.8..1....1.4..789.39...845.", + "..5..693..3.24..5.6.97.......6...3.................4...4.6.5...37...26.....3..8.2", + "............3..1........3.78....25.63...6..2...248573..4..2.8..6...574....1..3..2", + "83.6.1.....2.....1..5.23....1.8......68....1......7..5.5.7........43....27..86.3.", + ".76..53.......27....2....89...21..6........5......7....3..5....15....93.6..89.2..", + "76..9...3......2.....587.1....2.....9.....1.....3...9....73..86.3...69.......85.2", + "..9...8..18.5...73.36....9...3...5...5.....6.61.....823...186.7.75.29............", + ".3.6...2...5.2..7..2..376..4.....1..8.1....67...4.6.58........1.....3.45..7..8.3.", + "......4.5.29..............6..8.6..9.....5..78.9.23.56...4.8....25...7..3.37.2..4.", + "19.........83.1.....58...........4.6.12.46.58.3.....9..6...413....95......3.....5", + ".4.............5....1..3..44.8..67.1.59....3.......8651..6......9675.3.......4..7", + "4..2865..2...37.9.....5...3...7.........2....7...9....82..7...69.6....3.5.3.6948.", + ".7.....6.......3.53..8.4....1.......7....8523..6..2..4.6.3.....5..7......341..7..", + ".3...7..15.42..9.8.2.58.......7.9.2.......195....4...7.5.81..32........9.......7.", + "96.4...13....968..5..8..9.4..4..3..6....6..7....5.4.......51..........57...6.93.8", + "62...8.3..9........1....5..3...9......4.....6...8.2.....953..848..9..31...64...2.", + "74...9...95.3.6.2....4.8..5......39.8......67..2...4..3...9.7.8.........5.....239", + "...91.2..1.63....43...7.5....3..2.9..5..4967.4.7....2.......3...........64....1..", + ".7...4..232..564.11..2...7................6..46.....3...81....5......2..2.64.37..", + "8..5.......3..1...59176....1..23.......9.58.79.76......3.8.2..6..6.7....2...5.9..", + "4...28.7...6..7..587.94...1...21.7......7.9.6..15...4.9...5...4.........5....9...", + "......9....57....8..69.35.73.2.48..6..4....9..8..3...42.9.........5.....8......29", + "......8...5.49...2.8.35.1.4.....9.7...217..........5....1........8..429...9..3..8", + ".2.......7.6.9....9....2.4...3...129.......36......7...417..2.5..74...9.23.....6.", + "..9.........2.14.8.........6.......3.85.63.....1.45.9......93...23..4....6.8..1.4", + "6.......4...18...598...4....5..7....8.495.1.7..6..8..25.1....26..7......24...7...", + "...5....9..1..2....4.8..56.......4......7.81...4.1.....5...69.82....46..81.7....2", + "9.2.7..58...2....1.81..9.23....1.........7.....4...13..49.81....385.....2.7..4..5", + ".4......52...........5...2938...6....5672..8.9..4.....4....38.....9....6..7.6.2..", + ".....3......18.3..4...79..8.73....4..18.27.........5...............4.1...415.893.", + "18..576.465....7....7...5..53...1...4....8.93.....3....741....8......9.186.....7.", + "....9...2..4.......2...6...3.1.64.7..82...1..4....29.3.7.......1.34....6..9831...", + "..5..6.3....1...98..1..976........598.....2..62..7....2.......1.7..3.......6...23", + "....78.9..9.1...4.1.8...6....26.........5.781.......5..4...68.....21.5..........9", + "....7...9....42..7..6..5...5.27...1..6...14...4.9.68.5.51..9...9.8.2.............", + "..594...78...534..6.2....5.7......464.6...329.3...........9....974...6.8..3...2.4", + "2....9.6.5..........1...3.534..5.....1.73..9.7.5.26.........75..9....1.3.......49", + "..8.5.9..75.......4.....23.91..7.8.2...........5482.....1..3...8..52......3891...", + "7.56.......1........4.2.1.3...46..2.6....8.7..1..3.4......72...8...1...2........4", + "...32...7....8......5...213....47......9..1.5.71...89..42.3.......5..7.........21", + "...2..5.....18...........1..1.7.2..95...3...6..7.9.18.8....7...7..92..6.65.....32", + "5........8.......7....79....9.......4.7.28..62..9.73....85...64.2..6.....4578.2.9", + "......8...9.3.....8.....4....37...2....9.2.1...9....7..3.2.59..7..13.....5.48...3", + ".9....2.5....9....1.......4.4.6.2.....71.4.6.8..9..1..2.....597....7..1.5.....4..", + ".1..78.4.85..2.7....65....1.......979.7.412...61........2.....8.....9......75....", + "7..41....2.........3...9....2.......34.76.2..6.7.95..39....3.2..6.12..4......61..", + "........75.....12..7..41..8....6..1.....728.4......75...76.....1.5..3.6..6.4....5", + "4....6...9....4..3..1..79.8.63.7.....9.3.871.......5....7.........59..........85.", + "9...7..4..42.163..3.6.9..2...3.215................47....5........736..9.......17.", + "..6...7.448........975.4..8..3......71.......6.....9.18.1..5.97....3.5...4.7...1.", + "...2.6...9.....2347..........8.35....3..7..59.......4.34........9.6..37..56.....2", + "54.....9..219....68..312....8.6..51.2.6.....9..4.5..3.9...6.....3....8..........5", + "..9.5...21.543.....239.....3.1.....5.......8....81..9...4.....6...6..23..6...8..4", + ".9......4.1...6....68739.2..3..2..........5...2.....1...324..8..7...1.3...26.....", + ".7..6...3.684....2.....8....2..93....3...75....9....8..876.9..........5.2.......4", + ".......9..9........3..15..6.126..58.6..1..........9.3........592...38...58.7...2.", + "2....8.67.3.217....8....3........7..5.....8.....5.4....4...3....2.6.158.7..8....1", + "1..4.......69.23...........2.4..571..79..14.6........24.7.5.19........35.5......4", + "7.....8..3.4..759...2.93.6..43.6.....6...5.3.8...4..........7.55....2.......78...", + ".....6.....92.4.....3...8.4...73..589......42...9..3....6...78.8...2..9.....796.5", + "793.....5....6.......3.1..8.3.1......57.....96.9....73......9..184.....6.76..5.8.", + "....3........2..6....698..1.8......3..6.1.52........1.1..2...844...6...92...49.3.", + "5..7.....86.5..4.3.......8.15.8.4...63........4..1.3..7..1...5........27......1.6", + "1..........8....6296...3.1...9...82.6.1..9.37.3........74.........9.4..88....6.71", + "9..5.1.2...39.....8....6..1..6.1..3..3.275.1.18..9.5.2............8...9......2..8", + ".9....8..7..3...........6.4.5.7...4...3..9...6.82.3....8.....73..6...48..3..4.5..", + "1.7.5.....3.......5...89.3........42.8..7......25.1....94..83..8..4..........21..", + "9......12135.2.8.......8..5.186..3....4.......2693....8....62........5.9.......6.", + "..57...6.9....4.....2.....4.972...1.46......5.5..41........6.73.1..7952.......1..", + ".....89..4........2.9.31......3....2.....4..1.1.58..9.3.1..62...9..4..8....2.9.5.", + "......18...6.....3..16.24.....8....5...536..8....74....1..8..7..38...561..4..3...", + "73...1.......3...45.2..................1...4...48..51...56.2..7.1..7348...85....6", + "..3...1..6..25..4.4..........2...........63......1.....4.62.85.5...812.37.......1", + "6..31.5.............3......5.916.7.316........7......59.18.2.....2....98.8.7...1.", + "...3...5..9...281...4...9.27...59...8....174.........89.2..7........3......428..3", + "1....3..5..2...3.4.3.48..178.1......37..2..58.....64....71.2........4............", + ".3..9.5....5..3.9..29..6.8.57.8......9.....7....5.....71.....6.....6....6...1.827", + "...1.52.8.2.4..16........4.1......2..423......3.....5...1.467....67..8...8.2.1..6", + ".....63..3.89..2.62.......4.7.4........6...35...57...2..3....5....7.8....24.....3", + ".3....5.....2....45194....8......6.2....9.....83.469......3.1......68.93...9.....", + "8...7.....7314......16.........2......291..43..94.86.77...6..1.21........34......", + "....9...2..............6.1.6.2..15....1..9....5.4.3.....46.279..9..3...413..4..5.", + "..5.1..6.92..5.4.1..38..5..582..36....49.............2.......8.3.14.......6..2...", + ".......67.3...1....2.........18.7.3....1.6.8..7..3964...92...13264..3..93....8...", + "4...63.......5.21..65..79......295.....7.1..2......4....71..62....634.........3.5", + "16....37.5.........83...2....2..516.....3...4..1......41.3...2.......6..3562..81.", + "..12..7.6..79......2.7.5.9.....6.54.4.5...8.26..8....1.....8...9.......4.....1.5.", + "..29...1.....15.377...2....42........8.....7.5........9.5..4.818...5.7.4.3..71.9.", + "1.3..4.7.....8...2.6..1..........5....4..3..6356.......82....3..7.......5...621.4", + "38.45..1..17....9...5.8.7...4.89.......716..9.....5....3.16..............51...8.7", + "....42.38.6.38........95..6......5.7649.......5..2.4.......67.3.........8.3..7.9.", + "...9.2.5....38.9..5...1..6.32...............1.7.......93.5....285...1.7...1..7..8", + "......6....5....7....296...52.93..1.......7...3..67.9...3.2.9.......5.81..168...2", + "....9..6......3...6.5......1..2..4...9..6..1..3...5..28......51.1..5.2......34.9.", + "2...9.....861.3..5.3........12..98....9.2....57.8.1.9.3....7....5...863........5.", + "8.49.27...7..8..4...6...28..5.4.......753.9......7863...2..4.............4...3.9.", + "5..1..9....8...1...9......33....1.9....6..8..1..3.56.4....685.......4.2..26.3....", + "2.4.8..6....6......6.235....3..615.4..89....6...8..............48..9.2..5.1...3..", + "..4.....3..35..8.....1....28....1.962.9.5..481....42..3...6.......9...1....2....5", + "67.4..32.....8..14..1.....9.8.3.2.....4.7.....3.81......3.69.4..4.....7......3...", + "4....1.57.3.6.....16..5...9..9....8...576.9.18......7.....95........4...7.38.....", + "........5642.......751......8.6.1..77..2..5.8....8..1.8..35.46......2.5...47.....", + "..79......1....2.7.....8....78..3..2.32..5..8.91...6...6..7.9.......6.1..2.8...5.", + "4.6..8.2...5.....77..9.3.469...............5......79...32.......8.5........4..832", + "274....9.......5.65....9...6......4.42.............18791...4..8...6....1.561.79..", + "4.6.3..9..219.6...3..14..6.....8.......613.4.......38951.2.....8..........48.....", + ".4.21..6.2.....94..7.4.9.587.46.5...8219......5........6...7..........8.9..5.....", + ".542...3....14.....3.6....9.7.3....2.....9..46.97...5.24....9..3...1.........6..5", + "..4......9.2.8.....6.3.78...73.....95..67.2..24.5.9......8......5..32..6329......", + "5.8.67..16..5.19....9.2....19.6..........4...475.....6.5.........1.78..52...1....", + ".1.........7...89.29..............177..28.6.5.3..1..2..6.3.....5.89....61..8.5...", + "..7.6258.....8..195..........32.9....8.5...3..5...6....3.......7...1..6.812......", + "1..6....3..9..52....24..8..2..8.....58..149.........1.4.........53...4.6.9.....2.", + ".2..4.5.....5.2...........7.8...........7621.....517..5.16...9826...........97...", + "..521....9...8.......5.4..22.1.......7.......3.47.1.9.8.7.2.3...9.1......4...9..8", + ".97.3.....8...........4...9....91.....5..2.91...3....82......7.7.35..94.8.47...5.", + ".531....4..6....9..24....6..8..35.1....2.693....48.2....564..2...9.5.............", + "9.1..6.......5...464...97....4...5...3....6.117....32..........4596.3....63...4..", + "..415...7.7....62.....24.8.7..9......9....5.8.5....76....6..8.2..6.......28....9.", + "...12.3.......5....8....7.1..52.....867......3...9..5.9..3..16..7.6....9..6....3.", + "..316..7.9....74...7.....68....75...65..8.....47.1.5.3...4.....1.....7....9......", + ".1.2.....9.3.61..5..2.....3.7..1..........4....9..5......7.6....45.936....1.5..7.", + "8..96...5.....1.3.132...69.6...123..3.1.5...4.....95....42..1..2....8............", + "..........437...1.561......675419.3..........4.9......79...14.6....6...81..85..7.", + "..4.9....28...6.....6.3.....3.8....94...138...2....34.6........513...6....9.42...", + "31................8...63...2..7.5.83.......4.13...46......5.4....3.1..72.7.8...51", + ".641.....19.37.6..3.8.......56...1..7...9.....4......7...96.4.5...5...78.8..3....", + "9....1..4.............5...9.89.....65...28.......3..51..15.42..3...8..9.....631..", + "....9....5..3..61.4.165......2.3.16.7.......5...1.7..9.4.5.37.2......5.....72....", + "1.87.92....5........324.57....9.1.8.3..8.4..72.....1.....5.2.......37......4...5.", + "..6598.........5.9...........8.6....6.19.5..8....21.3..9.1..2..23..5...6..7..2...", + ".2..13.4.3...4571....9..3.2.46.5.........2.....5..1....5...7..94..52....7.9.....3", + "..1.......5...23..8..436......69.1.......8.96.2.1....531.8.4..9985.2.............", + "..2...8.4...9.47....6.5793.83.....6......5..87....2....6.4....7.4.3.....3........", + "5..8..........6..26.84127.........6.274...........81..1......5.8..354.....2...8..", + "6..1.7....8.......1.4.68.........78..9.....2.23..7.61..4....3....9.8....81792....", + "..2.41.9..843........5.9.....3.....7.4..7..298.....4.5...9.28..2..837.......5....", + ".....68..9....32....3.2.79..5..6..7..81.........91...6.....53.1.1........2.6...5.", + "5......371..56....48..73...9..8..6.5..1....7.....1.9.....3.....6..1.8.4......4.5.", + ".3.........2..9......168......3.....1...2...6..6.....7...87..248...1..6..43...19.", + "2...65..7.6.3.1..4....7.1.2.3.......4.5........2...91.926...47.3....9....71......", + "..2...7.9375.1..2.........5..76...8.....916..2..73...........671.....29..6.2..13.", + ".....1...5.64.9..1.34.....5..7......81.7..3..3.9......7...96.58.....7....6.5.87..", + "........9......36...5.8.2.15.2.4.....19.2..56.68..3..........2...4.5...8....1.93.", + "...8...72....728......9..4....1.........4...7..7..816.32....6....1629..3.....1.8.", + "...4...7.3...7...11.83....97......3.......6......6..18..1..8.93..9..4.8.6....9.5.", + "..89.5.....24.1.5....68...4.6..3..4.8..5..1..4.1..9..8.95.............6.31.......", + "5...23.1...3..........64.7..6....2.1.38....672..45.83....2..........5....261.7...", + "..865..47...4.721...........629....5.4.......59.7....278..........2.95....15.....", + "..7..26....2.....8.5.6.8.32.132.4...7..5.....58.31...........56....31...........4", + "..9...8........7..54.7....29.786..1.8.....9...6........7415.68.65...2.74.........", + "8.467.....7.5.8.366.59..........3..84....91.........93.1.7...89.......5...63.....", + ".91....8.....6.3.1.26.91.4.7.431.............8.....1.7...........9.7.8...4...963.", + ".6..7...4.....4..17..69.....8..2....4.79..3...3.4.6..92..1...9...12.7.....8.....3", + ".9..........5.1...1....83.6..1....5...4..3..8.6..2.1...5.4..8...4..125..6..9..2..", + ".81......23....4.....4......4....1......3..9.1.8..9..2..9....363....721..6..1.7..", + "89...71..............95.84...4...519........6..8...4..4.5......98.1.67..67...439.", + ".....15..1.872..3....6...7...2.1.....4......5.3...81.4.87......4...7.....2..5.6..", + "3.....61..8..6...71.6379....3.7.8........48..........224..97.8......3....9..8.43.", + ".5..3....1.7...83.6.........1.....4.463............5.7....57..2..4.2..6..7..46..3", + "......68......23..867..32....9.............18.3....765..3..8...1.8....927..5.9...", + ".3.1.98.4..5.436...6......19..7..4.........67....38...3....1....5.3.6.9.....5....", + ".1..692.7.5.........8..76.3.8.712.......8......5..6...2.....16..9..2...8.3.......", + "782.5....6.........5.1..3......42..75..3.761.8....5.4........7..........2.1...45.", + "68.59....7.......89....2.54.25...........15...6..4...1...8...62....2.74...7....1.", + "4.7....8...2...3..85.43...957.29.....2..4...7...5..2...8.....7.6..9.......4...85.", + "..2.19.....56......6.387..26.......3..7...526.......1...325..9.7..9.8.......6....", + "......15...9.253.6.....79..........5..7..4...2...5......3.....75..9..42..9.41..6.", + "..61......8...7.3...4.3..758....6..........1...342...8.....8....17.63...43...5...", + "............53...9..9..1.5..6..9521..7..265..8.............819....6...8......7.36", + "...2...4......38....6.5.3.98.5.4793..43.......9.....27.32.....84.....59..7.......", + ".7.4.3.......62...6..71.....61.4.5....2.5.......6.14...1.52...3.3....6..74.9..2.1", + ".4....6.3.15....4.39........56.48.39....5..1...3....8......3.955.4...86..79......", + "6......7.5....81.....7.64.......36.1..18.473....6.28.5.........254.......83..7...", + "8.172......6.9.....2..8...7...5..7.....918.....8.4.61....1...29..7....51.9...4...", + ".687..4.......9.3.925....872.4.8..56.9..63...6...........4.....4......6.58......2", + ".5..1..342...6.58.9.....1..3..259..8...1.........839..5....23..........1...53.6..", + "1.69........6.1..7.....4...3..5.74..4....9...879.6..1.98.....5...43........845.6.", + ".3......2..5..4..8.746.35........7.6.6.4...232...9.45.....5.....9..........2..8..", + "....7...3.7..9..2..9....6..8.4.....9....62..1..13....7......7.29..42.186.1...8...", + "...........7...2....8...4.62.........76.49.....432.9.8...2...6.64..1.8.9..38...42", + ".3..216.....46......9.73....1...2.........4...94...72..52..4....6....3.7..1.....4", + "641..............78.2..4.6..579..........2...4....1...72..1.9.61...9.......4.8.15", + ".1...3...459.2...183..5...2..5....4..9....38.1..9......4...56.3...26...........54", + "1..5..9.......8.14........56.4.........1......8..457...68.........63..9.95...137.", + "1.37....4...4.9..1.....5...4.......2...9....7..7..3........7.5..1.3.6..992.15..73", + "8.3...7.97.........9.....1897...6..2.3............1.572.879.5..........1.....3.8.", + "96.32415.....9....3....1.26.......8..3...56.4.4..8..95.....8.398..53...1.......6.", + ".2..........4..7........8....78.4..1.1.92..34.5.3......392..17.8.........7...84.2", + ".5.23.......6..8....8...5.....1......39.6.....4....9...8....4.33.....62.2..45.19.", + "..71..5....98.6..4.51..498...5.4.......5..7...4...1..3398.7...................4..", + ".7.6...38.34.2..5.1...87.2.4.7...6....3..2.8...6.4...7....368......782...........", + "73...5.2..1...84.............3......6.....2..1.4..2.5.87.....3......1.45..67...8.", + ".2..7..5137.8.12.4.5.42....8..5...72...2.........3..4.........5.1.....3.....836.7", + ".....52172....9.5........4.59........42.........8.2......9..174..54.8.....76....8", + "38...2...1.6.5..7.....3.8.92..1...5..1.8...62.5...6....9..2.7.............73.....", + ".......5....182..4....46..2...91....32...4.8.64.............2....83...69....91..8", + ".5.......3..765....8.2..4.15..........36........1...87...3....2..6.7.14....42.76.", + "1..5.27.......76.94....31...4..9.....154.....2....5...69.......7...56....217..4..", + "...5.372....84.3...31........472..8...54.........89...92.....5.....9714.......23.", + "...6...7........1..34........85.4...1..7.3...97..614....13..86..5.....9..6..8.7..", + "..34..8...8...6...2..7..3...4.9..6...72.4....631.....4.....8726.2.....41.........", + "2..3.514.61..2.....3.78.........48.3.2......5...25.47.5...4....7......12......68.", + "2.4......9.1..827.7..5..8.......7...........56...9....1.7..9.....8..4.9..6.2..1..", + "..4...5.....48..1.1...2.7.3.48..5...2...1.35.........2............6.8...3..15.46.", + "......3.4..9....8..4....51.72.......3......9..817.......79.84..29..34.57..52...3.", + "7......8..3.....1..65....3.4.3..5.9.19....5...7............6...8..7.49....7.3.14.", + "2........87..2.9...3.9........2..4..3...1..86.92..67.3..4......9274.8.6..8.......", + ".6.........9.758....1.......2.6.1.459..4..2.....85....6..5.8.....5..918.8......7.", + "..31....278......41.9.......1.....73.46....8......2.6.2.4..6........96...3...4..7", + "..56.....8....1...7...8.......9.85..12...5..7..7...8..2..5.619.4...........2..65.", + ".9.......7.8.3....36.9.....6..72...9...1..58....5....32...5...1.7..6..3.5...7...6", + "23...48757.5.....2.........4..2..5..9.34.8..66......8........54.92...6..86.....9.", + ".1.........9...2.8...5.471...43....9.8....3252..............15..432.5.8..7...1...", + ".3.....9....7.....2..8....7.6.9............35..2.65......23754.....5.3..8..6...7.", + "..51....94...5.1..2.36..4......6.....48...9........821..1.3..9..82.....46...1.2..", + ".1..52.9...536.....931...7....21.9...8.......7..6......59...6.......3...........2", + "....8..9..74....3.9.3.......1...3........9.....987.24.4.8....1..2.51......59..723", + "..83.4.1...2....7......18.....168....86.....3......2..69..1.4.....4.3......9...82", + "...3.6...6.7..9.....97......7..8...2..36....99.4..78.....5...2..5.....372.8......", + "..8....7.36......81..3.6..........34.3.1.97...85..7.....645........18.4.7........", + ".4........3...1.5.8.2.9.1..2...15.6.59.3..81.41.2....3.....4..9...953............", + "4...583..6........89.43....1.89..6.3.....5....4..637.55.7.89.....9.......6.7.....", + "5......2.....9..8....3........9.6.7...758......9.3.5181.5.7..9..76......8....2..1", + "9.....2.........3......9..4..8143...4..2....52....8...5..43.....2..5..1.17.....8.", + "6......21.41..25.3....9.7.............5..741.......63...2.3..469........3.74.6.52", + "..8....56...25..7...3.69.1.1...9.........376..37..........1.....94.2.....5.6...8.", + "...8.1.24.7.9346............2...6....3...27.....14..6...8....3...........92.6..48", + ".6...4.....4..368......9.3...8.1.....9...2...43....81..23..6.9.54.......6..29....", + "..89...5.7.1..2.......7....379..4....4.3.......2.59....1.....4.2.7..83.9.3.2.7...", + ".5.6..23...98.....21..9....4.52...6....9......21.8....8.6..4..........45........1", + ".....9....5..6.4.....7.......8.4..76...93...1.9...154......4..5..159.6.4..5.7.18.", + ".........3.9.....4...796....63......18...49..95..8...14.71...3.5.....4.8...3.9...", + "............38...17...168.99.........5.19..7.84..3......68..7......5.6..3....95..", + "....5.......8..71.5..23.........1..9.25...8....7........392...7..1....5..8....926", + ".....2..8.3...76..8..15..2.74....8....1...23.2...75.6.1..........7.3..5..6.......", + "6......9.....3.58.75.......3.89.4..6.7...3......17...4.9....1..5..6..7.88.6......", + ".......81.........14....2..9...21...8..7...5347..3.......5.4.3..2...9...3.5.7..1.", + "3.4.9.....6.5...8..98..7...5....167.....345...3......8..7.8.........64....5....6.", + ".2............68...1..39.5..3..5.6.........315.......9....63.8.4..5....6..94..2..", + "..6......53..........954.......657...98...6....781...4.......573...7........83.9.", + "3....8.......9.....71.24..58.7.52.9.2..8.........47.2351..........9.3....8..1..4.", + ".7.......419.....76....84......9......13.482.3.26..9..836.41...1..2.6............", + "......6...4............9852..5.3...8..4.96..13.2.5..4...6..42.9.3.....8.8.9......", + ".......6..6...2...2....5.......6....8..4.7...6.4.2.59.5.......3.8..9.4..7..84..2.", + ".........7.....9....92....4.4.13.....16..87.......7.2....9.1..86...7.2.39.43.....", + ".537.6..........59..624......9.6.84...2.....7...8.7.9......9..3.....846....65...8", + ".275........16..4.4....2..9......9.7..59...12........46..2.....5..4.9.6....7..8.5", + ".3..2..8......4...8..61..7.69..8....7.8...2...1.....38..1...9..9.6.3..4.4...72...", + ".472.....8.5.69...2..5.....3..7...4.......25...6...9...9..4.7...3.8.5..4..8.....2", + "34...5.911984...766.5...4.8...6....59...58.....31.4.......3.......5.6...4.19.....", + "...97.....3..1....718..4.....4.5......6..8....8.1...356..3..97..93..........8.4..", + "..5..7.......842.7.2....4...9....6.....42....1.7..9.2.5.4.6..1...1........2.98...", + ".....6.497.....61..5.......3..9...652.....7...71......5.....1.44327.........95.3.", + ".2...4.....8.7.63.9..2....4.....9.5.......2.6...68..4...2...9.3.36.....7.....5...", + "..........9.1....8.....65.....9.8..2.71...9.....2..6..1..7...5...8..4..676..592..", + "..2.....7....4..81.........3.....8696....74...243..7...194...32...72.9.4.....6...", + "3..89.627..87....3.............3..8.6...7.1..2.398...5.......6.9..62......1...9..", + "...1..9.88..2.6..4.......6..5.......9.....72...4.2...5..5...17..92......1...54...", + "........81..6.7.3....341.2.93.....167.193..4.8....2..3.....6.....849....4...18...", + "...5.87...53....1......7..66.1..5..2.329.1.....8.2..5..8......3...6......2....67.", + "8.7.6..9...2.3...6....17.8.316..87.2......9.8...2...1...5......7.......3.....6..7", + "1.7.5..29..4......5..6.2.......7...4...1...9........57.1.54..7.4.9...8...5..2..6.", + "...6...8....1.8.7.....32.....8.7315.1.4.2..........2..75.....4.6.2....1....715..6", + "3.1...25...45..1..92...63....8.4....2.......1.9....6......84.2.....15.....932.4..", + "..573...1....4.6..........96...7.4.5.....9136..........86..4...5..1.....94.3.5..8", + "9...6........15...715.......9.1485..6...9..........8..4.6....75.2..561.9.....4..8", + ".......2.......3...2....78.87.9.4..1..1..2..8.3..5.97....4795...1...84..7.......3", + "....6.43.....5.......1.3...4.1.7..2..37........284..7..2...68.416..8.5.3...5....2", + "....23.7..39...5..2..49.6..46..7.9...2....3.7..8.......96..24..7........5...69...", + "....4852......2..4..7.3....56.....4.7..95......9.....7..63.....92...67..458.7....", + "..6..2..5......4....4..5.96.8.7...63.3..2.95...7.6..2................2.9...3.6..8", + "....6...787.4.3..9.43...5.....3.58.4......73.....4...27..8..6..........5..267...3", + "5...2...86........972..64..4...1.8..76.5.9.4.1.9..8..5......1.6...1...5....4..7..", + "45.3...6.1....9..3..7.........73..4....5846.....9.6..15..61.9...7........83......", + "..9.87.516..91.........2...3.1....9.9......758.2..51......23.....3.7.2.8........9", + "5...3.49.8..4.56...3...9..1.....3.............5...1.32..39...6.48.6....5......8..", + "4...25.1.7...49..2.............61.4.9...74.6...79...........9....2..73.4...23.1..", + "...6.2.....4.5.7.22..7..8.97.2....4.3.....6...95.......69....844...9.3...8..6....", + "..69.7.4..2.3.1...8..62.9........8...4......3.7...9..24...78.2..8....7.63........", + "71..3..68.....6..2..3....4982.4...1....1...83...27.....41..2.....7.....438.......", + "...4...6...23....4.9..2.1.32.7.9.....69......18...32..72........16...9....4.6...8", + "1...4..255....9..88..31.....4...3.......8..92.7..54...4....1.....9...8.1.......57", + ".3.......5...1....91758.4...2..34...4......92..52..14....97.8..8.......5.9.3.....", + ".36...21.528....63....3.........8.9....976.....3.2...76..7....2....19.5....8...3.", + "72...5.....1...96...3.....86.5.18.9..12.....7.......5..6.....3..971....6.....2.8.", + "..9....8....73.........47....3.......8..1.....4..9317.....423...6.87.4.9.....6.1.", + ".8.6.....1...4....763...1............1...75.4576.9......7..4.9.....38....4.7...83", + ".6...2...5......24..2.58.....7.2....4593..7.....54.3......64.7....93.....36.....8", + "....4.5....8.3.....53.9.4.8...76.3...17....9...58........6.397...........7..85134", + "......8...4..2.6.9...6...3...7..31848.......3......7...2...6.....4....9.9.61.83..", + "...86.217.3.9.........5.8....5..197..8..2.....2.3.56..5.....7........19...3..9.5.", + ".1.957...5.9864..............6.2......84952.....7..4.....5....4.41.89...7....269.", + "..........1.3..7...3..46....58....6...9..54.11.3..7.8....4...79.967...1.4...8.6..", + ".....69......7....3.72...5......4....3.8....6...9.2.357....9....49.2.78.85.4.....", + "64.9...7...8......93..24.8..1..7..4..9......6....4.........2..4.2..1..3...638....", + "..47.3.5...........2.6...83........6.5.13...4...82....3...5.1..28.3..4.7.71.....2", + ".897....651..68.3...2...8....3.1..62.2...57.....37..8....28........36...6..5.1...", + "5....2..........2..6...7..1......25...7.3...4.5.2843.....56.83...1..3..7....4.1..", + "16.......2.8.6.......8...4...4.3.85..3..5...2...41...3.5.1.....672.........5...8.", + ".4...9.7.......4233.7......5..8.....9..5.6.872...4.3...95...8.26.........8.4...96", + "8....2.16..6...3...4.....8..3.......9.2.....8..5..9..32.3.8.1.....5...6.51....9..", + "79..4.1..8.3.7..466.453.9......5......6...8......9.753......58......4......78.69.", + ".....6.4..4.72........35..2....8.29.....72..85..6...3...9...87.6...57..4...3..9.6", + ".1....6.4.....1...3.84.......1..2.594.3..5..25...6....6..8.9......253.4.....14.9.", + "....2.75....8.1.6.5..6.........781.......6.2..2.....3...7.....43.6...87......4..5", + "71........29......5.......3.....178......34...4...72..9......7.48.2.......3.19..2", + "8....193...523....9.2.....756...8...........1.9.....6.1..9.2.8......65....7..5...", + "7.65.1....8...7...2.5........24..19.4.....8.6.9.67.5.....8.........56..21...92...", + "...3.......5....87.3.8.7..2..64...15.5..312.62...7...4.....8.5.4.8.6..2.....1....", + "9..7.5.....6.9....18....9.....9.....7...41..84536......3..84..7.......1...4...8..", + "7.12....5.89......25.9...4.4...2.1...7.8.9......46..725..6...2.......9.7.2....5.4", + "..58..7.973.......9.....12.4.3.......78....4..1...........3.8...5.28.97..9..14..5", + "....4368....1..2.4....79..3.9.3.4...............6..921...7.....97...1.3..21.6....", + "1.54..93.2.7...5...94........2.53.......6.157...9............7...9.......6..2..41", + "7.6.5..8..9...6...5...2.....7.1.....85.....2.4....9....4.5..1...1...7.95...4..8..", + "...4.1.....46..19....95.....2..4...6416....3.9.3......3..57..6..51.....77...1..4.", + "196.7........2.9.......47.56.58...2......16.88...47..1..4......7.....8...2.......", + ".3..7.............7...32.8...3.98.655.6....2.8..1....3...9...5...7...2...9...6738", + "2....7..9.3.49..624...3.1....5.....1.2...5.7............36...5..6.......51.9..3..", + "..8...3.1.3.....5.1.6.2...97.5.1..2.3..2.....2..8..57...2...7.....9.8..........18", + "..9.672.....4....1....92....6.2..91...89.1.43........82.....8..4..62.....31......", + ".2..9.81.96...1..2...5....9........5.9.8........2.3....7.....5335..7.19...63...7.", + "5..4.........6..9.286.1.........971..27.5...88.1...4........6..9.....8...15..7...", + "2.9.............9..165....71.....7..4..9.2.15.321..6..94...7.......3....67...5..2", + ".836....449...8.......3................4....81529......6..23....3..6921..15....3.", + "........59...3.2..1.....6.3..9......2....8.464....29....49.....8..1....236.524...", + ".9...6......48.......132.6..2891.5..36....9.1....2.3........6.3.....4.9.6..3..418", + "..12....5.94................3.5...8.948...........2.9..1...3..6.651...4....8.9.2.", + "..5..9...9...5...7.4......6......5..8.2....9.5...42..1.61...8....89...754...6....", + "41........7.1........25.....6..4.2.15....2.36...5...47..6......129.36.7.7.......4", + "3.....59..1.9..6.2..23...71.975..2.....4......2...6...1.........6.7.5..4.7..32...", + ".........2..16.....68..7.....7....6..8.623..15...8..9...3.......9.51...81.5.9....", + "7.82..6..9.6.4.....1465........6.5....1.....2......19...2.94.5.1.582.7.9.4..7....", + ".65127..8..1....52....3.67..........3.4.5.8....7483....5.........83..4.....86...7" + }; +} diff --git a/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/package.bluej b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/package.bluej new file mode 100644 index 0000000..5fcb5a2 --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/01_sudoku_roh/package.bluej @@ -0,0 +1,124 @@ +#BlueJ package file +dependency1.from=BekannteZahl +dependency1.to=SudokuPanel +dependency1.type=UsesDependency +dependency10.from=SudokuGitter +dependency10.to=BekannteZahl +dependency10.type=UsesDependency +dependency11.from=SudokuGitter +dependency11.to=Kandidatenmenge +dependency11.type=UsesDependency +dependency12.from=SudokuGitter +dependency12.to=SudokuRaetselDB +dependency12.type=UsesDependency +dependency2.from=Kandidatenmenge +dependency2.to=SudokuPanel +dependency2.type=UsesDependency +dependency3.from=SudokuFrame +dependency3.to=SudokuGitter +dependency3.type=UsesDependency +dependency4.from=SudokuFrame +dependency4.to=SudokuPanel +dependency4.type=UsesDependency +dependency5.from=SudokuFrame +dependency5.to=Kandidatenmenge +dependency5.type=UsesDependency +dependency6.from=SudokuPanel +dependency6.to=SudokuGitter +dependency6.type=UsesDependency +dependency7.from=SudokuPanel +dependency7.to=Eintrag +dependency7.type=UsesDependency +dependency8.from=SudokuGitter +dependency8.to=SudokuFrame +dependency8.type=UsesDependency +dependency9.from=SudokuGitter +dependency9.to=Eintrag +dependency9.type=UsesDependency +editor.fx.0.height=940 +editor.fx.0.width=840 +editor.fx.0.x=24 +editor.fx.0.y=26 +objectbench.height=137 +objectbench.width=814 +package.divider.horizontal=0.6 +package.divider.vertical=0.7974683544303798 +package.editor.height=547 +package.editor.width=703 +package.editor.x=638 +package.editor.y=53 +package.frame.height=811 +package.frame.width=854 +package.numDependencies=12 +package.numTargets=9 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=Eintrag +target1.showInterface=false +target1.type=InterfaceTarget +target1.width=80 +target1.x=270 +target1.y=320 +target2.height=50 +target2.name=Kandidatenmenge +target2.showInterface=false +target2.type=ClassTarget +target2.width=140 +target2.x=160 +target2.y=440 +target3.height=50 +target3.name=SudokuGitter +target3.showInterface=false +target3.type=ClassTarget +target3.width=110 +target3.x=480 +target3.y=260 +target4.height=50 +target4.name=Set +target4.showInterface=false +target4.type=AbstractTarget +target4.width=80 +target4.x=20 +target4.y=310 +target5.height=50 +target5.name=SudokuFrame +target5.showInterface=false +target5.type=ClassTarget +target5.width=110 +target5.x=330 +target5.y=50 +target6.height=50 +target6.name=SudokuRaetselDB +target6.showInterface=false +target6.type=ClassTarget +target6.width=130 +target6.x=560 +target6.y=150 +target7.height=50 +target7.name=SudokuPanel +target7.showInterface=false +target7.type=ClassTarget +target7.width=110 +target7.x=40 +target7.y=120 +target8.height=50 +target8.name=BekannteZahl +target8.showInterface=false +target8.type=ClassTarget +target8.width=110 +target8.x=370 +target8.y=440 +target9.height=50 +target9.name=BitSet +target9.showInterface=false +target9.type=ClassTarget +target9.width=80 +target9.x=20 +target9.y=390 diff --git a/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/BekannteZahl.java b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/BekannteZahl.java new file mode 100644 index 0000000..8c573dc --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/BekannteZahl.java @@ -0,0 +1,59 @@ +import java.awt.*; + +/** + * Repräsentiert eine "sicher" eingetragene Zahl in einer Sudoku-Zelle + * Kann eine Vorgabe sein oder eine durch Schlussfolgerungen gesetzte Zahl sein. + * + * @author Rainer Helfrich + * @version Dezember 2020 + */ +public class BekannteZahl implements Eintrag +{ + /** + * Der Wert der bekannten Zahl + */ + private int wert; + + /** + * Die Farbe, in der die Zahl gezeichnet werden soll (für Backtracking-Situationen) + */ + private Color farbe; + + /** + * Erzeugt eine neue bekannte Zahl + * @param w Der Wert der Zahl + */ + public BekannteZahl(int w) + { + wert = w; + farbe = Color.BLACK; + } + + /** + * Markiert die Zahl, dies bedeutet, dass sie beim Backtracking "geraten" wurde + */ + public void setMarkiert() + { + farbe = new Color(140, 70, 120); + } + + /** + * Zeichnet die Zahl auf ein Graphics-Objekt + * Sollte nicht direkt aufgerufen werden. + */ + public void zeichneDich(Graphics g, Rectangle r) + { + g.setColor(farbe); + g.setFont(g.getFont().deriveFont(65.0f)); + SudokuPanel.drawCenteredString(g, ""+wert, r); + } + + /** + * Gibt den Zahlwert der bekannten Zahl zurück + * @return Der Wert der Zahl + */ + public int getZahl() + { + return wert; + } +} diff --git a/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/BitSet.java b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/BitSet.java new file mode 100644 index 0000000..2f8bf0a --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/BitSet.java @@ -0,0 +1,294 @@ +import java.util.ArrayList; + +/** + * Eine Set basierend auf Bitvektoren + * + * @author Rainer Helfrich + * @version 26.9.2020 + */ +public class BitSet extends Set +{ + private ArrayList daten; + + /** + * Erzeugt eine neue leere Set + */ + public BitSet() + { + daten = new ArrayList(); + } + + protected int[] alsArray() + { + int[] ergebnis = new int[anzahl()]; + int index = 0; + for (int i = 0; i < 32*daten.size(); i++) + { + if (enthaelt(i)) + { + ergebnis[index] = i; + index++; + } + } + return ergebnis; + } + + /** + * Gibt zurück, ob die Menge kein Element enthält + * @return true, wenn die Menge leer ist; false sonst + */ + public boolean istLeer() + { + for (int v : daten) + { + if (v != 0) + { + return false; + } + } + return true; + } + + /** + * Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist. + * @param wert Der zu suchende Wert + */ + public boolean enthaelt(int x) + { + if (x >= 32*daten.size() || x < 0) + { + return false; + } + int i = x / 32; + int j = x % 32; + int mask = 1 << j; + return (daten.get(i) & mask) != 0; + } + + /** + * Gibt die Mächtigkeit der Menge zurück + * @return Die Anzahl der Elemente in der Menge + */ + public int anzahl() + { + int laenge = 0; + for (int i : daten) + { + laenge += Integer.bitCount(i); + } + return laenge; + } + + /** + * Bestimmt die Differenzmenge der Menge selbst und der Menge s. + * @param s Die Menge, die von dieser Menge abgezogen werden soll. + * @return Eine neue Set, die alle Elemente dieser Menge enthält, die nicht in s enthalten sind. + */ + public Set differenz(Set s) + { + BitSet ergebnis = new BitSet(); + if (s instanceof BitSet) + { + BitSet bs = (BitSet)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + ergebnis.daten.add(daten.get(i) & ~(bs.daten.get(i))); + } + for (int i = bs.daten.size(); i < daten.size(); i++) + { + ergebnis.daten.add(daten.get(i)); + } + } + else + { + for (int i = 0; i < 32*daten.size(); i++) + { + if (enthaelt(i) && !s.enthaelt(i)) + { + ergebnis.einfuegen(i); + } + } + } + return ergebnis; + } + + /** + * Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist. + * @param wert Der einzufügende Wert + */ + public void einfuegen(int x) + { + if (x >= 0) + { + int i = x / 32; + daten.ensureCapacity(i+1); + while(i >= daten.size()) + { + daten.add(0); + } + int j = x % 32; + int mask = 1 << j; + daten.set(i, daten.get(i) | mask); + } + } + + /** + * Gibt zurück, ob diese Menge eine Untermenge der Menge s ist. + * @param s Die Menge, die geprüft werden soll. + * @return true, wenn jedes Element dieser Menge in s enthalten ist; false sonst + */ + public boolean untermenge(Set s) + { + if (s instanceof BitSet) + { + BitSet bs = (BitSet)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + int a = daten.get(i); + int b = bs.daten.get(i); + if ((a & ~b) != 0) + { + return false; + } + } + for (int i = bs.daten.size(); i < daten.size(); i++) + { + if (daten.get(i) != 0) + { + return false; + } + } + return true; + } + else + { + for (int i = 0; i < 32*daten.size(); i++) + { + if (enthaelt(i) && !s.enthaelt(i)) + { + return false; + } + } + return true; + } + } + + /** + * Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Vereinigungsmenge bestimmt werden soll + * @return Eine neue Set, die die Vereinigungsmenge der beiden Mengen repräsentiert. + */ + public Set vereinigungsmenge(Set s) + { + BitSet ergebnis = new BitSet(); + if (s instanceof BitSet) + { + BitSet bs = (BitSet)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + ergebnis.daten.add(daten.get(i) | bs.daten.get(i)); + } + for (int i = daten.size(); i < bs.daten.size(); i++) + { + ergebnis.daten.add(bs.daten.get(i)); + } + for (int i = bs.daten.size(); i < daten.size(); i++) + { + ergebnis.daten.add(daten.get(i)); + } + } + else + { + int[] a = s.alsArray(); + ergebnis.daten.addAll(daten); + for (int n : a) + { + ergebnis.einfuegen(n); + } + } + return ergebnis; + } + + /** + * Bestimmt die Schnittmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Schnittmenge bestimmt werden soll + * @return Eine neue Set, die die Schnittmenge der beiden Mengen repräsentiert. + */ + public Set schnittmenge(Set s) + { + BitSet ergebnis = new BitSet(); + if (s instanceof BitSet) + { + BitSet bs = (BitSet)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + ergebnis.daten.add(daten.get(i) & bs.daten.get(i)); + } + } + else + { + for (int i = 0; i < 32*daten.size(); i++) + { + if (enthaelt(i) && s.enthaelt(i)) + { + ergebnis.einfuegen(i); + } + } + } + return ergebnis; + } + + /** + * Entfernt einen Wert aus der Menge, falls er enthalten ist. + * @param wert Der zu entfernende Wert + */ + public void entfernen(int x) + { + if (x < 32*daten.size() && x >= 0) + { + int i = x / 32; + int j = x % 32; + int mask = ~(1 << j); + daten.set(i, daten.get(i) & mask); + } + } + + /** + * Gibt zurück, ob diese Menge und s die gleichen Elemente enthalten + * @param s Die zu überprüfende Menge + * @return true, wenn beide Mengen die gleichen Elemente enthalten; false sonst + */ + public boolean gleich(Set s) + { + if (s instanceof BitSet) + { + BitSet bs = (BitSet)s; + for (int i = 0; i < Math.min(daten.size(), bs.daten.size()); i++) + { + if (daten.get(i) != bs.daten.get(i)) + { + return false; + } + } + for (int i = daten.size(); i < bs.daten.size(); i++) + { + if (bs.daten.get(i) != 0) + { + return false; + } + } + for (int i = bs.daten.size(); i < daten.size(); i++) + { + if (daten.get(i) != 0) + { + return false; + } + } + return true; + } + else + { + return super.gleich(s); + } + } +} diff --git a/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/Eintrag.java b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/Eintrag.java new file mode 100644 index 0000000..41959af --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/Eintrag.java @@ -0,0 +1,16 @@ +import java.awt.*; + +/** + * Ein Eintrag in einer Sudoku-Zelle, kann entweder eine feststehende Zahl sein oder eine Menge von Kandidaten + * + * @author Rainer Helfrich + * @version Dezember 2020 + */ +public interface Eintrag +{ + /** + * Zeichnet den Eintrag auf ein Graphics-Objekt + * Sollte nicht direkt aufgerufen werden. + */ + void zeichneDich(Graphics g, Rectangle ziel); +} diff --git a/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/Kandidatenmenge.java b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/Kandidatenmenge.java new file mode 100644 index 0000000..5305d01 --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/Kandidatenmenge.java @@ -0,0 +1,56 @@ +import java.awt.*; + +/** + * Repräsentiert eine Kandidatenmenge für eine Sudoku-Zelle + * + * @author Rainer Helfrich + * @version Dezember 2020 + */ +public class Kandidatenmenge extends BitSet implements Eintrag +{ + /** + * Erzeugt eine neue Kandidatenmenge bestehend aus den Zahlen von 1 bis 9 + */ + public Kandidatenmenge() + { + for (int i = 1; i <= 9; i++) + { + this.einfuegen(i); + } + } + + /** + * Zeichnet die Kandidatenmenge auf ein Graphics-Objekt + * Sollte nicht direkt aufgerufen werden. + */ + public void zeichneDich(Graphics g, Rectangle r) + { + if (istLeer()) + { + g.setColor(Color.RED); + ((Graphics2D)g).setStroke(new BasicStroke(3)); + g.drawLine(r.x,r.y,r.x+r.width, r.y+r.height); + g.drawLine(r.x,r.y+r.height,r.x+r.width, r.y); + } + else + { + g.setColor(Color.BLUE); + g.setFont(g.getFont().deriveFont(20.0f)); + for (int i = 0; i < 3; i++) + { + for (int j = 0; j < 3; j++) + { + int n = 3*j+i+1; + if (enthaelt(n)) + { + int x = (int)(r.getX()+i*r.getWidth()/3); + int y = (int)(r.getY()+j*r.getHeight()/3); + int w = (int)(r.getWidth()/3); + int h = (int)(r.getHeight()/3); + SudokuPanel.drawCenteredString(g, ""+n, x, y, w, h); + } + } + } + } + } +} diff --git a/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/README.TXT b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/README.TXT new file mode 100644 index 0000000..b1e254d --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/README.TXT @@ -0,0 +1,5 @@ +PROJEKTBEZEICHNUNG: Sudoku +PROJEKTZWECK: Implementieren Sie einen Teil eines Sudoku-Löser +VERSION oder DATUM: Dezember 2020 +WIE IST DAS PROJEKT ZU STARTEN: Erzeugen Sie ein neues Objekt vom Typ SudokuGitter, entweder ohne Parameter oder mit einem int-Parameter (von 0 bis 399) +AUTOR(EN): Rainer Helfrich, ZPG Informatik diff --git a/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/Set.java b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/Set.java new file mode 100644 index 0000000..60ec0f2 --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/Set.java @@ -0,0 +1,107 @@ +/** + * Schnittstelle des ADTs Set + * + * @author Rainer Helfrich + * @version 26.9.2020 + */ + +public abstract class Set +{ + /** + * Fügt einen neuen Wert in die Menge ein, falls er nicht bereits enthalten ist. + * @param wert Der einzufügende Wert + */ + public abstract void einfuegen(int wert); + + /** + * Entfernt einen Wert aus der Menge, falls er enthalten ist. + * @param wert Der zu entfernende Wert + */ + public abstract void entfernen(int wert); + + /** + * Gibt zurück, ob ein bestimmter Wert in der Menge enthalten ist. + * @param wert Der zu suchende Wert + */ + public abstract boolean enthaelt(int wert); + + /** + * Bestimmt die Schnittmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Schnittmenge bestimmt werden soll + * @return Eine neue Set, die die Schnittmenge der beiden Mengen repräsentiert. + */ + public abstract Set schnittmenge(Set s); + + /** + * Bestimmt die Vereinigungsmenge der Menge selbst und der Menge s. + * @param s Die Menge, mit der die Vereinigungsmenge bestimmt werden soll + * @return Eine neue Set, die die Vereinigungsmenge der beiden Mengen repräsentiert. + */ + public abstract Set vereinigungsmenge(Set s); + + /** + * Gibt zurück, ob diese Menge eine Untermenge der Menge s ist. + * @param s Die Menge, die geprüft werden soll. + * @return true, wenn jedes Element dieser Menge in s enthalten ist; false sonst + */ + public abstract boolean untermenge(Set s); + + /** + * Bestimmt die Differenzmenge der Menge selbst und der Menge s. + * @param s Die Menge, die von dieser Menge abgezogen werden soll. + * @return Eine neue Set, die alle Elemente dieser Menge enthält, die nicht in s enthalten sind. + */ + public abstract Set differenz(Set s); + + /** + * Gibt die Mächtigkeit der Menge zurück + * @return Die Anzahl der Elemente in der Menge + */ + public abstract int anzahl(); + + /** + * Gibt zurück, ob die Menge kein Element enthält + * @return true, wenn die Menge leer ist; false sonst + */ + public abstract boolean istLeer(); + + protected abstract int[] alsArray(); + + /** + * Gibt zurück, ob diese Menge und s die gleichen Elemente enthalten + * @param s Die zu überprüfende Menge + * @return true, wenn beide Mengen die gleichen Elemente enthalten; false sonst + */ + public boolean gleich(Set s) + { + return untermenge(s) && s.untermenge(this); + } + + /** + * Gibt die String-Darstellung der Menge (aufzählende Darstellung) zurück + * @return Ein String, der alle Elemente der Menge aufzählt. + */ + @Override + public String toString() + { + if (istLeer()) + { + return "{ }"; + } + StringBuilder sb = new StringBuilder(); + for(int v : alsArray()) + { + if (sb.length() == 0) + { + sb.append("{ "); + } + else + { + sb.append(", "); + } + sb.append(v); + } + sb.append(" }"); + return sb.toString(); + } +} diff --git a/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/SudokuFrame.java b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/SudokuFrame.java new file mode 100644 index 0000000..8473207 --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/SudokuFrame.java @@ -0,0 +1,194 @@ +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.swing.event.*; +import java.util.concurrent.atomic.AtomicBoolean; + +/** + * + * Ein Fenster, um das Sudoku-Spiel darzustellen + * Hier sollte nichts verändert werden. + * @version Dezember 2020 + * @author Rainer Helfrich + */ + +public class SudokuFrame extends JFrame { + + Point backtrackingPosition; + int nextBacktrackIndex; + JButton btnBacktrack; + SudokuGitter dasSpiel; + JLabel lblSackgasse; + + public SudokuFrame(SudokuGitter sp, SudokuFrame parent) { + + super(); + backtrackingPosition = null; + dasSpiel = sp; + nextBacktrackIndex = -1; + setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + int frameWidth = 800; + int frameHeight = 900; + setSize(frameWidth, frameHeight); + + if (parent != null) + { + parent.setEnabled(false); + setLocation(parent.getX() + 20, parent.getY() + 20); + } + else + { + Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); + int x = (d.width - getSize().width) / 2; + int y = (d.height - getSize().height) / 2; + setLocation(x, y); + } + setTitle("Sudokus lösen"); + setResizable(false); + Container cp = getContentPane(); + cp.setLayout(null); + + SudokuPanel sudokuPanel1 = new SudokuPanel(sp); + sudokuPanel1.setBounds(8, 8, 720, 720); + cp.add(sudokuPanel1); + + final JLabel lblGewonnen = new JLabel("Spiel gelöst"); + lblGewonnen.setBounds(220, 770, 400, 16); + lblGewonnen.hide(); + cp.add(lblGewonnen); + + lblSackgasse = new JLabel("Spiel so nicht lösbar -> Backtracking nötig"); + lblSackgasse.setBounds(220, 770, 400, 16); + lblSackgasse.setForeground(Color.RED); + lblSackgasse.hide(); + cp.add(lblSackgasse); + + final JButton btnKandidatenListe = new JButton("Kandidatenmengen erstellen"); + final JButton btnEintrag = new JButton("Eintragen"); + final JButton btnAutomatisch = new JButton("Automatisch"); + btnAutomatisch.setBounds(8, 770, 200, 24); + btnEintrag.setEnabled(false); + btnBacktrack = new JButton("Backtracking-Schritt"); + btnBacktrack.setEnabled(false); + btnKandidatenListe.setBounds(8, 740, 200, 24); + + AtomicBoolean bEintragungMoeglich = new AtomicBoolean(false); + ActionListener alKandidaten = new ActionListener() { + public void actionPerformed(ActionEvent evt) { + bEintragungMoeglich.set(sp.kandidatenMengenErstellen()); + if (bEintragungMoeglich.get()) + { + btnEintrag.setEnabled(true); + } + else // Fehler -> Zurückgehen + { + btnBacktrack.setEnabled(false); + btnAutomatisch.setEnabled(false); + lblSackgasse.show(); + } + btnKandidatenListe.setEnabled(false); + sudokuPanel1.repaint(); + } + }; + ActionListener alEintrag = new ActionListener() { + public void actionPerformed(ActionEvent evt) { + bEintragungMoeglich.set(sp.eintragen()); + if (bEintragungMoeglich.get()) // es war eine Eintragung möglich + { + btnKandidatenListe.setEnabled(true); + } + else // Man muss raten -> Backtracking + { + btnBacktrack.setEnabled(true); + btnAutomatisch.setEnabled(false); + backtrackingPosition = sp.getPositionVonKleinsterKandidatenmenge(); + if (backtrackingPosition == null) + { + if (sp.istGeloest()) + { + lblGewonnen.show(); + btnBacktrack.setEnabled(false); + btnEintrag.setEnabled(false); + } + return; + } + Kandidatenmenge km = (Kandidatenmenge)sp.getEintrag(backtrackingPosition.x, backtrackingPosition.y); + nextBacktrackIndex = 0; + btnBacktrack.setText("Backtracking-Schritt 1 von " + km.anzahl()); + } + btnEintrag.setEnabled(false); + sudokuPanel1.repaint(); + } + }; + + btnKandidatenListe.addActionListener(alKandidaten); + cp.add(btnKandidatenListe); + cp.add(btnAutomatisch); + + btnEintrag.setBounds(220, 740, 200, 24); + btnEintrag.addActionListener(alEintrag); + cp.add(btnEintrag); + + btnAutomatisch.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent evt) { + if (btnEintrag.isEnabled()) + { + alEintrag.actionPerformed(null); + } + while(true) + { + alKandidaten.actionPerformed(null); + if (!bEintragungMoeglich.get()) + { + break; + } + alEintrag.actionPerformed(null); + if (!bEintragungMoeglich.get()) + { + break; + } + } + } + }); + + btnBacktrack.setBounds(220+212, 740, 200, 24); + btnBacktrack.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent evt) { + int versuch = ((Kandidatenmenge)sp.getEintrag(backtrackingPosition.x, backtrackingPosition.y)).alsArray()[nextBacktrackIndex]; + SudokuGitter spNeu = sp.klonErzeugen(backtrackingPosition.x, backtrackingPosition.y, versuch); + } + }); + cp.add(btnBacktrack); + + addWindowListener(new WindowAdapter(){ + public void windowClosing(WindowEvent e){ + if (parent != null) + { + parent.setEnabled(true); + parent.nextBacktrackStep(); + } + } + }); + setVisible(true); + } + + private void nextBacktrackStep() + { + if (this.backtrackingPosition != null) + { + Kandidatenmenge km = (Kandidatenmenge)dasSpiel.getEintrag(backtrackingPosition.x, backtrackingPosition.y); + nextBacktrackIndex++; + if (nextBacktrackIndex >= km.anzahl()) + { + btnBacktrack.setEnabled(false); + btnBacktrack.setText("Backtracking-Schritt"); + lblSackgasse.show(); + } + else + { + btnBacktrack.setText("Backtracking-Schritt "+(nextBacktrackIndex+1)+" von " + km.anzahl()); + } + } + + } +} diff --git a/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/SudokuGitter.java b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/SudokuGitter.java new file mode 100644 index 0000000..9de53c9 --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/SudokuGitter.java @@ -0,0 +1,504 @@ +import java.util.ArrayList; +import java.util.function.Predicate; +import java.awt.Point; + +/** + * Repräsentiert ein 9x9-Sudoku-Gitter + * + * @author Rainer Helfrich + * @version Dezember 2020 + */ +public class SudokuGitter +{ + /** + * Die einzelnen Felder des Gitters + * Erster Index = x-Koordinate + * Zweiter Index = y-Koordinate + */ + private Eintrag[][] felder; + + /** + * Verweist auf das Fenster, in dem das Gitter dargestellt wird + */ + private SudokuFrame theFrame; + + /** + * Erzeugt ein neues Gitter mit dem Rätsel Nr. 100 + */ + public SudokuGitter() + { + this(100); + } + + /** + * Erzeugt ein neues Gitter mit dem Rätsel Nr. 100 + * @param nummer Die Nummer des Spiels + */ + public SudokuGitter(int nummer) + { + this(SudokuRaetselDB.getRaetsel(nummer)); + } + + /** + * Erzeugt ein neues Gitter mit durch den String beschriebenen Spiel + * @param spiel Eine String-Codierung des Spiels + */ + public SudokuGitter(String spiel) + { + this(spiel, null); + } + + /** + * Erzeugt ein neues Gitter als Kopie eines anderen Gitters + * @param vorlage Die Vorlage für das neue Gitter + */ + private SudokuGitter(SudokuGitter vorlage) + { + this(vorlage.toString(), vorlage.theFrame); + } + + /** + * Erzeugt ein neues Gitter mit durch den String beschriebenen Spiel + * @param spiel Eine String-Codierung des Spiels + * @param parent Das übergeordnete Fenster des neu erzeugten Fensters (kann auch null sein) + */ + private SudokuGitter(String spiel, SudokuFrame parent) + { + felder = new Eintrag[9][9]; + char[] cSpiel = spiel.toCharArray(); + for (int i = 0; i < 9; i++) + { + for (int j = 0; j < 9; j++) + { + if (cSpiel[9*j+i] != '.') + { + felder[i][j] = new BekannteZahl(Integer.parseInt(""+cSpiel[9*j+i])); + } + } + } + theFrame = new SudokuFrame(this, parent); + } + + /** + * Wandelt das Gitter in seine String-Darstellung um + * @return Eine String-Darstellung des Gitters + */ + public String toString() + { + StringBuilder sb = new StringBuilder(); + for (int y = 0; y < 9; y++) + { + for (int x = 0; x < 9; x++) + { + if (felder[x][y] instanceof BekannteZahl) + { + sb.append(""+((BekannteZahl)felder[x][y]).getZahl()); + } + else + { + sb.append("."); + } + } + } + return sb.toString(); + } + + /** + * Gibt den Eintrag an der gewünschten Koordinate zurück + * @param x Die x-Koordinate des Eintrags (0 bis 8) + * @param y Die y-Koordinate des Eintrags (0 bis 8) + * @return Der Eintrag an der gewünschten Koordinate + */ + public Eintrag getEintrag(int x, int y) + { + return felder[x][y]; + } + + /** + * Gibt alle Einträge der gewünschten Zeile zurück + * @param z Die Nummer der Zeile (0 bis 8) + * @return Ein Array mit allen Einträgen der Zeile + */ + private Eintrag[] getZeile(int z) + { + return getZeile(z, null); + } + + /** + * Gibt alle Einträge der gewünschten Zeile zurück, die einem Prädikat entsprechen + * @param z Die Nummer der Zeile (0 bis 8) + * @param pred Das Prädikat, mit dem die Einträge geprüft werden sollen; null für alle Einträge + * @return Ein Array mit allen Einträgen der Zeile, die dem Prädikat entsprechen + */ + private Eintrag[] getZeile(int z, Predicate pred) + { + ArrayList a = new ArrayList(); + for (int i = 0; i < 9; i++) + { + if (pred == null || pred.test(felder[i][z])) + a.add(felder[i][z]); + } + return a.toArray(new Eintrag[0]); + } + + /** + * Gibt alle Einträge der gewünschten Spalte zurück + * @param s Die Nummer der Spalte (0 bis 8) + * @return Ein Array mit allen Einträgen der Spalte + */ + private Eintrag[] getSpalte(int s) + { + return getSpalte(s, null); + } + + /** + * Gibt alle Einträge der gewünschten Spalte zurück, die einem Prädikat entsprechen + * @param s Die Nummer der Spalte (0 bis 8) + * @param pred Das Prädikat, mit dem die Einträge geprüft werden sollen; null für alle Einträge + * @return Ein Array mit allen Einträgen der Spalte, die dem Prädikat entsprechen + */ + private Eintrag[] getSpalte(int s, Predicate pred) + { + ArrayList a = new ArrayList(); + for (int i = 0; i < 9; i++) + { + if (pred == null || pred.test(felder[s][i])) + a.add(felder[s][i]); + } + return a.toArray(new Eintrag[0]); + } + + /** + * Gibt alle Einträge des Blocks zurück, in dem die Zelle (x,y) liegt + * @param x Die x-Koordinate der Zelle (0 bis 8) + * @param y Die y-Koordinate der Zelle (0 bis 8) + * @return Ein Array mit allen Einträgen des Blocks + */ + private Eintrag[] getBlockVon(int x, int y) + { + return getBlockVon(x, y, null); + } + + /** + * Gibt alle Einträge des Blocks zurück, in dem die Zelle (x,y) liegt, sonfern diese einem Prädikat entsprechen + * @param x Die x-Koordinate der Zelle (0 bis 8) + * @param y Die y-Koordinate der Zelle (0 bis 8) + * @return Ein Array mit allen Einträgen des Blocks, die dem Prädikat entsprechen + */ + private Eintrag[] getBlockVon(int x, int y, Predicate pred) + { + ArrayList a = new ArrayList(); + int xs = (x/3)*3; + int ys = (y/3)*3; + for (int i = 0; i < 3; i++) + { + for (int j = 0; j < 3; j++) + { + if (pred == null || pred.test(felder[xs+i][ys+j])) + a.add(felder[xs+i][ys+j]); + } + } + return a.toArray(new Eintrag[0]); + } + + /** + * Sucht die kleinste Kandidatenmenge im Gitter und gibt ihre Koordinaten als Point zurück + * @return Die Koordinaten der kleinsten Kandidatenmenge; null, wenn keine Kandidatenmenge im Gitter steht + */ + public Point getPositionVonKleinsterKandidatenmenge() + { + int min = 10; + Point p = null; + for (int y = 0; y < 9; y++) + { + for (int x = 0; x < 9; x++) + { + if (felder[x][y] instanceof Kandidatenmenge) + { + Kandidatenmenge km = (Kandidatenmenge)felder[x][y]; + if (km.anzahl() == 2) // besser kann es nicht werden + { + return new Point(x,y); + } + if (km.anzahl() < min) + { + min = km.anzahl(); + p = new Point(x,y); + } + } + } + } + return p; + } + + /** + * Trägt eine Zahl ins Gitter ein, wenn es möglich ist. Wenn ja, löscht es alle Kandidatenmengen aus dem Gitter + * @return true, wenn eine Eintragung möglich war; false sonst + */ + public boolean eintragen() + { + boolean ergebnis = nackterEinerEintragen(); + if (!ergebnis) + { + ergebnis = versteckterEinerEintragen(); + } + if (ergebnis) + { + for (int i = 0; i < 9; i++) + { + for (int j = 0; j < 9; j++) + { + if (felder[i][j] instanceof Kandidatenmenge) + { + felder[i][j] = null; + } + } + } + } + return ergebnis; + } + + /** + * Trägt eine Zahl nach der "Nackter Einer"-Technik ins Gitter ein. + * @return true, wenn eine solche Eintragung möglich war; false sonst + */ + private boolean nackterEinerEintragen() + { + for (int i = 0; i < 9; i++) + { + for (int j = 0; j < 9; j++) + { + if (felder[i][j] instanceof Kandidatenmenge) + { + Kandidatenmenge kl = (Kandidatenmenge)felder[i][j]; + if (kl.anzahl() == 1) + { + int wert = kl.alsArray()[0]; + felder[i][j] = new BekannteZahl(wert); + System.out.println("Schreibe " + wert + " an Stelle (" + i + "," + j + "), nackter Einer"); + return true; + } + } + } + } + return false; + } + + private BekannteZahl versteckterEinerEintragen(Kandidatenmenge km, Eintrag[] andereZellen) + { + Set ohneAlleAnderen = km; + for (Eintrag e : andereZellen) + { + ohneAlleAnderen = ohneAlleAnderen.differenz((Kandidatenmenge)e); + } + if (ohneAlleAnderen.anzahl() == 1) + { + return new BekannteZahl(ohneAlleAnderen.alsArray()[0]); + } + else if (ohneAlleAnderen.anzahl() > 1) + { + System.out.println("das dürfte nicht sein"); + } + return null; + } + + /** + * Trägt eine Zahl nach der "Versteckter Einer"-Technik ins Gitter ein. + * @return true, wenn eine solche Eintragung möglich war; false sonst + */ + private boolean versteckterEinerEintragen() + { + // Suche Zahl, die nur einmal in Gruppe auftritt + for (int i = 0; i < 9; i++) + { + for (int j = 0; j < 9; j++) + { + if (felder[i][j] instanceof Kandidatenmenge) + { + Kandidatenmenge km = (Kandidatenmenge)felder[i][j]; + BekannteZahl bz = versteckterEinerEintragen(km, getZeile(j, x -> x instanceof Kandidatenmenge && x != km )); + if (bz != null) + { + felder[i][j] = bz; + System.out.println("Schreibe " + bz.getZahl() + " an Stelle (" + i + "," + j + "), versteckter Einer in Zeile"); + return true; + } + bz = versteckterEinerEintragen(km, getSpalte(i, x -> x instanceof Kandidatenmenge && x != km )); + if (bz != null) + { + felder[i][j] = bz; + System.out.println("Schreibe " + bz.getZahl() + " an Stelle (" + i + "," + j + "), versteckter Einer in Spalte"); + return true; + } + bz = versteckterEinerEintragen(km, getBlockVon(i, j, x -> x instanceof Kandidatenmenge && x != km)); + if (bz != null) + { + felder[i][j] = bz; + System.out.println("Schreibe " + bz.getZahl() + " an Stelle (" + i + "," + j + "), versteckter Einer in Block"); + return true; + } + } + } + } + return false; + } + + /** + * Prüft, ob das Spiel gelöst ist + * @return true, wenn das Spiel gelöst ist; false sonst + */ + public boolean istGeloest() + { + for (int i = 0; i < 9; i++) + { + for (int j = 0; j < 9; j++) + { + if (!(felder[i][j] instanceof BekannteZahl)) + { + return false; + } + } + } + return true; + } + + /** + * Erzeugt einen Klon des aktuellen Gitters und setzt eine Zelle auf einen bestimmten Wert + * @param x Die x-Koordinate des zu setzenden Feldes + * @param y Die y-Koordinate des zu setzenden Feldes + * @param wert Der zu setzende Wert + * @return Die Kopie des Gitters + */ + public SudokuGitter klonErzeugen(int x, int y, int wert) + { + SudokuGitter sp = new SudokuGitter(this); + BekannteZahl raten = new BekannteZahl(wert); + raten.setMarkiert(); + sp.felder[x][y] = raten; + sp.theFrame.setTitle("Sudokus lösen: Versuch (" + x + "," + y + ") <- " + wert); + return sp; + } + + /** + * Trägt in allen Zellen des Gitters, an denen bisher null steht, die Kandidatenmenge ein + * @return true, wenn alle Kandidatenmengen nichtleer sind; false sonst + */ + public boolean kandidatenMengenErstellen() + { + boolean bLeereMenge = false; + for (int i = 0; i < 9; i++) + { + Eintrag[] spalte = getSpalte(i, x -> x instanceof BekannteZahl); + for (int j = 0; j < 9; j++) + { + if (felder[i][j] == null) + { + Kandidatenmenge kl = new Kandidatenmenge(); + Eintrag[] zeile = this.getZeile(j, x -> x instanceof BekannteZahl); + for (Eintrag e : zeile) + { + BekannteZahl bz = (BekannteZahl)e; + kl.entfernen(bz.getZahl()); + } + for (Eintrag e : spalte) + { + BekannteZahl bz = (BekannteZahl)e; + kl.entfernen(bz.getZahl()); + } + Eintrag[] feld = getBlockVon(i, j, x -> x instanceof BekannteZahl); + for (Eintrag e : feld) + { + BekannteZahl bz = (BekannteZahl)e; + kl.entfernen(bz.getZahl()); + } + if (kl.istLeer()) + { + bLeereMenge = true; + } + felder[i][j] = kl; + } + } + } + if (bLeereMenge) + { + return false; + } + boolean bAenderung = true; + while(bAenderung) + { + bAenderung = false; + for (int i = 0; i < 9; i++) + { + Eintrag[] bereich = getZeile(i, x -> x instanceof Kandidatenmenge); + if (nackteZweierEliminieren(bereich)) + { + bAenderung = true; + System.out.println("... in Zeile " + i); + if (getZeile(i, x -> x instanceof Kandidatenmenge && ((Kandidatenmenge)x).anzahl() == 0).length > 0) + { + return false; + } + } + bereich = getSpalte(i, x -> x instanceof Kandidatenmenge); + if (nackteZweierEliminieren(bereich)) + { + bAenderung = true; + System.out.println("... in Spalte " + i); + if (getSpalte(i, x -> x instanceof Kandidatenmenge && ((Kandidatenmenge)x).anzahl() == 0).length > 0) + { + return false; + } + } + int row = (i / 3)*3; + int col = (i % 3)*3; + bereich = getBlockVon(col, row, x -> x instanceof Kandidatenmenge); + if (nackteZweierEliminieren(bereich)) + { + bAenderung = true; + System.out.println("... in Block (" + col + "," + row + ")"); + if (getBlockVon(col, row, x -> x instanceof Kandidatenmenge && ((Kandidatenmenge)x).anzahl() == 0).length > 0) + { + return false; + } + } + } + } + return !bLeereMenge; + } + + private boolean nackteZweierEliminieren(Eintrag[] bereich) + { + for (int i = 0; i < bereich.length; i++) + { + Kandidatenmenge a = (Kandidatenmenge)bereich[i]; + if (a.anzahl() != 2) + { + continue; + } + for (int j = i+1; j < bereich.length; j++) + { + Kandidatenmenge b = (Kandidatenmenge)bereich[j]; + if (b.gleich(a)) + { + int[] zweier = a.alsArray(); + for (Eintrag mm : bereich) + { + Kandidatenmenge m = (Kandidatenmenge)mm; + if (a != m && b != m) + { + int vorher = m.anzahl(); + m.entfernen(zweier[0]); + m.entfernen(zweier[1]); + if (m.anzahl() != vorher) + { + System.out.println("Nackter Zweier " + zweier[0] + "" + zweier[1]); + return true; + } + } + } + } + } + } + return false; + } +} diff --git a/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/SudokuPanel.java b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/SudokuPanel.java new file mode 100644 index 0000000..1160643 --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/SudokuPanel.java @@ -0,0 +1,99 @@ +import javax.swing.*; +import java.awt.*; + +/** + * Ein Panel, in dem das Sudoku-Spiel gezeichnet wird. + * Hier sollte nichts verändert werden. + * @author Rainer Helfrich + * @version Dezember 2020 + */ +public class SudokuPanel extends JPanel +{ + /** + * Das Spiel, das dargestellt werden soll + */ + private SudokuGitter dasSpiel; + + /** + * Erzeugt ein neues Panel + * @param s Das Spiel, das dargestellt werden soll. + */ + public SudokuPanel(SudokuGitter s) + { + dasSpiel = s; + } + + /** + * Zeichnet das Spiel auf ein Graphics-Objekt + * @param gg Das Graphics-Objekt, auf das gezeichnet werden soll + */ + public void paintComponent(Graphics gg) + { + Graphics2D g = (Graphics2D)gg; + g.setColor(Color.WHITE); + g.fillRect(0,0,getWidth(),getHeight()); + g.setColor(Color.BLACK); + g.setStroke(new BasicStroke(5)); + int w = getWidth()-5; + int h = getHeight()-5; + g.drawRect(2, 2, w/3, h); + g.drawRect(2+w/3, 2, w/3, h); + g.drawRect(2+2*w/3, 2, getWidth()-2*w/3-5, h); + g.drawRect(2, 2, w, h/3); + g.drawRect(2, 2+h/3, w, h/3); + g.drawRect(2, 2+2*w/3, w, getHeight()-2*h/3-5); + g.setStroke(new BasicStroke(2)); + for (int i = 1; i < 9; i++) { + g.drawLine(2+i*w/9, 2, 2+i*w/9, h); + g.drawLine(2, 2+i*h/9, w, 2+i*h/9); + } + int cellWidth = w/9; + int cellHeight = h/9; + for (int i = 0; i < 9; i++) + { + int x = 2+i*w/9; + for (int j = 0; j < 9; j++) + { + int y = 2+j*h/9; + Eintrag e = dasSpiel.getEintrag(i, j); + if (e == null) + { + continue; + } + Rectangle r = new Rectangle(x+5, y+5, cellWidth-10, cellHeight-10); + e.zeichneDich(gg, r); + } + } + } + + /** + * Zeichnet einen String in einem Rechteck zentriert auf ein Graphics-Objekt + * @param g Das Graphics-Objekt, auf das gezeichnet werden soll + * @param text Der zu zeichnende Text + * @param rect Der Bereich, in den der Text zentriert werden soll + */ + public static void drawCenteredString(Graphics g, String text, Rectangle rect) { + drawCenteredString(g, text, rect.x, rect.y, rect.width, rect.height); + } + + /** + * Zeichnet einen String in einem Rechteck zentriert auf ein Graphics-Objekt + * @param g Das Graphics-Objekt, auf das gezeichnet werden soll + * @param text Der zu zeichnende Text + * @param x x-Koordinate der linken oberen Ecke des Rechtecks + * @param y y-Koordinate der linken oberen Ecke des Rechtecks + * @param w Breite des Rechtecks + * @param h Höhe des Rechtecks + */ + public static void drawCenteredString(Graphics g, String text, int x, int y, int w, int h) { + // Get the FontMetrics + FontMetrics metrics = g.getFontMetrics(); + // Determine the X coordinate for the text + x += (w - metrics.stringWidth(text)) / 2; + // Determine the Y coordinate for the text (note we add the ascent, as in java 2d 0 is top of the screen) + y += ((h - metrics.getHeight()) / 2) + metrics.getAscent(); + // Draw the String + g.drawString(text, x, y); + } + +} \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/SudokuRaetselDB.java b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/SudokuRaetselDB.java new file mode 100644 index 0000000..dd7eacb --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/SudokuRaetselDB.java @@ -0,0 +1,444 @@ + +/** + * Eine "Datenbank" mit 400 Sudoku-Rätseln + * + * @author Rainer Helfrich + * @version Dezember 2020 + * + * Rätsel erzeugt mit https://qqwing.com/generate.html + */ +public class SudokuRaetselDB +{ + /** + * Gibt das gewünschte Rätsel zurück + * @param nummer Die Nummer des Rätsels + * @return Das Rätsel als String codiert. + */ + public static String getRaetsel(int nummer) + { + if (nummer < 0 || nummer >= 400) + { + return "................................................................................."; + } + System.out.print("Rätsel Nr. " + nummer + " ("); + if (nummer < 100) + { + System.out.print("einfach"); + } + else if (nummer < 200) + { + System.out.print("mittel"); + } + else + { + if (nummer >= 300) + System.out.print("sehr "); + System.out.print("schwer"); + } + System.out.println(")"); + return raetsel[nummer]; + } + + private static String[] raetsel = { + "..42...18..2.4....1..68..9.26...9..7...7..28..87...9.3...4.....4..........8.3..2.", + ".5.6.3......2.......3.7.....2..69.574.....8.97..54..26....2.6......8..34...9.62..", + ".642....99...5....1.54.8..624....3.........1..8.3.1452.2.....6.......8.3.....42..", + "...3..15.....1.......7.......36...4..7.2853..8.1..76..7..52...3.2.8..4...3...6...", + "6..21..9...85....6.4.9..82.1..4.6.5.....7.2.94.9..5.7...........8.......5.264....", + "5...6...973.2..4.....5..3......2.6..3........8..4......5.9.8.7..2.....356.7...9.8", + ".9....45.......3...5..3.127..849..7..29.538...7.2...9..8....74...........43..591.", + "1......4.8.7..2.1.2.......9..9..43..3.8...7.4..286...........7173..9.48......69..", + "...693..2..4...........13......8.9......4..37...1.98..4.1...69.37......1...2.6...", + ".8.....4........6...931....8.649..237.........4..3..174...61.9..92....3...7......", + "...6.8.....59.4.3..9.2.....5.7........672...5.4...3..2.......4.862......9....53..", + "..9..6.4....4...2.5......7......7.....5......76...9.....1.5.3..3.462.5..9...741..", + "...2.....9..71....1............8.2.78..9....37.91....5.8..7.43......45.84...5.1.2", + ".93..518..2.....34..51....7.7...3......981.....927......249..........8....1..29..", + "8.....2..2.9.7..38.....1.7......6......3.2.41.8479.3..31....78..........76.......", + "..47.....56...917..1.6.54.8.5..367.4..3..851.....7........4............9......85.", + "6....34.......539........6...6.......35.4982...968..7..435....9.2.....4.......2..", + "...6.1.3..2.9.....85..27.6....8......3..5....5...6.......3.9.7.9.1.....6.7..1..59", + "..........8....1.49.1..7.2.......872....4..1.........3..85...3.7...91..5.5.42...8", + ".........7.....6....5.....8..9.283.717.69.....2.3..1.....8...1.5.6..18.3..8...7.2", + "3..91....4....59..1...2.......486...8...5.2........1...5.2...98.6..4.....1.6.9.4.", + ".37....1...............54...1.2.8..4.9..13.7.7.5.....14..............29835...97..", + ".1.9..8..5..1....286......3...3.8..7..5.26......5........6......87..2.9...9....56", + "...6952.7...4..3.8........5...9.3.5.....7...29...5...65....28.473..64...8........", + "5.......123.9.6.....9..53.44.5..3..7.1.6.9..576..4..133.....1........7....7.....6", + "..........8...9....9...1..26..4..89532..95.6...........14....8.96..2..1.......2.3", + ".78.41.5.4........9.15...48...3..5...42..7...8..95.71.137.....9......3...........", + "4.568.1..........6..831...9........33...5.8.2......95...1.3..25.2....3..8.4.6....", + "...5.7.1..7......2...9.......18..6..98.65.1..5.6.......3...2..7...13..8......8.9.", + "7.26....4.3...4....16......1....24..2.98167....3.9.....2....9.6.91.3.........7.1.", + "9.3....71....65..2..........1..........82..9.......5.6.3....1.7..92....32.7...86.", + ".2...896......9.5718..........29.6...6....24..4.....18........4..6...1..57.....2.", + "...7..4.5.......934....167....2.3.......1....562.9.....3..6791.2..13.........5...", + "149.2....3.8..............196...2.......4.76...2....84....74893.8..6..1...3......", + "2.157....56..8.....8...1...............246....16..7.4...8.2.6....746312...27....4", + "648.....79.73....5.5....18.3......6..65...734..4.......7..8..16........8..9..45..", + ".......4..7..39.....9..7..5..3...4...1.....28..4.....1.589.....2..7.41...3..1.8.9", + "9..........47...........9.31..98.......2.......5..1.74...87.4..3..1.25..257.3..1.", + "8..9...7..64...39.....542.8....6.......3.8.5..7..4......7..246...387....5....3...", + "8..5..7...9.........3.81.2...5.........162......7..6.2........1...92.58.9..6.3.7.", + "4..6.2............5.379.4...2...6.8375...8.6..3.4.....9.7.436.....9.......6.2....", + "....6....8.....9.4.............3......7..438.4..6.8..5..6..14.95..8..13..193..87.", + "....4.3..6.4.9..7..237....956....72...2......1....5.64.5.......9....3....3.....12", + ".............6.......79...2..4.....57.2.85...5....918.2...479.1.57......19.8...64", + "7..48.3.92...69......7...8..9.6..24.......9..5....36...5...........9.4......32.7.", + "..6.....2425...1.6.....3.5..13.9...4......38..4....2.9..8.......64.8....39...26..", + "..3..29..19.46..7.2..7.8..3..8.7...........3292....71........4..1...9...34.......", + "..7.4.....1...3...93.812....9...748...832.1.9.2..........9..........18..3815.4...", + "87..3.4...........1.29..7.8...21...4.19.87............3....5.9.9.73.....481.7....", + "........1.....19.58.........6..8....5...7..23.7.39.8..9...3.6....1625.3...2..9...", + "...6..1.9.....3.6.2....13.5..3.4.29....8.56.........5.4.9.3...2.2.....81....9....", + "3.....1...5..7...26...159.77.46........4..53..29..3.6....2....5....9......1......", + "4...8.6.297..2..5.8.3........4....7...8.7.2.4..7..5..9......5...5.3...4.......827", + "5...9..18...3..4........35.....6.2.3........7....53.9.41.82....3....9.2..795.1.4.", + "............4...89.......6...4.5.81...5.9.6.3..7.61..534.5......6.91.4..8.9.....7", + "...4.7.....45..937.56..9.......9..65..9..8..38..756.2.......7.....3.4.....2....5.", + "....5.89..3..6.7.15.7.....6.2.9.....7..8...........2...62.8...7..5..73629..3...8.", + ".7.....9.2.9.34.85...7.8..24..2.........57...7..8.96.......5.3........7..4..2..5.", + ".89.....3..475...1....38..4..5.....8...38..1.....42....17.2....43.517...5.2..4...", + "......59..68..41..4.1..2...5.2.....3..3..94.21......8.3...158..6......3..8.....5.", + "...6.7....9.....5..7...198.76...45.9...275...............8........1.67...81.52.94", + "..2......6..4....1.31.9....7..2.4....59.37.............7...2..62.3.6.....9.15.3..", + ".....3..1...98.....7..268...283...14.....496..61...7.2....78......6..2.3......6..", + "....8.......2.6.8.7..31.6..4....821..3.....7.21.67384.84.1...6.396..2............", + ".1...5......36..54....419.......8..36.5.9481.......67.....76435.4.18.7...........", + "........4.2..3.51.....2...3......18...29..7.5....8...9.8..1....1.4..789.39...845.", + "..5..693..3.24..5.6.97.......6...3.................4...4.6.5...37...26.....3..8.2", + "............3..1........3.78....25.63...6..2...248573..4..2.8..6...574....1..3..2", + "83.6.1.....2.....1..5.23....1.8......68....1......7..5.5.7........43....27..86.3.", + ".76..53.......27....2....89...21..6........5......7....3..5....15....93.6..89.2..", + "76..9...3......2.....587.1....2.....9.....1.....3...9....73..86.3...69.......85.2", + "..9...8..18.5...73.36....9...3...5...5.....6.61.....823...186.7.75.29............", + ".3.6...2...5.2..7..2..376..4.....1..8.1....67...4.6.58........1.....3.45..7..8.3.", + "......4.5.29..............6..8.6..9.....5..78.9.23.56...4.8....25...7..3.37.2..4.", + "19.........83.1.....58...........4.6.12.46.58.3.....9..6...413....95......3.....5", + ".4.............5....1..3..44.8..67.1.59....3.......8651..6......9675.3.......4..7", + "4..2865..2...37.9.....5...3...7.........2....7...9....82..7...69.6....3.5.3.6948.", + ".7.....6.......3.53..8.4....1.......7....8523..6..2..4.6.3.....5..7......341..7..", + ".3...7..15.42..9.8.2.58.......7.9.2.......195....4...7.5.81..32........9.......7.", + "96.4...13....968..5..8..9.4..4..3..6....6..7....5.4.......51..........57...6.93.8", + "62...8.3..9........1....5..3...9......4.....6...8.2.....953..848..9..31...64...2.", + "74...9...95.3.6.2....4.8..5......39.8......67..2...4..3...9.7.8.........5.....239", + "...91.2..1.63....43...7.5....3..2.9..5..4967.4.7....2.......3...........64....1..", + ".7...4..232..564.11..2...7................6..46.....3...81....5......2..2.64.37..", + "8..5.......3..1...59176....1..23.......9.58.79.76......3.8.2..6..6.7....2...5.9..", + "4...28.7...6..7..587.94...1...21.7......7.9.6..15...4.9...5...4.........5....9...", + "......9....57....8..69.35.73.2.48..6..4....9..8..3...42.9.........5.....8......29", + "......8...5.49...2.8.35.1.4.....9.7...217..........5....1........8..429...9..3..8", + ".2.......7.6.9....9....2.4...3...129.......36......7...417..2.5..74...9.23.....6.", + "..9.........2.14.8.........6.......3.85.63.....1.45.9......93...23..4....6.8..1.4", + "6.......4...18...598...4....5..7....8.495.1.7..6..8..25.1....26..7......24...7...", + "...5....9..1..2....4.8..56.......4......7.81...4.1.....5...69.82....46..81.7....2", + "9.2.7..58...2....1.81..9.23....1.........7.....4...13..49.81....385.....2.7..4..5", + ".4......52...........5...2938...6....5672..8.9..4.....4....38.....9....6..7.6.2..", + ".....3......18.3..4...79..8.73....4..18.27.........5...............4.1...415.893.", + "18..576.465....7....7...5..53...1...4....8.93.....3....741....8......9.186.....7.", + "....9...2..4.......2...6...3.1.64.7..82...1..4....29.3.7.......1.34....6..9831...", + "..5..6.3....1...98..1..976........598.....2..62..7....2.......1.7..3.......6...23", + "....78.9..9.1...4.1.8...6....26.........5.781.......5..4...68.....21.5..........9", + "....7...9....42..7..6..5...5.27...1..6...14...4.9.68.5.51..9...9.8.2.............", + "..594...78...534..6.2....5.7......464.6...329.3...........9....974...6.8..3...2.4", + "2....9.6.5..........1...3.534..5.....1.73..9.7.5.26.........75..9....1.3.......49", + "..8.5.9..75.......4.....23.91..7.8.2...........5482.....1..3...8..52......3891...", + "7.56.......1........4.2.1.3...46..2.6....8.7..1..3.4......72...8...1...2........4", + "...32...7....8......5...213....47......9..1.5.71...89..42.3.......5..7.........21", + "...2..5.....18...........1..1.7.2..95...3...6..7.9.18.8....7...7..92..6.65.....32", + "5........8.......7....79....9.......4.7.28..62..9.73....85...64.2..6.....4578.2.9", + "......8...9.3.....8.....4....37...2....9.2.1...9....7..3.2.59..7..13.....5.48...3", + ".9....2.5....9....1.......4.4.6.2.....71.4.6.8..9..1..2.....597....7..1.5.....4..", + ".1..78.4.85..2.7....65....1.......979.7.412...61........2.....8.....9......75....", + "7..41....2.........3...9....2.......34.76.2..6.7.95..39....3.2..6.12..4......61..", + "........75.....12..7..41..8....6..1.....728.4......75...76.....1.5..3.6..6.4....5", + "4....6...9....4..3..1..79.8.63.7.....9.3.871.......5....7.........59..........85.", + "9...7..4..42.163..3.6.9..2...3.215................47....5........736..9.......17.", + "..6...7.448........975.4..8..3......71.......6.....9.18.1..5.97....3.5...4.7...1.", + "...2.6...9.....2347..........8.35....3..7..59.......4.34........9.6..37..56.....2", + "54.....9..219....68..312....8.6..51.2.6.....9..4.5..3.9...6.....3....8..........5", + "..9.5...21.543.....239.....3.1.....5.......8....81..9...4.....6...6..23..6...8..4", + ".9......4.1...6....68739.2..3..2..........5...2.....1...324..8..7...1.3...26.....", + ".7..6...3.684....2.....8....2..93....3...75....9....8..876.9..........5.2.......4", + ".......9..9........3..15..6.126..58.6..1..........9.3........592...38...58.7...2.", + "2....8.67.3.217....8....3........7..5.....8.....5.4....4...3....2.6.158.7..8....1", + "1..4.......69.23...........2.4..571..79..14.6........24.7.5.19........35.5......4", + "7.....8..3.4..759...2.93.6..43.6.....6...5.3.8...4..........7.55....2.......78...", + ".....6.....92.4.....3...8.4...73..589......42...9..3....6...78.8...2..9.....796.5", + "793.....5....6.......3.1..8.3.1......57.....96.9....73......9..184.....6.76..5.8.", + "....3........2..6....698..1.8......3..6.1.52........1.1..2...844...6...92...49.3.", + "5..7.....86.5..4.3.......8.15.8.4...63........4..1.3..7..1...5........27......1.6", + "1..........8....6296...3.1...9...82.6.1..9.37.3........74.........9.4..88....6.71", + "9..5.1.2...39.....8....6..1..6.1..3..3.275.1.18..9.5.2............8...9......2..8", + ".9....8..7..3...........6.4.5.7...4...3..9...6.82.3....8.....73..6...48..3..4.5..", + "1.7.5.....3.......5...89.3........42.8..7......25.1....94..83..8..4..........21..", + "9......12135.2.8.......8..5.186..3....4.......2693....8....62........5.9.......6.", + "..57...6.9....4.....2.....4.972...1.46......5.5..41........6.73.1..7952.......1..", + ".....89..4........2.9.31......3....2.....4..1.1.58..9.3.1..62...9..4..8....2.9.5.", + "......18...6.....3..16.24.....8....5...536..8....74....1..8..7..38...561..4..3...", + "73...1.......3...45.2..................1...4...48..51...56.2..7.1..7348...85....6", + "..3...1..6..25..4.4..........2...........63......1.....4.62.85.5...812.37.......1", + "6..31.5.............3......5.916.7.316........7......59.18.2.....2....98.8.7...1.", + "...3...5..9...281...4...9.27...59...8....174.........89.2..7........3......428..3", + "1....3..5..2...3.4.3.48..178.1......37..2..58.....64....71.2........4............", + ".3..9.5....5..3.9..29..6.8.57.8......9.....7....5.....71.....6.....6....6...1.827", + "...1.52.8.2.4..16........4.1......2..423......3.....5...1.467....67..8...8.2.1..6", + ".....63..3.89..2.62.......4.7.4........6...35...57...2..3....5....7.8....24.....3", + ".3....5.....2....45194....8......6.2....9.....83.469......3.1......68.93...9.....", + "8...7.....7314......16.........2......291..43..94.86.77...6..1.21........34......", + "....9...2..............6.1.6.2..15....1..9....5.4.3.....46.279..9..3...413..4..5.", + "..5.1..6.92..5.4.1..38..5..582..36....49.............2.......8.3.14.......6..2...", + ".......67.3...1....2.........18.7.3....1.6.8..7..3964...92...13264..3..93....8...", + "4...63.......5.21..65..79......295.....7.1..2......4....71..62....634.........3.5", + "16....37.5.........83...2....2..516.....3...4..1......41.3...2.......6..3562..81.", + "..12..7.6..79......2.7.5.9.....6.54.4.5...8.26..8....1.....8...9.......4.....1.5.", + "..29...1.....15.377...2....42........8.....7.5........9.5..4.818...5.7.4.3..71.9.", + "1.3..4.7.....8...2.6..1..........5....4..3..6356.......82....3..7.......5...621.4", + "38.45..1..17....9...5.8.7...4.89.......716..9.....5....3.16..............51...8.7", + "....42.38.6.38........95..6......5.7649.......5..2.4.......67.3.........8.3..7.9.", + "...9.2.5....38.9..5...1..6.32...............1.7.......93.5....285...1.7...1..7..8", + "......6....5....7....296...52.93..1.......7...3..67.9...3.2.9.......5.81..168...2", + "....9..6......3...6.5......1..2..4...9..6..1..3...5..28......51.1..5.2......34.9.", + "2...9.....861.3..5.3........12..98....9.2....57.8.1.9.3....7....5...863........5.", + "8.49.27...7..8..4...6...28..5.4.......753.9......7863...2..4.............4...3.9.", + "5..1..9....8...1...9......33....1.9....6..8..1..3.56.4....685.......4.2..26.3....", + "2.4.8..6....6......6.235....3..615.4..89....6...8..............48..9.2..5.1...3..", + "..4.....3..35..8.....1....28....1.962.9.5..481....42..3...6.......9...1....2....5", + "67.4..32.....8..14..1.....9.8.3.2.....4.7.....3.81......3.69.4..4.....7......3...", + "4....1.57.3.6.....16..5...9..9....8...576.9.18......7.....95........4...7.38.....", + "........5642.......751......8.6.1..77..2..5.8....8..1.8..35.46......2.5...47.....", + "..79......1....2.7.....8....78..3..2.32..5..8.91...6...6..7.9.......6.1..2.8...5.", + "4.6..8.2...5.....77..9.3.469...............5......79...32.......8.5........4..832", + "274....9.......5.65....9...6......4.42.............18791...4..8...6....1.561.79..", + "4.6.3..9..219.6...3..14..6.....8.......613.4.......38951.2.....8..........48.....", + ".4.21..6.2.....94..7.4.9.587.46.5...8219......5........6...7..........8.9..5.....", + ".542...3....14.....3.6....9.7.3....2.....9..46.97...5.24....9..3...1.........6..5", + "..4......9.2.8.....6.3.78...73.....95..67.2..24.5.9......8......5..32..6329......", + "5.8.67..16..5.19....9.2....19.6..........4...475.....6.5.........1.78..52...1....", + ".1.........7...89.29..............177..28.6.5.3..1..2..6.3.....5.89....61..8.5...", + "..7.6258.....8..195..........32.9....8.5...3..5...6....3.......7...1..6.812......", + "1..6....3..9..52....24..8..2..8.....58..149.........1.4.........53...4.6.9.....2.", + ".2..4.5.....5.2...........7.8...........7621.....517..5.16...9826...........97...", + "..521....9...8.......5.4..22.1.......7.......3.47.1.9.8.7.2.3...9.1......4...9..8", + ".97.3.....8...........4...9....91.....5..2.91...3....82......7.7.35..94.8.47...5.", + ".531....4..6....9..24....6..8..35.1....2.693....48.2....564..2...9.5.............", + "9.1..6.......5...464...97....4...5...3....6.117....32..........4596.3....63...4..", + "..415...7.7....62.....24.8.7..9......9....5.8.5....76....6..8.2..6.......28....9.", + "...12.3.......5....8....7.1..52.....867......3...9..5.9..3..16..7.6....9..6....3.", + "..316..7.9....74...7.....68....75...65..8.....47.1.5.3...4.....1.....7....9......", + ".1.2.....9.3.61..5..2.....3.7..1..........4....9..5......7.6....45.936....1.5..7.", + "8..96...5.....1.3.132...69.6...123..3.1.5...4.....95....42..1..2....8............", + "..........437...1.561......675419.3..........4.9......79...14.6....6...81..85..7.", + "..4.9....28...6.....6.3.....3.8....94...138...2....34.6........513...6....9.42...", + "31................8...63...2..7.5.83.......4.13...46......5.4....3.1..72.7.8...51", + ".641.....19.37.6..3.8.......56...1..7...9.....4......7...96.4.5...5...78.8..3....", + "9....1..4.............5...9.89.....65...28.......3..51..15.42..3...8..9.....631..", + "....9....5..3..61.4.165......2.3.16.7.......5...1.7..9.4.5.37.2......5.....72....", + "1.87.92....5........324.57....9.1.8.3..8.4..72.....1.....5.2.......37......4...5.", + "..6598.........5.9...........8.6....6.19.5..8....21.3..9.1..2..23..5...6..7..2...", + ".2..13.4.3...4571....9..3.2.46.5.........2.....5..1....5...7..94..52....7.9.....3", + "..1.......5...23..8..436......69.1.......8.96.2.1....531.8.4..9985.2.............", + "..2...8.4...9.47....6.5793.83.....6......5..87....2....6.4....7.4.3.....3........", + "5..8..........6..26.84127.........6.274...........81..1......5.8..354.....2...8..", + "6..1.7....8.......1.4.68.........78..9.....2.23..7.61..4....3....9.8....81792....", + "..2.41.9..843........5.9.....3.....7.4..7..298.....4.5...9.28..2..837.......5....", + ".....68..9....32....3.2.79..5..6..7..81.........91...6.....53.1.1........2.6...5.", + "5......371..56....48..73...9..8..6.5..1....7.....1.9.....3.....6..1.8.4......4.5.", + ".3.........2..9......168......3.....1...2...6..6.....7...87..248...1..6..43...19.", + "2...65..7.6.3.1..4....7.1.2.3.......4.5........2...91.926...47.3....9....71......", + "..2...7.9375.1..2.........5..76...8.....916..2..73...........671.....29..6.2..13.", + ".....1...5.64.9..1.34.....5..7......81.7..3..3.9......7...96.58.....7....6.5.87..", + "........9......36...5.8.2.15.2.4.....19.2..56.68..3..........2...4.5...8....1.93.", + "...8...72....728......9..4....1.........4...7..7..816.32....6....1629..3.....1.8.", + "...4...7.3...7...11.83....97......3.......6......6..18..1..8.93..9..4.8.6....9.5.", + "..89.5.....24.1.5....68...4.6..3..4.8..5..1..4.1..9..8.95.............6.31.......", + "5...23.1...3..........64.7..6....2.1.38....672..45.83....2..........5....261.7...", + "..865..47...4.721...........629....5.4.......59.7....278..........2.95....15.....", + "..7..26....2.....8.5.6.8.32.132.4...7..5.....58.31...........56....31...........4", + "..9...8........7..54.7....29.786..1.8.....9...6........7415.68.65...2.74.........", + "8.467.....7.5.8.366.59..........3..84....91.........93.1.7...89.......5...63.....", + ".91....8.....6.3.1.26.91.4.7.431.............8.....1.7...........9.7.8...4...963.", + ".6..7...4.....4..17..69.....8..2....4.79..3...3.4.6..92..1...9...12.7.....8.....3", + ".9..........5.1...1....83.6..1....5...4..3..8.6..2.1...5.4..8...4..125..6..9..2..", + ".81......23....4.....4......4....1......3..9.1.8..9..2..9....363....721..6..1.7..", + "89...71..............95.84...4...519........6..8...4..4.5......98.1.67..67...439.", + ".....15..1.872..3....6...7...2.1.....4......5.3...81.4.87......4...7.....2..5.6..", + "3.....61..8..6...71.6379....3.7.8........48..........224..97.8......3....9..8.43.", + ".5..3....1.7...83.6.........1.....4.463............5.7....57..2..4.2..6..7..46..3", + "......68......23..867..32....9.............18.3....765..3..8...1.8....927..5.9...", + ".3.1.98.4..5.436...6......19..7..4.........67....38...3....1....5.3.6.9.....5....", + ".1..692.7.5.........8..76.3.8.712.......8......5..6...2.....16..9..2...8.3.......", + "782.5....6.........5.1..3......42..75..3.761.8....5.4........7..........2.1...45.", + "68.59....7.......89....2.54.25...........15...6..4...1...8...62....2.74...7....1.", + "4.7....8...2...3..85.43...957.29.....2..4...7...5..2...8.....7.6..9.......4...85.", + "..2.19.....56......6.387..26.......3..7...526.......1...325..9.7..9.8.......6....", + "......15...9.253.6.....79..........5..7..4...2...5......3.....75..9..42..9.41..6.", + "..61......8...7.3...4.3..758....6..........1...342...8.....8....17.63...43...5...", + "............53...9..9..1.5..6..9521..7..265..8.............819....6...8......7.36", + "...2...4......38....6.5.3.98.5.4793..43.......9.....27.32.....84.....59..7.......", + ".7.4.3.......62...6..71.....61.4.5....2.5.......6.14...1.52...3.3....6..74.9..2.1", + ".4....6.3.15....4.39........56.48.39....5..1...3....8......3.955.4...86..79......", + "6......7.5....81.....7.64.......36.1..18.473....6.28.5.........254.......83..7...", + "8.172......6.9.....2..8...7...5..7.....918.....8.4.61....1...29..7....51.9...4...", + ".687..4.......9.3.925....872.4.8..56.9..63...6...........4.....4......6.58......2", + ".5..1..342...6.58.9.....1..3..259..8...1.........839..5....23..........1...53.6..", + "1.69........6.1..7.....4...3..5.74..4....9...879.6..1.98.....5...43........845.6.", + ".3......2..5..4..8.746.35........7.6.6.4...232...9.45.....5.....9..........2..8..", + "....7...3.7..9..2..9....6..8.4.....9....62..1..13....7......7.29..42.186.1...8...", + "...........7...2....8...4.62.........76.49.....432.9.8...2...6.64..1.8.9..38...42", + ".3..216.....46......9.73....1...2.........4...94...72..52..4....6....3.7..1.....4", + "641..............78.2..4.6..579..........2...4....1...72..1.9.61...9.......4.8.15", + ".1...3...459.2...183..5...2..5....4..9....38.1..9......4...56.3...26...........54", + "1..5..9.......8.14........56.4.........1......8..457...68.........63..9.95...137.", + "1.37....4...4.9..1.....5...4.......2...9....7..7..3........7.5..1.3.6..992.15..73", + "8.3...7.97.........9.....1897...6..2.3............1.572.879.5..........1.....3.8.", + "96.32415.....9....3....1.26.......8..3...56.4.4..8..95.....8.398..53...1.......6.", + ".2..........4..7........8....78.4..1.1.92..34.5.3......392..17.8.........7...84.2", + ".5.23.......6..8....8...5.....1......39.6.....4....9...8....4.33.....62.2..45.19.", + "..71..5....98.6..4.51..498...5.4.......5..7...4...1..3398.7...................4..", + ".7.6...38.34.2..5.1...87.2.4.7...6....3..2.8...6.4...7....368......782...........", + "73...5.2..1...84.............3......6.....2..1.4..2.5.87.....3......1.45..67...8.", + ".2..7..5137.8.12.4.5.42....8..5...72...2.........3..4.........5.1.....3.....836.7", + ".....52172....9.5........4.59........42.........8.2......9..174..54.8.....76....8", + "38...2...1.6.5..7.....3.8.92..1...5..1.8...62.5...6....9..2.7.............73.....", + ".......5....182..4....46..2...91....32...4.8.64.............2....83...69....91..8", + ".5.......3..765....8.2..4.15..........36........1...87...3....2..6.7.14....42.76.", + "1..5.27.......76.94....31...4..9.....154.....2....5...69.......7...56....217..4..", + "...5.372....84.3...31........472..8...54.........89...92.....5.....9714.......23.", + "...6...7........1..34........85.4...1..7.3...97..614....13..86..5.....9..6..8.7..", + "..34..8...8...6...2..7..3...4.9..6...72.4....631.....4.....8726.2.....41.........", + "2..3.514.61..2.....3.78.........48.3.2......5...25.47.5...4....7......12......68.", + "2.4......9.1..827.7..5..8.......7...........56...9....1.7..9.....8..4.9..6.2..1..", + "..4...5.....48..1.1...2.7.3.48..5...2...1.35.........2............6.8...3..15.46.", + "......3.4..9....8..4....51.72.......3......9..817.......79.84..29..34.57..52...3.", + "7......8..3.....1..65....3.4.3..5.9.19....5...7............6...8..7.49....7.3.14.", + "2........87..2.9...3.9........2..4..3...1..86.92..67.3..4......9274.8.6..8.......", + ".6.........9.758....1.......2.6.1.459..4..2.....85....6..5.8.....5..918.8......7.", + "..31....278......41.9.......1.....73.46....8......2.6.2.4..6........96...3...4..7", + "..56.....8....1...7...8.......9.85..12...5..7..7...8..2..5.619.4...........2..65.", + ".9.......7.8.3....36.9.....6..72...9...1..58....5....32...5...1.7..6..3.5...7...6", + "23...48757.5.....2.........4..2..5..9.34.8..66......8........54.92...6..86.....9.", + ".1.........9...2.8...5.471...43....9.8....3252..............15..432.5.8..7...1...", + ".3.....9....7.....2..8....7.6.9............35..2.65......23754.....5.3..8..6...7.", + "..51....94...5.1..2.36..4......6.....48...9........821..1.3..9..82.....46...1.2..", + ".1..52.9...536.....931...7....21.9...8.......7..6......59...6.......3...........2", + "....8..9..74....3.9.3.......1...3........9.....987.24.4.8....1..2.51......59..723", + "..83.4.1...2....7......18.....168....86.....3......2..69..1.4.....4.3......9...82", + "...3.6...6.7..9.....97......7..8...2..36....99.4..78.....5...2..5.....372.8......", + "..8....7.36......81..3.6..........34.3.1.97...85..7.....645........18.4.7........", + ".4........3...1.5.8.2.9.1..2...15.6.59.3..81.41.2....3.....4..9...953............", + "4...583..6........89.43....1.89..6.3.....5....4..637.55.7.89.....9.......6.7.....", + "5......2.....9..8....3........9.6.7...758......9.3.5181.5.7..9..76......8....2..1", + "9.....2.........3......9..4..8143...4..2....52....8...5..43.....2..5..1.17.....8.", + "6......21.41..25.3....9.7.............5..741.......63...2.3..469........3.74.6.52", + "..8....56...25..7...3.69.1.1...9.........376..37..........1.....94.2.....5.6...8.", + "...8.1.24.7.9346............2...6....3...27.....14..6...8....3...........92.6..48", + ".6...4.....4..368......9.3...8.1.....9...2...43....81..23..6.9.54.......6..29....", + "..89...5.7.1..2.......7....379..4....4.3.......2.59....1.....4.2.7..83.9.3.2.7...", + ".5.6..23...98.....21..9....4.52...6....9......21.8....8.6..4..........45........1", + ".....9....5..6.4.....7.......8.4..76...93...1.9...154......4..5..159.6.4..5.7.18.", + ".........3.9.....4...796....63......18...49..95..8...14.71...3.5.....4.8...3.9...", + "............38...17...168.99.........5.19..7.84..3......68..7......5.6..3....95..", + "....5.......8..71.5..23.........1..9.25...8....7........392...7..1....5..8....926", + ".....2..8.3...76..8..15..2.74....8....1...23.2...75.6.1..........7.3..5..6.......", + "6......9.....3.58.75.......3.89.4..6.7...3......17...4.9....1..5..6..7.88.6......", + ".......81.........14....2..9...21...8..7...5347..3.......5.4.3..2...9...3.5.7..1.", + "3.4.9.....6.5...8..98..7...5....167.....345...3......8..7.8.........64....5....6.", + ".2............68...1..39.5..3..5.6.........315.......9....63.8.4..5....6..94..2..", + "..6......53..........954.......657...98...6....781...4.......573...7........83.9.", + "3....8.......9.....71.24..58.7.52.9.2..8.........47.2351..........9.3....8..1..4.", + ".7.......419.....76....84......9......13.482.3.26..9..836.41...1..2.6............", + "......6...4............9852..5.3...8..4.96..13.2.5..4...6..42.9.3.....8.8.9......", + ".......6..6...2...2....5.......6....8..4.7...6.4.2.59.5.......3.8..9.4..7..84..2.", + ".........7.....9....92....4.4.13.....16..87.......7.2....9.1..86...7.2.39.43.....", + ".537.6..........59..624......9.6.84...2.....7...8.7.9......9..3.....846....65...8", + ".275........16..4.4....2..9......9.7..59...12........46..2.....5..4.9.6....7..8.5", + ".3..2..8......4...8..61..7.69..8....7.8...2...1.....38..1...9..9.6.3..4.4...72...", + ".472.....8.5.69...2..5.....3..7...4.......25...6...9...9..4.7...3.8.5..4..8.....2", + "34...5.911984...766.5...4.8...6....59...58.....31.4.......3.......5.6...4.19.....", + "...97.....3..1....718..4.....4.5......6..8....8.1...356..3..97..93..........8.4..", + "..5..7.......842.7.2....4...9....6.....42....1.7..9.2.5.4.6..1...1........2.98...", + ".....6.497.....61..5.......3..9...652.....7...71......5.....1.44327.........95.3.", + ".2...4.....8.7.63.9..2....4.....9.5.......2.6...68..4...2...9.3.36.....7.....5...", + "..........9.1....8.....65.....9.8..2.71...9.....2..6..1..7...5...8..4..676..592..", + "..2.....7....4..81.........3.....8696....74...243..7...194...32...72.9.4.....6...", + "3..89.627..87....3.............3..8.6...7.1..2.398...5.......6.9..62......1...9..", + "...1..9.88..2.6..4.......6..5.......9.....72...4.2...5..5...17..92......1...54...", + "........81..6.7.3....341.2.93.....167.193..4.8....2..3.....6.....849....4...18...", + "...5.87...53....1......7..66.1..5..2.329.1.....8.2..5..8......3...6......2....67.", + "8.7.6..9...2.3...6....17.8.316..87.2......9.8...2...1...5......7.......3.....6..7", + "1.7.5..29..4......5..6.2.......7...4...1...9........57.1.54..7.4.9...8...5..2..6.", + "...6...8....1.8.7.....32.....8.7315.1.4.2..........2..75.....4.6.2....1....715..6", + "3.1...25...45..1..92...63....8.4....2.......1.9....6......84.2.....15.....932.4..", + "..573...1....4.6..........96...7.4.5.....9136..........86..4...5..1.....94.3.5..8", + "9...6........15...715.......9.1485..6...9..........8..4.6....75.2..561.9.....4..8", + ".......2.......3...2....78.87.9.4..1..1..2..8.3..5.97....4795...1...84..7.......3", + "....6.43.....5.......1.3...4.1.7..2..37........284..7..2...68.416..8.5.3...5....2", + "....23.7..39...5..2..49.6..46..7.9...2....3.7..8.......96..24..7........5...69...", + "....4852......2..4..7.3....56.....4.7..95......9.....7..63.....92...67..458.7....", + "..6..2..5......4....4..5.96.8.7...63.3..2.95...7.6..2................2.9...3.6..8", + "....6...787.4.3..9.43...5.....3.58.4......73.....4...27..8..6..........5..267...3", + "5...2...86........972..64..4...1.8..76.5.9.4.1.9..8..5......1.6...1...5....4..7..", + "45.3...6.1....9..3..7.........73..4....5846.....9.6..15..61.9...7........83......", + "..9.87.516..91.........2...3.1....9.9......758.2..51......23.....3.7.2.8........9", + "5...3.49.8..4.56...3...9..1.....3.............5...1.32..39...6.48.6....5......8..", + "4...25.1.7...49..2.............61.4.9...74.6...79...........9....2..73.4...23.1..", + "...6.2.....4.5.7.22..7..8.97.2....4.3.....6...95.......69....844...9.3...8..6....", + "..69.7.4..2.3.1...8..62.9........8...4......3.7...9..24...78.2..8....7.63........", + "71..3..68.....6..2..3....4982.4...1....1...83...27.....41..2.....7.....438.......", + "...4...6...23....4.9..2.1.32.7.9.....69......18...32..72........16...9....4.6...8", + "1...4..255....9..88..31.....4...3.......8..92.7..54...4....1.....9...8.1.......57", + ".3.......5...1....91758.4...2..34...4......92..52..14....97.8..8.......5.9.3.....", + ".36...21.528....63....3.........8.9....976.....3.2...76..7....2....19.5....8...3.", + "72...5.....1...96...3.....86.5.18.9..12.....7.......5..6.....3..971....6.....2.8.", + "..9....8....73.........47....3.......8..1.....4..9317.....423...6.87.4.9.....6.1.", + ".8.6.....1...4....763...1............1...75.4576.9......7..4.9.....38....4.7...83", + ".6...2...5......24..2.58.....7.2....4593..7.....54.3......64.7....93.....36.....8", + "....4.5....8.3.....53.9.4.8...76.3...17....9...58........6.397...........7..85134", + "......8...4..2.6.9...6...3...7..31848.......3......7...2...6.....4....9.9.61.83..", + "...86.217.3.9.........5.8....5..197..8..2.....2.3.56..5.....7........19...3..9.5.", + ".1.957...5.9864..............6.2......84952.....7..4.....5....4.41.89...7....269.", + "..........1.3..7...3..46....58....6...9..54.11.3..7.8....4...79.967...1.4...8.6..", + ".....69......7....3.72...5......4....3.8....6...9.2.357....9....49.2.78.85.4.....", + "64.9...7...8......93..24.8..1..7..4..9......6....4.........2..4.2..1..3...638....", + "..47.3.5...........2.6...83........6.5.13...4...82....3...5.1..28.3..4.7.71.....2", + ".897....651..68.3...2...8....3.1..62.2...57.....37..8....28........36...6..5.1...", + "5....2..........2..6...7..1......25...7.3...4.5.2843.....56.83...1..3..7....4.1..", + "16.......2.8.6.......8...4...4.3.85..3..5...2...41...3.5.1.....672.........5...8.", + ".4...9.7.......4233.7......5..8.....9..5.6.872...4.3...95...8.26.........8.4...96", + "8....2.16..6...3...4.....8..3.......9.2.....8..5..9..32.3.8.1.....5...6.51....9..", + "79..4.1..8.3.7..466.453.9......5......6...8......9.753......58......4......78.69.", + ".....6.4..4.72........35..2....8.29.....72..85..6...3...9...87.6...57..4...3..9.6", + ".1....6.4.....1...3.84.......1..2.594.3..5..25...6....6..8.9......253.4.....14.9.", + "....2.75....8.1.6.5..6.........781.......6.2..2.....3...7.....43.6...87......4..5", + "71........29......5.......3.....178......34...4...72..9......7.48.2.......3.19..2", + "8....193...523....9.2.....756...8...........1.9.....6.1..9.2.8......65....7..5...", + "7.65.1....8...7...2.5........24..19.4.....8.6.9.67.5.....8.........56..21...92...", + "...3.......5....87.3.8.7..2..64...15.5..312.62...7...4.....8.5.4.8.6..2.....1....", + "9..7.5.....6.9....18....9.....9.....7...41..84536......3..84..7.......1...4...8..", + "7.12....5.89......25.9...4.4...2.1...7.8.9......46..725..6...2.......9.7.2....5.4", + "..58..7.973.......9.....12.4.3.......78....4..1...........3.8...5.28.97..9..14..5", + "....4368....1..2.4....79..3.9.3.4...............6..921...7.....97...1.3..21.6....", + "1.54..93.2.7...5...94........2.53.......6.157...9............7...9.......6..2..41", + "7.6.5..8..9...6...5...2.....7.1.....85.....2.4....9....4.5..1...1...7.95...4..8..", + "...4.1.....46..19....95.....2..4...6416....3.9.3......3..57..6..51.....77...1..4.", + "196.7........2.9.......47.56.58...2......16.88...47..1..4......7.....8...2.......", + ".3..7.............7...32.8...3.98.655.6....2.8..1....3...9...5...7...2...9...6738", + "2....7..9.3.49..624...3.1....5.....1.2...5.7............36...5..6.......51.9..3..", + "..8...3.1.3.....5.1.6.2...97.5.1..2.3..2.....2..8..57...2...7.....9.8..........18", + "..9.672.....4....1....92....6.2..91...89.1.43........82.....8..4..62.....31......", + ".2..9.81.96...1..2...5....9........5.9.8........2.3....7.....5335..7.19...63...7.", + "5..4.........6..9.286.1.........971..27.5...88.1...4........6..9.....8...15..7...", + "2.9.............9..165....71.....7..4..9.2.15.321..6..94...7.......3....67...5..2", + ".836....449...8.......3................4....81529......6..23....3..6921..15....3.", + "........59...3.2..1.....6.3..9......2....8.464....29....49.....8..1....236.524...", + ".9...6......48.......132.6..2891.5..36....9.1....2.3........6.3.....4.9.6..3..418", + "..12....5.94................3.5...8.948...........2.9..1...3..6.651...4....8.9.2.", + "..5..9...9...5...7.4......6......5..8.2....9.5...42..1.61...8....89...754...6....", + "41........7.1........25.....6..4.2.15....2.36...5...47..6......129.36.7.7.......4", + "3.....59..1.9..6.2..23...71.975..2.....4......2...6...1.........6.7.5..4.7..32...", + ".........2..16.....68..7.....7....6..8.623..15...8..9...3.......9.51...81.5.9....", + "7.82..6..9.6.4.....1465........6.5....1.....2......19...2.94.5.1.582.7.9.4..7....", + ".65127..8..1....52....3.67..........3.4.5.8....7483....5.........83..4.....86...7" + }; +} diff --git a/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/package.bluej b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/package.bluej new file mode 100644 index 0000000..3a39fcf --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/02_sudoku_loes/package.bluej @@ -0,0 +1,127 @@ +#BlueJ package file +dependency1.from=Kandidatenmenge +dependency1.to=SudokuPanel +dependency1.type=UsesDependency +dependency10.from=SudokuGitter +dependency10.to=BekannteZahl +dependency10.type=UsesDependency +dependency11.from=SudokuGitter +dependency11.to=Kandidatenmenge +dependency11.type=UsesDependency +dependency12.from=SudokuGitter +dependency12.to=Set +dependency12.type=UsesDependency +dependency13.from=SudokuGitter +dependency13.to=SudokuRaetselDB +dependency13.type=UsesDependency +dependency2.from=SudokuFrame +dependency2.to=SudokuGitter +dependency2.type=UsesDependency +dependency3.from=SudokuFrame +dependency3.to=SudokuPanel +dependency3.type=UsesDependency +dependency4.from=SudokuFrame +dependency4.to=Kandidatenmenge +dependency4.type=UsesDependency +dependency5.from=SudokuPanel +dependency5.to=SudokuGitter +dependency5.type=UsesDependency +dependency6.from=SudokuPanel +dependency6.to=Eintrag +dependency6.type=UsesDependency +dependency7.from=BekannteZahl +dependency7.to=SudokuPanel +dependency7.type=UsesDependency +dependency8.from=SudokuGitter +dependency8.to=SudokuFrame +dependency8.type=UsesDependency +dependency9.from=SudokuGitter +dependency9.to=Eintrag +dependency9.type=UsesDependency +editor.fx.0.height=739 +editor.fx.0.width=892 +editor.fx.0.x=959 +editor.fx.0.y=44 +objectbench.height=142 +objectbench.width=814 +package.divider.horizontal=0.6 +package.divider.vertical=0.790436005625879 +package.editor.height=542 +package.editor.width=703 +package.editor.x=977 +package.editor.y=47 +package.frame.height=811 +package.frame.width=854 +package.numDependencies=13 +package.numTargets=9 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=Eintrag +target1.showInterface=false +target1.type=InterfaceTarget +target1.width=80 +target1.x=270 +target1.y=320 +target2.height=50 +target2.name=Kandidatenmenge +target2.showInterface=false +target2.type=ClassTarget +target2.width=140 +target2.x=160 +target2.y=440 +target3.height=50 +target3.name=SudokuGitter +target3.showInterface=false +target3.type=ClassTarget +target3.width=110 +target3.x=480 +target3.y=260 +target4.height=50 +target4.name=Set +target4.showInterface=false +target4.type=AbstractTarget +target4.width=80 +target4.x=20 +target4.y=310 +target5.height=50 +target5.name=SudokuFrame +target5.showInterface=false +target5.type=ClassTarget +target5.width=110 +target5.x=330 +target5.y=50 +target6.height=50 +target6.name=SudokuRaetselDB +target6.showInterface=false +target6.type=ClassTarget +target6.width=130 +target6.x=560 +target6.y=150 +target7.height=50 +target7.name=SudokuPanel +target7.showInterface=false +target7.type=ClassTarget +target7.width=110 +target7.x=40 +target7.y=120 +target8.height=50 +target8.name=BekannteZahl +target8.showInterface=false +target8.type=ClassTarget +target8.width=110 +target8.x=370 +target8.y=440 +target9.height=50 +target9.name=BitSet +target9.showInterface=false +target9.type=ClassTarget +target9.width=80 +target9.x=20 +target9.y=390 diff --git a/Quellcodes/Alg_DS_Sudoku/readme.adoc b/Quellcodes/Alg_DS_Sudoku/readme.adoc new file mode 100644 index 0000000..849992d --- /dev/null +++ b/Quellcodes/Alg_DS_Sudoku/readme.adoc @@ -0,0 +1,11 @@ += Material : + +|=== +|Zuordnung| +|Klassenstufe| +|Bildungsplanbezug | +|Werkzeug| +|Autoren| +|=== + +== Inhalt diff --git a/Quellcodes/Alg_DS_Terme/.gitignore b/Quellcodes/Alg_DS_Terme/.gitignore new file mode 100644 index 0000000..2cc0cb6 --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/.gitignore @@ -0,0 +1,7 @@ +**/*.sh +**/*.class +**/*.ctxt +repo.adoc +repo_subtree.adoc +/alt +/hide diff --git a/Quellcodes/Alg_DS_Terme/01_terme_roh/AlsStringTest.java b/Quellcodes/Alg_DS_Terme/01_terme_roh/AlsStringTest.java new file mode 100644 index 0000000..9b5c3a5 --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/01_terme_roh/AlsStringTest.java @@ -0,0 +1,77 @@ +import static org.junit.Assert.*; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/** + * Testet, ob die String-Umwandlung der Binärbäume korrekt funktioniert. + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class AlsStringTest +{ + @Test + public void test1() + { + testAusfuehren("2*3 + 4*5", "2*3+4*5"); + } + + @Test + public void test2() + { + testAusfuehren("(12/6) /2", "12/6/2"); + } + + @Test + public void test3() + { + testAusfuehren(" 12/(6/2)", "12/(6/2)"); + } + + @Test + public void test4() + { + testAusfuehren("(2+3)*(4 +5)", "(2+3)*(4+5)"); + } + + @Test + public void test5() + { + testAusfuehren("3/2+9/(3+1) ", "3/2+9/(3+1)"); + } + + @Test + public void test6() + { + testAusfuehren("100/5/(9-8)", "100/5/(9-8)"); + } + + @Test + public void test7() + { + testAusfuehren("1*2-3*4+(5*6)-7*8", "1*2-3*4+5*6-7*8"); + } + + @Test + public void test8() + { + testAusfuehren("(1*2+3*4)*((5*6)-7*(89/10))", "(1*2+3*4)*(5*6-7*89/10)"); + } + + private void testAusfuehren(String term, String erwartet) + { + try + { + Binaerbaum b = TermParser.parse(term); + TermAuswerter t = new TermAuswerter(); + String ergebnis = t.alsString(b); + assertEquals(erwartet, ergebnis.replaceAll("\\s", "")); + } + catch(Exception x) + { + assertTrue(x.getMessage(), false); + } + } + +} diff --git a/Quellcodes/Alg_DS_Terme/01_terme_roh/AuswertungsTest.java b/Quellcodes/Alg_DS_Terme/01_terme_roh/AuswertungsTest.java new file mode 100644 index 0000000..831ac84 --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/01_terme_roh/AuswertungsTest.java @@ -0,0 +1,77 @@ +import static org.junit.Assert.*; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/** + * Testet, ob die Auswertung der Binärbäume korrekt funktioniert. + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class AuswertungsTest +{ + @Test + public void test1() + { + testAusfuehren("2*3+4*5", 26); + } + + @Test + public void test2() + { + testAusfuehren("(12/6)/2", 1); + } + + @Test + public void test3() + { + testAusfuehren("12/(6/2)", 4); + } + + @Test + public void test4() + { + testAusfuehren("(2+3)*(4+5)", 45); + } + + @Test + public void test5() + { + testAusfuehren("3/2+9/(3+1)", 3); + } + + @Test + public void test6() + { + testAusfuehren("100/5/(9-8)", 20); + } + + @Test + public void test7() + { + testAusfuehren("1*2-3*4+(5*6)-7*8", -36); + } + + @Test + public void test8() + { + testAusfuehren("(1*2+3*4)*((5*6)-7*(89/10))", -364); + } + + private void testAusfuehren(String term, int erwartet) + { + try + { + Binaerbaum b = TermParser.parse(term); + TermAuswerter t = new TermAuswerter(); + int ergebnis = t.auswerten(b); + assertEquals(erwartet, ergebnis); + } + catch(Exception x) + { + assertTrue(x.getMessage(), false); + } + } + +} diff --git a/Quellcodes/Alg_DS_Terme/01_terme_roh/Binaerbaum.java b/Quellcodes/Alg_DS_Terme/01_terme_roh/Binaerbaum.java new file mode 100644 index 0000000..2f05bbc --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/01_terme_roh/Binaerbaum.java @@ -0,0 +1,63 @@ + +/** + * Ein Knoten eines Binärbaums + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class Binaerbaum +{ + /** + * Der Datenwert des Knotens + */ + public T daten; + + /** + * Der linke Kindbaum + */ + public Binaerbaum links; + + /** + * Der rechte Kindbaum + */ + public Binaerbaum rechts; + + /** + * Erzeugt einen Blattknoten mit leerem Datenwert + */ + public Binaerbaum() + { + this(null, null, null); + } + + /** + * Erzeugt einen Knoten mit Datenwert und Kindern + * @param daten Der Datenwert + * @param links Der linke Kindbaum + * @param rechts Der rechte Kindbaum + */ + public Binaerbaum(T daten, Binaerbaum links, Binaerbaum rechts) + { + this.daten = daten; + this.links = links; + this.rechts = rechts; + } + + /** + * Erzeugt einen Blattknoten mit Datenwert + * @param daten Der Datenwert + */ + public Binaerbaum(T daten) + { + this(daten, null, null); + } + + /** + * Gibt zurück, ob der Knoten ein Blatt ist + * @return true, wenn der Knoten ein Blatt ist; false sonst + */ + public boolean istBlatt() + { + return links == null && rechts == null; + } +} diff --git a/Quellcodes/Alg_DS_Terme/01_terme_roh/README.TXT b/Quellcodes/Alg_DS_Terme/01_terme_roh/README.TXT new file mode 100644 index 0000000..f8b599a --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/01_terme_roh/README.TXT @@ -0,0 +1,5 @@ +PROJEKTBEZEICHNUNG: Terme +PROJEKTZWECK: Implementieren Sie das Auswerten von Rechentermen sowie das Umwandeln in eine String-Darstellung +VERSION oder DATUM: November 2020 +WIE IST DAS PROJEKT ZU STARTEN: Erzeugen Sie ein neues Objekt vom Typ TermFrame +AUTOR(EN): Rainer Helfrich, ZPG Informatik diff --git a/Quellcodes/Alg_DS_Terme/01_terme_roh/Symbol.java b/Quellcodes/Alg_DS_Terme/01_terme_roh/Symbol.java new file mode 100644 index 0000000..ed5c157 --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/01_terme_roh/Symbol.java @@ -0,0 +1,110 @@ + +/** + * Stellt ein Symbol eines Rechenterms dar. + * Frei nach der Abituraufgabe B3 von 2018 + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class Symbol +{ + /** + * Der Operator bzw. der Wert des Symbols + */ + private String wert; + + /** + * Erzeugt ein neues Symbol. + * @param s Der Wert des Symbols + */ + public Symbol(String s) + { + wert = s; + } + + /** + * Gibt zurück, ob es sich bei dem Symbol um einen Operator handelt. + * @return true, wenn es ein Operator ist; false sonst + */ + public boolean istOperator() + { + return "+-*/".contains(wert); + } + + /** + * Gibt den Integer-Wert des Symbols zurück + * @return Den Integer-Wert des Symbols, wenn es sich um eine Zahl handelt; 0 sonst + */ + public int getInt() + { + if (!istOperator()) + { + return Integer.parseInt(wert); + } + return 0; + } + + /** + * Gibt zurück, ob es sich um einen Plus-Operator handelt + * @return true, wenn das Symbol "+" ist; false sonst + */ + public boolean istPlus() + { + return wert.equals("+"); + } + + /** + * Gibt zurück, ob es sich um einen Mal-Operator handelt + * @return true, wenn das Symbol "*" ist; false sonst + */ + public boolean istMal() + { + return wert.equals("*"); + } + + /** + * Gibt zurück, ob es sich um einen Minus-Operator handelt + * @return true, wenn das Symbol "-" ist; false sonst + */ + public boolean istMinus() + { + return wert.equals("-"); + } + + /** + * Gibt zurück, ob es sich um einen Geteilt-Operator handelt + * @return true, wenn das Symbol "/" ist; false sonst + */ + public boolean istGeteilt() + { + return wert.equals("/"); + } + + /** + * Gibt zurück, ob es sich um eine Punktrechnung handelt + * @return true, wenn das Symbol "*" oder "/" ist; false sonst + */ + public boolean istPunktRechnung() + { + return istMal() || istGeteilt(); + } + + /** + * Gibt zurück, ob es sich um eine Strichrechnung handelt + * @return true, wenn das Symbol "+" oder "-" ist; false sonst + */ + public boolean istStrichRechnung() + { + return istPlus() || istMinus(); + } + + /** + * Wandelt das Symbol in seine String-Darstellung um + * @return Die String-Darstellung des Symbols + */ + @Override + public String toString() + { + return wert; + } +} diff --git a/Quellcodes/Alg_DS_Terme/01_terme_roh/TermAuswerter.java b/Quellcodes/Alg_DS_Terme/01_terme_roh/TermAuswerter.java new file mode 100644 index 0000000..e6de6b3 --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/01_terme_roh/TermAuswerter.java @@ -0,0 +1,31 @@ + +/** + * Wertet einen Term aus, der als Rechenbaum gegeben ist + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class TermAuswerter +{ + /** + * Wertet den Term, der durch den Binärbaum b gegeben ist, arithmetisch aus + * @param b Der auszuwertende Baum + * @return Das Zahlergebnis des Terms + */ + public int auswerten(Binaerbaum b) + { + //# TODO: Implementieren Sie die Auswertung des Rechenbaums n + return 0; + } + + /** + * Wandelt den Term, der durch den Binärbaum b gegeben ist, in eine lineare Termdarstellung um + * @param b Der umzuwandelnde Term + * @return Der Term als lineare Zeichenkette + */ + public String alsString(Binaerbaum b) + { + //# TODO: Implementieren Sie die Umwandlung des Rechenbaums in eine lineare Textdarstellung + return ""; + } +} diff --git a/Quellcodes/Alg_DS_Terme/01_terme_roh/TermFrame.java b/Quellcodes/Alg_DS_Terme/01_terme_roh/TermFrame.java new file mode 100644 index 0000000..dc06095 --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/01_terme_roh/TermFrame.java @@ -0,0 +1,142 @@ +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.swing.event.*; +/** + * + * GUI zum Verarbeiten von Termen + * Hier sollte nichts verändert werden. + * + * @version 1.0 vom 05.11.2020 + * @author Rainer Helfrich + */ + +public class TermFrame extends JFrame +{ + private JTextField jTextTerm = new JTextField(); + private JTextArea jTextTree = new JTextArea(""); + private JTextField jTextErgebnis = new JTextField(); + + public TermFrame() { + super(); + setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + int frameWidth = 408; + int frameHeight = 580; + setSize(frameWidth, frameHeight); + Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); + int x = (d.width - getSize().width) / 2; + int y = (d.height - getSize().height) / 2; + setLocation(x, y); + setTitle("Termauswertung"); + setResizable(true); + Container cp = getContentPane(); + cp.setLayout(null); + + jTextTerm.setBounds(96, 8, 289, 25); + jTextTerm.setFont(new Font("Courier New", Font.PLAIN, 12)); + cp.add(jTextTerm); + JScrollPane jTextArea1ScrollPane = new JScrollPane(jTextTree); + jTextArea1ScrollPane.setBounds(8, 40, 377, 465); + jTextTree.setEditable(false); + jTextTree.setFont(new Font("Courier New", Font.PLAIN, 12)); + cp.add(jTextArea1ScrollPane); + jTextErgebnis.setBounds(96, 512, 289, 25); + jTextErgebnis.setEditable(false); + jTextErgebnis.setFont(new Font("Courier New", Font.PLAIN, 12)); + cp.add(jTextErgebnis); + JLabel lErgebnis = new JLabel(); + lErgebnis.setBounds(8, 512, 78, 20); + lErgebnis.setText("Ergebnis:"); + cp.add(lErgebnis); + JLabel lTerm = new JLabel(); + lTerm.setBounds(8, 8, 78, 20); + lTerm.setText("Term:"); + cp.add(lTerm); + + jTextTerm.getDocument().addDocumentListener(new DocumentListener() { + public void changedUpdate(DocumentEvent e) { + parseTerm(); + } + + public void removeUpdate(DocumentEvent e) { + parseTerm(); + } + + public void insertUpdate(DocumentEvent e) { + parseTerm(); + } + + }); + addComponentListener(new ComponentAdapter() { + public void componentResized(ComponentEvent e) { + jTextArea1ScrollPane.setSize(getWidth()-31, getHeight()-115); + jTextErgebnis.setSize(getWidth()-119, 25); + jTextTerm.setSize(getWidth()-119, 25); + jTextErgebnis.setLocation(96, getHeight()-68); + lErgebnis.setLocation(8, getHeight()-68); + } + }); + setMinimumSize(new Dimension(300, 300)); + setVisible(true); + } + + private void parseTerm() + { + jTextTree.setText(""); + jTextErgebnis.setText(""); + try + { + Binaerbaum rechenbaum = TermParser.parse(jTextTerm.getText()); + String ausgabe = baumAnzeigen(rechenbaum); + if (rechenbaum != null) + { + TermAuswerter ta = new TermAuswerter(); + int ergebnis = ta.auswerten(rechenbaum); + jTextErgebnis.setText(String.valueOf(ergebnis)); + ausgabe += "\n=====================================\n\n"; + ausgabe += ta.alsString(rechenbaum); + } + jTextTree.setText(ausgabe); + } + catch(Exception x) + { + jTextTree.setText(x.getMessage()); + } + } + + private String baumAnzeigen(Binaerbaum b) + { + if (b == null) + { + return "(leerer Baum)"; + } + StringBuilder sb = new StringBuilder(); + sb.append(b.daten+"\n"); + if (b.links != null || b.rechts != null) + { + baumAnzeigen(b.links, "", true, sb); + baumAnzeigen(b.rechts, "", false, sb); + } + return sb.toString(); + } + + private void baumAnzeigen(Binaerbaum b, String indent, boolean left, StringBuilder sb) + { + sb.append(indent + (left ? "\u251C " : "\u2514 ")); + if (b != null) + { + sb.append(b.daten+"\n"); + if (b.links != null || b.rechts != null) + { + indent += (left ? "\u2502 " : " "); + baumAnzeigen(b.links, indent, true, sb); + baumAnzeigen(b.rechts, indent, false, sb); + } + } + else + { + sb.append("\n"); + } + } + +} diff --git a/Quellcodes/Alg_DS_Terme/01_terme_roh/TermParser.java b/Quellcodes/Alg_DS_Terme/01_terme_roh/TermParser.java new file mode 100644 index 0000000..39a6464 --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/01_terme_roh/TermParser.java @@ -0,0 +1,164 @@ +import java.util.ArrayList; +import java.util.Stack; + +/** + * Wandelt einen als String gegebenen Term in einen Rechenbaum um + * Hier sollte nichts verändert werden. + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class TermParser +{ + public static Binaerbaum parse(String term) throws Exception + { + ArrayList out = tokenizeTerm(term); + ArrayList postfix = buildPostfix(out); + Binaerbaum rechenbaum = buildTree(postfix); + return rechenbaum; + } + + private static Binaerbaum buildTree(ArrayList postfix) throws Exception + { + if (postfix.size() == 0) + { + return null; + } + Stack> stack = new Stack>(); + for (Symbol s : postfix) + { + if (s.istOperator()) + { + if (stack.size() < 2) + { + throw new Exception("Fehler: Zu viele Operatoren"); + } + Binaerbaum r = stack.pop(); + Binaerbaum l = stack.pop(); + Binaerbaum n = new Binaerbaum(s, l, r); + stack.push(n); + } + else + { + stack.push(new Binaerbaum(s)); + } + + } + if (stack.size() != 1) + { + throw new Exception("Fehler: Zu wenige Operatoren"); + } + return stack.pop(); + } + + private static ArrayList buildPostfix(ArrayList infix) throws Exception + { + Stack stack = new Stack(); + ArrayList postfix = new ArrayList(); + for(String token : infix) + { + if (isNumeric(token)) + { + postfix.add(new Symbol(token)); + } + else if (token.equals("(")) + { + stack.push(token); + } + else if (token.equals(")")) + { + while(true) + { + if (stack.isEmpty()) + { + throw new Exception("Fehler: Ungültiger Term."); + } + String t = stack.pop(); + if (t.equals("(")) + { + break; + } + postfix.add(new Symbol(t)); + } + } + else + { + while (!stack.isEmpty()) + { + String top = stack.peek(); + if ("+-*/".contains(top) && ("+-".contains(token) || "*/".contains(top))) + { + stack.pop(); + postfix.add(new Symbol(top)); + } + else + { + break; + } + } + stack.push(token); + } + } + while(!stack.isEmpty()) + { + String top = stack.pop(); + if (top.equals("(")) + { + throw new Exception("Fehler: Ungültig geklammerter Term"); + } + postfix.add(new Symbol(top)); + } + return postfix; + } + + private static boolean isNumeric(String s) + { + try + { + Integer.parseInt(s); + return true; + } + catch(Exception x) + { + } + return false; + } + + private static ArrayList tokenizeTerm(String strTerm) throws Exception + { + char[] term = strTerm.toCharArray(); + ArrayList tokens = new ArrayList(); + String numberToken = null; + for (char c : term) + { + if (Character.isDigit(c)) + { + if (numberToken == null) + numberToken = ""; + numberToken += String.valueOf(c); + } + else if ("+-*/()".contains(String.valueOf(c)) || Character.isWhitespace(c)) + { + if (numberToken != null) + { + tokens.add(numberToken); + numberToken = null; + } + if (!Character.isWhitespace(c)) + { + tokens.add(String.valueOf(c)); + } + } + else + { + throw new Exception("Fehler: Ungültige Zeichen in Term."); + } + } + if (numberToken != null) + { + tokens.add(numberToken); + } + return tokens; + } + +} diff --git a/Quellcodes/Alg_DS_Terme/01_terme_roh/package.bluej b/Quellcodes/Alg_DS_Terme/01_terme_roh/package.bluej new file mode 100644 index 0000000..f6debd9 --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/01_terme_roh/package.bluej @@ -0,0 +1,122 @@ +#BlueJ package file +dependency1.from=AuswertungsTest +dependency1.to=Binaerbaum +dependency1.type=UsesDependency +dependency10.from=TermAuswerter +dependency10.to=Symbol +dependency10.type=UsesDependency +dependency11.from=TermFrame +dependency11.to=Binaerbaum +dependency11.type=UsesDependency +dependency12.from=TermFrame +dependency12.to=Symbol +dependency12.type=UsesDependency +dependency13.from=TermFrame +dependency13.to=TermAuswerter +dependency13.type=UsesDependency +dependency14.from=TermFrame +dependency14.to=TermParser +dependency14.type=UsesDependency +dependency15.from=TermParser +dependency15.to=Binaerbaum +dependency15.type=UsesDependency +dependency16.from=TermParser +dependency16.to=Symbol +dependency16.type=UsesDependency +dependency2.from=AuswertungsTest +dependency2.to=Symbol +dependency2.type=UsesDependency +dependency3.from=AuswertungsTest +dependency3.to=TermAuswerter +dependency3.type=UsesDependency +dependency4.from=AuswertungsTest +dependency4.to=TermParser +dependency4.type=UsesDependency +dependency5.from=AlsStringTest +dependency5.to=Binaerbaum +dependency5.type=UsesDependency +dependency6.from=AlsStringTest +dependency6.to=Symbol +dependency6.type=UsesDependency +dependency7.from=AlsStringTest +dependency7.to=TermAuswerter +dependency7.type=UsesDependency +dependency8.from=AlsStringTest +dependency8.to=TermParser +dependency8.type=UsesDependency +dependency9.from=TermAuswerter +dependency9.to=Binaerbaum +dependency9.type=UsesDependency +editor.fx.0.height=739 +editor.fx.0.width=925 +editor.fx.0.x=788 +editor.fx.0.y=67 +objectbench.height=92 +objectbench.width=760 +package.divider.horizontal=0.6 +package.divider.vertical=0.846749226006192 +package.editor.height=540 +package.editor.width=649 +package.editor.x=80 +package.editor.y=86 +package.frame.height=746 +package.frame.width=800 +package.numDependencies=16 +package.numTargets=7 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=TermFrame +target1.showInterface=false +target1.type=ClassTarget +target1.width=100 +target1.x=70 +target1.y=130 +target2.height=50 +target2.name=Binaerbaum +target2.showInterface=false +target2.type=ClassTarget +target2.width=130 +target2.x=150 +target2.y=10 +target3.height=50 +target3.name=Symbol +target3.showInterface=false +target3.type=ClassTarget +target3.width=80 +target3.x=220 +target3.y=200 +target4.height=50 +target4.name=AlsStringTest +target4.showInterface=false +target4.type=UnitTestTargetJunit4 +target4.width=110 +target4.x=280 +target4.y=350 +target5.height=50 +target5.name=AuswertungsTest +target5.showInterface=false +target5.type=UnitTestTargetJunit4 +target5.width=130 +target5.x=140 +target5.y=350 +target6.height=50 +target6.name=TermAuswerter +target6.showInterface=false +target6.type=ClassTarget +target6.width=120 +target6.x=410 +target6.y=240 +target7.height=50 +target7.name=TermParser +target7.showInterface=false +target7.type=ClassTarget +target7.width=100 +target7.x=330 +target7.y=70 diff --git a/Quellcodes/Alg_DS_Terme/02_terme_loes/AlsStringTest.java b/Quellcodes/Alg_DS_Terme/02_terme_loes/AlsStringTest.java new file mode 100644 index 0000000..9b5c3a5 --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/02_terme_loes/AlsStringTest.java @@ -0,0 +1,77 @@ +import static org.junit.Assert.*; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/** + * Testet, ob die String-Umwandlung der Binärbäume korrekt funktioniert. + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class AlsStringTest +{ + @Test + public void test1() + { + testAusfuehren("2*3 + 4*5", "2*3+4*5"); + } + + @Test + public void test2() + { + testAusfuehren("(12/6) /2", "12/6/2"); + } + + @Test + public void test3() + { + testAusfuehren(" 12/(6/2)", "12/(6/2)"); + } + + @Test + public void test4() + { + testAusfuehren("(2+3)*(4 +5)", "(2+3)*(4+5)"); + } + + @Test + public void test5() + { + testAusfuehren("3/2+9/(3+1) ", "3/2+9/(3+1)"); + } + + @Test + public void test6() + { + testAusfuehren("100/5/(9-8)", "100/5/(9-8)"); + } + + @Test + public void test7() + { + testAusfuehren("1*2-3*4+(5*6)-7*8", "1*2-3*4+5*6-7*8"); + } + + @Test + public void test8() + { + testAusfuehren("(1*2+3*4)*((5*6)-7*(89/10))", "(1*2+3*4)*(5*6-7*89/10)"); + } + + private void testAusfuehren(String term, String erwartet) + { + try + { + Binaerbaum b = TermParser.parse(term); + TermAuswerter t = new TermAuswerter(); + String ergebnis = t.alsString(b); + assertEquals(erwartet, ergebnis.replaceAll("\\s", "")); + } + catch(Exception x) + { + assertTrue(x.getMessage(), false); + } + } + +} diff --git a/Quellcodes/Alg_DS_Terme/02_terme_loes/AuswertungsTest.java b/Quellcodes/Alg_DS_Terme/02_terme_loes/AuswertungsTest.java new file mode 100644 index 0000000..831ac84 --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/02_terme_loes/AuswertungsTest.java @@ -0,0 +1,77 @@ +import static org.junit.Assert.*; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/** + * Testet, ob die Auswertung der Binärbäume korrekt funktioniert. + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class AuswertungsTest +{ + @Test + public void test1() + { + testAusfuehren("2*3+4*5", 26); + } + + @Test + public void test2() + { + testAusfuehren("(12/6)/2", 1); + } + + @Test + public void test3() + { + testAusfuehren("12/(6/2)", 4); + } + + @Test + public void test4() + { + testAusfuehren("(2+3)*(4+5)", 45); + } + + @Test + public void test5() + { + testAusfuehren("3/2+9/(3+1)", 3); + } + + @Test + public void test6() + { + testAusfuehren("100/5/(9-8)", 20); + } + + @Test + public void test7() + { + testAusfuehren("1*2-3*4+(5*6)-7*8", -36); + } + + @Test + public void test8() + { + testAusfuehren("(1*2+3*4)*((5*6)-7*(89/10))", -364); + } + + private void testAusfuehren(String term, int erwartet) + { + try + { + Binaerbaum b = TermParser.parse(term); + TermAuswerter t = new TermAuswerter(); + int ergebnis = t.auswerten(b); + assertEquals(erwartet, ergebnis); + } + catch(Exception x) + { + assertTrue(x.getMessage(), false); + } + } + +} diff --git a/Quellcodes/Alg_DS_Terme/02_terme_loes/Binaerbaum.java b/Quellcodes/Alg_DS_Terme/02_terme_loes/Binaerbaum.java new file mode 100644 index 0000000..2f05bbc --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/02_terme_loes/Binaerbaum.java @@ -0,0 +1,63 @@ + +/** + * Ein Knoten eines Binärbaums + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class Binaerbaum +{ + /** + * Der Datenwert des Knotens + */ + public T daten; + + /** + * Der linke Kindbaum + */ + public Binaerbaum links; + + /** + * Der rechte Kindbaum + */ + public Binaerbaum rechts; + + /** + * Erzeugt einen Blattknoten mit leerem Datenwert + */ + public Binaerbaum() + { + this(null, null, null); + } + + /** + * Erzeugt einen Knoten mit Datenwert und Kindern + * @param daten Der Datenwert + * @param links Der linke Kindbaum + * @param rechts Der rechte Kindbaum + */ + public Binaerbaum(T daten, Binaerbaum links, Binaerbaum rechts) + { + this.daten = daten; + this.links = links; + this.rechts = rechts; + } + + /** + * Erzeugt einen Blattknoten mit Datenwert + * @param daten Der Datenwert + */ + public Binaerbaum(T daten) + { + this(daten, null, null); + } + + /** + * Gibt zurück, ob der Knoten ein Blatt ist + * @return true, wenn der Knoten ein Blatt ist; false sonst + */ + public boolean istBlatt() + { + return links == null && rechts == null; + } +} diff --git a/Quellcodes/Alg_DS_Terme/02_terme_loes/README.TXT b/Quellcodes/Alg_DS_Terme/02_terme_loes/README.TXT new file mode 100644 index 0000000..f8b599a --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/02_terme_loes/README.TXT @@ -0,0 +1,5 @@ +PROJEKTBEZEICHNUNG: Terme +PROJEKTZWECK: Implementieren Sie das Auswerten von Rechentermen sowie das Umwandeln in eine String-Darstellung +VERSION oder DATUM: November 2020 +WIE IST DAS PROJEKT ZU STARTEN: Erzeugen Sie ein neues Objekt vom Typ TermFrame +AUTOR(EN): Rainer Helfrich, ZPG Informatik diff --git a/Quellcodes/Alg_DS_Terme/02_terme_loes/Symbol.java b/Quellcodes/Alg_DS_Terme/02_terme_loes/Symbol.java new file mode 100644 index 0000000..ed5c157 --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/02_terme_loes/Symbol.java @@ -0,0 +1,110 @@ + +/** + * Stellt ein Symbol eines Rechenterms dar. + * Frei nach der Abituraufgabe B3 von 2018 + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class Symbol +{ + /** + * Der Operator bzw. der Wert des Symbols + */ + private String wert; + + /** + * Erzeugt ein neues Symbol. + * @param s Der Wert des Symbols + */ + public Symbol(String s) + { + wert = s; + } + + /** + * Gibt zurück, ob es sich bei dem Symbol um einen Operator handelt. + * @return true, wenn es ein Operator ist; false sonst + */ + public boolean istOperator() + { + return "+-*/".contains(wert); + } + + /** + * Gibt den Integer-Wert des Symbols zurück + * @return Den Integer-Wert des Symbols, wenn es sich um eine Zahl handelt; 0 sonst + */ + public int getInt() + { + if (!istOperator()) + { + return Integer.parseInt(wert); + } + return 0; + } + + /** + * Gibt zurück, ob es sich um einen Plus-Operator handelt + * @return true, wenn das Symbol "+" ist; false sonst + */ + public boolean istPlus() + { + return wert.equals("+"); + } + + /** + * Gibt zurück, ob es sich um einen Mal-Operator handelt + * @return true, wenn das Symbol "*" ist; false sonst + */ + public boolean istMal() + { + return wert.equals("*"); + } + + /** + * Gibt zurück, ob es sich um einen Minus-Operator handelt + * @return true, wenn das Symbol "-" ist; false sonst + */ + public boolean istMinus() + { + return wert.equals("-"); + } + + /** + * Gibt zurück, ob es sich um einen Geteilt-Operator handelt + * @return true, wenn das Symbol "/" ist; false sonst + */ + public boolean istGeteilt() + { + return wert.equals("/"); + } + + /** + * Gibt zurück, ob es sich um eine Punktrechnung handelt + * @return true, wenn das Symbol "*" oder "/" ist; false sonst + */ + public boolean istPunktRechnung() + { + return istMal() || istGeteilt(); + } + + /** + * Gibt zurück, ob es sich um eine Strichrechnung handelt + * @return true, wenn das Symbol "+" oder "-" ist; false sonst + */ + public boolean istStrichRechnung() + { + return istPlus() || istMinus(); + } + + /** + * Wandelt das Symbol in seine String-Darstellung um + * @return Die String-Darstellung des Symbols + */ + @Override + public String toString() + { + return wert; + } +} diff --git a/Quellcodes/Alg_DS_Terme/02_terme_loes/TermAuswerter.java b/Quellcodes/Alg_DS_Terme/02_terme_loes/TermAuswerter.java new file mode 100644 index 0000000..35c9249 --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/02_terme_loes/TermAuswerter.java @@ -0,0 +1,103 @@ + +/** + * Wertet einen Term aus, der als Rechenbaum gegeben ist + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class TermAuswerter +{ + /** + * Wertet den Term, der durch den Binärbaum b gegeben ist, arithmetisch aus + * @param b Der auszuwertende Baum + * @return Das Zahlergebnis des Terms + */ + public int auswerten(Binaerbaum b) + { + if (b.istBlatt()) + { + return b.daten.getInt(); + } + else + { + int l = auswerten(b.links); + int r = auswerten(b.rechts); + if (b.daten.istPlus()) + { + return l + r; + } + else if (b.daten.istMal()) + { + return l * r; + } + else if (b.daten.istMinus()) + { + return l - r; + } + else + { + return l / r; + } + } + } + + /** + * Wandelt den Term, der durch den Bin�rbaum b gegeben ist, in eine lineare Termdarstellung um + * @param b Der umzuwandelnde Term + * @return Der Term als lineare Zeichenkette + */ + private boolean brauchtKlammer(Binaerbaum b, boolean links) + { + Binaerbaum kind = links ? b.links : b.rechts; + if (kind.istBlatt()) + { + return false; + } + if (b.daten.istPunktRechnung()) + { + if (kind.daten.istStrichRechnung()) + return true; + if (!links && b.daten.istGeteilt()) + return true; + return false; + } + if (!links && b.daten.istMinus() && b.rechts.daten.istStrichRechnung()) + { + return true; + } + return false; + } + + public String alsString(Binaerbaum b) + { + if (b.istBlatt()) + { + return b.daten.toString(); + } + String ergebnis = ""; + + if (brauchtKlammer(b, true)) + { + ergebnis += "("; + } + ergebnis += alsString(b.links); + if (brauchtKlammer(b, true)) + { + ergebnis += ")"; + } + + ergebnis += b.daten.toString(); + + if (brauchtKlammer(b, false)) + { + ergebnis += "("; + } + ergebnis += alsString(b.rechts); + if (brauchtKlammer(b, false)) + { + ergebnis += ")"; + } + + return ergebnis; + } +} diff --git a/Quellcodes/Alg_DS_Terme/02_terme_loes/TermFrame.java b/Quellcodes/Alg_DS_Terme/02_terme_loes/TermFrame.java new file mode 100644 index 0000000..dc06095 --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/02_terme_loes/TermFrame.java @@ -0,0 +1,142 @@ +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.swing.event.*; +/** + * + * GUI zum Verarbeiten von Termen + * Hier sollte nichts verändert werden. + * + * @version 1.0 vom 05.11.2020 + * @author Rainer Helfrich + */ + +public class TermFrame extends JFrame +{ + private JTextField jTextTerm = new JTextField(); + private JTextArea jTextTree = new JTextArea(""); + private JTextField jTextErgebnis = new JTextField(); + + public TermFrame() { + super(); + setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + int frameWidth = 408; + int frameHeight = 580; + setSize(frameWidth, frameHeight); + Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); + int x = (d.width - getSize().width) / 2; + int y = (d.height - getSize().height) / 2; + setLocation(x, y); + setTitle("Termauswertung"); + setResizable(true); + Container cp = getContentPane(); + cp.setLayout(null); + + jTextTerm.setBounds(96, 8, 289, 25); + jTextTerm.setFont(new Font("Courier New", Font.PLAIN, 12)); + cp.add(jTextTerm); + JScrollPane jTextArea1ScrollPane = new JScrollPane(jTextTree); + jTextArea1ScrollPane.setBounds(8, 40, 377, 465); + jTextTree.setEditable(false); + jTextTree.setFont(new Font("Courier New", Font.PLAIN, 12)); + cp.add(jTextArea1ScrollPane); + jTextErgebnis.setBounds(96, 512, 289, 25); + jTextErgebnis.setEditable(false); + jTextErgebnis.setFont(new Font("Courier New", Font.PLAIN, 12)); + cp.add(jTextErgebnis); + JLabel lErgebnis = new JLabel(); + lErgebnis.setBounds(8, 512, 78, 20); + lErgebnis.setText("Ergebnis:"); + cp.add(lErgebnis); + JLabel lTerm = new JLabel(); + lTerm.setBounds(8, 8, 78, 20); + lTerm.setText("Term:"); + cp.add(lTerm); + + jTextTerm.getDocument().addDocumentListener(new DocumentListener() { + public void changedUpdate(DocumentEvent e) { + parseTerm(); + } + + public void removeUpdate(DocumentEvent e) { + parseTerm(); + } + + public void insertUpdate(DocumentEvent e) { + parseTerm(); + } + + }); + addComponentListener(new ComponentAdapter() { + public void componentResized(ComponentEvent e) { + jTextArea1ScrollPane.setSize(getWidth()-31, getHeight()-115); + jTextErgebnis.setSize(getWidth()-119, 25); + jTextTerm.setSize(getWidth()-119, 25); + jTextErgebnis.setLocation(96, getHeight()-68); + lErgebnis.setLocation(8, getHeight()-68); + } + }); + setMinimumSize(new Dimension(300, 300)); + setVisible(true); + } + + private void parseTerm() + { + jTextTree.setText(""); + jTextErgebnis.setText(""); + try + { + Binaerbaum rechenbaum = TermParser.parse(jTextTerm.getText()); + String ausgabe = baumAnzeigen(rechenbaum); + if (rechenbaum != null) + { + TermAuswerter ta = new TermAuswerter(); + int ergebnis = ta.auswerten(rechenbaum); + jTextErgebnis.setText(String.valueOf(ergebnis)); + ausgabe += "\n=====================================\n\n"; + ausgabe += ta.alsString(rechenbaum); + } + jTextTree.setText(ausgabe); + } + catch(Exception x) + { + jTextTree.setText(x.getMessage()); + } + } + + private String baumAnzeigen(Binaerbaum b) + { + if (b == null) + { + return "(leerer Baum)"; + } + StringBuilder sb = new StringBuilder(); + sb.append(b.daten+"\n"); + if (b.links != null || b.rechts != null) + { + baumAnzeigen(b.links, "", true, sb); + baumAnzeigen(b.rechts, "", false, sb); + } + return sb.toString(); + } + + private void baumAnzeigen(Binaerbaum b, String indent, boolean left, StringBuilder sb) + { + sb.append(indent + (left ? "\u251C " : "\u2514 ")); + if (b != null) + { + sb.append(b.daten+"\n"); + if (b.links != null || b.rechts != null) + { + indent += (left ? "\u2502 " : " "); + baumAnzeigen(b.links, indent, true, sb); + baumAnzeigen(b.rechts, indent, false, sb); + } + } + else + { + sb.append("\n"); + } + } + +} diff --git a/Quellcodes/Alg_DS_Terme/02_terme_loes/TermParser.java b/Quellcodes/Alg_DS_Terme/02_terme_loes/TermParser.java new file mode 100644 index 0000000..39a6464 --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/02_terme_loes/TermParser.java @@ -0,0 +1,164 @@ +import java.util.ArrayList; +import java.util.Stack; + +/** + * Wandelt einen als String gegebenen Term in einen Rechenbaum um + * Hier sollte nichts verändert werden. + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class TermParser +{ + public static Binaerbaum parse(String term) throws Exception + { + ArrayList out = tokenizeTerm(term); + ArrayList postfix = buildPostfix(out); + Binaerbaum rechenbaum = buildTree(postfix); + return rechenbaum; + } + + private static Binaerbaum buildTree(ArrayList postfix) throws Exception + { + if (postfix.size() == 0) + { + return null; + } + Stack> stack = new Stack>(); + for (Symbol s : postfix) + { + if (s.istOperator()) + { + if (stack.size() < 2) + { + throw new Exception("Fehler: Zu viele Operatoren"); + } + Binaerbaum r = stack.pop(); + Binaerbaum l = stack.pop(); + Binaerbaum n = new Binaerbaum(s, l, r); + stack.push(n); + } + else + { + stack.push(new Binaerbaum(s)); + } + + } + if (stack.size() != 1) + { + throw new Exception("Fehler: Zu wenige Operatoren"); + } + return stack.pop(); + } + + private static ArrayList buildPostfix(ArrayList infix) throws Exception + { + Stack stack = new Stack(); + ArrayList postfix = new ArrayList(); + for(String token : infix) + { + if (isNumeric(token)) + { + postfix.add(new Symbol(token)); + } + else if (token.equals("(")) + { + stack.push(token); + } + else if (token.equals(")")) + { + while(true) + { + if (stack.isEmpty()) + { + throw new Exception("Fehler: Ungültiger Term."); + } + String t = stack.pop(); + if (t.equals("(")) + { + break; + } + postfix.add(new Symbol(t)); + } + } + else + { + while (!stack.isEmpty()) + { + String top = stack.peek(); + if ("+-*/".contains(top) && ("+-".contains(token) || "*/".contains(top))) + { + stack.pop(); + postfix.add(new Symbol(top)); + } + else + { + break; + } + } + stack.push(token); + } + } + while(!stack.isEmpty()) + { + String top = stack.pop(); + if (top.equals("(")) + { + throw new Exception("Fehler: Ungültig geklammerter Term"); + } + postfix.add(new Symbol(top)); + } + return postfix; + } + + private static boolean isNumeric(String s) + { + try + { + Integer.parseInt(s); + return true; + } + catch(Exception x) + { + } + return false; + } + + private static ArrayList tokenizeTerm(String strTerm) throws Exception + { + char[] term = strTerm.toCharArray(); + ArrayList tokens = new ArrayList(); + String numberToken = null; + for (char c : term) + { + if (Character.isDigit(c)) + { + if (numberToken == null) + numberToken = ""; + numberToken += String.valueOf(c); + } + else if ("+-*/()".contains(String.valueOf(c)) || Character.isWhitespace(c)) + { + if (numberToken != null) + { + tokens.add(numberToken); + numberToken = null; + } + if (!Character.isWhitespace(c)) + { + tokens.add(String.valueOf(c)); + } + } + else + { + throw new Exception("Fehler: Ungültige Zeichen in Term."); + } + } + if (numberToken != null) + { + tokens.add(numberToken); + } + return tokens; + } + +} diff --git a/Quellcodes/Alg_DS_Terme/02_terme_loes/package.bluej b/Quellcodes/Alg_DS_Terme/02_terme_loes/package.bluej new file mode 100644 index 0000000..44348b4 --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/02_terme_loes/package.bluej @@ -0,0 +1,122 @@ +#BlueJ package file +dependency1.from=TermFrame +dependency1.to=Binaerbaum +dependency1.type=UsesDependency +dependency10.from=AuswertungsTest +dependency10.to=Symbol +dependency10.type=UsesDependency +dependency11.from=AuswertungsTest +dependency11.to=TermAuswerter +dependency11.type=UsesDependency +dependency12.from=AuswertungsTest +dependency12.to=TermParser +dependency12.type=UsesDependency +dependency13.from=TermParser +dependency13.to=Binaerbaum +dependency13.type=UsesDependency +dependency14.from=TermParser +dependency14.to=Symbol +dependency14.type=UsesDependency +dependency15.from=TermAuswerter +dependency15.to=Binaerbaum +dependency15.type=UsesDependency +dependency16.from=TermAuswerter +dependency16.to=Symbol +dependency16.type=UsesDependency +dependency2.from=TermFrame +dependency2.to=Symbol +dependency2.type=UsesDependency +dependency3.from=TermFrame +dependency3.to=TermAuswerter +dependency3.type=UsesDependency +dependency4.from=TermFrame +dependency4.to=TermParser +dependency4.type=UsesDependency +dependency5.from=AlsStringTest +dependency5.to=Binaerbaum +dependency5.type=UsesDependency +dependency6.from=AlsStringTest +dependency6.to=Symbol +dependency6.type=UsesDependency +dependency7.from=AlsStringTest +dependency7.to=TermAuswerter +dependency7.type=UsesDependency +dependency8.from=AlsStringTest +dependency8.to=TermParser +dependency8.type=UsesDependency +dependency9.from=AuswertungsTest +dependency9.to=Binaerbaum +dependency9.type=UsesDependency +editor.fx.0.height=739 +editor.fx.0.width=1201 +editor.fx.0.x=380 +editor.fx.0.y=62 +objectbench.height=94 +objectbench.width=760 +package.divider.horizontal=0.6 +package.divider.vertical=0.8488023952095808 +package.editor.height=560 +package.editor.width=649 +package.editor.x=948 +package.editor.y=241 +package.frame.height=768 +package.frame.width=800 +package.numDependencies=16 +package.numTargets=7 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=TermFrame +target1.showInterface=false +target1.type=ClassTarget +target1.width=100 +target1.x=70 +target1.y=130 +target2.height=50 +target2.name=Binaerbaum +target2.showInterface=false +target2.type=ClassTarget +target2.width=130 +target2.x=150 +target2.y=10 +target3.height=50 +target3.name=Symbol +target3.showInterface=false +target3.type=ClassTarget +target3.width=80 +target3.x=220 +target3.y=200 +target4.height=50 +target4.name=AlsStringTest +target4.showInterface=false +target4.type=UnitTestTargetJunit4 +target4.width=110 +target4.x=210 +target4.y=420 +target5.height=50 +target5.name=AuswertungsTest +target5.showInterface=false +target5.type=UnitTestTargetJunit4 +target5.width=130 +target5.x=430 +target5.y=160 +target6.height=50 +target6.name=TermAuswerter +target6.showInterface=false +target6.type=ClassTarget +target6.width=120 +target6.x=400 +target6.y=300 +target7.height=50 +target7.name=TermParser +target7.showInterface=false +target7.type=ClassTarget +target7.width=100 +target7.x=330 +target7.y=70 diff --git a/Quellcodes/Alg_DS_Terme/readme.adoc b/Quellcodes/Alg_DS_Terme/readme.adoc new file mode 100644 index 0000000..849992d --- /dev/null +++ b/Quellcodes/Alg_DS_Terme/readme.adoc @@ -0,0 +1,11 @@ += Material : + +|=== +|Zuordnung| +|Klassenstufe| +|Bildungsplanbezug | +|Werkzeug| +|Autoren| +|=== + +== Inhalt diff --git a/Quellcodes/Alg_DS_Tiefen_Breitensuche/.gitignore b/Quellcodes/Alg_DS_Tiefen_Breitensuche/.gitignore new file mode 100644 index 0000000..2cc0cb6 --- /dev/null +++ b/Quellcodes/Alg_DS_Tiefen_Breitensuche/.gitignore @@ -0,0 +1,7 @@ +**/*.sh +**/*.class +**/*.ctxt +repo.adoc +repo_subtree.adoc +/alt +/hide diff --git a/Quellcodes/Alg_DS_Tiefen_Breitensuche/01_tiefen_und_breitensuche_roh/BaumTester2.java b/Quellcodes/Alg_DS_Tiefen_Breitensuche/01_tiefen_und_breitensuche_roh/BaumTester2.java new file mode 100644 index 0000000..baa5633 --- /dev/null +++ b/Quellcodes/Alg_DS_Tiefen_Breitensuche/01_tiefen_und_breitensuche_roh/BaumTester2.java @@ -0,0 +1,13201 @@ +import static org.junit.Assert.*; +import org.junit.Test; + +/** + * Testet Tiefen- und Breitensuche + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class BaumTester2 +{ + @Test + public void testEnthaelt001() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(0)); + Integer e; + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(672, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(672, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(340, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(340, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(488, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(488, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(720, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(720, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(789, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(789, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(339, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(339, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(973, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(973, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(400, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(406, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(665, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(665, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(270, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(274, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(150, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(154, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(533, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(532, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(766, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(760, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(255, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(259, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(379, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(379, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(76, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(71, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(493, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(498, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(465, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(468, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(590, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(595, e.intValue()); + } + + @Test + public void testEnthaelt002() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(1)); + Integer e; + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(275, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(273, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(635, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(635, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(950, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(958, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(409, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(409, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 230 && x < 240))); + assertNull(ba.breitensuche(x -> (x >= 230 && x < 240))); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(942, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(942, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 890 && x < 900))); + assertNull(ba.breitensuche(x -> (x >= 890 && x < 900))); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(463, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(463, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(983, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(983, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(605, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(604, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(996, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(995, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(506, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(502, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(680, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(680, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(692, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(699, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(286, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(286, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(37, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(39, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 320 && x < 330))); + assertNull(ba.breitensuche(x -> (x >= 320 && x < 330))); + assertNull(ba.tiefensuche(x -> (x >= 160 && x < 170))); + assertNull(ba.breitensuche(x -> (x >= 160 && x < 170))); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(912, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(913, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(558, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(556, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(825, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(829, e.intValue()); + } + + @Test + public void testEnthaelt003() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(2)); + Integer e; + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(565, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(565, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(612, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(612, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(258, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(258, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(481, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(481, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(249, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(249, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(33, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(33, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(646, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(649, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 390 && x < 400))); + assertNull(ba.breitensuche(x -> (x >= 390 && x < 400))); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(629, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(628, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(812, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(812, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 70 && x < 80))); + assertNull(ba.breitensuche(x -> (x >= 70 && x < 80))); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(344, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(343, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 930 && x < 940))); + assertNull(ba.breitensuche(x -> (x >= 930 && x < 940))); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(186, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(185, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 290 && x < 300))); + assertNull(ba.breitensuche(x -> (x >= 290 && x < 300))); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(441, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(441, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(904, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(904, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(210, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(219, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(66, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(69, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(959, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(954, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(229, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(221, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(654, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(656, e.intValue()); + } + + @Test + public void testEnthaelt004() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(3)); + Integer e; + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(69, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(62, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(652, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(656, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(502, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(502, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(619, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(619, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(466, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(466, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(829, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(829, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(86, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(86, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 220 && x < 230))); + assertNull(ba.breitensuche(x -> (x >= 220 && x < 230))); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(523, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(523, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(731, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(731, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(120, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(125, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(351, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(350, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(210, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(210, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 570 && x < 580))); + assertNull(ba.breitensuche(x -> (x >= 570 && x < 580))); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(344, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(346, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 130 && x < 140))); + assertNull(ba.breitensuche(x -> (x >= 130 && x < 140))); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(394, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(392, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(441, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(441, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(179, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(177, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(669, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(664, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(304, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(305, e.intValue()); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(189, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(183, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.breitensuche(x -> (x >= 260 && x < 270))); + } + + @Test + public void testEnthaelt005() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(4)); + Integer e; + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(369, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(369, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(99, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(383, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(383, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 550 && x < 560))); + assertNull(ba.breitensuche(x -> (x >= 550 && x < 560))); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(313, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(313, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(333, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(333, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(344, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(344, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(55, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(55, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(24, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(24, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(991, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(991, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(358, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(358, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(372, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(374, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 10 && x < 20))); + assertNull(ba.breitensuche(x -> (x >= 10 && x < 20))); + assertNull(ba.tiefensuche(x -> (x >= 500 && x < 510))); + assertNull(ba.breitensuche(x -> (x >= 500 && x < 510))); + assertNull(ba.tiefensuche(x -> (x >= 830 && x < 840))); + assertNull(ba.breitensuche(x -> (x >= 830 && x < 840))); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(840, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(849, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(285, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(283, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(581, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(586, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(214, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(217, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(810, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(814, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(134, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(133, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(593, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(598, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(487, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(481, e.intValue()); + } + + @Test + public void testEnthaelt006() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(5)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 640 && x < 650))); + assertNull(ba.breitensuche(x -> (x >= 640 && x < 650))); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(489, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(489, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(909, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(905, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(589, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(589, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 460 && x < 470))); + assertNull(ba.breitensuche(x -> (x >= 460 && x < 470))); + assertNull(ba.tiefensuche(x -> (x >= 150 && x < 160))); + assertNull(ba.breitensuche(x -> (x >= 150 && x < 160))); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(892, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(892, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(557, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(557, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(624, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(624, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(45, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(45, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(780, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(787, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(601, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(601, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(423, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(429, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(881, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(881, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(381, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(385, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 300 && x < 310))); + assertNull(ba.breitensuche(x -> (x >= 300 && x < 310))); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(254, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(254, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(757, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(754, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(373, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(372, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(73, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(74, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(685, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(688, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(867, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(865, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(761, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(764, e.intValue()); + } + + @Test + public void testEnthaelt007() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(6)); + Integer e; + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(599, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(595, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 750 && x < 760))); + assertNull(ba.breitensuche(x -> (x >= 750 && x < 760))); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(645, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(642, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(454, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(453, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(779, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(779, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(496, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(491, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(527, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(527, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 690 && x < 700))); + assertNull(ba.breitensuche(x -> (x >= 690 && x < 700))); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(625, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(623, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(268, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(263, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(924, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(924, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(960, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(960, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(230, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(230, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.breitensuche(x -> (x >= 720 && x < 730))); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(438, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(438, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(769, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(769, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(486, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(486, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(606, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(606, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(250, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(253, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 610 && x < 620))); + assertNull(ba.breitensuche(x -> (x >= 610 && x < 620))); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(182, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(181, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(908, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(903, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(990, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(999, e.intValue()); + } + + @Test + public void testEnthaelt008() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(7)); + Integer e; + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(33, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(33, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(254, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(259, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(452, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(456, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(568, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(565, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(993, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(993, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(296, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(293, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(7, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(6, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(897, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(897, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(712, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(712, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(572, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(574, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(13, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(14, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(208, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(202, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(166, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(165, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(331, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(754, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(754, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(988, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(988, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(677, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(677, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(125, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(125, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(27, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(27, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(224, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(224, e.intValue()); + } + + @Test + public void testEnthaelt009() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(8)); + Integer e; + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(832, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(834, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(531, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(532, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 790 && x < 800))); + assertNull(ba.breitensuche(x -> (x >= 790 && x < 800))); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(56, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(56, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(79, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(75, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 520 && x < 530))); + assertNull(ba.breitensuche(x -> (x >= 520 && x < 530))); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(272, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(272, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 750 && x < 760))); + assertNull(ba.breitensuche(x -> (x >= 750 && x < 760))); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(87, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(87, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(122, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(122, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(495, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(495, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(457, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(459, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(944, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(944, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(639, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(639, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 500 && x < 510))); + assertNull(ba.breitensuche(x -> (x >= 500 && x < 510))); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(955, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(952, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(761, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(768, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(864, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(866, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(487, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(483, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(883, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(889, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(983, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(987, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(179, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(179, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(582, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(582, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(464, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(464, e.intValue()); + } + + @Test + public void testEnthaelt010() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(9)); + Integer e; + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(147, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(147, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(562, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(562, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 630 && x < 640))); + assertNull(ba.breitensuche(x -> (x >= 630 && x < 640))); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 670 && x < 680))); + assertNull(ba.breitensuche(x -> (x >= 670 && x < 680))); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(470, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(477, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(794, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(794, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 10 && x < 20))); + assertNull(ba.breitensuche(x -> (x >= 10 && x < 20))); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(64, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(64, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 340 && x < 350))); + assertNull(ba.breitensuche(x -> (x >= 340 && x < 350))); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(296, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(293, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(845, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(848, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(383, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(383, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(755, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(757, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(772, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(772, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(881, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(881, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(88, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(88, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(939, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(933, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(747, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(744, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(391, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(391, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(361, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(360, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(411, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(418, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(711, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(714, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(808, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(805, e.intValue()); + } + + @Test + public void testEnthaelt011() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(10)); + Integer e; + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(170, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(170, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(470, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(478, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(383, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(383, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(414, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(414, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(920, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(922, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(397, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(397, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(197, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(198, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(835, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(839, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(338, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(971, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(230, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(238, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(138, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(138, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(698, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(690, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(566, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(564, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(712, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(711, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(87, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(87, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(24, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(24, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(157, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(157, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 510 && x < 520))); + assertNull(ba.breitensuche(x -> (x >= 510 && x < 520))); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(311, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(311, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 160 && x < 170))); + assertNull(ba.breitensuche(x -> (x >= 160 && x < 170))); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(263, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(263, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 770 && x < 780))); + assertNull(ba.breitensuche(x -> (x >= 770 && x < 780))); + assertNull(ba.tiefensuche(x -> (x >= 530 && x < 540))); + assertNull(ba.breitensuche(x -> (x >= 530 && x < 540))); + } + + @Test + public void testEnthaelt012() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(11)); + Integer e; + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(515, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(515, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(947, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(947, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(563, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(563, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(406, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(406, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(554, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(554, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(92, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(94, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(868, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(867, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(678, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(671, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(114, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(118, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(917, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(917, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(926, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(921, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(739, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(734, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(640, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(646, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(845, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(840, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(15, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(15, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(621, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(628, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(812, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(812, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(477, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(477, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 950 && x < 960))); + assertNull(ba.breitensuche(x -> (x >= 950 && x < 960))); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(770, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(774, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 900 && x < 910))); + assertNull(ba.breitensuche(x -> (x >= 900 && x < 910))); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(634, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(634, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 350 && x < 360))); + assertNull(ba.breitensuche(x -> (x >= 350 && x < 360))); + assertNull(ba.tiefensuche(x -> (x >= 780 && x < 790))); + assertNull(ba.breitensuche(x -> (x >= 780 && x < 790))); + } + + @Test + public void testEnthaelt013() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(12)); + Integer e; + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(473, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(470, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(279, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(273, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(70, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(70, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(469, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(469, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(434, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(437, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(611, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(618, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(365, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(365, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(965, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(966, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(220, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(226, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(124, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(124, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 380 && x < 390))); + assertNull(ba.breitensuche(x -> (x >= 380 && x < 390))); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(904, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(901, e.intValue()); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(185, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(185, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(429, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(429, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(808, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(808, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(354, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(354, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(179, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(172, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 940 && x < 950))); + assertNull(ba.breitensuche(x -> (x >= 940 && x < 950))); + assertNull(ba.tiefensuche(x -> (x >= 440 && x < 450))); + assertNull(ba.breitensuche(x -> (x >= 440 && x < 450))); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(785, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(782, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(919, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(911, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 690 && x < 700))); + assertNull(ba.breitensuche(x -> (x >= 690 && x < 700))); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(45, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(45, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(91, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(91, e.intValue()); + } + + @Test + public void testEnthaelt014() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(13)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.breitensuche(x -> (x >= 260 && x < 270))); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(788, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(788, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(60, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(60, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(95, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(95, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 330 && x < 340))); + assertNull(ba.breitensuche(x -> (x >= 330 && x < 340))); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(399, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(399, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 600 && x < 610))); + assertNull(ba.breitensuche(x -> (x >= 600 && x < 610))); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(768, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(768, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(106, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(106, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(401, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(401, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(140, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(140, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(493, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(493, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(328, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(328, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(993, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(999, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 840 && x < 850))); + assertNull(ba.breitensuche(x -> (x >= 840 && x < 850))); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(417, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(412, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(465, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(463, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(902, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(907, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(292, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(291, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(135, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(138, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(517, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(510, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(943, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(940, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(912, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(919, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(717, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(718, e.intValue()); + } + + @Test + public void testEnthaelt015() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(14)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 630 && x < 640))); + assertNull(ba.breitensuche(x -> (x >= 630 && x < 640))); + assertNull(ba.tiefensuche(x -> (x >= 80 && x < 90))); + assertNull(ba.breitensuche(x -> (x >= 80 && x < 90))); + assertNull(ba.tiefensuche(x -> (x >= 620 && x < 630))); + assertNull(ba.breitensuche(x -> (x >= 620 && x < 630))); + assertNull(ba.tiefensuche(x -> (x >= 270 && x < 280))); + assertNull(ba.breitensuche(x -> (x >= 270 && x < 280))); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(447, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(447, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(49, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(49, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(194, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(194, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(410, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(410, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(407, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(401, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(79, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(79, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(884, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(888, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(100, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(100, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(257, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(255, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(219, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(219, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(161, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(161, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(518, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(519, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(21, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(20, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(985, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(983, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(99, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(92, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(776, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(774, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(123, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(128, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(33, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(31, e.intValue()); + } + + @Test + public void testEnthaelt016() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(15)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 400 && x < 410))); + assertNull(ba.breitensuche(x -> (x >= 400 && x < 410))); + assertNull(ba.tiefensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.breitensuche(x -> (x >= 260 && x < 270))); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(117, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(117, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(342, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(342, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(384, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(384, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(52, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(52, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 60 && x < 70))); + assertNull(ba.breitensuche(x -> (x >= 60 && x < 70))); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(636, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(636, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(687, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(687, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(730, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(730, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(390, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(390, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(591, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(590, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(676, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(676, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(152, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(152, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(313, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(310, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(426, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(425, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(128, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(121, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(762, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(760, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(855, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(856, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(723, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(721, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(237, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(231, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(772, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(775, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(657, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(655, e.intValue()); + } + + @Test + public void testEnthaelt017() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(16)); + Integer e; + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(322, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(322, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 500 && x < 510))); + assertNull(ba.breitensuche(x -> (x >= 500 && x < 510))); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(441, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(441, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(147, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(147, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(644, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(641, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(597, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(597, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(783, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(785, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(807, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(806, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(833, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(833, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(115, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(110, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(650, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(650, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(565, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(561, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(761, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(767, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 250 && x < 260))); + assertNull(ba.breitensuche(x -> (x >= 250 && x < 260))); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(812, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(812, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 930 && x < 940))); + assertNull(ba.breitensuche(x -> (x >= 930 && x < 940))); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(186, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(186, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(466, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(466, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(103, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(107, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(357, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(358, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(229, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(220, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(312, e.intValue()); + } + + @Test + public void testEnthaelt018() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(17)); + Integer e; + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(163, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(166, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(974, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(973, e.intValue()); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(180, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(180, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(234, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(231, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(85, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(86, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(828, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(825, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(657, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(651, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(136, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(132, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(921, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(922, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(885, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(885, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(244, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(244, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(502, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(505, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(378, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(378, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(595, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(595, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(418, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(418, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(519, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(510, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(440, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(440, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(282, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(282, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 660 && x < 670))); + assertNull(ba.breitensuche(x -> (x >= 660 && x < 670))); + assertNull(ba.tiefensuche(x -> (x >= 400 && x < 410))); + assertNull(ba.breitensuche(x -> (x >= 400 && x < 410))); + } + + @Test + public void testEnthaelt019() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(18)); + Integer e; + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(3, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(3, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(431, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(431, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(489, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(489, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(325, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(329, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(647, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(640, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + + assertEquals(222, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(222, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(314, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(314, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(238, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(238, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(755, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(747, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(747, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(822, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(821, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(466, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(466, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(215, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(215, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(294, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(290, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(574, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(577, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(44, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(47, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(638, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(637, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(194, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(195, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(272, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(276, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 50 && x < 60))); + assertNull(ba.breitensuche(x -> (x >= 50 && x < 60))); + assertNull(ba.tiefensuche(x -> (x >= 770 && x < 780))); + assertNull(ba.breitensuche(x -> (x >= 770 && x < 780))); + assertNull(ba.tiefensuche(x -> (x >= 470 && x < 480))); + assertNull(ba.breitensuche(x -> (x >= 470 && x < 480))); + assertNull(ba.tiefensuche(x -> (x >= 510 && x < 520))); + assertNull(ba.breitensuche(x -> (x >= 510 && x < 520))); + } + + @Test + public void testEnthaelt020() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(19)); + Integer e; + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(875, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(875, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 840 && x < 850))); + assertNull(ba.breitensuche(x -> (x >= 840 && x < 850))); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(758, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(758, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 610 && x < 620))); + assertNull(ba.breitensuche(x -> (x >= 610 && x < 620))); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(515, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(513, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(490, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(495, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(931, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(931, e.intValue()); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(187, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(187, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(653, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(653, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(712, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(718, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(791, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(791, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(533, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(533, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(366, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(366, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(814, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(810, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(226, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(222, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(560, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(561, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(570, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 370 && x < 380))); + assertNull(ba.breitensuche(x -> (x >= 370 && x < 380))); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(11, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(14, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(763, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(765, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 620 && x < 630))); + assertNull(ba.breitensuche(x -> (x >= 620 && x < 630))); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(522, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(528, e.intValue()); + } + + @Test + public void testEnthaelt021() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(20)); + Integer e; + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(534, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(534, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(449, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(449, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(971, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(971, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(439, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(438, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(6, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(7, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 600 && x < 610))); + assertNull(ba.breitensuche(x -> (x >= 600 && x < 610))); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(36, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(36, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(333, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(399, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(395, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(196, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(192, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(834, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(834, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(229, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(229, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(850, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(854, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(750, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(303, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(303, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(648, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(641, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(29, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(29, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(586, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(584, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 570 && x < 580))); + assertNull(ba.breitensuche(x -> (x >= 570 && x < 580))); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(884, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(884, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(793, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(797, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(322, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(322, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 690 && x < 700))); + assertNull(ba.breitensuche(x -> (x >= 690 && x < 700))); + assertNull(ba.tiefensuche(x -> (x >= 900 && x < 910))); + assertNull(ba.breitensuche(x -> (x >= 900 && x < 910))); + } + + @Test + public void testEnthaelt022() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(21)); + Integer e; + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(177, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(173, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 570 && x < 580))); + assertNull(ba.breitensuche(x -> (x >= 570 && x < 580))); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(19, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(18, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 780 && x < 790))); + assertNull(ba.breitensuche(x -> (x >= 780 && x < 790))); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(666, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(666, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(750, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(750, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(482, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(482, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(343, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(343, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(320, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(320, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(385, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(382, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(692, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(693, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(985, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(985, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 900 && x < 910))); + assertNull(ba.breitensuche(x -> (x >= 900 && x < 910))); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(442, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(449, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(261, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(267, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(867, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(867, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(999, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(995, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(674, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(674, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(68, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(68, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(749, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(746, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(365, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(975, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(979, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 50 && x < 60))); + assertNull(ba.breitensuche(x -> (x >= 50 && x < 60))); + } + + @Test + public void testEnthaelt023() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(22)); + Integer e; + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(529, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(529, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(266, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(265, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(217, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(217, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(977, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(977, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(198, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(190, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(704, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(704, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(994, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(994, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 230 && x < 240))); + assertNull(ba.breitensuche(x -> (x >= 230 && x < 240))); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(983, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(983, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(864, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(864, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(544, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(544, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 790 && x < 800))); + assertNull(ba.breitensuche(x -> (x >= 790 && x < 800))); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(141, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(141, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(413, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(410, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 280 && x < 290))); + assertNull(ba.breitensuche(x -> (x >= 280 && x < 290))); + assertNull(ba.tiefensuche(x -> (x >= 630 && x < 640))); + assertNull(ba.breitensuche(x -> (x >= 630 && x < 640))); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(950, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(959, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(919, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(913, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(602, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(609, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(784, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(786, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(677, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(676, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(662, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(667, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(46, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(47, e.intValue()); + } + + @Test + public void testEnthaelt024() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(23)); + Integer e; + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(777, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(777, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(953, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(953, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(294, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(294, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(562, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(561, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(64, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(67, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(704, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(700, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 850 && x < 860))); + assertNull(ba.breitensuche(x -> (x >= 850 && x < 860))); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(667, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(667, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(995, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(999, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(541, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(541, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(889, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(882, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 730 && x < 740))); + assertNull(ba.breitensuche(x -> (x >= 730 && x < 740))); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(571, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(571, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(830, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(830, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(814, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(814, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(430, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(439, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(17, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(17, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(248, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(249, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(760, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(761, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(331, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(337, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(802, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(805, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 530 && x < 540))); + assertNull(ba.breitensuche(x -> (x >= 530 && x < 540))); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + } + + @Test + public void testEnthaelt025() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(24)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 30 && x < 40))); + assertNull(ba.breitensuche(x -> (x >= 30 && x < 40))); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(166, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(166, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(2, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(2, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(211, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(211, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 200 && x < 210))); + assertNull(ba.breitensuche(x -> (x >= 200 && x < 210))); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(505, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(507, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 560 && x < 570))); + assertNull(ba.breitensuche(x -> (x >= 560 && x < 570))); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(125, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(125, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(44, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(44, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(73, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(73, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(678, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(678, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(655, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(655, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(532, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(532, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 80 && x < 90))); + assertNull(ba.breitensuche(x -> (x >= 80 && x < 90))); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(296, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(298, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(736, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(738, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(832, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(834, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(949, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(942, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(571, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(575, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(699, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(692, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(782, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(784, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(399, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(398, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(253, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(258, e.intValue()); + } + + @Test + public void testEnthaelt026() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(25)); + Integer e; + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(350, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(350, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(533, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(532, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(491, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(491, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(684, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(684, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(652, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(652, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(698, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(698, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(948, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(948, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(966, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(966, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(876, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(874, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(633, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(633, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(346, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(346, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(264, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(263, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(80, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(87, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(361, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(362, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(150, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(153, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(398, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(393, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(507, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(501, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 450 && x < 460))); + assertNull(ba.breitensuche(x -> (x >= 450 && x < 460))); + assertNull(ba.tiefensuche(x -> (x >= 580 && x < 590))); + assertNull(ba.breitensuche(x -> (x >= 580 && x < 590))); + assertNull(ba.tiefensuche(x -> (x >= 50 && x < 60))); + assertNull(ba.breitensuche(x -> (x >= 50 && x < 60))); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(861, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(860, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(598, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(594, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 480 && x < 490))); + assertNull(ba.breitensuche(x -> (x >= 480 && x < 490))); + } + + @Test + public void testEnthaelt027() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(26)); + Integer e; + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(443, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(442, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(245, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(245, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(349, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(349, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(460, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(460, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(67, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(68, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(310, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(310, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(391, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(391, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(584, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(581, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 750 && x < 760))); + assertNull(ba.breitensuche(x -> (x >= 750 && x < 760))); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(699, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(699, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(608, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(605, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(403, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(403, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(194, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(194, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(634, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(634, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 20 && x < 30))); + assertNull(ba.breitensuche(x -> (x >= 20 && x < 30))); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(673, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(673, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 220 && x < 230))); + assertNull(ba.breitensuche(x -> (x >= 220 && x < 230))); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(284, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(281, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(570, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(577, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 840 && x < 850))); + assertNull(ba.breitensuche(x -> (x >= 840 && x < 850))); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(720, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(725, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(934, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(935, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(641, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(644, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(550, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(554, e.intValue()); + } + + @Test + public void testEnthaelt028() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(27)); + Integer e; + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(321, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(321, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(490, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(490, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(966, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(966, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(534, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(534, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(976, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(978, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(648, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(648, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(706, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(707, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 330 && x < 340))); + assertNull(ba.breitensuche(x -> (x >= 330 && x < 340))); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(788, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(788, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(523, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(523, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(600, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(603, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(314, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(319, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(926, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(926, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(398, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(398, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(380, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(381, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(226, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(221, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(745, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(749, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(480, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(482, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(204, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(200, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 280 && x < 290))); + assertNull(ba.breitensuche(x -> (x >= 280 && x < 290))); + assertNull(ba.tiefensuche(x -> (x >= 660 && x < 670))); + assertNull(ba.breitensuche(x -> (x >= 660 && x < 670))); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(169, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(164, e.intValue()); + } + + @Test + public void testEnthaelt029() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(28)); + Integer e; + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(379, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(379, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(924, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(921, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(965, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(966, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(633, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(635, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(549, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(544, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(774, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(774, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(449, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(447, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(59, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(59, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(145, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(145, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(984, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(988, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(665, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(665, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(244, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(243, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(137, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(137, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(738, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(733, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(453, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(453, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(503, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(505, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(815, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(818, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(566, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(566, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(62, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(62, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(22, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(22, e.intValue()); + } + + @Test + public void testEnthaelt030() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(29)); + Integer e; + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(346, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(346, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 480 && x < 490))); + assertNull(ba.breitensuche(x -> (x >= 480 && x < 490))); + assertNull(ba.tiefensuche(x -> (x >= 370 && x < 380))); + assertNull(ba.breitensuche(x -> (x >= 370 && x < 380))); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(750, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(750, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(405, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(405, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 760 && x < 770))); + assertNull(ba.breitensuche(x -> (x >= 760 && x < 770))); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(242, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(245, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(638, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(638, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(687, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(687, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(397, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(397, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(556, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(556, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(910, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(910, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(704, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(700, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(848, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(841, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(222, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(223, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(10, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(14, e.intValue()); + } + + @Test + public void testEnthaelt031() + { + + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(30)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 330 && x < 340))); + assertNull(ba.breitensuche(x -> (x >= 330 && x < 340))); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(427, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(427, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(715, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(715, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(556, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(556, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 240 && x < 250))); + assertNull(ba.breitensuche(x -> (x >= 240 && x < 250))); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(617, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(617, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(303, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(303, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(6, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(6, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(287, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(287, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 200 && x < 210))); + assertNull(ba.breitensuche(x -> (x >= 200 && x < 210))); + assertNull(ba.tiefensuche(x -> (x >= 480 && x < 490))); + assertNull(ba.breitensuche(x -> (x >= 480 && x < 490))); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(963, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(963, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(638, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(638, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(73, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(70, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(957, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(953, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(118, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(115, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(660, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(667, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(91, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(312, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(689, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(685, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(907, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(908, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(41, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(48, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(888, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(887, e.intValue()); + } + + @Test + public void testEnthaelt032() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(31)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 470 && x < 480))); + assertNull(ba.breitensuche(x -> (x >= 470 && x < 480))); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(625, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(625, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(307, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(306, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(274, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(274, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(800, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(800, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(30, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(36, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 670 && x < 680))); + assertNull(ba.breitensuche(x -> (x >= 670 && x < 680))); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(564, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(564, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 130 && x < 140))); + assertNull(ba.breitensuche(x -> (x >= 130 && x < 140))); + assertNull(ba.tiefensuche(x -> (x >= 830 && x < 840))); + assertNull(ba.breitensuche(x -> (x >= 830 && x < 840))); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(763, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(763, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(11, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(11, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(128, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(128, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(485, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(485, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(514, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(514, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(198, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(198, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(110, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(111, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(443, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(447, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(949, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(946, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(702, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(706, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(253, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(250, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(642, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(643, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(547, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + } + + @Test + public void testEnthaelt033() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(32)); + Integer e; + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(603, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(603, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(37, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(34, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(317, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(314, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(166, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(167, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(728, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(728, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(114, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(117, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(817, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(810, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(230, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(239, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(493, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(493, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(709, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(709, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(431, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(430, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(159, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(152, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(456, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(454, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(851, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(857, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(963, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(963, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(553, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(553, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(421, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(421, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(369, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(369, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(412, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(412, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 270 && x < 280))); + assertNull(ba.breitensuche(x -> (x >= 270 && x < 280))); + } + + @Test + public void testEnthaelt034() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(33)); + Integer e; + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(458, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(450, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(728, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(728, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(705, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(705, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(132, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(132, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 710 && x < 720))); + assertNull(ba.breitensuche(x -> (x >= 710 && x < 720))); + assertNull(ba.tiefensuche(x -> (x >= 440 && x < 450))); + assertNull(ba.breitensuche(x -> (x >= 440 && x < 450))); + assertNull(ba.tiefensuche(x -> (x >= 490 && x < 500))); + assertNull(ba.breitensuche(x -> (x >= 490 && x < 500))); + assertNull(ba.tiefensuche(x -> (x >= 510 && x < 520))); + assertNull(ba.breitensuche(x -> (x >= 510 && x < 520))); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(663, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(663, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(107, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(107, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(362, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(362, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(195, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(192, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(754, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(754, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(771, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(771, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(957, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(951, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(157, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(159, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(925, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(924, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(997, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(993, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(22, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(21, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(589, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(581, e.intValue()); + } + + @Test + public void testEnthaelt035() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(34)); + Integer e; + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(687, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(687, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(337, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(337, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(276, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(276, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(868, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(868, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(626, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(626, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(145, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(145, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 760 && x < 770))); + assertNull(ba.breitensuche(x -> (x >= 760 && x < 770))); + assertNull(ba.tiefensuche(x -> (x >= 810 && x < 820))); + assertNull(ba.breitensuche(x -> (x >= 810 && x < 820))); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(105, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(105, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(938, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(938, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 480 && x < 490))); + assertNull(ba.breitensuche(x -> (x >= 480 && x < 490))); + assertNull(ba.tiefensuche(x -> (x >= 300 && x < 310))); + assertNull(ba.breitensuche(x -> (x >= 300 && x < 310))); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(597, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(597, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(151, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(151, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(249, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(243, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(56, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(58, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(786, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(781, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(821, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(829, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(570, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(577, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(554, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(553, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(661, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(667, e.intValue()); + } + + @Test + public void testEnthaelt036() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(35)); + Integer e; + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(389, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(385, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(7, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(7, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(846, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(846, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 200 && x < 210))); + assertNull(ba.breitensuche(x -> (x >= 200 && x < 210))); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(859, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(855, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 70 && x < 80))); + assertNull(ba.breitensuche(x -> (x >= 70 && x < 80))); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(337, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(338, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(915, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(915, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 100 && x < 110))); + assertNull(ba.breitensuche(x -> (x >= 100 && x < 110))); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(159, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(159, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 480 && x < 490))); + assertNull(ba.breitensuche(x -> (x >= 480 && x < 490))); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(250, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(250, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(551, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(551, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(326, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(321, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(546, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(546, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(513, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(516, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(658, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(658, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(439, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(439, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(815, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(814, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(920, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(929, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(28, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(23, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(715, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(717, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(93, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + } + + @Test + public void testEnthaelt037() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(36)); + Integer e; + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(903, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(901, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(254, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(254, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(579, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(571, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(965, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(965, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(623, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(623, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 950 && x < 960))); + assertNull(ba.breitensuche(x -> (x >= 950 && x < 960))); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(237, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(237, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(551, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(556, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(803, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(803, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(63, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(65, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 970 && x < 980))); + assertNull(ba.breitensuche(x -> (x >= 970 && x < 980))); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(4, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(4, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(790, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(790, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(319, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(319, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(706, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(706, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(826, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(826, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(832, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(830, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(746, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(749, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(343, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(340, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(80, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(83, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 270 && x < 280))); + assertNull(ba.breitensuche(x -> (x >= 270 && x < 280))); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(201, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(209, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(151, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(159, e.intValue()); + } + + @Test + public void testEnthaelt038() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(37)); + Integer e; + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(533, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(533, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(984, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(980, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(2, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(5, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(274, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(274, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(401, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(401, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(751, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(736, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(736, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(135, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(133, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(390, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(397, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(253, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(255, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(163, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(161, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 560 && x < 570))); + assertNull(ba.breitensuche(x -> (x >= 560 && x < 570))); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(60, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(60, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(968, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(968, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(821, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(827, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(119, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(119, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(593, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(594, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(367, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(367, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(626, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(626, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(740, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(743, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 90 && x < 100))); + assertNull(ba.breitensuche(x -> (x >= 90 && x < 100))); + assertNull(ba.tiefensuche(x -> (x >= 180 && x < 190))); + assertNull(ba.breitensuche(x -> (x >= 180 && x < 190))); + } + + @Test + public void testEnthaelt039() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(38)); + Integer e; + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(600, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(609, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(18, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(18, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(263, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(263, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(450, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(450, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(35, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(35, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(828, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(828, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(532, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(536, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(557, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(557, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(154, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(156, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(984, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(984, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 560 && x < 570))); + assertNull(ba.breitensuche(x -> (x >= 560 && x < 570))); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(612, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(612, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(208, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(208, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(592, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(597, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(446, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(446, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 960 && x < 970))); + assertNull(ba.breitensuche(x -> (x >= 960 && x < 970))); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(303, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(304, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 360 && x < 370))); + assertNull(ba.breitensuche(x -> (x >= 360 && x < 370))); + assertNull(ba.tiefensuche(x -> (x >= 540 && x < 550))); + assertNull(ba.breitensuche(x -> (x >= 540 && x < 550))); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(789, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(784, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(353, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(357, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(426, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(422, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(141, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(146, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(892, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(896, e.intValue()); + } + + @Test + public void testEnthaelt040() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(39)); + Integer e; + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(208, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(203, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(704, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(704, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(13, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(13, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(73, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(73, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(614, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(615, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(278, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(272, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(463, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(462, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(799, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(792, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(626, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(621, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(168, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(163, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(809, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(806, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(710, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(710, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(683, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(683, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(992, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(997, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(90, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(90, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(0, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(9, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(219, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(219, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(473, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(473, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(822, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(822, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 570 && x < 580))); + assertNull(ba.breitensuche(x -> (x >= 570 && x < 580))); + assertNull(ba.tiefensuche(x -> (x >= 550 && x < 560))); + assertNull(ba.breitensuche(x -> (x >= 550 && x < 560))); + assertNull(ba.tiefensuche(x -> (x >= 330 && x < 340))); + assertNull(ba.breitensuche(x -> (x >= 330 && x < 340))); + } + + @Test + public void testEnthaelt041() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(40)); + Integer e; + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(268, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(265, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(474, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(474, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 780 && x < 790))); + assertNull(ba.breitensuche(x -> (x >= 780 && x < 790))); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(618, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(618, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(25, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(25, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(864, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(864, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(199, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(194, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(437, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(437, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(680, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(689, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(371, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(371, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(587, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(587, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 970 && x < 980))); + assertNull(ba.breitensuche(x -> (x >= 970 && x < 980))); + assertNull(ba.tiefensuche(x -> (x >= 110 && x < 120))); + assertNull(ba.breitensuche(x -> (x >= 110 && x < 120))); + assertNull(ba.tiefensuche(x -> (x >= 360 && x < 370))); + assertNull(ba.breitensuche(x -> (x >= 360 && x < 370))); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(824, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(824, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(980, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(980, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(733, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(730, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(832, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(832, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(294, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(290, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(960, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(709, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(700, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(408, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(403, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(349, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(345, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(414, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(413, e.intValue()); + } + + @Test + public void testEnthaelt042() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(41)); + Integer e; + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(6, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(6, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 290 && x < 300))); + assertNull(ba.breitensuche(x -> (x >= 290 && x < 300))); + assertNull(ba.tiefensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.breitensuche(x -> (x >= 720 && x < 730))); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(837, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(837, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(884, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(884, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(632, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(632, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(962, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(962, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(379, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(378, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(552, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(552, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 140 && x < 150))); + assertNull(ba.breitensuche(x -> (x >= 140 && x < 150))); + assertNull(ba.tiefensuche(x -> (x >= 410 && x < 420))); + assertNull(ba.breitensuche(x -> (x >= 410 && x < 420))); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(994, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(994, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(200, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(200, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(851, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(851, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(407, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(405, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(237, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(236, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(825, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(821, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(461, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(464, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(928, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(926, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(731, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(736, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(381, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(387, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(765, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(763, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(755, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + } + + @Test + public void testEnthaelt043() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(42)); + Integer e; + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(998, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(998, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(384, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(385, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(821, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(824, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(467, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(467, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(613, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(613, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(628, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(449, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(449, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(814, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(814, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 800 && x < 810))); + assertNull(ba.breitensuche(x -> (x >= 800 && x < 810))); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(639, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(634, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(477, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(478, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(675, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(676, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(933, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(933, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(838, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(838, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(78, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(78, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(358, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(353, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(237, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(236, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(405, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(406, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(874, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(875, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 0 && x < 10))); + assertNull(ba.breitensuche(x -> (x >= 0 && x < 10))); + assertNull(ba.tiefensuche(x -> (x >= 60 && x < 70))); + assertNull(ba.breitensuche(x -> (x >= 60 && x < 70))); + assertNull(ba.tiefensuche(x -> (x >= 200 && x < 210))); + assertNull(ba.breitensuche(x -> (x >= 200 && x < 210))); + } + + @Test + public void testEnthaelt044() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(43)); + Integer e; + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(234, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(237, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(442, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(442, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(276, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(276, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(499, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(499, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(517, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(367, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(367, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(832, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(833, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(433, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(433, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(346, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(346, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(138, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(138, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(821, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(822, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(40, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(47, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(618, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(616, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(756, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(751, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(58, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(51, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 840 && x < 850))); + assertNull(ba.breitensuche(x -> (x >= 840 && x < 850))); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(7, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(0, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(808, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(801, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(749, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(749, e.intValue()); + } + + @Test + public void testEnthaelt045() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(44)); + Integer e; + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(414, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(417, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(661, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(664, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(36, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(36, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(938, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(937, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(405, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(405, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(241, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(241, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(72, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(74, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(366, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(366, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(474, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(479, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(173, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(173, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(788, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(784, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(42, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(41, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(874, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(752, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(752, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(622, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(237, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(237, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(999, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(999, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(729, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(729, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(901, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(901, e.intValue()); + } + + @Test + public void testEnthaelt046() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(45)); + Integer e; + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(981, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(981, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(880, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(880, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(718, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(718, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(527, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(526, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(741, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(741, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(540, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(545, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(127, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(127, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(117, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(117, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(706, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(706, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(340, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(340, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(589, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(584, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(608, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(608, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(457, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(456, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(430, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(433, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 920 && x < 930))); + assertNull(ba.breitensuche(x -> (x >= 920 && x < 930))); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(736, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(732, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(875, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(879, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 790 && x < 800))); + assertNull(ba.breitensuche(x -> (x >= 790 && x < 800))); + assertNull(ba.tiefensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.breitensuche(x -> (x >= 260 && x < 270))); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(72, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(78, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(320, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(328, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 420 && x < 430))); + assertNull(ba.breitensuche(x -> (x >= 420 && x < 430))); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(477, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(472, e.intValue()); + } + + @Test + public void testEnthaelt047() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(46)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 760 && x < 770))); + assertNull(ba.breitensuche(x -> (x >= 760 && x < 770))); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(178, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(175, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 270 && x < 280))); + assertNull(ba.breitensuche(x -> (x >= 270 && x < 280))); + assertNull(ba.tiefensuche(x -> (x >= 230 && x < 240))); + assertNull(ba.breitensuche(x -> (x >= 230 && x < 240))); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(104, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(104, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(299, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(299, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(528, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(528, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(847, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(847, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(433, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(433, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(636, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(630, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(715, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(715, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(797, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(790, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 220 && x < 230))); + assertNull(ba.breitensuche(x -> (x >= 220 && x < 230))); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(7, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(7, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(140, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(140, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(594, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(594, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(837, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(830, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(446, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(441, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(23, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(22, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(748, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(746, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(866, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(860, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(570, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(575, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(194, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(199, e.intValue()); + } + + @Test + public void testEnthaelt048() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(47)); + Integer e; + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(484, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(480, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(532, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(532, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 670 && x < 680))); + assertNull(ba.breitensuche(x -> (x >= 670 && x < 680))); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(379, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(379, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(921, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(922, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(352, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(352, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 150 && x < 160))); + assertNull(ba.breitensuche(x -> (x >= 150 && x < 160))); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(955, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(955, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 620 && x < 630))); + assertNull(ba.breitensuche(x -> (x >= 620 && x < 630))); + assertNull(ba.tiefensuche(x -> (x >= 290 && x < 300))); + assertNull(ba.breitensuche(x -> (x >= 290 && x < 300))); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(691, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(691, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(835, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(835, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(9, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(0, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(944, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(940, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(226, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(221, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(19, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(18, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(741, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(741, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(903, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(903, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(719, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(719, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(85, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(86, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(217, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(215, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(772, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(776, e.intValue()); + } + + @Test + public void testEnthaelt049() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(48)); + Integer e; + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(137, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(138, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(616, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(616, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(559, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(559, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(716, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(713, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(220, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(220, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(447, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(441, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(347, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(341, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(769, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(769, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(141, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(149, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(382, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(385, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(63, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(66, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(243, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(240, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(691, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(691, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(359, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(359, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(888, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(886, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(924, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(924, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(904, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(904, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(434, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(436, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(893, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(893, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(912, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(912, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.breitensuche(x -> (x >= 260 && x < 270))); + } + + @Test + public void testEnthaelt050() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(49)); + Integer e; + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(168, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(164, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 620 && x < 630))); + assertNull(ba.breitensuche(x -> (x >= 620 && x < 630))); + assertNull(ba.tiefensuche(x -> (x >= 550 && x < 560))); + assertNull(ba.breitensuche(x -> (x >= 550 && x < 560))); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(857, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(857, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 930 && x < 940))); + assertNull(ba.breitensuche(x -> (x >= 930 && x < 940))); + assertNull(ba.tiefensuche(x -> (x >= 680 && x < 690))); + assertNull(ba.breitensuche(x -> (x >= 680 && x < 690))); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(123, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(123, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(480, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(480, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(314, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(311, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(331, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(331, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(568, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(567, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(203, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(203, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(510, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(510, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(298, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(298, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(133, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(139, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(307, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(309, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(84, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(84, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(62, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(62, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(105, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(105, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(733, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(731, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(503, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(502, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(143, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(148, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(656, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(654, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(815, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + } + + @Test + public void testEnthaelt051() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(50)); + Integer e; + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(937, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(937, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(911, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(911, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(639, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(639, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 490 && x < 500))); + assertNull(ba.breitensuche(x -> (x >= 490 && x < 500))); + assertNull(ba.tiefensuche(x -> (x >= 920 && x < 930))); + assertNull(ba.breitensuche(x -> (x >= 920 && x < 930))); + assertNull(ba.tiefensuche(x -> (x >= 670 && x < 680))); + assertNull(ba.breitensuche(x -> (x >= 670 && x < 680))); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(313, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(313, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(650, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(650, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(204, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(204, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 940 && x < 950))); + assertNull(ba.breitensuche(x -> (x >= 940 && x < 950))); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(301, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(301, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(772, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(772, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(742, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(742, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(891, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(898, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(90, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(97, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(412, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(416, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(561, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(560, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(709, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(702, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(544, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(541, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(607, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(605, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(843, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(840, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(329, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(326, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(967, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(969, e.intValue()); + } + + @Test + public void testEnthaelt052() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(51)); + Integer e; + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(749, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(749, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(128, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(120, e.intValue()); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(188, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(185, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(613, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(613, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(354, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(354, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(942, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(942, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(665, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(666, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(573, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(579, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(857, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(857, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(827, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(826, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(167, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(167, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(385, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(385, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(84, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(89, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(811, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(811, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(4, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(4, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(243, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(241, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(793, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(791, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(950, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(955, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(481, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(485, e.intValue()); + } + + @Test + public void testEnthaelt053() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(52)); + Integer e; + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(968, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(388, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(380, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(740, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(743, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(626, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(623, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(268, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(263, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(39, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(39, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(774, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(774, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(247, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(247, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(845, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(845, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(407, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(400, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(108, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(108, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(232, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(234, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(596, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(594, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(465, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(468, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(393, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(393, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(632, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(632, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(64, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(64, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(494, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(492, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(585, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(585, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(898, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(898, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.breitensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.tiefensuche(x -> (x >= 920 && x < 930))); + assertNull(ba.breitensuche(x -> (x >= 920 && x < 930))); + assertNull(ba.tiefensuche(x -> (x >= 110 && x < 120))); + assertNull(ba.breitensuche(x -> (x >= 110 && x < 120))); + assertNull(ba.tiefensuche(x -> (x >= 180 && x < 190))); + assertNull(ba.breitensuche(x -> (x >= 180 && x < 190))); + } + + @Test + public void testEnthaelt054() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(53)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 640 && x < 650))); + assertNull(ba.breitensuche(x -> (x >= 640 && x < 650))); + assertNull(ba.tiefensuche(x -> (x >= 930 && x < 940))); + assertNull(ba.breitensuche(x -> (x >= 930 && x < 940))); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(264, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(264, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(557, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(557, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(977, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 270 && x < 280))); + assertNull(ba.breitensuche(x -> (x >= 270 && x < 280))); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(126, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(126, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(519, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(513, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(899, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(898, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(44, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(44, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(795, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(795, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(577, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(577, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(501, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(505, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(861, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(868, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 310 && x < 320))); + assertNull(ba.breitensuche(x -> (x >= 310 && x < 320))); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(233, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(233, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(714, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(714, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(285, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(285, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(589, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(589, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(95, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(560, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(564, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(536, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(530, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(492, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(497, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(119, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(112, e.intValue()); + } + + @Test + public void testEnthaelt055() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(54)); + Integer e; + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(872, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(872, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 530 && x < 540))); + assertNull(ba.breitensuche(x -> (x >= 530 && x < 540))); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(933, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(935, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(27, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(27, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(561, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(561, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(590, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(599, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(446, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(446, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(918, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(915, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(643, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(643, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(245, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(243, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(521, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(521, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(315, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(311, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(742, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(742, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(252, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(253, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(48, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(48, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(510, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(510, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 950 && x < 960))); + assertNull(ba.breitensuche(x -> (x >= 950 && x < 960))); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(507, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(504, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(979, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(979, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(412, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(416, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(272, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(279, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(999, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(991, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 810 && x < 820))); + assertNull(ba.breitensuche(x -> (x >= 810 && x < 820))); + assertNull(ba.tiefensuche(x -> (x >= 30 && x < 40))); + assertNull(ba.breitensuche(x -> (x >= 30 && x < 40))); + } + + @Test + public void testEnthaelt056() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(55)); + Integer e; + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(128, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(128, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(469, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(469, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 160 && x < 170))); + assertNull(ba.breitensuche(x -> (x >= 160 && x < 170))); + assertNull(ba.tiefensuche(x -> (x >= 290 && x < 300))); + assertNull(ba.breitensuche(x -> (x >= 290 && x < 300))); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(54, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(54, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(476, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(475, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(663, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(663, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(411, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(418, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(69, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(61, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 870 && x < 880))); + assertNull(ba.breitensuche(x -> (x >= 870 && x < 880))); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(859, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(859, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 300 && x < 310))); + assertNull(ba.breitensuche(x -> (x >= 300 && x < 310))); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(807, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(806, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(785, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(788, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(793, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(793, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(770, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(770, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(232, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(232, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(355, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(355, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(333, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(385, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(384, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(219, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(210, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(763, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(760, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(486, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(488, e.intValue()); + } + + @Test + public void testEnthaelt057() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(56)); + Integer e; + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(613, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(619, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(896, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(891, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 570 && x < 580))); + assertNull(ba.breitensuche(x -> (x >= 570 && x < 580))); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(531, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(535, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(817, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(810, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(428, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(426, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(981, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(981, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(762, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(764, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(593, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(593, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(960, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(960, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(389, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(389, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(548, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(541, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(72, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(72, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(105, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(108, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(678, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(678, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(659, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(657, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(974, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(975, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(513, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(513, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(116, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(116, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(63, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(63, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(268, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(268, e.intValue()); + } + + @Test + public void testEnthaelt058() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(57)); + Integer e; + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(223, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(223, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(487, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(487, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 550 && x < 560))); + assertNull(ba.breitensuche(x -> (x >= 550 && x < 560))); + assertNull(ba.tiefensuche(x -> (x >= 60 && x < 70))); + assertNull(ba.breitensuche(x -> (x >= 60 && x < 70))); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(232, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(232, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(477, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(477, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(127, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(127, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(571, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(571, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(425, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(425, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(945, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(942, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(118, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(118, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 670 && x < 680))); + assertNull(ba.breitensuche(x -> (x >= 670 && x < 680))); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(811, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(811, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(214, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(727, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(728, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(315, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(410, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(419, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(162, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(163, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(292, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(291, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(987, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(983, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(7, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(9, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(337, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(338, e.intValue()); + } + + @Test + public void testEnthaelt059() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(58)); + Integer e; + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(708, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(709, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(954, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(957, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(389, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(389, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(215, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(214, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(641, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(643, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(891, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(892, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(197, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(196, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(739, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(739, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(610, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(610, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(518, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(779, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(778, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(724, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(726, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(56, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(53, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(925, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(925, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(875, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(875, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(550, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(550, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(741, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(741, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(26, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(26, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(437, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(437, e.intValue()); + } + + @Test + public void testEnthaelt060() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(59)); + Integer e; + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(714, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(719, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(900, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(900, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(148, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(148, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(119, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(119, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(596, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(596, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(799, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(793, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(195, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(623, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(624, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(462, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(462, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(8, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(8, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(771, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(770, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(698, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(698, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(705, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(705, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(15, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(15, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 60 && x < 70))); + assertNull(ba.breitensuche(x -> (x >= 60 && x < 70))); + assertNull(ba.tiefensuche(x -> (x >= 800 && x < 810))); + assertNull(ba.breitensuche(x -> (x >= 800 && x < 810))); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(81, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(89, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(430, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(437, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(333, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(338, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(452, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(458, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(482, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(487, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 40 && x < 50))); + assertNull(ba.breitensuche(x -> (x >= 40 && x < 50))); + assertNull(ba.tiefensuche(x -> (x >= 370 && x < 380))); + assertNull(ba.breitensuche(x -> (x >= 370 && x < 380))); + } + + @Test + public void testEnthaelt061() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(60)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 320 && x < 330))); + assertNull(ba.breitensuche(x -> (x >= 320 && x < 330))); + assertNull(ba.tiefensuche(x -> (x >= 120 && x < 130))); + assertNull(ba.breitensuche(x -> (x >= 120 && x < 130))); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(4, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(9, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 340 && x < 350))); + assertNull(ba.breitensuche(x -> (x >= 340 && x < 350))); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(350, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(350, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(557, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(557, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 610 && x < 620))); + assertNull(ba.breitensuche(x -> (x >= 610 && x < 620))); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(494, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(494, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(799, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(799, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(234, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(234, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(728, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(725, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(845, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(849, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(671, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(671, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(307, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(307, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(149, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(149, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(958, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(959, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(690, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(690, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(271, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(271, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(203, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(201, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(639, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(630, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(878, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(370, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(376, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(565, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(569, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(391, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(392, e.intValue()); + } + + @Test + public void testEnthaelt062() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(61)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 590 && x < 600))); + assertNull(ba.breitensuche(x -> (x >= 590 && x < 600))); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(298, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(294, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.breitensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.tiefensuche(x -> (x >= 760 && x < 770))); + assertNull(ba.breitensuche(x -> (x >= 760 && x < 770))); + assertNull(ba.tiefensuche(x -> (x >= 650 && x < 660))); + assertNull(ba.breitensuche(x -> (x >= 650 && x < 660))); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(681, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(681, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(623, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(623, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(343, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(343, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(785, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(785, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(822, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(822, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(989, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(989, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(809, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(809, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(272, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(272, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(573, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(579, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(356, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(356, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(317, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(319, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(836, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(836, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(706, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(703, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(70, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(75, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(755, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(333, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(330, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(162, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(169, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(265, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(260, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(691, e.intValue()); + } + + @Test + public void testEnthaelt063() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(62)); + Integer e; + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(932, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(932, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(968, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(968, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(769, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(766, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(15, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(15, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(820, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(820, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(417, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(417, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(567, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(567, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(836, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(839, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(738, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(738, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(463, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(463, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(773, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(779, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(552, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(550, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(490, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(490, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(515, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(515, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(951, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(958, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(945, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(940, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 330 && x < 340))); + assertNull(ba.breitensuche(x -> (x >= 330 && x < 340))); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(688, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(682, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(653, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(650, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(295, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(297, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(705, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(702, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 900 && x < 910))); + assertNull(ba.breitensuche(x -> (x >= 900 && x < 910))); + assertNull(ba.tiefensuche(x -> (x >= 880 && x < 890))); + assertNull(ba.breitensuche(x -> (x >= 880 && x < 890))); + assertNull(ba.tiefensuche(x -> (x >= 980 && x < 990))); + assertNull(ba.breitensuche(x -> (x >= 980 && x < 990))); + } + + @Test + public void testEnthaelt064() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(63)); + Integer e; + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 580 && x < 590))); + assertNull(ba.breitensuche(x -> (x >= 580 && x < 590))); + assertNull(ba.tiefensuche(x -> (x >= 880 && x < 890))); + assertNull(ba.breitensuche(x -> (x >= 880 && x < 890))); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(203, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(203, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 700 && x < 710))); + assertNull(ba.breitensuche(x -> (x >= 700 && x < 710))); + assertNull(ba.tiefensuche(x -> (x >= 560 && x < 570))); + assertNull(ba.breitensuche(x -> (x >= 560 && x < 570))); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(80, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(85, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(523, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(529, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(408, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(408, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(830, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(838, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(210, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(210, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(242, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(242, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(43, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(43, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(862, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(862, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(733, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(733, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(926, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(926, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(824, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(824, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(112, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(116, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(308, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(309, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(333, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(438, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(437, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(607, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(602, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(35, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(38, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(803, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(800, e.intValue()); + } + + @Test + public void testEnthaelt065() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(64)); + Integer e; + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(594, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(591, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(815, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(311, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(315, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(120, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(122, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(934, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(936, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(173, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(172, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(968, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(960, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(72, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(72, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(309, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(300, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 970 && x < 980))); + assertNull(ba.breitensuche(x -> (x >= 970 && x < 980))); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(781, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(787, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(870, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(874, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(481, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(481, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(513, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(513, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(402, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(402, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(573, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(573, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(901, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(901, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(564, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(564, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(803, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(803, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(445, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(445, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(899, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(899, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 80 && x < 90))); + assertNull(ba.breitensuche(x -> (x >= 80 && x < 90))); + } + + @Test + public void testEnthaelt066() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(65)); + Integer e; + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(212, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(212, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 920 && x < 930))); + assertNull(ba.breitensuche(x -> (x >= 920 && x < 930))); + assertNull(ba.tiefensuche(x -> (x >= 300 && x < 310))); + assertNull(ba.breitensuche(x -> (x >= 300 && x < 310))); + assertNull(ba.tiefensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.breitensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.tiefensuche(x -> (x >= 350 && x < 360))); + assertNull(ba.breitensuche(x -> (x >= 350 && x < 360))); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(696, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(696, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(110, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(110, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(454, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(454, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(153, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(153, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(245, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(245, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(997, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(997, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(399, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(399, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(855, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(855, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(517, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(514, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(225, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(228, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(500, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(509, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(475, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(472, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(338, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(330, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(779, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(778, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(529, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(521, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(820, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(827, e.intValue()); + } + + @Test + public void testEnthaelt067() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(66)); + Integer e; + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(94, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(94, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(101, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(101, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(842, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(842, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 740 && x < 750))); + assertNull(ba.breitensuche(x -> (x >= 740 && x < 750))); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(951, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(951, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(678, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(678, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(292, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(292, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(276, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(277, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(833, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(833, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(646, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(646, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(536, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(536, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 400 && x < 410))); + assertNull(ba.breitensuche(x -> (x >= 400 && x < 410))); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(695, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(693, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(356, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(351, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 650 && x < 660))); + assertNull(ba.breitensuche(x -> (x >= 650 && x < 660))); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(451, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(454, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(931, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(936, e.intValue()); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(181, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(186, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 220 && x < 230))); + assertNull(ba.breitensuche(x -> (x >= 220 && x < 230))); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(172, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(174, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(503, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(501, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(773, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(770, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(907, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(905, e.intValue()); + } + + @Test + public void testEnthaelt068() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(67)); + Integer e; + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(850, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(851, e.intValue()); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(182, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(182, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(475, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(475, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(597, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(597, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(670, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(670, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(371, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(372, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(89, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(80, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(734, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(737, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(544, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(540, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(658, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(654, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(706, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(706, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(100, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(100, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(873, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(225, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(225, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(790, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(796, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(942, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(946, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(553, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(553, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(416, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(412, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(366, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(366, e.intValue()); + } + + @Test + public void testEnthaelt069() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(68)); + Integer e; + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(688, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(688, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(548, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(548, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(158, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(151, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 890 && x < 900))); + assertNull(ba.breitensuche(x -> (x >= 890 && x < 900))); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(94, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(94, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 840 && x < 850))); + assertNull(ba.breitensuche(x -> (x >= 840 && x < 850))); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(532, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(531, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(741, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(741, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(352, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(352, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(799, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(794, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(483, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(484, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(701, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(701, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(223, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(227, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(256, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(251, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(733, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(739, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(63, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(60, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(114, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(110, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(807, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(802, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 330 && x < 340))); + assertNull(ba.breitensuche(x -> (x >= 330 && x < 340))); + assertNull(ba.tiefensuche(x -> (x >= 370 && x < 380))); + assertNull(ba.breitensuche(x -> (x >= 370 && x < 380))); + } + + @Test + public void testEnthaelt070() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(69)); + Integer e; + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(241, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(241, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(566, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(565, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(908, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(904, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(434, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(434, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(473, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(473, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(283, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(280, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(654, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(654, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(110, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(110, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(790, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(790, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(142, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(149, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(549, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(540, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(429, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(422, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(699, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(895, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(892, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(617, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(612, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(230, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(230, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(536, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(536, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(946, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(946, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(977, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(977, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 440 && x < 450))); + assertNull(ba.breitensuche(x -> (x >= 440 && x < 450))); + assertNull(ba.tiefensuche(x -> (x >= 780 && x < 790))); + assertNull(ba.breitensuche(x -> (x >= 780 && x < 790))); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(167, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(162, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 300 && x < 310))); + assertNull(ba.breitensuche(x -> (x >= 300 && x < 310))); + } + + @Test + public void testEnthaelt071() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(70)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 970 && x < 980))); + assertNull(ba.breitensuche(x -> (x >= 970 && x < 980))); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 450 && x < 460))); + assertNull(ba.breitensuche(x -> (x >= 450 && x < 460))); + assertNull(ba.tiefensuche(x -> (x >= 390 && x < 400))); + assertNull(ba.breitensuche(x -> (x >= 390 && x < 400))); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(571, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(575, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(682, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(685, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(259, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(258, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(424, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(424, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(38, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(39, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(559, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(559, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(212, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(212, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(777, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(775, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(389, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(389, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(521, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(521, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(379, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(379, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(360, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(360, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(0, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(0, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(267, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(269, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(232, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(235, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(353, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(354, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 790 && x < 800))); + assertNull(ba.breitensuche(x -> (x >= 790 && x < 800))); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(474, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(471, e.intValue()); + } + + @Test + public void testEnthaelt072() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(71)); + Integer e; + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(140, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(140, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(928, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(928, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(801, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(801, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(30, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(30, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(612, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(613, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(901, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(901, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(887, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(881, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(847, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(847, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(590, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(590, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(793, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(794, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(827, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(827, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(816, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(222, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(222, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(480, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(480, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.breitensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.tiefensuche(x -> (x >= 90 && x < 100))); + assertNull(ba.breitensuche(x -> (x >= 90 && x < 100))); + assertNull(ba.tiefensuche(x -> (x >= 460 && x < 470))); + assertNull(ba.breitensuche(x -> (x >= 460 && x < 470))); + assertNull(ba.tiefensuche(x -> (x >= 420 && x < 430))); + assertNull(ba.breitensuche(x -> (x >= 420 && x < 430))); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(913, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(919, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(41, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(49, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(160, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(161, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(657, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(659, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(363, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(75, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(71, e.intValue()); + } + + @Test + public void testEnthaelt073() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(72)); + Integer e; + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(529, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(526, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(467, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(463, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(312, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(311, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(810, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(816, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(569, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(569, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(117, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(117, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(661, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(662, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 100 && x < 110))); + assertNull(ba.breitensuche(x -> (x >= 100 && x < 110))); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(932, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(939, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(271, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(271, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(571, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(571, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(991, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(991, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(902, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(902, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(534, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(534, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(916, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(916, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(899, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(899, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(371, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(375, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(418, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(410, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(506, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(500, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(1, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(0, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 300 && x < 310))); + assertNull(ba.breitensuche(x -> (x >= 300 && x < 310))); + assertNull(ba.tiefensuche(x -> (x >= 600 && x < 610))); + assertNull(ba.breitensuche(x -> (x >= 600 && x < 610))); + assertNull(ba.tiefensuche(x -> (x >= 70 && x < 80))); + assertNull(ba.breitensuche(x -> (x >= 70 && x < 80))); + } + + @Test + public void testEnthaelt074() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(73)); + Integer e; + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(982, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(983, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(26, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(26, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(104, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(104, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(505, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(509, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 580 && x < 590))); + assertNull(ba.breitensuche(x -> (x >= 580 && x < 590))); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(389, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(380, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(604, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(608, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(465, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(469, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(616, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(616, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(410, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(410, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(648, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(640, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(854, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(850, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(947, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(949, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(698, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(691, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(530, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(530, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(87, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(82, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(362, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(362, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(205, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(205, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(17, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(17, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(966, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(966, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(62, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(62, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 660 && x < 670))); + assertNull(ba.breitensuche(x -> (x >= 660 && x < 670))); + assertNull(ba.tiefensuche(x -> (x >= 490 && x < 500))); + assertNull(ba.breitensuche(x -> (x >= 490 && x < 500))); + assertNull(ba.tiefensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.breitensuche(x -> (x >= 260 && x < 270))); + } + + @Test + public void testEnthaelt075() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(74)); + Integer e; + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(659, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(659, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 180 && x < 190))); + assertNull(ba.breitensuche(x -> (x >= 180 && x < 190))); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(890, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(890, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(635, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(633, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(209, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(209, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(626, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(626, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(959, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(959, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(95, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(95, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(10, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(10, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(748, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(746, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 100 && x < 110))); + assertNull(ba.breitensuche(x -> (x >= 100 && x < 110))); + assertNull(ba.tiefensuche(x -> (x >= 420 && x < 430))); + assertNull(ba.breitensuche(x -> (x >= 420 && x < 430))); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(807, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(807, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 230 && x < 240))); + assertNull(ba.breitensuche(x -> (x >= 230 && x < 240))); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(284, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(284, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(691, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(776, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(777, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(155, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(151, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(177, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(172, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(912, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(916, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(550, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(553, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(454, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(456, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(79, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(72, e.intValue()); + } + + @Test + public void testEnthaelt076() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(75)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 240 && x < 250))); + assertNull(ba.breitensuche(x -> (x >= 240 && x < 250))); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(419, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(419, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 120 && x < 130))); + assertNull(ba.breitensuche(x -> (x >= 120 && x < 130))); + assertNull(ba.tiefensuche(x -> (x >= 900 && x < 910))); + assertNull(ba.breitensuche(x -> (x >= 900 && x < 910))); + assertNull(ba.tiefensuche(x -> (x >= 700 && x < 710))); + assertNull(ba.breitensuche(x -> (x >= 700 && x < 710))); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(614, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(614, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(881, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(881, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(339, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(339, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(600, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(600, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(956, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(956, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(744, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(747, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(997, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(993, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(929, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(925, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(660, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(664, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(560, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(566, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(208, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(203, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(471, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(474, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(960, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + } + + @Test + public void testEnthaelt077() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(76)); + Integer e; + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(563, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(565, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(42, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(40, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(998, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(992, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(817, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(811, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(52, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(58, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(598, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(591, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(1, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(1, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(16, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(16, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(135, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(135, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(397, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(397, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(217, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(217, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(522, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(461, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(461, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(749, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(749, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(458, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(457, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(857, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(851, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(651, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(650, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 110 && x < 120))); + assertNull(ba.breitensuche(x -> (x >= 110 && x < 120))); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(960, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(960, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(798, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(798, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(252, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(252, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 880 && x < 890))); + assertNull(ba.breitensuche(x -> (x >= 880 && x < 890))); + assertNull(ba.tiefensuche(x -> (x >= 940 && x < 950))); + assertNull(ba.breitensuche(x -> (x >= 940 && x < 950))); + assertNull(ba.tiefensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.breitensuche(x -> (x >= 720 && x < 730))); + } + + @Test + public void testEnthaelt078() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(77)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 220 && x < 230))); + assertNull(ba.breitensuche(x -> (x >= 220 && x < 230))); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(57, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(57, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(142, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(142, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(519, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(300, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(307, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(884, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(884, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(485, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(483, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(138, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(138, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(965, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(965, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(271, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(271, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(65, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(65, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(878, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(870, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(995, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(995, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(615, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(617, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(495, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(498, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(680, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(680, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(769, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(766, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(947, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(942, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(211, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(214, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(85, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(87, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 730 && x < 740))); + assertNull(ba.breitensuche(x -> (x >= 730 && x < 740))); + assertNull(ba.tiefensuche(x -> (x >= 890 && x < 900))); + assertNull(ba.breitensuche(x -> (x >= 890 && x < 900))); + assertNull(ba.tiefensuche(x -> (x >= 850 && x < 860))); + assertNull(ba.breitensuche(x -> (x >= 850 && x < 860))); + } + + @Test + public void testEnthaelt079() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(78)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.tiefensuche(x -> (x >= 690 && x < 700))); + assertNull(ba.breitensuche(x -> (x >= 690 && x < 700))); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 650 && x < 660))); + assertNull(ba.breitensuche(x -> (x >= 650 && x < 660))); + assertNull(ba.tiefensuche(x -> (x >= 730 && x < 740))); + assertNull(ba.breitensuche(x -> (x >= 730 && x < 740))); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(444, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(444, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(327, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(326, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(603, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(603, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(348, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(348, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(831, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(831, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(977, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(977, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(716, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(716, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(436, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(436, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(797, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(796, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(32, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(32, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(118, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(118, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(416, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(415, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(491, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(497, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(287, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(282, e.intValue()); + } + + @Test + public void testEnthaelt080() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(79)); + Integer e; + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(274, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(274, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 390 && x < 400))); + assertNull(ba.breitensuche(x -> (x >= 390 && x < 400))); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(798, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(792, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(917, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(912, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(655, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(655, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(644, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(644, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(312, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(31, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(30, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(248, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(248, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(374, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(373, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(534, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(534, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(883, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(883, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(511, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(511, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(934, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(938, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(487, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(480, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(404, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(404, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(945, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(941, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(773, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(773, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(218, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(219, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(294, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(295, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 540 && x < 550))); + assertNull(ba.breitensuche(x -> (x >= 540 && x < 550))); + assertNull(ba.tiefensuche(x -> (x >= 330 && x < 340))); + assertNull(ba.breitensuche(x -> (x >= 330 && x < 340))); + assertNull(ba.tiefensuche(x -> (x >= 350 && x < 360))); + assertNull(ba.breitensuche(x -> (x >= 350 && x < 360))); + } + + @Test + public void testEnthaelt081() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(80)); + Integer e; + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(157, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(156, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(252, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(254, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(694, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(945, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(947, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(612, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(612, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(822, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(822, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(975, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(979, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(381, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(387, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(573, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(768, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(765, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(671, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(671, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(982, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(984, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(455, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(458, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(889, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(889, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(540, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(540, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(343, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(343, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(283, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(283, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(206, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(206, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(930, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(930, e.intValue()); + } + + @Test + public void testEnthaelt082() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(81)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 610 && x < 620))); + assertNull(ba.breitensuche(x -> (x >= 610 && x < 620))); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(432, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(432, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(564, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(560, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(985, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(985, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(227, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(227, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(486, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(486, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(429, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(424, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 370 && x < 380))); + assertNull(ba.breitensuche(x -> (x >= 370 && x < 380))); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(797, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(797, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(358, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(358, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(767, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(767, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(876, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(876, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.breitensuche(x -> (x >= 720 && x < 730))); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(85, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(84, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(408, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(404, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(450, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(450, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 240 && x < 250))); + assertNull(ba.breitensuche(x -> (x >= 240 && x < 250))); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(143, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(142, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(599, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(592, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(841, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(844, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(388, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(381, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(864, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(862, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(174, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(178, e.intValue()); + } + + @Test + public void testEnthaelt083() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(82)); + Integer e; + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(688, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(681, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(57, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(57, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(973, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(330, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(336, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(828, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(828, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(176, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(176, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(837, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(830, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(790, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(790, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(872, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(11, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(12, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(994, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(995, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(166, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(167, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(200, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(203, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(890, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(890, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(87, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(84, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(77, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(77, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(96, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(96, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(672, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(672, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(46, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(46, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 640 && x < 650))); + assertNull(ba.breitensuche(x -> (x >= 640 && x < 650))); + } + + @Test + public void testEnthaelt084() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(83)); + Integer e; + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(604, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(608, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(704, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(704, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(118, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(111, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(823, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(823, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(136, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(136, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(810, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(817, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(551, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(551, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(694, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(694, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(945, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(945, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(156, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(150, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(535, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(535, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(919, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(918, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(232, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(230, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(627, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(128, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(128, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(46, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(46, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(988, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(988, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(965, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(968, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 320 && x < 330))); + assertNull(ba.breitensuche(x -> (x >= 320 && x < 330))); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(780, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(787, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(277, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(279, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 140 && x < 150))); + assertNull(ba.breitensuche(x -> (x >= 140 && x < 150))); + assertNull(ba.tiefensuche(x -> (x >= 990 && x < 1000))); + assertNull(ba.breitensuche(x -> (x >= 990 && x < 1000))); + assertNull(ba.tiefensuche(x -> (x >= 410 && x < 420))); + assertNull(ba.breitensuche(x -> (x >= 410 && x < 420))); + } + + @Test + public void testEnthaelt085() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(84)); + Integer e; + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(920, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(920, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(505, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(505, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 120 && x < 130))); + assertNull(ba.breitensuche(x -> (x >= 120 && x < 130))); + assertNull(ba.tiefensuche(x -> (x >= 840 && x < 850))); + assertNull(ba.breitensuche(x -> (x >= 840 && x < 850))); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(811, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(817, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(60, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(60, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(322, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(322, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(602, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(602, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(622, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(623, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(659, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(659, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(798, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(798, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(969, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(969, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 80 && x < 90))); + assertNull(ba.breitensuche(x -> (x >= 80 && x < 90))); + assertNull(ba.tiefensuche(x -> (x >= 740 && x < 750))); + assertNull(ba.breitensuche(x -> (x >= 740 && x < 750))); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(278, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(274, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(235, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(235, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(447, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(444, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(268, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(265, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(989, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(984, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(344, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(340, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(699, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(696, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(359, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(356, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(720, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(725, e.intValue()); + } + + @Test + public void testEnthaelt086() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(85)); + Integer e; + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(154, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(154, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(480, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(481, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(705, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(703, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(803, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(803, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(425, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(421, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(961, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(961, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(896, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(896, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(527, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(522, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(244, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(244, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(129, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(129, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(226, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(229, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(336, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(336, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(275, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(275, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(714, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(717, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(498, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(492, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(602, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(602, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(304, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(309, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(751, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(754, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(209, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(206, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(658, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(658, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 130 && x < 140))); + assertNull(ba.breitensuche(x -> (x >= 130 && x < 140))); + } + + @Test + public void testEnthaelt087() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(86)); + Integer e; + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(991, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(991, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 810 && x < 820))); + assertNull(ba.breitensuche(x -> (x >= 810 && x < 820))); + assertNull(ba.tiefensuche(x -> (x >= 840 && x < 850))); + assertNull(ba.breitensuche(x -> (x >= 840 && x < 850))); + assertNull(ba.tiefensuche(x -> (x >= 960 && x < 970))); + assertNull(ba.breitensuche(x -> (x >= 960 && x < 970))); + assertNull(ba.tiefensuche(x -> (x >= 950 && x < 960))); + assertNull(ba.breitensuche(x -> (x >= 950 && x < 960))); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(349, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(349, e.intValue()); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(184, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(184, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(450, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(450, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(703, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(703, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(796, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(799, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(280, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(280, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(590, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(590, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(685, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(685, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(498, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(498, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(618, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(618, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(739, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(735, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(523, e.intValue()); + } + + @Test + public void testEnthaelt088() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(87)); + Integer e; + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(693, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(699, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(744, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(744, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(548, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(544, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(424, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(423, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(734, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(734, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(669, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(668, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(754, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(392, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(392, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(551, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(551, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(388, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(387, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(48, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(49, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(342, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(343, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(233, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(234, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(442, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(440, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(368, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(368, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(638, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(638, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(959, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(959, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(173, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(173, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(339, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(339, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 930 && x < 940))); + assertNull(ba.breitensuche(x -> (x >= 930 && x < 940))); + } + + @Test + public void testEnthaelt089() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(88)); + Integer e; + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(540, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(540, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(962, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(962, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(873, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(873, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(311, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(313, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(178, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(177, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(489, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(487, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(327, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(328, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(479, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(479, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(721, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(721, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(155, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(151, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(650, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(653, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 70 && x < 80))); + assertNull(ba.breitensuche(x -> (x >= 70 && x < 80))); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(613, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(613, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 910 && x < 920))); + assertNull(ba.breitensuche(x -> (x >= 910 && x < 920))); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(117, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(112, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(96, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(94, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(995, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(999, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(905, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(905, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(2, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(2, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(395, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(390, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 670 && x < 680))); + assertNull(ba.breitensuche(x -> (x >= 670 && x < 680))); + assertNull(ba.tiefensuche(x -> (x >= 630 && x < 640))); + assertNull(ba.breitensuche(x -> (x >= 630 && x < 640))); + } + + @Test + public void testEnthaelt090() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(89)); + Integer e; + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(969, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(962, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 540 && x < 550))); + assertNull(ba.breitensuche(x -> (x >= 540 && x < 550))); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(815, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(815, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 430 && x < 440))); + assertNull(ba.breitensuche(x -> (x >= 430 && x < 440))); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(598, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(597, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 70 && x < 80))); + assertNull(ba.breitensuche(x -> (x >= 70 && x < 80))); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(898, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(898, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(935, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(935, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(711, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(717, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(138, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(131, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(336, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(336, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(578, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(578, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(511, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(516, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(225, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(229, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(404, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(404, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(213, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(278, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(278, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(101, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(101, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(346, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(346, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(367, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(756, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(756, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(609, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(605, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(995, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(999, e.intValue()); + } + + @Test + public void testEnthaelt091() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(90)); + Integer e; + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(498, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(491, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(361, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(361, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(658, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(658, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(868, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(863, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(978, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(151, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(150, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(397, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(399, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(76, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(70, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(556, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(556, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(43, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(49, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(569, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(562, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(505, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(508, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(663, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(668, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(246, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(246, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(784, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(784, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(695, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(695, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(50, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(50, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(29, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(29, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(118, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(118, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 480 && x < 490))); + assertNull(ba.breitensuche(x -> (x >= 480 && x < 490))); + assertNull(ba.tiefensuche(x -> (x >= 230 && x < 240))); + assertNull(ba.breitensuche(x -> (x >= 230 && x < 240))); + assertNull(ba.tiefensuche(x -> (x >= 180 && x < 190))); + assertNull(ba.breitensuche(x -> (x >= 180 && x < 190))); + } + + @Test + public void testEnthaelt092() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(91)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 660 && x < 670))); + assertNull(ba.breitensuche(x -> (x >= 660 && x < 670))); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(854, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(854, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(554, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(554, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(420, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(420, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(938, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(938, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(266, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(266, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(488, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(488, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(737, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(737, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 10 && x < 20))); + assertNull(ba.breitensuche(x -> (x >= 10 && x < 20))); + assertNull(ba.tiefensuche(x -> (x >= 900 && x < 910))); + assertNull(ba.breitensuche(x -> (x >= 900 && x < 910))); + assertNull(ba.tiefensuche(x -> (x >= 950 && x < 960))); + assertNull(ba.breitensuche(x -> (x >= 950 && x < 960))); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(817, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(819, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(808, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(808, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(722, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(726, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(492, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(492, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(430, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(438, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(412, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(414, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(99, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(92, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(770, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(773, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(21, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(27, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(80, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(82, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(388, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(380, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(651, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(650, e.intValue()); + } + + @Test + public void testEnthaelt093() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(92)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 910 && x < 920))); + assertNull(ba.breitensuche(x -> (x >= 910 && x < 920))); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(536, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(536, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(396, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(396, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(514, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(518, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 750 && x < 760))); + assertNull(ba.breitensuche(x -> (x >= 750 && x < 760))); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(575, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(574, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 840 && x < 850))); + assertNull(ba.breitensuche(x -> (x >= 840 && x < 850))); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(256, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(257, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(104, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(102, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(166, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(166, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(593, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(596, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(764, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(764, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(722, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(722, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(947, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(942, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(665, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(665, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(691, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(691, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(954, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(959, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(903, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(903, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(33, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(39, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(115, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(119, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(938, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(935, e.intValue()); + } + + @Test + public void testEnthaelt094() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(93)); + Integer e; + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(708, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(705, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(401, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(406, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(501, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(501, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(849, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(849, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(658, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(658, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 960 && x < 970))); + assertNull(ba.breitensuche(x -> (x >= 960 && x < 970))); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(323, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(323, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(43, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(43, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(270, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(270, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(816, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 470 && x < 480))); + assertNull(ba.breitensuche(x -> (x >= 470 && x < 480))); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(737, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(737, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(363, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(363, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 430 && x < 440))); + assertNull(ba.breitensuche(x -> (x >= 430 && x < 440))); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(936, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(936, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 560 && x < 570))); + assertNull(ba.breitensuche(x -> (x >= 560 && x < 570))); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(154, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(155, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(726, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(721, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(874, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(916, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(912, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(687, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(684, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(113, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(111, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(374, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(375, e.intValue()); + } + + @Test + public void testEnthaelt095() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(94)); + Integer e; + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(430, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(437, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(16, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(18, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(883, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(881, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(82, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(82, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(951, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(955, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(470, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(474, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + + assertNotNull(e); + assertEquals(638, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(638, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(899, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(899, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(988, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(985, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(26, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(26, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(732, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(739, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(151, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(151, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(312, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(312, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(251, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(251, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(268, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(262, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(61, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(61, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(657, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(654, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(207, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(200, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(678, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(678, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.breitensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.tiefensuche(x -> (x >= 110 && x < 120))); + assertNull(ba.breitensuche(x -> (x >= 110 && x < 120))); + assertNull(ba.tiefensuche(x -> (x >= 810 && x < 820))); + assertNull(ba.breitensuche(x -> (x >= 810 && x < 820))); + } + + @Test + public void testEnthaelt096() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(95)); + Integer e; + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(927, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(927, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 10 && x < 20))); + assertNull(ba.breitensuche(x -> (x >= 10 && x < 20))); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(865, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(865, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(798, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(798, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 120 && x < 130))); + assertNull(ba.breitensuche(x -> (x >= 120 && x < 130))); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(717, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(717, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(734, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(739, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(887, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(887, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 300 && x < 310))); + assertNull(ba.breitensuche(x -> (x >= 300 && x < 310))); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(722, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(722, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(655, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(655, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 950 && x < 960))); + assertNull(ba.breitensuche(x -> (x >= 950 && x < 960))); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(243, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(243, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(209, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(209, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(680, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(685, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(61, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(63, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(256, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(253, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(537, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(530, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(470, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(474, e.intValue()); + } + + @Test + public void testEnthaelt097() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(96)); + Integer e; + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(471, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(471, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(963, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(963, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(910, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(918, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 250 && x < 260))); + assertNull(ba.breitensuche(x -> (x >= 250 && x < 260))); + assertNull(ba.tiefensuche(x -> (x >= 390 && x < 400))); + assertNull(ba.breitensuche(x -> (x >= 390 && x < 400))); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(401, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(401, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(127, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(127, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(983, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(982, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(380, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(380, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(463, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(463, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(261, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(261, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(110, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(110, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(736, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(736, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(725, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(723, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 490 && x < 500))); + assertNull(ba.breitensuche(x -> (x >= 490 && x < 500))); + assertNull(ba.tiefensuche(x -> (x >= 890 && x < 900))); + assertNull(ba.breitensuche(x -> (x >= 890 && x < 900))); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(365, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(158, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(150, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(708, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(702, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(160, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(162, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(347, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(341, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(282, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(285, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(870, e.intValue()); + } + + @Test + public void testEnthaelt098() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(97)); + Integer e; + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(555, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(555, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(57, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(57, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 710 && x < 720))); + assertNull(ba.breitensuche(x -> (x >= 710 && x < 720))); + assertNull(ba.tiefensuche(x -> (x >= 10 && x < 20))); + assertNull(ba.breitensuche(x -> (x >= 10 && x < 20))); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(407, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(407, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(895, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(895, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(380, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(380, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(786, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(786, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(541, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(981, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(986, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(592, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(594, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(611, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(611, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 130 && x < 140))); + assertNull(ba.breitensuche(x -> (x >= 130 && x < 140))); + assertNull(ba.tiefensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.breitensuche(x -> (x >= 720 && x < 730))); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(945, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(945, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(34, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(36, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(637, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(633, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(150, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(153, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(763, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(769, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(830, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(837, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(201, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(203, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(456, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(453, e.intValue()); + } + + @Test + public void testEnthaelt099() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(98)); + Integer e; + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(17, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(17, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 440 && x < 450))); + assertNull(ba.breitensuche(x -> (x >= 440 && x < 450))); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(156, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(156, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 530 && x < 540))); + assertNull(ba.breitensuche(x -> (x >= 530 && x < 540))); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(842, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(842, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(966, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(968, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(381, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(381, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(200, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(207, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(229, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(229, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(147, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(147, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 600 && x < 610))); + assertNull(ba.breitensuche(x -> (x >= 600 && x < 610))); + assertNull(ba.tiefensuche(x -> (x >= 930 && x < 940))); + assertNull(ba.breitensuche(x -> (x >= 930 && x < 940))); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(328, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(327, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(640, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(640, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(738, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(738, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(514, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(514, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(970, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(970, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(769, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(767, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(30, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(37, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(927, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(929, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(728, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(721, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(868, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(862, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(568, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(566, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(905, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(907, e.intValue()); + } + + @Test + public void testEnthaelt100() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(99)); + Integer e; + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(402, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(402, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(164, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(164, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 270 && x < 280))); + assertNull(ba.breitensuche(x -> (x >= 270 && x < 280))); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(711, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(711, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(752, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(750, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(643, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(643, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(830, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(830, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(564, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(564, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 450 && x < 460))); + assertNull(ba.breitensuche(x -> (x >= 450 && x < 460))); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(798, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(798, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 970 && x < 980))); + assertNull(ba.breitensuche(x -> (x >= 970 && x < 980))); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(328, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(328, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(595, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(595, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(366, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(366, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(417, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(411, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(601, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(603, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 660 && x < 670))); + assertNull(ba.breitensuche(x -> (x >= 660 && x < 670))); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(351, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(350, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(846, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(840, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(392, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(396, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(510, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(513, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(121, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(122, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(231, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(230, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(5, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(1, e.intValue()); + } + +} diff --git a/Quellcodes/Alg_DS_Tiefen_Breitensuche/01_tiefen_und_breitensuche_roh/Baumalgorithmen2.java b/Quellcodes/Alg_DS_Tiefen_Breitensuche/01_tiefen_und_breitensuche_roh/Baumalgorithmen2.java new file mode 100644 index 0000000..387054e --- /dev/null +++ b/Quellcodes/Alg_DS_Tiefen_Breitensuche/01_tiefen_und_breitensuche_roh/Baumalgorithmen2.java @@ -0,0 +1,41 @@ +import java.util.function.Predicate; + +/** + * Tiefen- und Breitensuche + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class Baumalgorithmen2 extends Baumalgorithmen +{ + /** + * Erzeugt ein neues Algorithmen-Objekt + * @param wurzel Die Wurzel des Baums, der verarbeitet werden soll + */ + public Baumalgorithmen2(Binaerbaum wurzel) + { + super(wurzel); + } + + /** + * Sucht mit der Breitensuche den ersten Knoten, der das Prädikat erfüllt + * @param p Das Prädikat, das erfüllt werden soll. + * @return Der Wert, der das Prädikat erfüllt + */ + public Integer breitensuche(Predicate p) + { + //# TODO: Implementieren Sie die Breitensuche wie beschrieben + return null; + } + + /** + * Sucht mit der Breitensuche den ersten Knoten, der das Prädikat erfüllt + * @param p Das Prädikat, das erfüllt werden soll. + * @return Der Wert, der das Prädikat erfüllt + */ + public Integer tiefensuche(Predicate p) + { + //# TODO: Implementieren Sie die Tiefensuche wie beschrieben + return null; + } +} \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/ArrayQueue.java b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/ArrayQueue.java new file mode 100644 index 0000000..c34e0cd --- /dev/null +++ b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/ArrayQueue.java @@ -0,0 +1,124 @@ + +/** + * Queue basierend auf einem Array + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ArrayQueue extends Queue +{ + /** + * Die Nutzdaten + */ + private Object[] daten; + + /** + * Der Index des ersten Wertes + */ + private int first; + + /** + * Der nächste freie Index + */ + private int last; + + /** + * Erzeugt eine neue, leere Queue + */ + public ArrayQueue() + { + daten = new Object[10]; + first = 0; + last = 0; + } + + /** + * Fügt ein neues Element hinten in der Schlange ein + * @param x Das neue Element + */ + public void enqueue(T x) + { + daten[last] = x; + last++; + if (last == daten.length) + { + last = 0; + } + if (last == first) // Vergrößerung nötig + { + Object[] tmp = new Object[daten.length*2]; + System.arraycopy(daten, first, tmp, 0, daten.length - first); + System.arraycopy(daten, 0, tmp, daten.length - first, first); + first = 0; + last = daten.length; + daten = tmp; + } + } + + /** + * Gibt das vorderste Element der Queue zurück (falls sie nicht leer ist) + * @return Das vorderste Element + */ + public T front() + { + if (isEmpty()) + { + return null; + } + return (T)daten[first]; + } + + /** + * Entfernt das vorderste Element aus der Queue (falls sie nicht leer ist) und gibt es zurück + * @return Das bisherige vorderste Element + */ + public T dequeue() + { + T x = null; + if (!isEmpty()) + { + x = (T)daten[first]; + first++; + if (first == daten.length) + { + first = 0; + } + } + return x; + } + + /** + * Gibt zurück, ob die Queue leer ist + * @return true, wenn die Queue leer ist; false sonst + */ + public boolean isEmpty() + { + return first == last; + } + + /** + * Gibt die Queue in String-Form aus. + * @return Die String-Repräsentation der Queue + */ + @Override + public String toString() + { + StringBuilder b = new StringBuilder(); + for (int i = first; i < (last < first ? daten.length : last); i++) + { + if (i != first) + { + b.append(", "); + } + b.append(daten[i]); + } + if (last < first) + { + for (int i = 0; i < last; i++) + { + b.append(", " + daten[i]); + } + } + return "< " + b.toString() + " <"; + } +} diff --git a/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/ArrayStack.java b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/ArrayStack.java new file mode 100644 index 0000000..dbcc08b --- /dev/null +++ b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/ArrayStack.java @@ -0,0 +1,101 @@ + +/** + * Ein Stack basierend auf einem Array + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ArrayStack extends Stack +{ + /** + * Enthält die Nutzdaten + */ + private Object[] daten; + /** + * Die Zahl gibt an, wie viele Elemente auf dem Stack liegen und damit auch, + * wie viele Werte im Datenarray gültig sind. + */ + private int anzahl; + + /** + * Erzeugt einen neuen leeren Stack + */ + public ArrayStack() + { + daten = new Object[10]; + anzahl = 0; + } + + /** + * Gibt das oberste Element des Stacks zurück (falls der Stack nicht leer ist) + * @return Das oberste Element + */ + public T top() + { + if (!isEmpty()) + { + return (T)daten[anzahl-1]; + } + return null; + } + + /** + * Entfernt das oberste Element vom Stack (falls der Stack nicht leer ist) und gibt es zurück + * @return Das bisherige oberste Element + */ + public T pop() + { + if (!isEmpty()) + { + anzahl--; + return (T)daten[anzahl]; + } + return null; + } + + /** + * Legt ein neues Element auf den Stack + * @param x Das neue Element + */ + public void push(T wert) + { + if (anzahl == daten.length) + { + Object[] tmp = new Object[2*daten.length]; + System.arraycopy(daten, 0, tmp, 0, daten.length); + daten = tmp; + } + daten[anzahl] = wert; + anzahl++; + } + + /** + * Gibt zurück, ob der Stack leer ist + * @return true, wenn der Stack leer ist; false sonst + */ + public boolean isEmpty() + { + return anzahl == 0; + } + + /** + * Gibt den Stack in String-Form aus. + * @return Die String-Repräsentation des Stacks + */ + @Override + public String toString() + { + StringBuilder b = new StringBuilder(); + b.append("[ "); + for (int i = 0; i < anzahl; i++) + { + if (i > 0) + { + b.append(", "); + } + b.append(daten[i]); + } + b.append(" <"); + return b.toString(); + } +} diff --git a/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/BaumTester.java b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/BaumTester.java new file mode 100644 index 0000000..ce524bd --- /dev/null +++ b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/BaumTester.java @@ -0,0 +1,2819 @@ +import static org.junit.Assert.*; +import org.junit.Test; + +/** + * Eine Testklasse für Baumalgorithmen + * + * @author Rainer Helfrich + * @version 02.11.2020 + */ +public class BaumTester +{ + @Test + public void test001() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(0)); + assertEquals(481,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(512)); + assertTrue(ba.enthaelt(596)); + assertFalse(ba.enthaelt(70)); + assertFalse(ba.enthaelt(1008)); + assertFalse(ba.enthaelt(510)); + assertFalse(ba.enthaelt(554)); + assertFalse(ba.enthaelt(287)); + assertFalse(ba.enthaelt(99)); + assertTrue(ba.enthaelt(598)); + assertTrue(ba.enthaelt(875)); + assertFalse(ba.enthaelt(949)); + assertFalse(ba.enthaelt(974)); + assertFalse(ba.enthaelt(917)); + assertFalse(ba.enthaelt(146)); + assertTrue(ba.enthaelt(366)); + assertTrue(ba.enthaelt(367)); + assertTrue(ba.enthaelt(411)); + assertTrue(ba.enthaelt(900)); + assertTrue(ba.enthaelt(430)); + assertTrue(ba.enthaelt(175)); + } + + @Test + public void test002() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(1)); + assertEquals(183,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(711)); + assertFalse(ba.enthaelt(835)); + assertFalse(ba.enthaelt(637)); + assertFalse(ba.enthaelt(888)); + assertFalse(ba.enthaelt(962)); + assertTrue(ba.enthaelt(692)); + assertTrue(ba.enthaelt(731)); + assertFalse(ba.enthaelt(2)); + assertFalse(ba.enthaelt(417)); + assertFalse(ba.enthaelt(667)); + assertFalse(ba.enthaelt(549)); + assertTrue(ba.enthaelt(277)); + assertTrue(ba.enthaelt(934)); + assertFalse(ba.enthaelt(641)); + assertTrue(ba.enthaelt(825)); + assertTrue(ba.enthaelt(592)); + assertTrue(ba.enthaelt(958)); + assertTrue(ba.enthaelt(416)); + assertTrue(ba.enthaelt(680)); + assertTrue(ba.enthaelt(388)); + } + + @Test + public void test003() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(2)); + assertEquals(105,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertTrue(ba.enthaelt(985)); + assertFalse(ba.enthaelt(224)); + assertFalse(ba.enthaelt(374)); + assertFalse(ba.enthaelt(304)); + assertFalse(ba.enthaelt(814)); + assertFalse(ba.enthaelt(67)); + assertFalse(ba.enthaelt(972)); + assertFalse(ba.enthaelt(384)); + assertFalse(ba.enthaelt(845)); + assertFalse(ba.enthaelt(762)); + assertFalse(ba.enthaelt(353)); + assertTrue(ba.enthaelt(656)); + assertTrue(ba.enthaelt(207)); + assertTrue(ba.enthaelt(954)); + assertTrue(ba.enthaelt(423)); + assertTrue(ba.enthaelt(163)); + assertTrue(ba.enthaelt(968)); + assertTrue(ba.enthaelt(69)); + assertTrue(ba.enthaelt(589)); + assertTrue(ba.enthaelt(189)); + } + + @Test + public void test004() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(3)); + assertEquals(203,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(37)); + assertFalse(ba.enthaelt(132)); + assertFalse(ba.enthaelt(921)); + assertFalse(ba.enthaelt(936)); + assertFalse(ba.enthaelt(793)); + assertFalse(ba.enthaelt(296)); + assertFalse(ba.enthaelt(603)); + assertFalse(ba.enthaelt(395)); + assertFalse(ba.enthaelt(681)); + assertFalse(ba.enthaelt(141)); + assertTrue(ba.enthaelt(523)); + assertTrue(ba.enthaelt(305)); + assertTrue(ba.enthaelt(315)); + assertTrue(ba.enthaelt(849)); + assertTrue(ba.enthaelt(567)); + assertTrue(ba.enthaelt(666)); + assertTrue(ba.enthaelt(73)); + assertTrue(ba.enthaelt(76)); + assertTrue(ba.enthaelt(814)); + assertTrue(ba.enthaelt(585)); + } + + @Test + public void test005() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(4)); + assertEquals(133,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(207)); + assertFalse(ba.enthaelt(370)); + assertFalse(ba.enthaelt(13)); + assertFalse(ba.enthaelt(703)); + assertFalse(ba.enthaelt(161)); + assertFalse(ba.enthaelt(966)); + assertFalse(ba.enthaelt(565)); + assertFalse(ba.enthaelt(236)); + assertFalse(ba.enthaelt(468)); + assertTrue(ba.enthaelt(428)); + assertFalse(ba.enthaelt(312)); + assertTrue(ba.enthaelt(715)); + assertTrue(ba.enthaelt(205)); + assertTrue(ba.enthaelt(854)); + assertTrue(ba.enthaelt(657)); + assertTrue(ba.enthaelt(232)); + assertTrue(ba.enthaelt(659)); + assertTrue(ba.enthaelt(55)); + assertTrue(ba.enthaelt(598)); + assertTrue(ba.enthaelt(127)); + } + + @Test + public void test006() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(5)); + assertEquals(159,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(243)); + assertFalse(ba.enthaelt(248)); + assertFalse(ba.enthaelt(810)); + assertFalse(ba.enthaelt(206)); + assertFalse(ba.enthaelt(285)); + assertFalse(ba.enthaelt(743)); + assertFalse(ba.enthaelt(187)); + assertTrue(ba.enthaelt(4)); + assertFalse(ba.enthaelt(497)); + assertTrue(ba.enthaelt(983)); + assertFalse(ba.enthaelt(1007)); + assertFalse(ba.enthaelt(47)); + assertTrue(ba.enthaelt(83)); + assertTrue(ba.enthaelt(116)); + assertTrue(ba.enthaelt(287)); + assertTrue(ba.enthaelt(423)); + assertTrue(ba.enthaelt(165)); + assertTrue(ba.enthaelt(905)); + assertTrue(ba.enthaelt(760)); + assertTrue(ba.enthaelt(985)); + } + + @Test + public void test007() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(6)); + assertEquals(165,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(467)); + assertFalse(ba.enthaelt(452)); + assertTrue(ba.enthaelt(737)); + assertFalse(ba.enthaelt(849)); + assertFalse(ba.enthaelt(213)); + assertFalse(ba.enthaelt(610)); + assertFalse(ba.enthaelt(73)); + assertTrue(ba.enthaelt(472)); + assertFalse(ba.enthaelt(603)); + assertFalse(ba.enthaelt(739)); + assertFalse(ba.enthaelt(193)); + assertFalse(ba.enthaelt(704)); + assertTrue(ba.enthaelt(828)); + assertTrue(ba.enthaelt(178)); + assertTrue(ba.enthaelt(702)); + assertTrue(ba.enthaelt(341)); + assertTrue(ba.enthaelt(78)); + assertTrue(ba.enthaelt(640)); + assertTrue(ba.enthaelt(916)); + assertTrue(ba.enthaelt(227)); + } + + @Test + public void test008() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(7)); + assertEquals(389,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(772)); + assertFalse(ba.enthaelt(426)); + assertFalse(ba.enthaelt(953)); + assertTrue(ba.enthaelt(319)); + assertFalse(ba.enthaelt(467)); + assertFalse(ba.enthaelt(417)); + assertTrue(ba.enthaelt(883)); + assertTrue(ba.enthaelt(657)); + assertFalse(ba.enthaelt(1006)); + assertFalse(ba.enthaelt(30)); + assertFalse(ba.enthaelt(80)); + assertFalse(ba.enthaelt(183)); + assertFalse(ba.enthaelt(318)); + assertTrue(ba.enthaelt(219)); + assertTrue(ba.enthaelt(438)); + assertTrue(ba.enthaelt(412)); + assertFalse(ba.enthaelt(145)); + assertTrue(ba.enthaelt(326)); + assertTrue(ba.enthaelt(572)); + assertTrue(ba.enthaelt(208)); + } + + @Test + public void test009() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(8)); + assertEquals(159,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(746)); + assertFalse(ba.enthaelt(288)); + assertFalse(ba.enthaelt(752)); + assertFalse(ba.enthaelt(651)); + assertFalse(ba.enthaelt(850)); + assertFalse(ba.enthaelt(267)); + assertTrue(ba.enthaelt(197)); + assertFalse(ba.enthaelt(264)); + assertFalse(ba.enthaelt(1009)); + assertFalse(ba.enthaelt(19)); + assertFalse(ba.enthaelt(166)); + assertTrue(ba.enthaelt(182)); + assertTrue(ba.enthaelt(623)); + assertTrue(ba.enthaelt(25)); + assertTrue(ba.enthaelt(900)); + assertTrue(ba.enthaelt(709)); + assertTrue(ba.enthaelt(658)); + assertTrue(ba.enthaelt(853)); + assertTrue(ba.enthaelt(628)); + assertTrue(ba.enthaelt(202)); + } + + @Test + public void test010() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(9)); + assertEquals(137,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(856)); + assertFalse(ba.enthaelt(402)); + assertFalse(ba.enthaelt(165)); + assertFalse(ba.enthaelt(993)); + assertTrue(ba.enthaelt(904)); + assertFalse(ba.enthaelt(211)); + assertTrue(ba.enthaelt(845)); + assertFalse(ba.enthaelt(259)); + assertFalse(ba.enthaelt(544)); + assertFalse(ba.enthaelt(498)); + assertFalse(ba.enthaelt(852)); + assertFalse(ba.enthaelt(65)); + assertTrue(ba.enthaelt(805)); + assertTrue(ba.enthaelt(224)); + assertTrue(ba.enthaelt(213)); + assertTrue(ba.enthaelt(604)); + assertTrue(ba.enthaelt(273)); + assertTrue(ba.enthaelt(161)); + assertTrue(ba.enthaelt(437)); + assertTrue(ba.enthaelt(590)); + } + + @Test + public void test011() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(10)); + assertEquals(313,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(895)); + assertTrue(ba.enthaelt(344)); + assertFalse(ba.enthaelt(966)); + assertFalse(ba.enthaelt(258)); + assertFalse(ba.enthaelt(1002)); + assertFalse(ba.enthaelt(181)); + assertFalse(ba.enthaelt(661)); + assertFalse(ba.enthaelt(217)); + assertFalse(ba.enthaelt(54)); + assertTrue(ba.enthaelt(36)); + assertTrue(ba.enthaelt(690)); + assertTrue(ba.enthaelt(703)); + assertTrue(ba.enthaelt(185)); + assertFalse(ba.enthaelt(657)); + assertTrue(ba.enthaelt(934)); + assertFalse(ba.enthaelt(854)); + assertTrue(ba.enthaelt(49)); + assertTrue(ba.enthaelt(907)); + assertTrue(ba.enthaelt(861)); + assertTrue(ba.enthaelt(348)); + } + + @Test + public void test012() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(11)); + assertEquals(313,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(42)); + assertTrue(ba.enthaelt(282)); + assertFalse(ba.enthaelt(733)); + assertTrue(ba.enthaelt(650)); + assertTrue(ba.enthaelt(61)); + assertFalse(ba.enthaelt(780)); + assertFalse(ba.enthaelt(1013)); + assertFalse(ba.enthaelt(368)); + assertFalse(ba.enthaelt(703)); + assertFalse(ba.enthaelt(362)); + assertFalse(ba.enthaelt(559)); + assertFalse(ba.enthaelt(1001)); + assertFalse(ba.enthaelt(987)); + assertTrue(ba.enthaelt(582)); + assertTrue(ba.enthaelt(845)); + assertTrue(ba.enthaelt(538)); + assertTrue(ba.enthaelt(477)); + assertTrue(ba.enthaelt(176)); + assertTrue(ba.enthaelt(237)); + assertTrue(ba.enthaelt(656)); + } + + @Test + public void test013() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(12)); + assertEquals(171,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(367)); + assertFalse(ba.enthaelt(6)); + assertFalse(ba.enthaelt(146)); + assertFalse(ba.enthaelt(896)); + assertFalse(ba.enthaelt(114)); + assertFalse(ba.enthaelt(542)); + assertFalse(ba.enthaelt(447)); + assertTrue(ba.enthaelt(51)); + assertFalse(ba.enthaelt(399)); + assertFalse(ba.enthaelt(43)); + assertTrue(ba.enthaelt(595)); + assertTrue(ba.enthaelt(831)); + assertFalse(ba.enthaelt(259)); + assertTrue(ba.enthaelt(960)); + assertTrue(ba.enthaelt(919)); + assertTrue(ba.enthaelt(755)); + assertTrue(ba.enthaelt(394)); + assertTrue(ba.enthaelt(466)); + assertTrue(ba.enthaelt(459)); + assertTrue(ba.enthaelt(539)); + } + + @Test + public void test014() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(13)); + assertEquals(135,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(898)); + assertFalse(ba.enthaelt(204)); + assertFalse(ba.enthaelt(870)); + assertFalse(ba.enthaelt(978)); + assertFalse(ba.enthaelt(871)); + assertFalse(ba.enthaelt(669)); + assertFalse(ba.enthaelt(793)); + assertFalse(ba.enthaelt(795)); + assertFalse(ba.enthaelt(480)); + assertTrue(ba.enthaelt(449)); + assertFalse(ba.enthaelt(380)); + assertTrue(ba.enthaelt(328)); + assertTrue(ba.enthaelt(436)); + assertTrue(ba.enthaelt(120)); + assertTrue(ba.enthaelt(433)); + assertTrue(ba.enthaelt(999)); + assertTrue(ba.enthaelt(879)); + assertTrue(ba.enthaelt(802)); + assertTrue(ba.enthaelt(517)); + assertTrue(ba.enthaelt(993)); + } + + @Test + public void test015() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(14)); + assertEquals(101,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(583)); + assertFalse(ba.enthaelt(693)); + assertFalse(ba.enthaelt(229)); + assertFalse(ba.enthaelt(157)); + assertFalse(ba.enthaelt(170)); + assertFalse(ba.enthaelt(651)); + assertFalse(ba.enthaelt(749)); + assertFalse(ba.enthaelt(996)); + assertFalse(ba.enthaelt(489)); + assertFalse(ba.enthaelt(116)); + assertTrue(ba.enthaelt(458)); + assertTrue(ba.enthaelt(99)); + assertTrue(ba.enthaelt(687)); + assertTrue(ba.enthaelt(727)); + assertTrue(ba.enthaelt(329)); + assertTrue(ba.enthaelt(420)); + assertTrue(ba.enthaelt(954)); + assertTrue(ba.enthaelt(155)); + assertTrue(ba.enthaelt(973)); + assertTrue(ba.enthaelt(103)); + } + + @Test + public void test016() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(15)); + assertEquals(105,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(796)); + assertFalse(ba.enthaelt(842)); + assertFalse(ba.enthaelt(853)); + assertFalse(ba.enthaelt(217)); + assertFalse(ba.enthaelt(795)); + assertFalse(ba.enthaelt(736)); + assertFalse(ba.enthaelt(76)); + assertFalse(ba.enthaelt(325)); + assertFalse(ba.enthaelt(258)); + assertFalse(ba.enthaelt(483)); + assertTrue(ba.enthaelt(190)); + assertTrue(ba.enthaelt(590)); + assertTrue(ba.enthaelt(16)); + assertTrue(ba.enthaelt(534)); + assertTrue(ba.enthaelt(762)); + assertTrue(ba.enthaelt(567)); + assertTrue(ba.enthaelt(169)); + assertTrue(ba.enthaelt(775)); + assertTrue(ba.enthaelt(85)); + assertTrue(ba.enthaelt(760)); + } + + @Test + public void test017() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(16)); + assertEquals(95,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(745)); + assertTrue(ba.enthaelt(293)); + assertFalse(ba.enthaelt(572)); + assertFalse(ba.enthaelt(19)); + assertFalse(ba.enthaelt(472)); + assertFalse(ba.enthaelt(180)); + assertFalse(ba.enthaelt(188)); + assertTrue(ba.enthaelt(902)); + assertFalse(ba.enthaelt(944)); + assertFalse(ba.enthaelt(118)); + assertFalse(ba.enthaelt(356)); + assertFalse(ba.enthaelt(973)); + assertTrue(ba.enthaelt(316)); + assertTrue(ba.enthaelt(53)); + assertTrue(ba.enthaelt(54)); + assertTrue(ba.enthaelt(807)); + assertTrue(ba.enthaelt(520)); + assertTrue(ba.enthaelt(429)); + assertTrue(ba.enthaelt(220)); + assertTrue(ba.enthaelt(194)); + } + + @Test + public void test018() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(17)); + assertEquals(315,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(646)); + assertFalse(ba.enthaelt(837)); + assertTrue(ba.enthaelt(543)); + assertFalse(ba.enthaelt(696)); + assertFalse(ba.enthaelt(307)); + assertTrue(ba.enthaelt(140)); + assertFalse(ba.enthaelt(835)); + assertFalse(ba.enthaelt(169)); + assertFalse(ba.enthaelt(498)); + assertFalse(ba.enthaelt(729)); + assertFalse(ba.enthaelt(405)); + assertFalse(ba.enthaelt(178)); + assertTrue(ba.enthaelt(97)); + assertTrue(ba.enthaelt(764)); + assertTrue(ba.enthaelt(743)); + assertTrue(ba.enthaelt(418)); + assertTrue(ba.enthaelt(954)); + assertTrue(ba.enthaelt(381)); + assertTrue(ba.enthaelt(997)); + assertTrue(ba.enthaelt(534)); + } + + @Test + public void test019() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(18)); + assertEquals(301,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(709)); + assertFalse(ba.enthaelt(22)); + assertFalse(ba.enthaelt(454)); + assertFalse(ba.enthaelt(64)); + assertFalse(ba.enthaelt(892)); + assertFalse(ba.enthaelt(176)); + assertFalse(ba.enthaelt(680)); + assertFalse(ba.enthaelt(729)); + assertFalse(ba.enthaelt(103)); + assertFalse(ba.enthaelt(198)); + assertTrue(ba.enthaelt(618)); + assertTrue(ba.enthaelt(877)); + assertTrue(ba.enthaelt(917)); + assertTrue(ba.enthaelt(810)); + assertTrue(ba.enthaelt(640)); + assertTrue(ba.enthaelt(98)); + assertTrue(ba.enthaelt(521)); + assertTrue(ba.enthaelt(586)); + assertTrue(ba.enthaelt(525)); + assertTrue(ba.enthaelt(197)); + } + + @Test + public void test020() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(19)); + assertEquals(115,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(719)); + assertFalse(ba.enthaelt(375)); + assertFalse(ba.enthaelt(471)); + assertFalse(ba.enthaelt(742)); + assertFalse(ba.enthaelt(362)); + assertFalse(ba.enthaelt(402)); + assertFalse(ba.enthaelt(682)); + assertFalse(ba.enthaelt(336)); + assertFalse(ba.enthaelt(759)); + assertFalse(ba.enthaelt(677)); + assertTrue(ba.enthaelt(75)); + assertTrue(ba.enthaelt(895)); + assertTrue(ba.enthaelt(669)); + assertTrue(ba.enthaelt(495)); + assertTrue(ba.enthaelt(925)); + assertTrue(ba.enthaelt(322)); + assertTrue(ba.enthaelt(600)); + assertTrue(ba.enthaelt(875)); + assertTrue(ba.enthaelt(807)); + assertTrue(ba.enthaelt(853)); + } + + @Test + public void test021() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(20)); + assertEquals(279,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(439)); + assertTrue(ba.enthaelt(687)); + assertFalse(ba.enthaelt(216)); + assertFalse(ba.enthaelt(621)); + assertFalse(ba.enthaelt(874)); + assertFalse(ba.enthaelt(516)); + assertTrue(ba.enthaelt(335)); + assertFalse(ba.enthaelt(703)); + assertTrue(ba.enthaelt(132)); + assertTrue(ba.enthaelt(630)); + assertFalse(ba.enthaelt(679)); + assertFalse(ba.enthaelt(269)); + assertFalse(ba.enthaelt(606)); + assertTrue(ba.enthaelt(212)); + assertTrue(ba.enthaelt(422)); + assertFalse(ba.enthaelt(43)); + assertFalse(ba.enthaelt(272)); + assertTrue(ba.enthaelt(410)); + assertTrue(ba.enthaelt(235)); + assertTrue(ba.enthaelt(103)); + } + + @Test + public void test022() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(21)); + assertEquals(215,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(310)); + assertFalse(ba.enthaelt(292)); + assertFalse(ba.enthaelt(474)); + assertFalse(ba.enthaelt(123)); + assertTrue(ba.enthaelt(824)); + assertFalse(ba.enthaelt(756)); + assertFalse(ba.enthaelt(829)); + assertFalse(ba.enthaelt(201)); + assertFalse(ba.enthaelt(755)); + assertFalse(ba.enthaelt(393)); + assertFalse(ba.enthaelt(1015)); + assertFalse(ba.enthaelt(3)); + assertTrue(ba.enthaelt(19)); + assertTrue(ba.enthaelt(343)); + assertTrue(ba.enthaelt(715)); + assertTrue(ba.enthaelt(662)); + assertTrue(ba.enthaelt(73)); + assertTrue(ba.enthaelt(195)); + assertTrue(ba.enthaelt(365)); + assertTrue(ba.enthaelt(889)); + } + + @Test + public void test023() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(22)); + assertEquals(107,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(821)); + assertFalse(ba.enthaelt(165)); + assertFalse(ba.enthaelt(884)); + assertFalse(ba.enthaelt(133)); + assertFalse(ba.enthaelt(545)); + assertFalse(ba.enthaelt(188)); + assertFalse(ba.enthaelt(435)); + assertFalse(ba.enthaelt(493)); + assertFalse(ba.enthaelt(823)); + assertFalse(ba.enthaelt(355)); + assertTrue(ba.enthaelt(276)); + assertTrue(ba.enthaelt(84)); + assertTrue(ba.enthaelt(265)); + assertTrue(ba.enthaelt(140)); + assertTrue(ba.enthaelt(529)); + assertTrue(ba.enthaelt(877)); + assertTrue(ba.enthaelt(767)); + assertTrue(ba.enthaelt(879)); + assertTrue(ba.enthaelt(724)); + assertTrue(ba.enthaelt(352)); + } + + @Test + public void test024() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(23)); + assertEquals(207,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(402)); + assertFalse(ba.enthaelt(268)); + assertFalse(ba.enthaelt(332)); + assertFalse(ba.enthaelt(818)); + assertFalse(ba.enthaelt(666)); + assertTrue(ba.enthaelt(36)); + assertFalse(ba.enthaelt(172)); + assertFalse(ba.enthaelt(537)); + assertFalse(ba.enthaelt(1015)); + assertFalse(ba.enthaelt(944)); + assertFalse(ba.enthaelt(941)); + assertTrue(ba.enthaelt(665)); + assertTrue(ba.enthaelt(967)); + assertTrue(ba.enthaelt(667)); + assertTrue(ba.enthaelt(684)); + assertTrue(ba.enthaelt(125)); + assertTrue(ba.enthaelt(29)); + assertTrue(ba.enthaelt(597)); + assertTrue(ba.enthaelt(446)); + assertTrue(ba.enthaelt(800)); + } + + @Test + public void test025() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(24)); + assertEquals(119,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(694)); + assertFalse(ba.enthaelt(872)); + assertFalse(ba.enthaelt(197)); + assertFalse(ba.enthaelt(983)); + assertFalse(ba.enthaelt(470)); + assertFalse(ba.enthaelt(487)); + assertTrue(ba.enthaelt(44)); + assertFalse(ba.enthaelt(552)); + assertFalse(ba.enthaelt(961)); + assertFalse(ba.enthaelt(714)); + assertFalse(ba.enthaelt(623)); + assertTrue(ba.enthaelt(18)); + assertTrue(ba.enthaelt(444)); + assertTrue(ba.enthaelt(277)); + assertTrue(ba.enthaelt(243)); + assertTrue(ba.enthaelt(852)); + assertTrue(ba.enthaelt(864)); + assertTrue(ba.enthaelt(765)); + assertTrue(ba.enthaelt(999)); + assertTrue(ba.enthaelt(488)); + } + + @Test + public void test026() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(25)); + assertEquals(247,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(782)); + assertFalse(ba.enthaelt(999)); + assertTrue(ba.enthaelt(173)); + assertFalse(ba.enthaelt(261)); + assertFalse(ba.enthaelt(892)); + assertTrue(ba.enthaelt(271)); + assertFalse(ba.enthaelt(420)); + assertTrue(ba.enthaelt(263)); + assertTrue(ba.enthaelt(919)); + assertFalse(ba.enthaelt(70)); + assertFalse(ba.enthaelt(4)); + assertFalse(ba.enthaelt(462)); + assertFalse(ba.enthaelt(877)); + assertFalse(ba.enthaelt(568)); + assertTrue(ba.enthaelt(834)); + assertTrue(ba.enthaelt(382)); + assertTrue(ba.enthaelt(861)); + assertTrue(ba.enthaelt(575)); + assertTrue(ba.enthaelt(19)); + assertTrue(ba.enthaelt(528)); + } + + @Test + public void test027() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(26)); + assertEquals(179,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(626)); + assertFalse(ba.enthaelt(340)); + assertFalse(ba.enthaelt(365)); + assertFalse(ba.enthaelt(954)); + assertFalse(ba.enthaelt(366)); + assertFalse(ba.enthaelt(814)); + assertFalse(ba.enthaelt(900)); + assertTrue(ba.enthaelt(496)); + assertFalse(ba.enthaelt(133)); + assertFalse(ba.enthaelt(107)); + assertTrue(ba.enthaelt(391)); + assertFalse(ba.enthaelt(801)); + assertFalse(ba.enthaelt(420)); + assertTrue(ba.enthaelt(310)); + assertTrue(ba.enthaelt(277)); + assertTrue(ba.enthaelt(262)); + assertTrue(ba.enthaelt(513)); + assertTrue(ba.enthaelt(378)); + assertTrue(ba.enthaelt(740)); + assertTrue(ba.enthaelt(403)); + } + + @Test + public void test028() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(27)); + assertEquals(209,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(627)); + assertFalse(ba.enthaelt(681)); + assertFalse(ba.enthaelt(521)); + assertFalse(ba.enthaelt(393)); + assertFalse(ba.enthaelt(201)); + assertFalse(ba.enthaelt(364)); + assertFalse(ba.enthaelt(198)); + assertFalse(ba.enthaelt(173)); + assertFalse(ba.enthaelt(257)); + assertFalse(ba.enthaelt(277)); + assertTrue(ba.enthaelt(36)); + assertTrue(ba.enthaelt(829)); + assertTrue(ba.enthaelt(896)); + assertTrue(ba.enthaelt(899)); + assertTrue(ba.enthaelt(706)); + assertTrue(ba.enthaelt(381)); + assertTrue(ba.enthaelt(480)); + assertTrue(ba.enthaelt(926)); + assertTrue(ba.enthaelt(832)); + assertTrue(ba.enthaelt(271)); + } + + @Test + public void test029() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(28)); + assertEquals(357,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(700)); + assertFalse(ba.enthaelt(942)); + assertTrue(ba.enthaelt(924)); + assertTrue(ba.enthaelt(271)); + assertFalse(ba.enthaelt(766)); + assertFalse(ba.enthaelt(528)); + assertFalse(ba.enthaelt(495)); + assertFalse(ba.enthaelt(262)); + assertFalse(ba.enthaelt(413)); + assertTrue(ba.enthaelt(704)); + assertTrue(ba.enthaelt(230)); + assertFalse(ba.enthaelt(752)); + assertFalse(ba.enthaelt(810)); + assertFalse(ba.enthaelt(823)); + assertTrue(ba.enthaelt(846)); + assertTrue(ba.enthaelt(758)); + assertTrue(ba.enthaelt(91)); + assertTrue(ba.enthaelt(995)); + assertTrue(ba.enthaelt(988)); + assertTrue(ba.enthaelt(62)); + } + + @Test + public void test030() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(29)); + assertEquals(71,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(846)); + assertFalse(ba.enthaelt(828)); + assertFalse(ba.enthaelt(444)); + assertFalse(ba.enthaelt(456)); + assertFalse(ba.enthaelt(424)); + assertFalse(ba.enthaelt(454)); + assertFalse(ba.enthaelt(908)); + assertFalse(ba.enthaelt(200)); + assertFalse(ba.enthaelt(463)); + assertFalse(ba.enthaelt(246)); + assertTrue(ba.enthaelt(274)); + assertTrue(ba.enthaelt(553)); + assertTrue(ba.enthaelt(223)); + assertTrue(ba.enthaelt(237)); + assertTrue(ba.enthaelt(557)); + assertTrue(ba.enthaelt(222)); + assertTrue(ba.enthaelt(806)); + assertTrue(ba.enthaelt(516)); + assertTrue(ba.enthaelt(813)); + assertTrue(ba.enthaelt(10)); + } + + @Test + public void test031() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(30)); + assertEquals(109,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(154)); + assertFalse(ba.enthaelt(1000)); + assertTrue(ba.enthaelt(355)); + assertFalse(ba.enthaelt(960)); + assertFalse(ba.enthaelt(301)); + assertFalse(ba.enthaelt(94)); + assertTrue(ba.enthaelt(580)); + assertFalse(ba.enthaelt(440)); + assertFalse(ba.enthaelt(690)); + assertFalse(ba.enthaelt(342)); + assertFalse(ba.enthaelt(71)); + assertFalse(ba.enthaelt(44)); + assertTrue(ba.enthaelt(731)); + assertTrue(ba.enthaelt(617)); + assertTrue(ba.enthaelt(752)); + assertTrue(ba.enthaelt(538)); + assertTrue(ba.enthaelt(122)); + assertTrue(ba.enthaelt(517)); + assertTrue(ba.enthaelt(923)); + assertTrue(ba.enthaelt(689)); + } + + @Test + public void test032() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(31)); + assertEquals(87,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(372)); + assertTrue(ba.enthaelt(866)); + assertTrue(ba.enthaelt(304)); + assertFalse(ba.enthaelt(623)); + assertFalse(ba.enthaelt(261)); + assertFalse(ba.enthaelt(761)); + assertTrue(ba.enthaelt(206)); + assertFalse(ba.enthaelt(459)); + assertFalse(ba.enthaelt(100)); + assertFalse(ba.enthaelt(769)); + assertFalse(ba.enthaelt(134)); + assertFalse(ba.enthaelt(37)); + assertFalse(ba.enthaelt(622)); + assertTrue(ba.enthaelt(61)); + assertTrue(ba.enthaelt(409)); + assertTrue(ba.enthaelt(274)); + assertTrue(ba.enthaelt(30)); + assertTrue(ba.enthaelt(448)); + assertTrue(ba.enthaelt(868)); + assertTrue(ba.enthaelt(36)); + } + + @Test + public void test033() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(32)); + assertEquals(521,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(211)); + assertFalse(ba.enthaelt(231)); + assertTrue(ba.enthaelt(658)); + assertTrue(ba.enthaelt(546)); + assertTrue(ba.enthaelt(53)); + assertTrue(ba.enthaelt(764)); + assertTrue(ba.enthaelt(324)); + assertTrue(ba.enthaelt(851)); + assertFalse(ba.enthaelt(856)); + assertFalse(ba.enthaelt(442)); + assertTrue(ba.enthaelt(15)); + assertFalse(ba.enthaelt(223)); + assertTrue(ba.enthaelt(553)); + assertFalse(ba.enthaelt(782)); + assertFalse(ba.enthaelt(419)); + assertFalse(ba.enthaelt(90)); + assertFalse(ba.enthaelt(221)); + assertFalse(ba.enthaelt(670)); + assertTrue(ba.enthaelt(876)); + assertFalse(ba.enthaelt(902)); + } + + @Test + public void test034() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(33)); + assertEquals(59,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(854)); + assertFalse(ba.enthaelt(673)); + assertFalse(ba.enthaelt(617)); + assertFalse(ba.enthaelt(253)); + assertFalse(ba.enthaelt(298)); + assertTrue(ba.enthaelt(190)); + assertFalse(ba.enthaelt(779)); + assertFalse(ba.enthaelt(994)); + assertFalse(ba.enthaelt(941)); + assertFalse(ba.enthaelt(100)); + assertFalse(ba.enthaelt(351)); + assertTrue(ba.enthaelt(192)); + assertTrue(ba.enthaelt(385)); + assertTrue(ba.enthaelt(581)); + assertTrue(ba.enthaelt(205)); + assertTrue(ba.enthaelt(731)); + assertTrue(ba.enthaelt(230)); + assertTrue(ba.enthaelt(589)); + assertTrue(ba.enthaelt(769)); + assertTrue(ba.enthaelt(705)); + } + + @Test + public void test035() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(34)); + assertEquals(107,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(103)); + assertFalse(ba.enthaelt(238)); + assertFalse(ba.enthaelt(35)); + assertFalse(ba.enthaelt(658)); + assertFalse(ba.enthaelt(134)); + assertFalse(ba.enthaelt(499)); + assertFalse(ba.enthaelt(137)); + assertTrue(ba.enthaelt(243)); + assertFalse(ba.enthaelt(780)); + assertFalse(ba.enthaelt(422)); + assertFalse(ba.enthaelt(930)); + assertTrue(ba.enthaelt(437)); + assertTrue(ba.enthaelt(251)); + assertTrue(ba.enthaelt(802)); + assertTrue(ba.enthaelt(206)); + assertTrue(ba.enthaelt(404)); + assertTrue(ba.enthaelt(79)); + assertTrue(ba.enthaelt(821)); + assertTrue(ba.enthaelt(384)); + assertTrue(ba.enthaelt(665)); + } + + @Test + public void test036() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(35)); + assertEquals(93,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(119)); + assertFalse(ba.enthaelt(413)); + assertFalse(ba.enthaelt(246)); + assertFalse(ba.enthaelt(427)); + assertFalse(ba.enthaelt(660)); + assertFalse(ba.enthaelt(54)); + assertFalse(ba.enthaelt(30)); + assertFalse(ba.enthaelt(417)); + assertFalse(ba.enthaelt(781)); + assertFalse(ba.enthaelt(191)); + assertTrue(ba.enthaelt(93)); + assertTrue(ba.enthaelt(326)); + assertTrue(ba.enthaelt(700)); + assertTrue(ba.enthaelt(339)); + assertTrue(ba.enthaelt(608)); + assertTrue(ba.enthaelt(31)); + assertTrue(ba.enthaelt(576)); + assertTrue(ba.enthaelt(546)); + assertTrue(ba.enthaelt(815)); + assertTrue(ba.enthaelt(196)); + } + + @Test + public void test037() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(36)); + assertEquals(175,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(833)); + assertFalse(ba.enthaelt(408)); + assertFalse(ba.enthaelt(720)); + assertTrue(ba.enthaelt(559)); + assertFalse(ba.enthaelt(839)); + assertFalse(ba.enthaelt(281)); + assertTrue(ba.enthaelt(477)); + assertTrue(ba.enthaelt(920)); + assertFalse(ba.enthaelt(628)); + assertFalse(ba.enthaelt(726)); + assertFalse(ba.enthaelt(659)); + assertFalse(ba.enthaelt(786)); + assertFalse(ba.enthaelt(876)); + assertTrue(ba.enthaelt(33)); + assertTrue(ba.enthaelt(74)); + assertTrue(ba.enthaelt(826)); + assertTrue(ba.enthaelt(901)); + assertTrue(ba.enthaelt(260)); + assertTrue(ba.enthaelt(378)); + assertTrue(ba.enthaelt(782)); + } + + @Test + public void test038() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(37)); + assertEquals(349,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(916)); + assertFalse(ba.enthaelt(947)); + assertFalse(ba.enthaelt(201)); + assertFalse(ba.enthaelt(185)); + assertTrue(ba.enthaelt(255)); + assertFalse(ba.enthaelt(684)); + assertTrue(ba.enthaelt(393)); + assertTrue(ba.enthaelt(88)); + assertFalse(ba.enthaelt(633)); + assertFalse(ba.enthaelt(220)); + assertFalse(ba.enthaelt(334)); + assertFalse(ba.enthaelt(810)); + assertFalse(ba.enthaelt(686)); + assertFalse(ba.enthaelt(579)); + assertTrue(ba.enthaelt(501)); + assertTrue(ba.enthaelt(616)); + assertTrue(ba.enthaelt(389)); + assertTrue(ba.enthaelt(285)); + assertTrue(ba.enthaelt(704)); + assertTrue(ba.enthaelt(253)); + } + + @Test + public void test039() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(38)); + assertEquals(129,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(572)); + assertFalse(ba.enthaelt(391)); + assertFalse(ba.enthaelt(116)); + assertFalse(ba.enthaelt(524)); + assertFalse(ba.enthaelt(569)); + assertFalse(ba.enthaelt(1)); + assertFalse(ba.enthaelt(794)); + assertFalse(ba.enthaelt(300)); + assertFalse(ba.enthaelt(865)); + assertFalse(ba.enthaelt(209)); + assertFalse(ba.enthaelt(408)); + assertTrue(ba.enthaelt(99)); + assertTrue(ba.enthaelt(154)); + assertTrue(ba.enthaelt(734)); + assertTrue(ba.enthaelt(177)); + assertTrue(ba.enthaelt(100)); + assertTrue(ba.enthaelt(536)); + assertTrue(ba.enthaelt(999)); + assertTrue(ba.enthaelt(284)); + assertTrue(ba.enthaelt(628)); + } + + @Test + public void test040() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(39)); + assertEquals(281,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(562)); + assertFalse(ba.enthaelt(19)); + assertFalse(ba.enthaelt(848)); + assertFalse(ba.enthaelt(681)); + assertFalse(ba.enthaelt(878)); + assertFalse(ba.enthaelt(407)); + assertTrue(ba.enthaelt(38)); + assertFalse(ba.enthaelt(641)); + assertTrue(ba.enthaelt(634)); + assertFalse(ba.enthaelt(577)); + assertFalse(ba.enthaelt(976)); + assertFalse(ba.enthaelt(300)); + assertTrue(ba.enthaelt(760)); + assertTrue(ba.enthaelt(476)); + assertTrue(ba.enthaelt(899)); + assertTrue(ba.enthaelt(851)); + assertTrue(ba.enthaelt(618)); + assertTrue(ba.enthaelt(808)); + assertTrue(ba.enthaelt(244)); + assertTrue(ba.enthaelt(401)); + } + + @Test + public void test041() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(40)); + assertEquals(117,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(517)); + assertFalse(ba.enthaelt(883)); + assertFalse(ba.enthaelt(382)); + assertFalse(ba.enthaelt(1008)); + assertFalse(ba.enthaelt(949)); + assertFalse(ba.enthaelt(24)); + assertFalse(ba.enthaelt(207)); + assertFalse(ba.enthaelt(147)); + assertTrue(ba.enthaelt(733)); + assertTrue(ba.enthaelt(847)); + assertFalse(ba.enthaelt(741)); + assertFalse(ba.enthaelt(868)); + assertFalse(ba.enthaelt(785)); + assertTrue(ba.enthaelt(544)); + assertTrue(ba.enthaelt(302)); + assertTrue(ba.enthaelt(797)); + assertTrue(ba.enthaelt(449)); + assertTrue(ba.enthaelt(620)); + assertTrue(ba.enthaelt(465)); + assertTrue(ba.enthaelt(587)); + } + + @Test + public void test042() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(41)); + assertEquals(97,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(201)); + assertFalse(ba.enthaelt(293)); + assertFalse(ba.enthaelt(287)); + assertTrue(ba.enthaelt(627)); + assertTrue(ba.enthaelt(225)); + assertFalse(ba.enthaelt(224)); + assertTrue(ba.enthaelt(994)); + assertFalse(ba.enthaelt(177)); + assertFalse(ba.enthaelt(644)); + assertFalse(ba.enthaelt(935)); + assertFalse(ba.enthaelt(1006)); + assertFalse(ba.enthaelt(488)); + assertFalse(ba.enthaelt(746)); + assertTrue(ba.enthaelt(179)); + assertTrue(ba.enthaelt(1)); + assertTrue(ba.enthaelt(903)); + assertTrue(ba.enthaelt(522)); + assertTrue(ba.enthaelt(407)); + assertTrue(ba.enthaelt(313)); + assertTrue(ba.enthaelt(156)); + } + + @Test + public void test043() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(42)); + assertEquals(157,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(608)); + assertTrue(ba.enthaelt(375)); + assertFalse(ba.enthaelt(689)); + assertFalse(ba.enthaelt(856)); + assertTrue(ba.enthaelt(139)); + assertFalse(ba.enthaelt(693)); + assertFalse(ba.enthaelt(887)); + assertFalse(ba.enthaelt(481)); + assertFalse(ba.enthaelt(256)); + assertFalse(ba.enthaelt(182)); + assertFalse(ba.enthaelt(751)); + assertFalse(ba.enthaelt(114)); + assertTrue(ba.enthaelt(875)); + assertTrue(ba.enthaelt(516)); + assertTrue(ba.enthaelt(838)); + assertTrue(ba.enthaelt(744)); + assertTrue(ba.enthaelt(78)); + assertTrue(ba.enthaelt(797)); + assertTrue(ba.enthaelt(362)); + assertTrue(ba.enthaelt(755)); + } + + @Test + public void test044() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(43)); + assertEquals(347,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(357)); + assertFalse(ba.enthaelt(718)); + assertTrue(ba.enthaelt(756)); + assertTrue(ba.enthaelt(58)); + assertFalse(ba.enthaelt(313)); + assertFalse(ba.enthaelt(530)); + assertTrue(ba.enthaelt(902)); + assertFalse(ba.enthaelt(402)); + assertTrue(ba.enthaelt(197)); + assertFalse(ba.enthaelt(854)); + assertTrue(ba.enthaelt(751)); + assertFalse(ba.enthaelt(942)); + assertFalse(ba.enthaelt(450)); + assertFalse(ba.enthaelt(864)); + assertTrue(ba.enthaelt(220)); + assertFalse(ba.enthaelt(835)); + assertTrue(ba.enthaelt(191)); + assertTrue(ba.enthaelt(859)); + assertTrue(ba.enthaelt(793)); + assertTrue(ba.enthaelt(237)); + } + + @Test + public void test045() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(44)); + assertEquals(459,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(126)); + assertFalse(ba.enthaelt(328)); + assertTrue(ba.enthaelt(305)); + assertFalse(ba.enthaelt(597)); + assertFalse(ba.enthaelt(0)); + assertFalse(ba.enthaelt(747)); + assertFalse(ba.enthaelt(1019)); + assertFalse(ba.enthaelt(93)); + assertFalse(ba.enthaelt(866)); + assertTrue(ba.enthaelt(271)); + assertFalse(ba.enthaelt(81)); + assertFalse(ba.enthaelt(228)); + assertTrue(ba.enthaelt(241)); + assertTrue(ba.enthaelt(335)); + assertTrue(ba.enthaelt(257)); + assertTrue(ba.enthaelt(83)); + assertTrue(ba.enthaelt(885)); + assertTrue(ba.enthaelt(303)); + assertTrue(ba.enthaelt(498)); + assertTrue(ba.enthaelt(366)); + } + + @Test + public void test046() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(45)); + assertEquals(187,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(916)); + assertFalse(ba.enthaelt(489)); + assertFalse(ba.enthaelt(370)); + assertFalse(ba.enthaelt(361)); + assertFalse(ba.enthaelt(635)); + assertFalse(ba.enthaelt(991)); + assertTrue(ba.enthaelt(308)); + assertFalse(ba.enthaelt(677)); + assertTrue(ba.enthaelt(203)); + assertFalse(ba.enthaelt(818)); + assertFalse(ba.enthaelt(175)); + assertFalse(ba.enthaelt(992)); + assertTrue(ba.enthaelt(72)); + assertTrue(ba.enthaelt(516)); + assertTrue(ba.enthaelt(127)); + assertTrue(ba.enthaelt(357)); + assertTrue(ba.enthaelt(535)); + assertTrue(ba.enthaelt(623)); + assertTrue(ba.enthaelt(526)); + assertTrue(ba.enthaelt(483)); + } + + @Test + public void test047() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(46)); + assertEquals(119,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(174)); + assertFalse(ba.enthaelt(700)); + assertFalse(ba.enthaelt(172)); + assertFalse(ba.enthaelt(679)); + assertFalse(ba.enthaelt(459)); + assertFalse(ba.enthaelt(522)); + assertFalse(ba.enthaelt(552)); + assertFalse(ba.enthaelt(1001)); + assertFalse(ba.enthaelt(448)); + assertFalse(ba.enthaelt(578)); + assertTrue(ba.enthaelt(157)); + assertTrue(ba.enthaelt(830)); + assertTrue(ba.enthaelt(316)); + assertTrue(ba.enthaelt(504)); + assertTrue(ba.enthaelt(307)); + assertTrue(ba.enthaelt(516)); + assertTrue(ba.enthaelt(533)); + assertTrue(ba.enthaelt(378)); + assertTrue(ba.enthaelt(151)); + assertTrue(ba.enthaelt(23)); + } + + @Test + public void test048() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(47)); + assertEquals(81,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(763)); + assertFalse(ba.enthaelt(697)); + assertFalse(ba.enthaelt(24)); + assertFalse(ba.enthaelt(516)); + assertFalse(ba.enthaelt(997)); + assertFalse(ba.enthaelt(874)); + assertFalse(ba.enthaelt(331)); + assertFalse(ba.enthaelt(602)); + assertFalse(ba.enthaelt(952)); + assertFalse(ba.enthaelt(928)); + assertTrue(ba.enthaelt(794)); + assertTrue(ba.enthaelt(342)); + assertTrue(ba.enthaelt(551)); + assertTrue(ba.enthaelt(600)); + assertTrue(ba.enthaelt(532)); + assertTrue(ba.enthaelt(86)); + assertTrue(ba.enthaelt(217)); + assertTrue(ba.enthaelt(921)); + assertTrue(ba.enthaelt(115)); + assertTrue(ba.enthaelt(32)); + } + + @Test + public void test049() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(48)); + assertEquals(349,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(394)); + assertFalse(ba.enthaelt(690)); + assertFalse(ba.enthaelt(3)); + assertTrue(ba.enthaelt(400)); + assertFalse(ba.enthaelt(264)); + assertFalse(ba.enthaelt(823)); + assertTrue(ba.enthaelt(569)); + assertFalse(ba.enthaelt(140)); + assertFalse(ba.enthaelt(1008)); + assertTrue(ba.enthaelt(42)); + assertFalse(ba.enthaelt(818)); + assertFalse(ba.enthaelt(902)); + assertTrue(ba.enthaelt(41)); + assertFalse(ba.enthaelt(631)); + assertFalse(ba.enthaelt(927)); + assertTrue(ba.enthaelt(790)); + assertTrue(ba.enthaelt(464)); + assertTrue(ba.enthaelt(447)); + assertTrue(ba.enthaelt(203)); + assertTrue(ba.enthaelt(774)); + } + + @Test + public void test050() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(49)); + assertEquals(73,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertTrue(ba.enthaelt(942)); + assertFalse(ba.enthaelt(310)); + assertFalse(ba.enthaelt(44)); + assertFalse(ba.enthaelt(536)); + assertFalse(ba.enthaelt(512)); + assertTrue(ba.enthaelt(257)); + assertFalse(ba.enthaelt(219)); + assertFalse(ba.enthaelt(73)); + assertFalse(ba.enthaelt(474)); + assertTrue(ba.enthaelt(21)); + assertFalse(ba.enthaelt(820)); + assertFalse(ba.enthaelt(358)); + assertFalse(ba.enthaelt(651)); + assertTrue(ba.enthaelt(97)); + assertTrue(ba.enthaelt(309)); + assertTrue(ba.enthaelt(815)); + assertTrue(ba.enthaelt(914)); + assertTrue(ba.enthaelt(959)); + assertTrue(ba.enthaelt(183)); + assertTrue(ba.enthaelt(502)); + } + + @Test + public void test051() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(50)); + assertEquals(115,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(985)); + assertFalse(ba.enthaelt(199)); + assertFalse(ba.enthaelt(872)); + assertFalse(ba.enthaelt(721)); + assertFalse(ba.enthaelt(396)); + assertFalse(ba.enthaelt(318)); + assertFalse(ba.enthaelt(625)); + assertFalse(ba.enthaelt(762)); + assertFalse(ba.enthaelt(324)); + assertFalse(ba.enthaelt(913)); + assertTrue(ba.enthaelt(869)); + assertTrue(ba.enthaelt(541)); + assertTrue(ba.enthaelt(444)); + assertTrue(ba.enthaelt(937)); + assertTrue(ba.enthaelt(837)); + assertTrue(ba.enthaelt(898)); + assertTrue(ba.enthaelt(843)); + assertTrue(ba.enthaelt(236)); + assertTrue(ba.enthaelt(954)); + assertTrue(ba.enthaelt(752)); + } + + @Test + public void test052() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(51)); + assertEquals(437,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(352)); + assertTrue(ba.enthaelt(305)); + assertFalse(ba.enthaelt(708)); + assertTrue(ba.enthaelt(670)); + assertTrue(ba.enthaelt(281)); + assertFalse(ba.enthaelt(677)); + assertTrue(ba.enthaelt(410)); + assertFalse(ba.enthaelt(1015)); + assertFalse(ba.enthaelt(555)); + assertFalse(ba.enthaelt(1004)); + assertFalse(ba.enthaelt(768)); + assertFalse(ba.enthaelt(774)); + assertTrue(ba.enthaelt(491)); + assertTrue(ba.enthaelt(589)); + assertFalse(ba.enthaelt(360)); + assertFalse(ba.enthaelt(720)); + assertTrue(ba.enthaelt(779)); + assertTrue(ba.enthaelt(871)); + assertTrue(ba.enthaelt(538)); + assertTrue(ba.enthaelt(918)); + } + + @Test + public void test053() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(52)); + assertEquals(209,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(719)); + assertFalse(ba.enthaelt(933)); + assertFalse(ba.enthaelt(77)); + assertFalse(ba.enthaelt(844)); + assertFalse(ba.enthaelt(744)); + assertFalse(ba.enthaelt(1008)); + assertFalse(ba.enthaelt(208)); + assertFalse(ba.enthaelt(17)); + assertFalse(ba.enthaelt(171)); + assertFalse(ba.enthaelt(290)); + assertTrue(ba.enthaelt(44)); + assertTrue(ba.enthaelt(780)); + assertTrue(ba.enthaelt(303)); + assertTrue(ba.enthaelt(343)); + assertTrue(ba.enthaelt(177)); + assertTrue(ba.enthaelt(488)); + assertTrue(ba.enthaelt(85)); + assertTrue(ba.enthaelt(574)); + assertTrue(ba.enthaelt(765)); + assertTrue(ba.enthaelt(150)); + } + + @Test + public void test054() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(53)); + assertEquals(151,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(272)); + assertTrue(ba.enthaelt(254)); + assertFalse(ba.enthaelt(72)); + assertTrue(ba.enthaelt(739)); + assertTrue(ba.enthaelt(119)); + assertFalse(ba.enthaelt(605)); + assertFalse(ba.enthaelt(438)); + assertTrue(ba.enthaelt(738)); + assertFalse(ba.enthaelt(3)); + assertFalse(ba.enthaelt(27)); + assertFalse(ba.enthaelt(572)); + assertFalse(ba.enthaelt(1003)); + assertFalse(ba.enthaelt(971)); + assertFalse(ba.enthaelt(283)); + assertTrue(ba.enthaelt(566)); + assertTrue(ba.enthaelt(159)); + assertTrue(ba.enthaelt(505)); + assertTrue(ba.enthaelt(755)); + assertTrue(ba.enthaelt(540)); + assertTrue(ba.enthaelt(126)); + } + + @Test + public void test055() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(54)); + assertEquals(311,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(619)); + assertTrue(ba.enthaelt(583)); + assertTrue(ba.enthaelt(258)); + assertFalse(ba.enthaelt(855)); + assertFalse(ba.enthaelt(436)); + assertTrue(ba.enthaelt(182)); + assertTrue(ba.enthaelt(587)); + assertTrue(ba.enthaelt(880)); + assertFalse(ba.enthaelt(883)); + assertFalse(ba.enthaelt(225)); + assertFalse(ba.enthaelt(460)); + assertFalse(ba.enthaelt(501)); + assertFalse(ba.enthaelt(286)); + assertFalse(ba.enthaelt(727)); + assertFalse(ba.enthaelt(589)); + assertFalse(ba.enthaelt(773)); + assertTrue(ba.enthaelt(912)); + assertTrue(ba.enthaelt(671)); + assertTrue(ba.enthaelt(245)); + assertTrue(ba.enthaelt(145)); + } + + @Test + public void test056() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(55)); + assertEquals(93,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertTrue(ba.enthaelt(232)); + assertFalse(ba.enthaelt(504)); + assertFalse(ba.enthaelt(951)); + assertFalse(ba.enthaelt(628)); + assertFalse(ba.enthaelt(292)); + assertFalse(ba.enthaelt(575)); + assertFalse(ba.enthaelt(188)); + assertFalse(ba.enthaelt(255)); + assertFalse(ba.enthaelt(913)); + assertFalse(ba.enthaelt(592)); + assertFalse(ba.enthaelt(649)); + assertTrue(ba.enthaelt(897)); + assertTrue(ba.enthaelt(385)); + assertTrue(ba.enthaelt(128)); + assertTrue(ba.enthaelt(228)); + assertTrue(ba.enthaelt(430)); + assertTrue(ba.enthaelt(653)); + assertTrue(ba.enthaelt(497)); + assertTrue(ba.enthaelt(317)); + assertTrue(ba.enthaelt(269)); + } + + @Test + public void test057() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(56)); + assertEquals(499,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(83)); + assertFalse(ba.enthaelt(557)); + assertFalse(ba.enthaelt(863)); + assertTrue(ba.enthaelt(569)); + assertTrue(ba.enthaelt(116)); + assertFalse(ba.enthaelt(841)); + assertTrue(ba.enthaelt(683)); + assertFalse(ba.enthaelt(450)); + assertFalse(ba.enthaelt(783)); + assertTrue(ba.enthaelt(49)); + assertFalse(ba.enthaelt(87)); + assertTrue(ba.enthaelt(983)); + assertTrue(ba.enthaelt(810)); + assertTrue(ba.enthaelt(354)); + assertFalse(ba.enthaelt(155)); + assertFalse(ba.enthaelt(2)); + assertFalse(ba.enthaelt(725)); + assertTrue(ba.enthaelt(786)); + assertTrue(ba.enthaelt(916)); + assertFalse(ba.enthaelt(1009)); + } + + @Test + public void test058() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(57)); + assertEquals(243,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertTrue(ba.enthaelt(737)); + assertFalse(ba.enthaelt(969)); + assertFalse(ba.enthaelt(1004)); + assertTrue(ba.enthaelt(633)); + assertFalse(ba.enthaelt(993)); + assertFalse(ba.enthaelt(367)); + assertFalse(ba.enthaelt(743)); + assertFalse(ba.enthaelt(998)); + assertFalse(ba.enthaelt(841)); + assertFalse(ba.enthaelt(775)); + assertTrue(ba.enthaelt(365)); + assertFalse(ba.enthaelt(1018)); + assertFalse(ba.enthaelt(517)); + assertTrue(ba.enthaelt(242)); + assertTrue(ba.enthaelt(100)); + assertTrue(ba.enthaelt(404)); + assertTrue(ba.enthaelt(635)); + assertTrue(ba.enthaelt(337)); + assertTrue(ba.enthaelt(347)); + assertTrue(ba.enthaelt(133)); + } + + @Test + public void test059() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(58)); + assertEquals(875,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(665)); + assertFalse(ba.enthaelt(774)); + assertFalse(ba.enthaelt(855)); + assertFalse(ba.enthaelt(490)); + assertFalse(ba.enthaelt(690)); + assertFalse(ba.enthaelt(975)); + assertTrue(ba.enthaelt(385)); + assertTrue(ba.enthaelt(789)); + assertFalse(ba.enthaelt(625)); + assertTrue(ba.enthaelt(569)); + assertTrue(ba.enthaelt(818)); + assertFalse(ba.enthaelt(442)); + assertTrue(ba.enthaelt(826)); + assertTrue(ba.enthaelt(566)); + assertFalse(ba.enthaelt(1001)); + assertFalse(ba.enthaelt(886)); + assertTrue(ba.enthaelt(49)); + assertFalse(ba.enthaelt(463)); + assertTrue(ba.enthaelt(29)); + assertTrue(ba.enthaelt(84)); + } + + @Test + public void test060() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(59)); + assertEquals(251,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertTrue(ba.enthaelt(81)); + assertFalse(ba.enthaelt(447)); + assertTrue(ba.enthaelt(998)); + assertFalse(ba.enthaelt(0)); + assertFalse(ba.enthaelt(1000)); + assertFalse(ba.enthaelt(118)); + assertFalse(ba.enthaelt(86)); + assertFalse(ba.enthaelt(570)); + assertFalse(ba.enthaelt(104)); + assertTrue(ba.enthaelt(495)); + assertFalse(ba.enthaelt(584)); + assertFalse(ba.enthaelt(560)); + assertTrue(ba.enthaelt(623)); + assertFalse(ba.enthaelt(1005)); + assertTrue(ba.enthaelt(740)); + assertTrue(ba.enthaelt(360)); + assertTrue(ba.enthaelt(630)); + assertTrue(ba.enthaelt(264)); + assertTrue(ba.enthaelt(220)); + assertTrue(ba.enthaelt(469)); + } + + @Test + public void test061() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(60)); + assertEquals(97,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(432)); + assertFalse(ba.enthaelt(345)); + assertFalse(ba.enthaelt(594)); + assertFalse(ba.enthaelt(752)); + assertFalse(ba.enthaelt(751)); + assertFalse(ba.enthaelt(998)); + assertTrue(ba.enthaelt(9)); + assertFalse(ba.enthaelt(940)); + assertFalse(ba.enthaelt(1002)); + assertFalse(ba.enthaelt(296)); + assertFalse(ba.enthaelt(951)); + assertTrue(ba.enthaelt(169)); + assertTrue(ba.enthaelt(392)); + assertTrue(ba.enthaelt(226)); + assertTrue(ba.enthaelt(885)); + assertTrue(ba.enthaelt(350)); + assertTrue(ba.enthaelt(799)); + assertTrue(ba.enthaelt(877)); + assertTrue(ba.enthaelt(180)); + assertTrue(ba.enthaelt(836)); + } + + @Test + public void test062() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(61)); + assertEquals(85,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(1019)); + assertFalse(ba.enthaelt(997)); + assertFalse(ba.enthaelt(340)); + assertFalse(ba.enthaelt(594)); + assertFalse(ba.enthaelt(996)); + assertFalse(ba.enthaelt(766)); + assertFalse(ba.enthaelt(241)); + assertFalse(ba.enthaelt(192)); + assertFalse(ba.enthaelt(740)); + assertFalse(ba.enthaelt(869)); + assertTrue(ba.enthaelt(75)); + assertTrue(ba.enthaelt(3)); + assertTrue(ba.enthaelt(634)); + assertTrue(ba.enthaelt(814)); + assertTrue(ba.enthaelt(438)); + assertTrue(ba.enthaelt(785)); + assertTrue(ba.enthaelt(755)); + assertTrue(ba.enthaelt(446)); + assertTrue(ba.enthaelt(414)); + assertTrue(ba.enthaelt(579)); + } + + @Test + public void test063() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(62)); + assertEquals(221,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(251)); + assertFalse(ba.enthaelt(138)); + assertTrue(ba.enthaelt(803)); + assertFalse(ba.enthaelt(280)); + assertFalse(ba.enthaelt(62)); + assertFalse(ba.enthaelt(665)); + assertFalse(ba.enthaelt(429)); + assertTrue(ba.enthaelt(524)); + assertFalse(ba.enthaelt(656)); + assertTrue(ba.enthaelt(463)); + assertFalse(ba.enthaelt(131)); + assertFalse(ba.enthaelt(759)); + assertFalse(ba.enthaelt(26)); + assertTrue(ba.enthaelt(303)); + assertTrue(ba.enthaelt(213)); + assertTrue(ba.enthaelt(167)); + assertTrue(ba.enthaelt(399)); + assertTrue(ba.enthaelt(264)); + assertTrue(ba.enthaelt(944)); + assertTrue(ba.enthaelt(625)); + } + + @Test + public void test064() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(63)); + assertEquals(115,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(690)); + assertFalse(ba.enthaelt(204)); + assertFalse(ba.enthaelt(525)); + assertFalse(ba.enthaelt(448)); + assertFalse(ba.enthaelt(658)); + assertFalse(ba.enthaelt(628)); + assertFalse(ba.enthaelt(444)); + assertFalse(ba.enthaelt(28)); + assertFalse(ba.enthaelt(622)); + assertFalse(ba.enthaelt(270)); + assertFalse(ba.enthaelt(731)); + assertTrue(ba.enthaelt(38)); + assertTrue(ba.enthaelt(479)); + assertTrue(ba.enthaelt(182)); + assertTrue(ba.enthaelt(24)); + assertTrue(ba.enthaelt(754)); + assertTrue(ba.enthaelt(308)); + assertTrue(ba.enthaelt(838)); + assertTrue(ba.enthaelt(85)); + assertTrue(ba.enthaelt(289)); + } + + @Test + public void test065() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(64)); + assertEquals(513,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(579)); + assertFalse(ba.enthaelt(140)); + assertFalse(ba.enthaelt(598)); + assertFalse(ba.enthaelt(303)); + assertTrue(ba.enthaelt(524)); + assertFalse(ba.enthaelt(776)); + assertFalse(ba.enthaelt(522)); + assertTrue(ba.enthaelt(323)); + assertFalse(ba.enthaelt(168)); + assertTrue(ba.enthaelt(787)); + assertFalse(ba.enthaelt(922)); + assertFalse(ba.enthaelt(3)); + assertFalse(ba.enthaelt(1007)); + assertTrue(ba.enthaelt(900)); + assertTrue(ba.enthaelt(988)); + assertTrue(ba.enthaelt(113)); + assertTrue(ba.enthaelt(274)); + assertTrue(ba.enthaelt(653)); + assertTrue(ba.enthaelt(958)); + assertTrue(ba.enthaelt(866)); + } + + @Test + public void test066() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(65)); + assertEquals(79,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(21)); + assertFalse(ba.enthaelt(658)); + assertFalse(ba.enthaelt(843)); + assertFalse(ba.enthaelt(441)); + assertTrue(ba.enthaelt(976)); + assertFalse(ba.enthaelt(797)); + assertFalse(ba.enthaelt(986)); + assertFalse(ba.enthaelt(159)); + assertFalse(ba.enthaelt(305)); + assertFalse(ba.enthaelt(486)); + assertFalse(ba.enthaelt(290)); + assertTrue(ba.enthaelt(221)); + assertTrue(ba.enthaelt(216)); + assertTrue(ba.enthaelt(696)); + assertTrue(ba.enthaelt(517)); + assertTrue(ba.enthaelt(898)); + assertTrue(ba.enthaelt(820)); + assertTrue(ba.enthaelt(243)); + assertTrue(ba.enthaelt(874)); + assertTrue(ba.enthaelt(225)); + } + + @Test + public void test067() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(66)); + assertEquals(145,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(588)); + assertFalse(ba.enthaelt(860)); + assertTrue(ba.enthaelt(451)); + assertFalse(ba.enthaelt(461)); + assertFalse(ba.enthaelt(634)); + assertFalse(ba.enthaelt(154)); + assertTrue(ba.enthaelt(146)); + assertFalse(ba.enthaelt(581)); + assertFalse(ba.enthaelt(778)); + assertFalse(ba.enthaelt(986)); + assertFalse(ba.enthaelt(580)); + assertFalse(ba.enthaelt(685)); + assertTrue(ba.enthaelt(305)); + assertTrue(ba.enthaelt(669)); + assertTrue(ba.enthaelt(106)); + assertTrue(ba.enthaelt(635)); + assertTrue(ba.enthaelt(173)); + assertTrue(ba.enthaelt(536)); + assertTrue(ba.enthaelt(249)); + assertTrue(ba.enthaelt(244)); + } + + @Test + public void test068() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(67)); + assertEquals(653,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertTrue(ba.enthaelt(950)); + assertFalse(ba.enthaelt(762)); + assertFalse(ba.enthaelt(499)); + assertFalse(ba.enthaelt(543)); + assertTrue(ba.enthaelt(161)); + assertFalse(ba.enthaelt(288)); + assertFalse(ba.enthaelt(135)); + assertTrue(ba.enthaelt(119)); + assertTrue(ba.enthaelt(379)); + assertFalse(ba.enthaelt(9)); + assertFalse(ba.enthaelt(854)); + assertFalse(ba.enthaelt(634)); + assertTrue(ba.enthaelt(215)); + assertFalse(ba.enthaelt(345)); + assertTrue(ba.enthaelt(326)); + assertFalse(ba.enthaelt(948)); + assertTrue(ba.enthaelt(328)); + assertTrue(ba.enthaelt(803)); + assertTrue(ba.enthaelt(463)); + assertTrue(ba.enthaelt(212)); + } + + @Test + public void test069() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(68)); + assertEquals(231,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(450)); + assertFalse(ba.enthaelt(942)); + assertFalse(ba.enthaelt(343)); + assertFalse(ba.enthaelt(195)); + assertFalse(ba.enthaelt(521)); + assertFalse(ba.enthaelt(377)); + assertFalse(ba.enthaelt(839)); + assertFalse(ba.enthaelt(727)); + assertFalse(ba.enthaelt(643)); + assertFalse(ba.enthaelt(750)); + assertTrue(ba.enthaelt(422)); + assertTrue(ba.enthaelt(569)); + assertTrue(ba.enthaelt(852)); + assertTrue(ba.enthaelt(808)); + assertTrue(ba.enthaelt(771)); + assertTrue(ba.enthaelt(874)); + assertTrue(ba.enthaelt(49)); + assertTrue(ba.enthaelt(308)); + assertTrue(ba.enthaelt(176)); + assertTrue(ba.enthaelt(198)); + } + + @Test + public void test070() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(69)); + assertEquals(241,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(982)); + assertFalse(ba.enthaelt(326)); + assertTrue(ba.enthaelt(925)); + assertTrue(ba.enthaelt(680)); + assertTrue(ba.enthaelt(71)); + assertFalse(ba.enthaelt(494)); + assertFalse(ba.enthaelt(841)); + assertFalse(ba.enthaelt(915)); + assertTrue(ba.enthaelt(100)); + assertFalse(ba.enthaelt(215)); + assertFalse(ba.enthaelt(48)); + assertFalse(ba.enthaelt(5)); + assertFalse(ba.enthaelt(891)); + assertFalse(ba.enthaelt(372)); + assertTrue(ba.enthaelt(908)); + assertTrue(ba.enthaelt(451)); + assertTrue(ba.enthaelt(258)); + assertTrue(ba.enthaelt(473)); + assertTrue(ba.enthaelt(861)); + assertTrue(ba.enthaelt(734)); + } + + @Test + public void test071() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(70)); + assertEquals(147,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(803)); + assertFalse(ba.enthaelt(898)); + assertFalse(ba.enthaelt(464)); + assertFalse(ba.enthaelt(12)); + assertFalse(ba.enthaelt(439)); + assertFalse(ba.enthaelt(673)); + assertFalse(ba.enthaelt(750)); + assertTrue(ba.enthaelt(494)); + assertFalse(ba.enthaelt(1007)); + assertFalse(ba.enthaelt(119)); + assertFalse(ba.enthaelt(113)); + assertTrue(ba.enthaelt(588)); + assertTrue(ba.enthaelt(829)); + assertTrue(ba.enthaelt(617)); + assertTrue(ba.enthaelt(644)); + assertTrue(ba.enthaelt(537)); + assertTrue(ba.enthaelt(471)); + assertTrue(ba.enthaelt(70)); + assertTrue(ba.enthaelt(769)); + assertTrue(ba.enthaelt(581)); + } + + @Test + public void test072() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(71)); + assertEquals(165,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertTrue(ba.enthaelt(447)); + assertTrue(ba.enthaelt(675)); + assertFalse(ba.enthaelt(172)); + assertFalse(ba.enthaelt(438)); + assertTrue(ba.enthaelt(105)); + assertFalse(ba.enthaelt(198)); + assertFalse(ba.enthaelt(328)); + assertFalse(ba.enthaelt(86)); + assertFalse(ba.enthaelt(293)); + assertFalse(ba.enthaelt(441)); + assertFalse(ba.enthaelt(466)); + assertFalse(ba.enthaelt(572)); + assertTrue(ba.enthaelt(499)); + assertFalse(ba.enthaelt(218)); + assertTrue(ba.enthaelt(518)); + assertTrue(ba.enthaelt(813)); + assertTrue(ba.enthaelt(32)); + assertTrue(ba.enthaelt(554)); + assertTrue(ba.enthaelt(152)); + assertTrue(ba.enthaelt(19)); + } + + @Test + public void test073() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(72)); + assertEquals(231,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(891)); + assertFalse(ba.enthaelt(908)); + assertTrue(ba.enthaelt(138)); + assertFalse(ba.enthaelt(1012)); + assertFalse(ba.enthaelt(189)); + assertTrue(ba.enthaelt(745)); + assertFalse(ba.enthaelt(799)); + assertTrue(ba.enthaelt(922)); + assertTrue(ba.enthaelt(595)); + assertFalse(ba.enthaelt(391)); + assertFalse(ba.enthaelt(31)); + assertFalse(ba.enthaelt(177)); + assertFalse(ba.enthaelt(673)); + assertFalse(ba.enthaelt(348)); + assertTrue(ba.enthaelt(850)); + assertTrue(ba.enthaelt(162)); + assertTrue(ba.enthaelt(820)); + assertTrue(ba.enthaelt(219)); + assertTrue(ba.enthaelt(388)); + assertTrue(ba.enthaelt(694)); + } + + @Test + public void test074() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(73)); + assertEquals(191,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(92)); + assertFalse(ba.enthaelt(929)); + assertTrue(ba.enthaelt(312)); + assertFalse(ba.enthaelt(209)); + assertFalse(ba.enthaelt(843)); + assertFalse(ba.enthaelt(935)); + assertFalse(ba.enthaelt(6)); + assertFalse(ba.enthaelt(529)); + assertFalse(ba.enthaelt(567)); + assertFalse(ba.enthaelt(646)); + assertFalse(ba.enthaelt(116)); + assertTrue(ba.enthaelt(788)); + assertTrue(ba.enthaelt(487)); + assertTrue(ba.enthaelt(330)); + assertTrue(ba.enthaelt(813)); + assertTrue(ba.enthaelt(77)); + assertTrue(ba.enthaelt(624)); + assertTrue(ba.enthaelt(722)); + assertTrue(ba.enthaelt(566)); + assertTrue(ba.enthaelt(215)); + } + + @Test + public void test075() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(74)); + assertEquals(137,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(733)); + assertTrue(ba.enthaelt(561)); + assertFalse(ba.enthaelt(354)); + assertFalse(ba.enthaelt(820)); + assertFalse(ba.enthaelt(230)); + assertFalse(ba.enthaelt(40)); + assertFalse(ba.enthaelt(671)); + assertFalse(ba.enthaelt(624)); + assertFalse(ba.enthaelt(872)); + assertFalse(ba.enthaelt(375)); + assertFalse(ba.enthaelt(394)); + assertTrue(ba.enthaelt(151)); + assertTrue(ba.enthaelt(815)); + assertTrue(ba.enthaelt(951)); + assertTrue(ba.enthaelt(821)); + assertTrue(ba.enthaelt(364)); + assertTrue(ba.enthaelt(293)); + assertTrue(ba.enthaelt(58)); + assertTrue(ba.enthaelt(798)); + assertTrue(ba.enthaelt(51)); + } + + @Test + public void test076() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(75)); + assertEquals(63,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(259)); + assertFalse(ba.enthaelt(272)); + assertTrue(ba.enthaelt(251)); + assertFalse(ba.enthaelt(961)); + assertFalse(ba.enthaelt(214)); + assertFalse(ba.enthaelt(963)); + assertFalse(ba.enthaelt(921)); + assertTrue(ba.enthaelt(278)); + assertFalse(ba.enthaelt(521)); + assertFalse(ba.enthaelt(302)); + assertFalse(ba.enthaelt(621)); + assertFalse(ba.enthaelt(640)); + assertTrue(ba.enthaelt(655)); + assertTrue(ba.enthaelt(829)); + assertTrue(ba.enthaelt(557)); + assertTrue(ba.enthaelt(419)); + assertTrue(ba.enthaelt(566)); + assertTrue(ba.enthaelt(581)); + assertTrue(ba.enthaelt(627)); + assertTrue(ba.enthaelt(385)); + } + + @Test + public void test077() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(76)); + assertEquals(265,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(59)); + assertTrue(ba.enthaelt(384)); + assertFalse(ba.enthaelt(286)); + assertTrue(ba.enthaelt(195)); + assertFalse(ba.enthaelt(432)); + assertTrue(ba.enthaelt(591)); + assertFalse(ba.enthaelt(107)); + assertTrue(ba.enthaelt(867)); + assertFalse(ba.enthaelt(51)); + assertFalse(ba.enthaelt(883)); + assertFalse(ba.enthaelt(206)); + assertFalse(ba.enthaelt(981)); + assertFalse(ba.enthaelt(32)); + assertFalse(ba.enthaelt(782)); + assertTrue(ba.enthaelt(352)); + assertTrue(ba.enthaelt(804)); + assertTrue(ba.enthaelt(767)); + assertTrue(ba.enthaelt(129)); + assertTrue(ba.enthaelt(483)); + assertTrue(ba.enthaelt(372)); + } + + @Test + public void test078() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(77)); + assertEquals(211,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(520)); + assertFalse(ba.enthaelt(832)); + assertTrue(ba.enthaelt(98)); + assertFalse(ba.enthaelt(240)); + assertFalse(ba.enthaelt(1015)); + assertFalse(ba.enthaelt(367)); + assertFalse(ba.enthaelt(237)); + assertFalse(ba.enthaelt(873)); + assertFalse(ba.enthaelt(672)); + assertFalse(ba.enthaelt(269)); + assertTrue(ba.enthaelt(115)); + assertFalse(ba.enthaelt(493)); + assertTrue(ba.enthaelt(772)); + assertTrue(ba.enthaelt(36)); + assertTrue(ba.enthaelt(766)); + assertTrue(ba.enthaelt(329)); + assertTrue(ba.enthaelt(519)); + assertTrue(ba.enthaelt(566)); + assertTrue(ba.enthaelt(192)); + assertTrue(ba.enthaelt(114)); + } + + @Test + public void test079() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(78)); + assertEquals(77,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(774)); + assertFalse(ba.enthaelt(217)); + assertFalse(ba.enthaelt(274)); + assertFalse(ba.enthaelt(342)); + assertFalse(ba.enthaelt(175)); + assertTrue(ba.enthaelt(282)); + assertFalse(ba.enthaelt(191)); + assertFalse(ba.enthaelt(640)); + assertFalse(ba.enthaelt(373)); + assertFalse(ba.enthaelt(17)); + assertFalse(ba.enthaelt(950)); + assertTrue(ba.enthaelt(14)); + assertTrue(ba.enthaelt(391)); + assertTrue(ba.enthaelt(127)); + assertTrue(ba.enthaelt(402)); + assertTrue(ba.enthaelt(327)); + assertTrue(ba.enthaelt(420)); + assertTrue(ba.enthaelt(151)); + assertTrue(ba.enthaelt(313)); + assertTrue(ba.enthaelt(747)); + } + + @Test + public void test080() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(79)); + assertEquals(301,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(21)); + assertFalse(ba.enthaelt(562)); + assertFalse(ba.enthaelt(89)); + assertTrue(ba.enthaelt(366)); + assertFalse(ba.enthaelt(207)); + assertFalse(ba.enthaelt(825)); + assertFalse(ba.enthaelt(289)); + assertFalse(ba.enthaelt(1016)); + assertFalse(ba.enthaelt(213)); + assertFalse(ba.enthaelt(326)); + assertFalse(ba.enthaelt(407)); + assertTrue(ba.enthaelt(225)); + assertTrue(ba.enthaelt(576)); + assertTrue(ba.enthaelt(180)); + assertTrue(ba.enthaelt(504)); + assertTrue(ba.enthaelt(374)); + assertTrue(ba.enthaelt(239)); + assertTrue(ba.enthaelt(139)); + assertTrue(ba.enthaelt(327)); + assertTrue(ba.enthaelt(286)); + } + + @Test + public void test081() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(80)); + assertEquals(577,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(345)); + assertFalse(ba.enthaelt(461)); + assertFalse(ba.enthaelt(1007)); + assertTrue(ba.enthaelt(821)); + assertFalse(ba.enthaelt(446)); + assertTrue(ba.enthaelt(748)); + assertFalse(ba.enthaelt(400)); + assertTrue(ba.enthaelt(505)); + assertFalse(ba.enthaelt(898)); + assertTrue(ba.enthaelt(10)); + assertFalse(ba.enthaelt(72)); + assertTrue(ba.enthaelt(222)); + assertFalse(ba.enthaelt(977)); + assertTrue(ba.enthaelt(555)); + assertTrue(ba.enthaelt(870)); + assertFalse(ba.enthaelt(845)); + assertTrue(ba.enthaelt(795)); + assertTrue(ba.enthaelt(12)); + assertTrue(ba.enthaelt(233)); + assertFalse(ba.enthaelt(731)); + } + + @Test + public void test082() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(81)); + assertEquals(99,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(508)); + assertFalse(ba.enthaelt(542)); + assertFalse(ba.enthaelt(12)); + assertFalse(ba.enthaelt(739)); + assertFalse(ba.enthaelt(770)); + assertFalse(ba.enthaelt(1010)); + assertFalse(ba.enthaelt(1018)); + assertFalse(ba.enthaelt(15)); + assertTrue(ba.enthaelt(418)); + assertFalse(ba.enthaelt(969)); + assertFalse(ba.enthaelt(962)); + assertTrue(ba.enthaelt(191)); + assertTrue(ba.enthaelt(31)); + assertTrue(ba.enthaelt(299)); + assertTrue(ba.enthaelt(846)); + assertTrue(ba.enthaelt(768)); + assertTrue(ba.enthaelt(973)); + assertTrue(ba.enthaelt(772)); + assertTrue(ba.enthaelt(629)); + assertTrue(ba.enthaelt(844)); + } + + @Test + public void test083() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(82)); + assertEquals(393,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(762)); + assertFalse(ba.enthaelt(749)); + assertFalse(ba.enthaelt(560)); + assertFalse(ba.enthaelt(646)); + assertTrue(ba.enthaelt(558)); + assertFalse(ba.enthaelt(8)); + assertFalse(ba.enthaelt(683)); + assertFalse(ba.enthaelt(805)); + assertTrue(ba.enthaelt(668)); + assertTrue(ba.enthaelt(434)); + assertTrue(ba.enthaelt(483)); + assertFalse(ba.enthaelt(962)); + assertTrue(ba.enthaelt(137)); + assertTrue(ba.enthaelt(239)); + assertFalse(ba.enthaelt(747)); + assertTrue(ba.enthaelt(583)); + assertFalse(ba.enthaelt(298)); + assertTrue(ba.enthaelt(608)); + assertTrue(ba.enthaelt(914)); + assertTrue(ba.enthaelt(717)); + } + + @Test + public void test084() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(83)); + assertEquals(203,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(198)); + assertFalse(ba.enthaelt(805)); + assertFalse(ba.enthaelt(725)); + assertFalse(ba.enthaelt(434)); + assertTrue(ba.enthaelt(289)); + assertFalse(ba.enthaelt(330)); + assertTrue(ba.enthaelt(130)); + assertFalse(ba.enthaelt(876)); + assertFalse(ba.enthaelt(812)); + assertFalse(ba.enthaelt(989)); + assertFalse(ba.enthaelt(51)); + assertFalse(ba.enthaelt(594)); + assertTrue(ba.enthaelt(673)); + assertTrue(ba.enthaelt(988)); + assertTrue(ba.enthaelt(940)); + assertTrue(ba.enthaelt(352)); + assertTrue(ba.enthaelt(756)); + assertTrue(ba.enthaelt(435)); + assertTrue(ba.enthaelt(525)); + assertTrue(ba.enthaelt(196)); + } + + @Test + public void test085() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(84)); + assertEquals(123,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(332)); + assertTrue(ba.enthaelt(580)); + assertFalse(ba.enthaelt(197)); + assertTrue(ba.enthaelt(188)); + assertFalse(ba.enthaelt(175)); + assertFalse(ba.enthaelt(59)); + assertFalse(ba.enthaelt(402)); + assertFalse(ba.enthaelt(200)); + assertTrue(ba.enthaelt(265)); + assertFalse(ba.enthaelt(320)); + assertTrue(ba.enthaelt(969)); + assertFalse(ba.enthaelt(54)); + assertFalse(ba.enthaelt(190)); + assertTrue(ba.enthaelt(664)); + assertFalse(ba.enthaelt(1010)); + assertTrue(ba.enthaelt(340)); + assertTrue(ba.enthaelt(679)); + assertTrue(ba.enthaelt(909)); + assertTrue(ba.enthaelt(588)); + assertTrue(ba.enthaelt(416)); + } + + @Test + public void test086() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(85)); + assertEquals(425,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(406)); + assertFalse(ba.enthaelt(372)); + assertFalse(ba.enthaelt(429)); + assertFalse(ba.enthaelt(108)); + assertFalse(ba.enthaelt(158)); + assertFalse(ba.enthaelt(241)); + assertFalse(ba.enthaelt(24)); + assertFalse(ba.enthaelt(581)); + assertTrue(ba.enthaelt(258)); + assertFalse(ba.enthaelt(692)); + assertFalse(ba.enthaelt(127)); + assertTrue(ba.enthaelt(593)); + assertTrue(ba.enthaelt(212)); + assertTrue(ba.enthaelt(492)); + assertTrue(ba.enthaelt(767)); + assertTrue(ba.enthaelt(90)); + assertTrue(ba.enthaelt(457)); + assertTrue(ba.enthaelt(793)); + assertTrue(ba.enthaelt(209)); + assertTrue(ba.enthaelt(180)); + } + + @Test + public void test087() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(86)); + assertEquals(43,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(247)); + assertTrue(ba.enthaelt(787)); + assertFalse(ba.enthaelt(299)); + assertFalse(ba.enthaelt(117)); + assertFalse(ba.enthaelt(733)); + assertFalse(ba.enthaelt(565)); + assertFalse(ba.enthaelt(530)); + assertFalse(ba.enthaelt(363)); + assertFalse(ba.enthaelt(827)); + assertFalse(ba.enthaelt(995)); + assertFalse(ba.enthaelt(926)); + assertTrue(ba.enthaelt(294)); + assertTrue(ba.enthaelt(759)); + assertTrue(ba.enthaelt(972)); + assertTrue(ba.enthaelt(703)); + assertTrue(ba.enthaelt(739)); + assertTrue(ba.enthaelt(339)); + assertTrue(ba.enthaelt(589)); + assertTrue(ba.enthaelt(6)); + assertTrue(ba.enthaelt(450)); + } + + @Test + public void test088() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(87)); + assertEquals(579,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(1017)); + assertFalse(ba.enthaelt(557)); + assertTrue(ba.enthaelt(742)); + assertFalse(ba.enthaelt(95)); + assertFalse(ba.enthaelt(748)); + assertFalse(ba.enthaelt(839)); + assertFalse(ba.enthaelt(612)); + assertFalse(ba.enthaelt(131)); + assertTrue(ba.enthaelt(433)); + assertFalse(ba.enthaelt(64)); + assertFalse(ba.enthaelt(739)); + assertTrue(ba.enthaelt(831)); + assertTrue(ba.enthaelt(743)); + assertTrue(ba.enthaelt(368)); + assertFalse(ba.enthaelt(674)); + assertTrue(ba.enthaelt(889)); + assertTrue(ba.enthaelt(81)); + assertTrue(ba.enthaelt(435)); + assertTrue(ba.enthaelt(13)); + assertTrue(ba.enthaelt(350)); + } + + @Test + public void test089() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(88)); + assertEquals(229,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertTrue(ba.enthaelt(37)); + assertFalse(ba.enthaelt(73)); + assertFalse(ba.enthaelt(642)); + assertTrue(ba.enthaelt(83)); + assertFalse(ba.enthaelt(38)); + assertFalse(ba.enthaelt(859)); + assertTrue(ba.enthaelt(324)); + assertFalse(ba.enthaelt(475)); + assertTrue(ba.enthaelt(793)); + assertFalse(ba.enthaelt(472)); + assertFalse(ba.enthaelt(81)); + assertFalse(ba.enthaelt(480)); + assertFalse(ba.enthaelt(954)); + assertFalse(ba.enthaelt(466)); + assertTrue(ba.enthaelt(984)); + assertTrue(ba.enthaelt(540)); + assertTrue(ba.enthaelt(316)); + assertTrue(ba.enthaelt(721)); + assertTrue(ba.enthaelt(927)); + assertTrue(ba.enthaelt(517)); + } + + @Test + public void test090() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(89)); + assertEquals(159,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertTrue(ba.enthaelt(686)); + assertFalse(ba.enthaelt(84)); + assertFalse(ba.enthaelt(210)); + assertFalse(ba.enthaelt(541)); + assertTrue(ba.enthaelt(775)); + assertFalse(ba.enthaelt(429)); + assertFalse(ba.enthaelt(781)); + assertFalse(ba.enthaelt(133)); + assertTrue(ba.enthaelt(578)); + assertFalse(ba.enthaelt(103)); + assertFalse(ba.enthaelt(750)); + assertFalse(ba.enthaelt(295)); + assertFalse(ba.enthaelt(19)); + assertTrue(ba.enthaelt(278)); + assertTrue(ba.enthaelt(189)); + assertTrue(ba.enthaelt(826)); + assertTrue(ba.enthaelt(511)); + assertTrue(ba.enthaelt(999)); + assertTrue(ba.enthaelt(731)); + assertTrue(ba.enthaelt(39)); + } + + @Test + public void test091() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(90)); + assertEquals(329,ba.anzahl()); + assertEquals(11,ba.tiefe()); + assertFalse(ba.enthaelt(161)); + assertFalse(ba.enthaelt(698)); + assertFalse(ba.enthaelt(777)); + assertFalse(ba.enthaelt(204)); + assertFalse(ba.enthaelt(373)); + assertFalse(ba.enthaelt(467)); + assertTrue(ba.enthaelt(42)); + assertFalse(ba.enthaelt(897)); + assertTrue(ba.enthaelt(533)); + assertFalse(ba.enthaelt(864)); + assertTrue(ba.enthaelt(538)); + assertFalse(ba.enthaelt(142)); + assertFalse(ba.enthaelt(667)); + assertTrue(ba.enthaelt(783)); + assertTrue(ba.enthaelt(422)); + assertTrue(ba.enthaelt(48)); + assertTrue(ba.enthaelt(81)); + assertTrue(ba.enthaelt(478)); + assertTrue(ba.enthaelt(99)); + assertTrue(ba.enthaelt(834)); + } + + @Test + public void test092() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(91)); + assertEquals(87,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(77)); + assertTrue(ba.enthaelt(369)); + assertFalse(ba.enthaelt(596)); + assertFalse(ba.enthaelt(777)); + assertFalse(ba.enthaelt(899)); + assertFalse(ba.enthaelt(901)); + assertFalse(ba.enthaelt(985)); + assertFalse(ba.enthaelt(891)); + assertFalse(ba.enthaelt(785)); + assertFalse(ba.enthaelt(700)); + assertFalse(ba.enthaelt(98)); + assertTrue(ba.enthaelt(996)); + assertTrue(ba.enthaelt(356)); + assertTrue(ba.enthaelt(688)); + assertTrue(ba.enthaelt(746)); + assertTrue(ba.enthaelt(554)); + assertTrue(ba.enthaelt(92)); + assertTrue(ba.enthaelt(238)); + assertTrue(ba.enthaelt(779)); + assertTrue(ba.enthaelt(105)); + } + + @Test + public void test093() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(92)); + assertEquals(99,ba.anzahl()); + assertEquals(8,ba.tiefe()); + assertFalse(ba.enthaelt(185)); + assertFalse(ba.enthaelt(447)); + assertFalse(ba.enthaelt(401)); + assertFalse(ba.enthaelt(86)); + assertFalse(ba.enthaelt(744)); + assertFalse(ba.enthaelt(535)); + assertFalse(ba.enthaelt(886)); + assertFalse(ba.enthaelt(775)); + assertFalse(ba.enthaelt(810)); + assertFalse(ba.enthaelt(988)); + assertTrue(ba.enthaelt(67)); + assertTrue(ba.enthaelt(678)); + assertTrue(ba.enthaelt(50)); + assertTrue(ba.enthaelt(144)); + assertTrue(ba.enthaelt(959)); + assertTrue(ba.enthaelt(448)); + assertTrue(ba.enthaelt(636)); + assertTrue(ba.enthaelt(633)); + assertTrue(ba.enthaelt(296)); + assertTrue(ba.enthaelt(947)); + } + + @Test + public void test094() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(93)); + assertEquals(137,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(965)); + assertFalse(ba.enthaelt(826)); + assertFalse(ba.enthaelt(551)); + assertFalse(ba.enthaelt(651)); + assertFalse(ba.enthaelt(740)); + assertFalse(ba.enthaelt(993)); + assertFalse(ba.enthaelt(11)); + assertFalse(ba.enthaelt(497)); + assertFalse(ba.enthaelt(700)); + assertFalse(ba.enthaelt(177)); + assertTrue(ba.enthaelt(125)); + assertTrue(ba.enthaelt(816)); + assertTrue(ba.enthaelt(26)); + assertTrue(ba.enthaelt(80)); + assertTrue(ba.enthaelt(824)); + assertTrue(ba.enthaelt(381)); + assertTrue(ba.enthaelt(687)); + assertTrue(ba.enthaelt(37)); + assertTrue(ba.enthaelt(943)); + assertTrue(ba.enthaelt(363)); + } + + @Test + public void test095() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(94)); + assertEquals(357,ba.anzahl()); + assertEquals(12,ba.tiefe()); + assertFalse(ba.enthaelt(229)); + assertFalse(ba.enthaelt(313)); + assertTrue(ba.enthaelt(769)); + assertFalse(ba.enthaelt(74)); + assertFalse(ba.enthaelt(936)); + assertFalse(ba.enthaelt(373)); + assertFalse(ba.enthaelt(473)); + assertFalse(ba.enthaelt(694)); + assertFalse(ba.enthaelt(663)); + assertTrue(ba.enthaelt(391)); + assertTrue(ba.enthaelt(225)); + assertTrue(ba.enthaelt(783)); + assertFalse(ba.enthaelt(224)); + assertFalse(ba.enthaelt(531)); + assertTrue(ba.enthaelt(625)); + assertTrue(ba.enthaelt(186)); + assertTrue(ba.enthaelt(442)); + assertTrue(ba.enthaelt(374)); + assertTrue(ba.enthaelt(597)); + assertTrue(ba.enthaelt(999)); + } + + @Test + public void test096() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(95)); + assertEquals(79,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(630)); + assertFalse(ba.enthaelt(193)); + assertFalse(ba.enthaelt(100)); + assertFalse(ba.enthaelt(73)); + assertFalse(ba.enthaelt(926)); + assertFalse(ba.enthaelt(417)); + assertFalse(ba.enthaelt(214)); + assertTrue(ba.enthaelt(63)); + assertFalse(ba.enthaelt(329)); + assertFalse(ba.enthaelt(246)); + assertFalse(ba.enthaelt(934)); + assertTrue(ba.enthaelt(198)); + assertTrue(ba.enthaelt(256)); + assertTrue(ba.enthaelt(655)); + assertTrue(ba.enthaelt(441)); + assertTrue(ba.enthaelt(927)); + assertTrue(ba.enthaelt(74)); + assertTrue(ba.enthaelt(576)); + assertTrue(ba.enthaelt(702)); + assertTrue(ba.enthaelt(333)); + } + + @Test + public void test097() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(96)); + assertEquals(141,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(98)); + assertFalse(ba.enthaelt(259)); + assertFalse(ba.enthaelt(169)); + assertFalse(ba.enthaelt(917)); + assertFalse(ba.enthaelt(103)); + assertFalse(ba.enthaelt(15)); + assertFalse(ba.enthaelt(931)); + assertFalse(ba.enthaelt(265)); + assertFalse(ba.enthaelt(226)); + assertTrue(ba.enthaelt(639)); + assertFalse(ba.enthaelt(775)); + assertTrue(ba.enthaelt(150)); + assertTrue(ba.enthaelt(183)); + assertTrue(ba.enthaelt(281)); + assertTrue(ba.enthaelt(510)); + assertTrue(ba.enthaelt(428)); + assertTrue(ba.enthaelt(631)); + assertTrue(ba.enthaelt(221)); + assertTrue(ba.enthaelt(533)); + assertTrue(ba.enthaelt(12)); + } + + @Test + public void test098() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(97)); + assertEquals(139,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(889)); + assertFalse(ba.enthaelt(987)); + assertFalse(ba.enthaelt(441)); + assertFalse(ba.enthaelt(33)); + assertFalse(ba.enthaelt(485)); + assertFalse(ba.enthaelt(482)); + assertFalse(ba.enthaelt(946)); + assertFalse(ba.enthaelt(299)); + assertFalse(ba.enthaelt(227)); + assertFalse(ba.enthaelt(147)); + assertTrue(ba.enthaelt(763)); + assertTrue(ba.enthaelt(63)); + assertTrue(ba.enthaelt(169)); + assertTrue(ba.enthaelt(57)); + assertTrue(ba.enthaelt(100)); + assertTrue(ba.enthaelt(263)); + assertTrue(ba.enthaelt(401)); + assertTrue(ba.enthaelt(301)); + assertTrue(ba.enthaelt(214)); + assertTrue(ba.enthaelt(30)); + } + + @Test + public void test099() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(98)); + assertEquals(169,ba.anzahl()); + assertEquals(10,ba.tiefe()); + assertFalse(ba.enthaelt(896)); + assertFalse(ba.enthaelt(714)); + assertTrue(ba.enthaelt(308)); + assertTrue(ba.enthaelt(597)); + assertFalse(ba.enthaelt(354)); + assertFalse(ba.enthaelt(760)); + assertTrue(ba.enthaelt(610)); + assertFalse(ba.enthaelt(411)); + assertFalse(ba.enthaelt(259)); + assertFalse(ba.enthaelt(127)); + assertFalse(ba.enthaelt(541)); + assertFalse(ba.enthaelt(269)); + assertFalse(ba.enthaelt(379)); + assertTrue(ba.enthaelt(322)); + assertTrue(ba.enthaelt(670)); + assertTrue(ba.enthaelt(568)); + assertTrue(ba.enthaelt(156)); + assertTrue(ba.enthaelt(882)); + assertTrue(ba.enthaelt(952)); + assertTrue(ba.enthaelt(102)); + } + + @Test + public void test100() + { + Baumalgorithmen ba = new Baumalgorithmen(Testbaeume.getTestBaum(99)); + assertEquals(119,ba.anzahl()); + assertEquals(9,ba.tiefe()); + assertFalse(ba.enthaelt(334)); + assertFalse(ba.enthaelt(0)); + assertFalse(ba.enthaelt(307)); + assertFalse(ba.enthaelt(572)); + assertFalse(ba.enthaelt(273)); + assertFalse(ba.enthaelt(644)); + assertFalse(ba.enthaelt(671)); + assertFalse(ba.enthaelt(976)); + assertFalse(ba.enthaelt(1007)); + assertFalse(ba.enthaelt(697)); + assertTrue(ba.enthaelt(968)); + assertTrue(ba.enthaelt(33)); + assertTrue(ba.enthaelt(411)); + assertTrue(ba.enthaelt(780)); + assertTrue(ba.enthaelt(387)); + assertTrue(ba.enthaelt(263)); + assertTrue(ba.enthaelt(396)); + assertTrue(ba.enthaelt(198)); + assertTrue(ba.enthaelt(6)); + assertTrue(ba.enthaelt(28)); + } + + + @Test + public void fdg() + { + Binaerbaum binaerba1 = Testbaeume.getTestBaum(1); + assertEquals(null, binaerba1); + } +} diff --git a/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/BaumTester2.java b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/BaumTester2.java new file mode 100644 index 0000000..baa5633 --- /dev/null +++ b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/BaumTester2.java @@ -0,0 +1,13201 @@ +import static org.junit.Assert.*; +import org.junit.Test; + +/** + * Testet Tiefen- und Breitensuche + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class BaumTester2 +{ + @Test + public void testEnthaelt001() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(0)); + Integer e; + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(672, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(672, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(340, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(340, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(488, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(488, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(720, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(720, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(789, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(789, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(339, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(339, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(973, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(973, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(400, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(406, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(665, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(665, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(270, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(274, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(150, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(154, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(533, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(532, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(766, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(760, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(255, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(259, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(379, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(379, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(76, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(71, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(493, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(498, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(465, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(468, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(590, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(595, e.intValue()); + } + + @Test + public void testEnthaelt002() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(1)); + Integer e; + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(275, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(273, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(635, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(635, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(950, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(958, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(409, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(409, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 230 && x < 240))); + assertNull(ba.breitensuche(x -> (x >= 230 && x < 240))); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(942, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(942, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 890 && x < 900))); + assertNull(ba.breitensuche(x -> (x >= 890 && x < 900))); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(463, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(463, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(983, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(983, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(605, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(604, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(996, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(995, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(506, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(502, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(680, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(680, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(692, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(699, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(286, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(286, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(37, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(39, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 320 && x < 330))); + assertNull(ba.breitensuche(x -> (x >= 320 && x < 330))); + assertNull(ba.tiefensuche(x -> (x >= 160 && x < 170))); + assertNull(ba.breitensuche(x -> (x >= 160 && x < 170))); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(912, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(913, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(558, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(556, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(825, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(829, e.intValue()); + } + + @Test + public void testEnthaelt003() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(2)); + Integer e; + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(565, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(565, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(612, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(612, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(258, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(258, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(481, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(481, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(249, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(249, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(33, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(33, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(646, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(649, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 390 && x < 400))); + assertNull(ba.breitensuche(x -> (x >= 390 && x < 400))); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(629, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(628, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(812, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(812, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 70 && x < 80))); + assertNull(ba.breitensuche(x -> (x >= 70 && x < 80))); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(344, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(343, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 930 && x < 940))); + assertNull(ba.breitensuche(x -> (x >= 930 && x < 940))); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(186, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(185, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 290 && x < 300))); + assertNull(ba.breitensuche(x -> (x >= 290 && x < 300))); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(441, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(441, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(904, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(904, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(210, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(219, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(66, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(69, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(959, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(954, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(229, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(221, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(654, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(656, e.intValue()); + } + + @Test + public void testEnthaelt004() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(3)); + Integer e; + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(69, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(62, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(652, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(656, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(502, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(502, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(619, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(619, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(466, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(466, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(829, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(829, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(86, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(86, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 220 && x < 230))); + assertNull(ba.breitensuche(x -> (x >= 220 && x < 230))); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(523, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(523, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(731, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(731, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(120, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(125, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(351, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(350, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(210, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(210, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 570 && x < 580))); + assertNull(ba.breitensuche(x -> (x >= 570 && x < 580))); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(344, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(346, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 130 && x < 140))); + assertNull(ba.breitensuche(x -> (x >= 130 && x < 140))); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(394, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(392, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(441, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(441, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(179, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(177, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(669, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(664, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(304, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(305, e.intValue()); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(189, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(183, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.breitensuche(x -> (x >= 260 && x < 270))); + } + + @Test + public void testEnthaelt005() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(4)); + Integer e; + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(369, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(369, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(99, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(383, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(383, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 550 && x < 560))); + assertNull(ba.breitensuche(x -> (x >= 550 && x < 560))); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(313, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(313, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(333, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(333, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(344, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(344, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(55, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(55, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(24, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(24, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(991, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(991, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(358, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(358, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(372, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(374, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 10 && x < 20))); + assertNull(ba.breitensuche(x -> (x >= 10 && x < 20))); + assertNull(ba.tiefensuche(x -> (x >= 500 && x < 510))); + assertNull(ba.breitensuche(x -> (x >= 500 && x < 510))); + assertNull(ba.tiefensuche(x -> (x >= 830 && x < 840))); + assertNull(ba.breitensuche(x -> (x >= 830 && x < 840))); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(840, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(849, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(285, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(283, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(581, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(586, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(214, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(217, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(810, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(814, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(134, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(133, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(593, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(598, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(487, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(481, e.intValue()); + } + + @Test + public void testEnthaelt006() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(5)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 640 && x < 650))); + assertNull(ba.breitensuche(x -> (x >= 640 && x < 650))); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(489, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(489, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(909, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(905, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(589, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(589, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 460 && x < 470))); + assertNull(ba.breitensuche(x -> (x >= 460 && x < 470))); + assertNull(ba.tiefensuche(x -> (x >= 150 && x < 160))); + assertNull(ba.breitensuche(x -> (x >= 150 && x < 160))); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(892, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(892, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(557, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(557, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(624, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(624, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(45, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(45, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(780, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(787, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(601, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(601, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(423, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(429, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(881, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(881, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(381, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(385, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 300 && x < 310))); + assertNull(ba.breitensuche(x -> (x >= 300 && x < 310))); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(254, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(254, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(757, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(754, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(373, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(372, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(73, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(74, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(685, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(688, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(867, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(865, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(761, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(764, e.intValue()); + } + + @Test + public void testEnthaelt007() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(6)); + Integer e; + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(599, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(595, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 750 && x < 760))); + assertNull(ba.breitensuche(x -> (x >= 750 && x < 760))); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(645, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(642, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(454, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(453, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(779, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(779, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(496, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(491, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(527, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(527, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 690 && x < 700))); + assertNull(ba.breitensuche(x -> (x >= 690 && x < 700))); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(625, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(623, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(268, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(263, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(924, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(924, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(960, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(960, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(230, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(230, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.breitensuche(x -> (x >= 720 && x < 730))); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(438, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(438, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(769, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(769, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(486, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(486, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(606, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(606, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(250, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(253, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 610 && x < 620))); + assertNull(ba.breitensuche(x -> (x >= 610 && x < 620))); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(182, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(181, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(908, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(903, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(990, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(999, e.intValue()); + } + + @Test + public void testEnthaelt008() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(7)); + Integer e; + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(33, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(33, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(254, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(259, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(452, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(456, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(568, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(565, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(993, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(993, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(296, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(293, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(7, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(6, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(897, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(897, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(712, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(712, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(572, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(574, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(13, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(14, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(208, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(202, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(166, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(165, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(331, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(754, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(754, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(988, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(988, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(677, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(677, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(125, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(125, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(27, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(27, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(224, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(224, e.intValue()); + } + + @Test + public void testEnthaelt009() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(8)); + Integer e; + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(832, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(834, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(531, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(532, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 790 && x < 800))); + assertNull(ba.breitensuche(x -> (x >= 790 && x < 800))); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(56, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(56, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(79, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(75, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 520 && x < 530))); + assertNull(ba.breitensuche(x -> (x >= 520 && x < 530))); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(272, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(272, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 750 && x < 760))); + assertNull(ba.breitensuche(x -> (x >= 750 && x < 760))); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(87, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(87, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(122, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(122, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(495, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(495, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(457, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(459, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(944, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(944, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(639, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(639, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 500 && x < 510))); + assertNull(ba.breitensuche(x -> (x >= 500 && x < 510))); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(955, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(952, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(761, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(768, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(864, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(866, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(487, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(483, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(883, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(889, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(983, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(987, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(179, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(179, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(582, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(582, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(464, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(464, e.intValue()); + } + + @Test + public void testEnthaelt010() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(9)); + Integer e; + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(147, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(147, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(562, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(562, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 630 && x < 640))); + assertNull(ba.breitensuche(x -> (x >= 630 && x < 640))); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 670 && x < 680))); + assertNull(ba.breitensuche(x -> (x >= 670 && x < 680))); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(470, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(477, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(794, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(794, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 10 && x < 20))); + assertNull(ba.breitensuche(x -> (x >= 10 && x < 20))); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(64, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(64, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 340 && x < 350))); + assertNull(ba.breitensuche(x -> (x >= 340 && x < 350))); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(296, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(293, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(845, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(848, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(383, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(383, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(755, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(757, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(772, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(772, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(881, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(881, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(88, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(88, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(939, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(933, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(747, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(744, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(391, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(391, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(361, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(360, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(411, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(418, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(711, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(714, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(808, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(805, e.intValue()); + } + + @Test + public void testEnthaelt011() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(10)); + Integer e; + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(170, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(170, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(470, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(478, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(383, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(383, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(414, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(414, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(920, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(922, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(397, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(397, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(197, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(198, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(835, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(839, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(338, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(971, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(230, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(238, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(138, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(138, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(698, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(690, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(566, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(564, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(712, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(711, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(87, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(87, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(24, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(24, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(157, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(157, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 510 && x < 520))); + assertNull(ba.breitensuche(x -> (x >= 510 && x < 520))); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(311, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(311, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 160 && x < 170))); + assertNull(ba.breitensuche(x -> (x >= 160 && x < 170))); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(263, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(263, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 770 && x < 780))); + assertNull(ba.breitensuche(x -> (x >= 770 && x < 780))); + assertNull(ba.tiefensuche(x -> (x >= 530 && x < 540))); + assertNull(ba.breitensuche(x -> (x >= 530 && x < 540))); + } + + @Test + public void testEnthaelt012() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(11)); + Integer e; + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(515, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(515, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(947, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(947, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(563, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(563, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(406, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(406, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(554, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(554, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(92, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(94, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(868, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(867, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(678, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(671, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(114, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(118, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(917, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(917, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(926, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(921, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(739, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(734, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(640, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(646, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(845, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(840, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(15, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(15, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(621, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(628, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(812, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(812, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(477, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(477, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 950 && x < 960))); + assertNull(ba.breitensuche(x -> (x >= 950 && x < 960))); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(770, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(774, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 900 && x < 910))); + assertNull(ba.breitensuche(x -> (x >= 900 && x < 910))); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(634, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(634, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 350 && x < 360))); + assertNull(ba.breitensuche(x -> (x >= 350 && x < 360))); + assertNull(ba.tiefensuche(x -> (x >= 780 && x < 790))); + assertNull(ba.breitensuche(x -> (x >= 780 && x < 790))); + } + + @Test + public void testEnthaelt013() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(12)); + Integer e; + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(473, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(470, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(279, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(273, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(70, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(70, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(469, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(469, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(434, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(437, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(611, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(618, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(365, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(365, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(965, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(966, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(220, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(226, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(124, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(124, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 380 && x < 390))); + assertNull(ba.breitensuche(x -> (x >= 380 && x < 390))); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(904, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(901, e.intValue()); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(185, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(185, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(429, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(429, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(808, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(808, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(354, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(354, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(179, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(172, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 940 && x < 950))); + assertNull(ba.breitensuche(x -> (x >= 940 && x < 950))); + assertNull(ba.tiefensuche(x -> (x >= 440 && x < 450))); + assertNull(ba.breitensuche(x -> (x >= 440 && x < 450))); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(785, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(782, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(919, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(911, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 690 && x < 700))); + assertNull(ba.breitensuche(x -> (x >= 690 && x < 700))); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(45, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(45, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(91, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(91, e.intValue()); + } + + @Test + public void testEnthaelt014() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(13)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.breitensuche(x -> (x >= 260 && x < 270))); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(788, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(788, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(60, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(60, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(95, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(95, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 330 && x < 340))); + assertNull(ba.breitensuche(x -> (x >= 330 && x < 340))); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(399, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(399, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 600 && x < 610))); + assertNull(ba.breitensuche(x -> (x >= 600 && x < 610))); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(768, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(768, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(106, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(106, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(401, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(401, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(140, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(140, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(493, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(493, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(328, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(328, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(993, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(999, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 840 && x < 850))); + assertNull(ba.breitensuche(x -> (x >= 840 && x < 850))); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(417, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(412, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(465, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(463, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(902, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(907, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(292, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(291, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(135, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(138, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(517, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(510, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(943, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(940, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(912, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(919, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(717, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(718, e.intValue()); + } + + @Test + public void testEnthaelt015() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(14)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 630 && x < 640))); + assertNull(ba.breitensuche(x -> (x >= 630 && x < 640))); + assertNull(ba.tiefensuche(x -> (x >= 80 && x < 90))); + assertNull(ba.breitensuche(x -> (x >= 80 && x < 90))); + assertNull(ba.tiefensuche(x -> (x >= 620 && x < 630))); + assertNull(ba.breitensuche(x -> (x >= 620 && x < 630))); + assertNull(ba.tiefensuche(x -> (x >= 270 && x < 280))); + assertNull(ba.breitensuche(x -> (x >= 270 && x < 280))); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(447, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(447, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(49, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(49, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(194, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(194, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(410, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(410, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(407, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(401, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(79, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(79, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(884, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(888, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(100, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(100, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(257, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(255, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(219, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(219, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(161, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(161, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(518, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(519, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(21, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(20, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(985, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(983, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(99, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(92, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(776, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(774, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(123, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(128, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(33, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(31, e.intValue()); + } + + @Test + public void testEnthaelt016() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(15)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 400 && x < 410))); + assertNull(ba.breitensuche(x -> (x >= 400 && x < 410))); + assertNull(ba.tiefensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.breitensuche(x -> (x >= 260 && x < 270))); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(117, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(117, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(342, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(342, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(384, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(384, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(52, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(52, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 60 && x < 70))); + assertNull(ba.breitensuche(x -> (x >= 60 && x < 70))); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(636, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(636, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(687, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(687, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(730, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(730, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(390, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(390, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(591, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(590, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(676, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(676, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(152, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(152, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(313, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(310, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(426, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(425, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(128, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(121, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(762, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(760, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(855, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(856, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(723, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(721, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(237, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(231, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(772, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(775, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(657, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(655, e.intValue()); + } + + @Test + public void testEnthaelt017() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(16)); + Integer e; + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(322, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(322, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 500 && x < 510))); + assertNull(ba.breitensuche(x -> (x >= 500 && x < 510))); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(441, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(441, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(147, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(147, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(644, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(641, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(597, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(597, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(783, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(785, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(807, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(806, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(833, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(833, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(115, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(110, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(650, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(650, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(565, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(561, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(761, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(767, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 250 && x < 260))); + assertNull(ba.breitensuche(x -> (x >= 250 && x < 260))); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(812, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(812, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 930 && x < 940))); + assertNull(ba.breitensuche(x -> (x >= 930 && x < 940))); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(186, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(186, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(466, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(466, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(103, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(107, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(357, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(358, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(229, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(220, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(312, e.intValue()); + } + + @Test + public void testEnthaelt018() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(17)); + Integer e; + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(163, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(166, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(974, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(973, e.intValue()); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(180, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(180, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(234, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(231, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(85, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(86, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(828, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(825, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(657, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(651, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(136, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(132, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(921, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(922, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(885, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(885, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(244, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(244, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(502, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(505, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(378, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(378, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(595, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(595, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(418, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(418, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(519, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(510, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(440, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(440, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(282, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(282, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 660 && x < 670))); + assertNull(ba.breitensuche(x -> (x >= 660 && x < 670))); + assertNull(ba.tiefensuche(x -> (x >= 400 && x < 410))); + assertNull(ba.breitensuche(x -> (x >= 400 && x < 410))); + } + + @Test + public void testEnthaelt019() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(18)); + Integer e; + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(3, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(3, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(431, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(431, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(489, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(489, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(325, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(329, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(647, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(640, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + + assertEquals(222, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(222, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(314, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(314, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(238, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(238, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(755, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(747, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(747, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(822, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(821, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(466, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(466, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(215, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(215, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(294, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(290, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(574, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(577, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(44, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(47, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(638, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(637, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(194, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(195, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(272, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(276, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 50 && x < 60))); + assertNull(ba.breitensuche(x -> (x >= 50 && x < 60))); + assertNull(ba.tiefensuche(x -> (x >= 770 && x < 780))); + assertNull(ba.breitensuche(x -> (x >= 770 && x < 780))); + assertNull(ba.tiefensuche(x -> (x >= 470 && x < 480))); + assertNull(ba.breitensuche(x -> (x >= 470 && x < 480))); + assertNull(ba.tiefensuche(x -> (x >= 510 && x < 520))); + assertNull(ba.breitensuche(x -> (x >= 510 && x < 520))); + } + + @Test + public void testEnthaelt020() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(19)); + Integer e; + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(875, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(875, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 840 && x < 850))); + assertNull(ba.breitensuche(x -> (x >= 840 && x < 850))); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(758, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(758, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 610 && x < 620))); + assertNull(ba.breitensuche(x -> (x >= 610 && x < 620))); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(515, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(513, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(490, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(495, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(931, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(931, e.intValue()); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(187, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(187, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(653, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(653, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(712, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(718, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(791, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(791, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(533, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(533, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(366, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(366, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(814, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(810, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(226, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(222, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(560, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(561, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(570, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 370 && x < 380))); + assertNull(ba.breitensuche(x -> (x >= 370 && x < 380))); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(11, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(14, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(763, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(765, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 620 && x < 630))); + assertNull(ba.breitensuche(x -> (x >= 620 && x < 630))); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(522, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(528, e.intValue()); + } + + @Test + public void testEnthaelt021() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(20)); + Integer e; + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(534, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(534, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(449, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(449, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(971, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(971, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(439, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(438, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(6, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(7, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 600 && x < 610))); + assertNull(ba.breitensuche(x -> (x >= 600 && x < 610))); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(36, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(36, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(333, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(399, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(395, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(196, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(192, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(834, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(834, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(229, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(229, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(850, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(854, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(750, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(303, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(303, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(648, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(641, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(29, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(29, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(586, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(584, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 570 && x < 580))); + assertNull(ba.breitensuche(x -> (x >= 570 && x < 580))); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(884, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(884, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(793, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(797, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(322, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(322, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 690 && x < 700))); + assertNull(ba.breitensuche(x -> (x >= 690 && x < 700))); + assertNull(ba.tiefensuche(x -> (x >= 900 && x < 910))); + assertNull(ba.breitensuche(x -> (x >= 900 && x < 910))); + } + + @Test + public void testEnthaelt022() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(21)); + Integer e; + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(177, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(173, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 570 && x < 580))); + assertNull(ba.breitensuche(x -> (x >= 570 && x < 580))); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(19, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(18, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 780 && x < 790))); + assertNull(ba.breitensuche(x -> (x >= 780 && x < 790))); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(666, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(666, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(750, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(750, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(482, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(482, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(343, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(343, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(320, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(320, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(385, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(382, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(692, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(693, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(985, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(985, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 900 && x < 910))); + assertNull(ba.breitensuche(x -> (x >= 900 && x < 910))); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(442, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(449, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(261, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(267, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(867, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(867, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(999, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(995, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(674, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(674, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(68, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(68, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(749, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(746, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(365, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(975, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(979, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 50 && x < 60))); + assertNull(ba.breitensuche(x -> (x >= 50 && x < 60))); + } + + @Test + public void testEnthaelt023() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(22)); + Integer e; + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(529, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(529, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(266, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(265, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(217, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(217, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(977, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(977, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(198, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(190, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(704, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(704, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(994, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(994, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 230 && x < 240))); + assertNull(ba.breitensuche(x -> (x >= 230 && x < 240))); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(983, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(983, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(864, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(864, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(544, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(544, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 790 && x < 800))); + assertNull(ba.breitensuche(x -> (x >= 790 && x < 800))); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(141, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(141, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(413, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(410, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 280 && x < 290))); + assertNull(ba.breitensuche(x -> (x >= 280 && x < 290))); + assertNull(ba.tiefensuche(x -> (x >= 630 && x < 640))); + assertNull(ba.breitensuche(x -> (x >= 630 && x < 640))); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(950, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(959, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(919, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(913, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(602, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(609, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(784, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(786, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(677, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(676, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(662, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(667, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(46, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(47, e.intValue()); + } + + @Test + public void testEnthaelt024() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(23)); + Integer e; + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(777, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(777, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(953, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(953, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(294, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(294, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(562, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(561, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(64, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(67, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(704, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(700, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 850 && x < 860))); + assertNull(ba.breitensuche(x -> (x >= 850 && x < 860))); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(667, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(667, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(995, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(999, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(541, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(541, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(889, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(882, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 730 && x < 740))); + assertNull(ba.breitensuche(x -> (x >= 730 && x < 740))); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(571, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(571, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(830, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(830, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(814, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(814, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(430, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(439, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(17, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(17, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(248, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(249, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(760, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(761, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(331, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(337, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(802, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(805, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 530 && x < 540))); + assertNull(ba.breitensuche(x -> (x >= 530 && x < 540))); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + } + + @Test + public void testEnthaelt025() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(24)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 30 && x < 40))); + assertNull(ba.breitensuche(x -> (x >= 30 && x < 40))); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(166, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(166, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(2, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(2, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(211, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(211, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 200 && x < 210))); + assertNull(ba.breitensuche(x -> (x >= 200 && x < 210))); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(505, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(507, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 560 && x < 570))); + assertNull(ba.breitensuche(x -> (x >= 560 && x < 570))); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(125, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(125, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(44, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(44, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(73, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(73, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(678, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(678, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(655, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(655, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(532, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(532, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 80 && x < 90))); + assertNull(ba.breitensuche(x -> (x >= 80 && x < 90))); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(296, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(298, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(736, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(738, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(832, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(834, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(949, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(942, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(571, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(575, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(699, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(692, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(782, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(784, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(399, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(398, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(253, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(258, e.intValue()); + } + + @Test + public void testEnthaelt026() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(25)); + Integer e; + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(350, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(350, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(533, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(532, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(491, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(491, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(684, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(684, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(652, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(652, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(698, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(698, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(948, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(948, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(966, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(966, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(876, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(874, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(633, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(633, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(346, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(346, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(264, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(263, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(80, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(87, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(361, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(362, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(150, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(153, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(398, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(393, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(507, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(501, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 450 && x < 460))); + assertNull(ba.breitensuche(x -> (x >= 450 && x < 460))); + assertNull(ba.tiefensuche(x -> (x >= 580 && x < 590))); + assertNull(ba.breitensuche(x -> (x >= 580 && x < 590))); + assertNull(ba.tiefensuche(x -> (x >= 50 && x < 60))); + assertNull(ba.breitensuche(x -> (x >= 50 && x < 60))); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(861, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(860, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(598, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(594, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 480 && x < 490))); + assertNull(ba.breitensuche(x -> (x >= 480 && x < 490))); + } + + @Test + public void testEnthaelt027() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(26)); + Integer e; + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(443, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(442, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(245, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(245, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(349, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(349, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(460, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(460, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(67, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(68, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(310, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(310, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(391, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(391, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(584, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(581, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 750 && x < 760))); + assertNull(ba.breitensuche(x -> (x >= 750 && x < 760))); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(699, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(699, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(608, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(605, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(403, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(403, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(194, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(194, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(634, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(634, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 20 && x < 30))); + assertNull(ba.breitensuche(x -> (x >= 20 && x < 30))); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(673, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(673, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 220 && x < 230))); + assertNull(ba.breitensuche(x -> (x >= 220 && x < 230))); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(284, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(281, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(570, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(577, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 840 && x < 850))); + assertNull(ba.breitensuche(x -> (x >= 840 && x < 850))); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(720, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(725, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(934, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(935, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(641, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(644, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(550, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(554, e.intValue()); + } + + @Test + public void testEnthaelt028() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(27)); + Integer e; + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(321, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(321, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(490, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(490, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(966, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(966, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(534, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(534, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(976, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(978, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(648, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(648, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(706, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(707, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 330 && x < 340))); + assertNull(ba.breitensuche(x -> (x >= 330 && x < 340))); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(788, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(788, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(523, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(523, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(600, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(603, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(314, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(319, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(926, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(926, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(398, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(398, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(380, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(381, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(226, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(221, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(745, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(749, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(480, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(482, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(204, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(200, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 280 && x < 290))); + assertNull(ba.breitensuche(x -> (x >= 280 && x < 290))); + assertNull(ba.tiefensuche(x -> (x >= 660 && x < 670))); + assertNull(ba.breitensuche(x -> (x >= 660 && x < 670))); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(169, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(164, e.intValue()); + } + + @Test + public void testEnthaelt029() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(28)); + Integer e; + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(379, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(379, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(924, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(921, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(965, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(966, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(633, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(635, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(549, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(544, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(774, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(774, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(449, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(447, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(59, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(59, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(145, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(145, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(984, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(988, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(665, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(665, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(244, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(243, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(137, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(137, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(738, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(733, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(453, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(453, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(503, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(505, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(815, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(818, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(566, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(566, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(62, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(62, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(22, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(22, e.intValue()); + } + + @Test + public void testEnthaelt030() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(29)); + Integer e; + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(346, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(346, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 480 && x < 490))); + assertNull(ba.breitensuche(x -> (x >= 480 && x < 490))); + assertNull(ba.tiefensuche(x -> (x >= 370 && x < 380))); + assertNull(ba.breitensuche(x -> (x >= 370 && x < 380))); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(750, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(750, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(405, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(405, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 760 && x < 770))); + assertNull(ba.breitensuche(x -> (x >= 760 && x < 770))); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(242, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(245, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(638, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(638, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(687, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(687, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(397, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(397, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(556, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(556, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(910, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(910, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(704, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(700, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(848, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(841, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(222, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(223, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(10, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(14, e.intValue()); + } + + @Test + public void testEnthaelt031() + { + + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(30)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 330 && x < 340))); + assertNull(ba.breitensuche(x -> (x >= 330 && x < 340))); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(427, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(427, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(715, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(715, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(556, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(556, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 240 && x < 250))); + assertNull(ba.breitensuche(x -> (x >= 240 && x < 250))); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(617, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(617, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(303, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(303, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(6, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(6, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(287, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(287, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 200 && x < 210))); + assertNull(ba.breitensuche(x -> (x >= 200 && x < 210))); + assertNull(ba.tiefensuche(x -> (x >= 480 && x < 490))); + assertNull(ba.breitensuche(x -> (x >= 480 && x < 490))); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(963, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(963, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(638, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(638, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(73, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(70, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(957, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(953, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(118, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(115, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(660, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(667, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(91, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(312, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(689, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(685, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(907, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(908, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(41, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(48, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(888, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(887, e.intValue()); + } + + @Test + public void testEnthaelt032() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(31)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 470 && x < 480))); + assertNull(ba.breitensuche(x -> (x >= 470 && x < 480))); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(625, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(625, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(307, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(306, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(274, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(274, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(800, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(800, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(30, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(36, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 670 && x < 680))); + assertNull(ba.breitensuche(x -> (x >= 670 && x < 680))); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(564, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(564, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 130 && x < 140))); + assertNull(ba.breitensuche(x -> (x >= 130 && x < 140))); + assertNull(ba.tiefensuche(x -> (x >= 830 && x < 840))); + assertNull(ba.breitensuche(x -> (x >= 830 && x < 840))); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(763, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(763, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(11, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(11, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(128, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(128, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(485, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(485, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(514, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(514, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(198, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(198, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(110, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(111, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(443, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(447, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(949, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(946, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(702, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(706, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(253, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(250, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(642, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(643, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(547, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + } + + @Test + public void testEnthaelt033() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(32)); + Integer e; + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(603, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(603, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(37, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(34, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(317, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(314, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(166, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(167, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(728, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(728, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(114, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(117, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(817, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(810, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(230, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(239, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(493, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(493, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(709, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(709, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(431, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(430, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(159, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(152, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(456, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(454, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(851, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(857, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(963, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(963, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(553, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(553, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(421, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(421, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(369, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(369, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(412, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(412, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 270 && x < 280))); + assertNull(ba.breitensuche(x -> (x >= 270 && x < 280))); + } + + @Test + public void testEnthaelt034() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(33)); + Integer e; + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(458, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(450, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(728, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(728, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(705, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(705, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(132, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(132, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 710 && x < 720))); + assertNull(ba.breitensuche(x -> (x >= 710 && x < 720))); + assertNull(ba.tiefensuche(x -> (x >= 440 && x < 450))); + assertNull(ba.breitensuche(x -> (x >= 440 && x < 450))); + assertNull(ba.tiefensuche(x -> (x >= 490 && x < 500))); + assertNull(ba.breitensuche(x -> (x >= 490 && x < 500))); + assertNull(ba.tiefensuche(x -> (x >= 510 && x < 520))); + assertNull(ba.breitensuche(x -> (x >= 510 && x < 520))); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(663, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(663, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(107, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(107, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(362, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(362, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(195, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(192, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(754, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(754, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(771, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(771, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(957, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(951, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(157, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(159, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(925, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(924, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(997, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(993, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(22, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(21, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(589, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(581, e.intValue()); + } + + @Test + public void testEnthaelt035() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(34)); + Integer e; + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(687, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(687, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(337, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(337, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(276, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(276, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(868, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(868, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(626, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(626, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(145, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(145, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 760 && x < 770))); + assertNull(ba.breitensuche(x -> (x >= 760 && x < 770))); + assertNull(ba.tiefensuche(x -> (x >= 810 && x < 820))); + assertNull(ba.breitensuche(x -> (x >= 810 && x < 820))); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(105, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(105, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(938, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(938, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 480 && x < 490))); + assertNull(ba.breitensuche(x -> (x >= 480 && x < 490))); + assertNull(ba.tiefensuche(x -> (x >= 300 && x < 310))); + assertNull(ba.breitensuche(x -> (x >= 300 && x < 310))); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(597, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(597, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(151, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(151, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(249, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(243, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(56, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(58, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(786, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(781, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(821, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(829, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(570, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(577, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(554, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(553, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(661, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(667, e.intValue()); + } + + @Test + public void testEnthaelt036() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(35)); + Integer e; + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(389, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(385, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(7, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(7, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(846, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(846, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 200 && x < 210))); + assertNull(ba.breitensuche(x -> (x >= 200 && x < 210))); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(859, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(855, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 70 && x < 80))); + assertNull(ba.breitensuche(x -> (x >= 70 && x < 80))); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(337, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(338, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(915, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(915, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 100 && x < 110))); + assertNull(ba.breitensuche(x -> (x >= 100 && x < 110))); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(159, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(159, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 480 && x < 490))); + assertNull(ba.breitensuche(x -> (x >= 480 && x < 490))); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(250, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(250, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(551, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(551, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(326, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(321, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(546, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(546, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(513, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(516, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(658, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(658, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(439, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(439, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(815, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(814, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(920, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(929, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(28, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(23, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(715, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(717, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(93, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + } + + @Test + public void testEnthaelt037() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(36)); + Integer e; + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(903, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(901, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(254, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(254, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(579, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(571, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(965, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(965, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(623, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(623, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 950 && x < 960))); + assertNull(ba.breitensuche(x -> (x >= 950 && x < 960))); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(237, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(237, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(551, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(556, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(803, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(803, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(63, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(65, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 970 && x < 980))); + assertNull(ba.breitensuche(x -> (x >= 970 && x < 980))); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(4, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(4, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(790, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(790, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(319, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(319, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(706, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(706, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(826, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(826, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(832, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(830, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(746, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(749, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(343, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(340, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(80, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(83, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 270 && x < 280))); + assertNull(ba.breitensuche(x -> (x >= 270 && x < 280))); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(201, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(209, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(151, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(159, e.intValue()); + } + + @Test + public void testEnthaelt038() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(37)); + Integer e; + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(533, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(533, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(984, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(980, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(2, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(5, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(274, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(274, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(401, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(401, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(751, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(736, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(736, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(135, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(133, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(390, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(397, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(253, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(255, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(163, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(161, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 560 && x < 570))); + assertNull(ba.breitensuche(x -> (x >= 560 && x < 570))); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(60, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(60, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(968, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(968, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(821, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(827, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(119, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(119, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(593, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(594, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(367, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(367, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(626, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(626, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(740, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(743, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 90 && x < 100))); + assertNull(ba.breitensuche(x -> (x >= 90 && x < 100))); + assertNull(ba.tiefensuche(x -> (x >= 180 && x < 190))); + assertNull(ba.breitensuche(x -> (x >= 180 && x < 190))); + } + + @Test + public void testEnthaelt039() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(38)); + Integer e; + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(600, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(609, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(18, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(18, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(263, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(263, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(450, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(450, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(35, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(35, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(828, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(828, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(532, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(536, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(557, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(557, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(154, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(156, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(984, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(984, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 560 && x < 570))); + assertNull(ba.breitensuche(x -> (x >= 560 && x < 570))); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(612, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(612, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(208, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(208, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(592, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(597, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(446, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(446, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 960 && x < 970))); + assertNull(ba.breitensuche(x -> (x >= 960 && x < 970))); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(303, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(304, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 360 && x < 370))); + assertNull(ba.breitensuche(x -> (x >= 360 && x < 370))); + assertNull(ba.tiefensuche(x -> (x >= 540 && x < 550))); + assertNull(ba.breitensuche(x -> (x >= 540 && x < 550))); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(789, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(784, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(353, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(357, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(426, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(422, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(141, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(146, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(892, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(896, e.intValue()); + } + + @Test + public void testEnthaelt040() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(39)); + Integer e; + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(208, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(203, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(704, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(704, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(13, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(13, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(73, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(73, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(614, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(615, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(278, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(272, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(463, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(462, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(799, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(792, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(626, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(621, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(168, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(163, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(809, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(806, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(710, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(710, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(683, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(683, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(992, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(997, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(90, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(90, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(0, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(9, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(219, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(219, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(473, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(473, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(822, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(822, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 570 && x < 580))); + assertNull(ba.breitensuche(x -> (x >= 570 && x < 580))); + assertNull(ba.tiefensuche(x -> (x >= 550 && x < 560))); + assertNull(ba.breitensuche(x -> (x >= 550 && x < 560))); + assertNull(ba.tiefensuche(x -> (x >= 330 && x < 340))); + assertNull(ba.breitensuche(x -> (x >= 330 && x < 340))); + } + + @Test + public void testEnthaelt041() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(40)); + Integer e; + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(268, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(265, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(474, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(474, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 780 && x < 790))); + assertNull(ba.breitensuche(x -> (x >= 780 && x < 790))); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(618, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(618, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(25, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(25, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(864, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(864, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(199, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(194, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(437, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(437, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(680, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(689, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(371, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(371, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(587, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(587, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 970 && x < 980))); + assertNull(ba.breitensuche(x -> (x >= 970 && x < 980))); + assertNull(ba.tiefensuche(x -> (x >= 110 && x < 120))); + assertNull(ba.breitensuche(x -> (x >= 110 && x < 120))); + assertNull(ba.tiefensuche(x -> (x >= 360 && x < 370))); + assertNull(ba.breitensuche(x -> (x >= 360 && x < 370))); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(824, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(824, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(980, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(980, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(733, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(730, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(832, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(832, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(294, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(290, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(960, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(709, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(700, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(408, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(403, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(349, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(345, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(414, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(413, e.intValue()); + } + + @Test + public void testEnthaelt042() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(41)); + Integer e; + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(6, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(6, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 290 && x < 300))); + assertNull(ba.breitensuche(x -> (x >= 290 && x < 300))); + assertNull(ba.tiefensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.breitensuche(x -> (x >= 720 && x < 730))); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(837, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(837, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(884, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(884, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(632, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(632, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(962, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(962, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(379, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(378, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(552, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(552, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 140 && x < 150))); + assertNull(ba.breitensuche(x -> (x >= 140 && x < 150))); + assertNull(ba.tiefensuche(x -> (x >= 410 && x < 420))); + assertNull(ba.breitensuche(x -> (x >= 410 && x < 420))); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(994, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(994, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(200, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(200, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(851, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(851, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(407, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(405, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(237, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(236, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(825, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(821, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(461, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(464, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(928, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(926, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(731, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(736, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(381, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(387, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(765, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(763, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(755, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + } + + @Test + public void testEnthaelt043() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(42)); + Integer e; + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(998, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(998, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(384, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(385, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(821, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(824, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(467, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(467, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(613, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(613, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(628, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(449, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(449, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(814, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(814, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 800 && x < 810))); + assertNull(ba.breitensuche(x -> (x >= 800 && x < 810))); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(639, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(634, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(477, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(478, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(675, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(676, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(933, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(933, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(838, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(838, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(78, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(78, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(358, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(353, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(237, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(236, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(405, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(406, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(874, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(875, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 0 && x < 10))); + assertNull(ba.breitensuche(x -> (x >= 0 && x < 10))); + assertNull(ba.tiefensuche(x -> (x >= 60 && x < 70))); + assertNull(ba.breitensuche(x -> (x >= 60 && x < 70))); + assertNull(ba.tiefensuche(x -> (x >= 200 && x < 210))); + assertNull(ba.breitensuche(x -> (x >= 200 && x < 210))); + } + + @Test + public void testEnthaelt044() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(43)); + Integer e; + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(234, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(237, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(442, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(442, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(276, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(276, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(499, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(499, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(517, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(367, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(367, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(832, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(833, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(433, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(433, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(346, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(346, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(138, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(138, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(821, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(822, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(40, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(47, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(618, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(616, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(756, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(751, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(58, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(51, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 840 && x < 850))); + assertNull(ba.breitensuche(x -> (x >= 840 && x < 850))); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(7, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(0, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(808, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(801, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(749, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(749, e.intValue()); + } + + @Test + public void testEnthaelt045() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(44)); + Integer e; + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(414, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(417, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(661, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(664, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(36, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(36, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(938, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(937, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(405, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(405, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(241, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(241, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(72, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(74, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(366, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(366, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(474, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(479, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(173, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(173, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(788, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(784, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(42, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(41, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(874, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(752, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(752, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(622, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(237, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(237, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(999, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(999, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(729, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(729, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(901, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(901, e.intValue()); + } + + @Test + public void testEnthaelt046() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(45)); + Integer e; + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(981, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(981, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(880, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(880, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(718, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(718, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(527, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(526, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(741, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(741, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(540, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(545, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(127, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(127, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(117, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(117, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(706, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(706, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(340, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(340, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(589, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(584, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(608, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(608, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(457, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(456, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(430, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(433, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 920 && x < 930))); + assertNull(ba.breitensuche(x -> (x >= 920 && x < 930))); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(736, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(732, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(875, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(879, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 790 && x < 800))); + assertNull(ba.breitensuche(x -> (x >= 790 && x < 800))); + assertNull(ba.tiefensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.breitensuche(x -> (x >= 260 && x < 270))); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(72, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(78, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(320, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(328, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 420 && x < 430))); + assertNull(ba.breitensuche(x -> (x >= 420 && x < 430))); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(477, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(472, e.intValue()); + } + + @Test + public void testEnthaelt047() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(46)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 760 && x < 770))); + assertNull(ba.breitensuche(x -> (x >= 760 && x < 770))); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(178, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(175, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 270 && x < 280))); + assertNull(ba.breitensuche(x -> (x >= 270 && x < 280))); + assertNull(ba.tiefensuche(x -> (x >= 230 && x < 240))); + assertNull(ba.breitensuche(x -> (x >= 230 && x < 240))); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(104, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(104, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(299, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(299, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(528, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(528, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(847, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(847, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(433, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(433, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(636, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(630, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(715, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(715, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(797, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(790, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 220 && x < 230))); + assertNull(ba.breitensuche(x -> (x >= 220 && x < 230))); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(7, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(7, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(140, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(140, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(594, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(594, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(837, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(830, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(446, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(441, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(23, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(22, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(748, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(746, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(866, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(860, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(570, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(575, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(194, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(199, e.intValue()); + } + + @Test + public void testEnthaelt048() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(47)); + Integer e; + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(484, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(480, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(532, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(532, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 670 && x < 680))); + assertNull(ba.breitensuche(x -> (x >= 670 && x < 680))); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(379, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(379, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(921, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(922, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(352, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(352, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 150 && x < 160))); + assertNull(ba.breitensuche(x -> (x >= 150 && x < 160))); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(955, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(955, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 620 && x < 630))); + assertNull(ba.breitensuche(x -> (x >= 620 && x < 630))); + assertNull(ba.tiefensuche(x -> (x >= 290 && x < 300))); + assertNull(ba.breitensuche(x -> (x >= 290 && x < 300))); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(691, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(691, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(835, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(835, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(9, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(0, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(944, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(940, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(226, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(221, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(19, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(18, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(741, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(741, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(903, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(903, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(719, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(719, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(85, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(86, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(217, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(215, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(772, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(776, e.intValue()); + } + + @Test + public void testEnthaelt049() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(48)); + Integer e; + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(137, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(138, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(616, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(616, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(559, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(559, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(716, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(713, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(220, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(220, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(447, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(441, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(347, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(341, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(769, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(769, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(141, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(149, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(382, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(385, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(63, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(66, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(243, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(240, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(691, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(691, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(359, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(359, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(888, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(886, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(924, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(924, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(904, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(904, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(434, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(436, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(893, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(893, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(912, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(912, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.breitensuche(x -> (x >= 260 && x < 270))); + } + + @Test + public void testEnthaelt050() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(49)); + Integer e; + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(168, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(164, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 620 && x < 630))); + assertNull(ba.breitensuche(x -> (x >= 620 && x < 630))); + assertNull(ba.tiefensuche(x -> (x >= 550 && x < 560))); + assertNull(ba.breitensuche(x -> (x >= 550 && x < 560))); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(857, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(857, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 930 && x < 940))); + assertNull(ba.breitensuche(x -> (x >= 930 && x < 940))); + assertNull(ba.tiefensuche(x -> (x >= 680 && x < 690))); + assertNull(ba.breitensuche(x -> (x >= 680 && x < 690))); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(123, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(123, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(480, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(480, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(314, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(311, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(331, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(331, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(568, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(567, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(203, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(203, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(510, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(510, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(298, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(298, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(133, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(139, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(307, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(309, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(84, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(84, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(62, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(62, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(105, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(105, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(733, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(731, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(503, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(502, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(143, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(148, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(656, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(654, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(815, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + } + + @Test + public void testEnthaelt051() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(50)); + Integer e; + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(937, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(937, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(911, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(911, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(639, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(639, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 490 && x < 500))); + assertNull(ba.breitensuche(x -> (x >= 490 && x < 500))); + assertNull(ba.tiefensuche(x -> (x >= 920 && x < 930))); + assertNull(ba.breitensuche(x -> (x >= 920 && x < 930))); + assertNull(ba.tiefensuche(x -> (x >= 670 && x < 680))); + assertNull(ba.breitensuche(x -> (x >= 670 && x < 680))); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(313, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(313, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(650, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(650, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(204, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(204, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 940 && x < 950))); + assertNull(ba.breitensuche(x -> (x >= 940 && x < 950))); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(301, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(301, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(772, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(772, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(742, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(742, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(891, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(898, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(90, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(97, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(412, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(416, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(561, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(560, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(709, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(702, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(544, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(541, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(607, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(605, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(843, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(840, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(329, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(326, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(967, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(969, e.intValue()); + } + + @Test + public void testEnthaelt052() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(51)); + Integer e; + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(749, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(749, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(128, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(120, e.intValue()); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(188, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(185, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(613, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(613, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(354, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(354, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(942, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(942, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(665, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(666, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(573, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(579, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(857, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(857, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(827, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(826, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(167, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(167, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(385, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(385, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(84, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(89, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(811, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(811, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(4, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(4, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(243, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(241, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(793, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(791, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(950, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(955, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(481, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(485, e.intValue()); + } + + @Test + public void testEnthaelt053() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(52)); + Integer e; + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(968, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(388, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(380, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(740, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(743, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(626, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(623, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(268, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(263, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(39, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(39, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(774, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(774, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(247, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(247, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(845, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(845, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(407, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(400, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(108, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(108, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(232, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(234, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(596, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(594, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(465, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(468, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(393, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(393, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(632, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(632, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(64, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(64, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(494, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(492, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(585, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(585, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(898, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(898, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.breitensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.tiefensuche(x -> (x >= 920 && x < 930))); + assertNull(ba.breitensuche(x -> (x >= 920 && x < 930))); + assertNull(ba.tiefensuche(x -> (x >= 110 && x < 120))); + assertNull(ba.breitensuche(x -> (x >= 110 && x < 120))); + assertNull(ba.tiefensuche(x -> (x >= 180 && x < 190))); + assertNull(ba.breitensuche(x -> (x >= 180 && x < 190))); + } + + @Test + public void testEnthaelt054() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(53)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 640 && x < 650))); + assertNull(ba.breitensuche(x -> (x >= 640 && x < 650))); + assertNull(ba.tiefensuche(x -> (x >= 930 && x < 940))); + assertNull(ba.breitensuche(x -> (x >= 930 && x < 940))); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(264, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(264, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(557, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(557, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(977, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 270 && x < 280))); + assertNull(ba.breitensuche(x -> (x >= 270 && x < 280))); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(126, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(126, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(519, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(513, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(899, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(898, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(44, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(44, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(795, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(795, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(577, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(577, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(501, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(505, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(861, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(868, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 310 && x < 320))); + assertNull(ba.breitensuche(x -> (x >= 310 && x < 320))); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(233, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(233, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(714, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(714, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(285, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(285, e.intValue()); + e = ba.tiefensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(589, e.intValue()); + e = ba.breitensuche(x -> (x >= 580 && x < 590)); + assertNotNull(e); + assertEquals(589, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(95, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(560, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(564, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(536, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(530, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(492, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(497, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(119, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(112, e.intValue()); + } + + @Test + public void testEnthaelt055() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(54)); + Integer e; + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(872, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(872, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 530 && x < 540))); + assertNull(ba.breitensuche(x -> (x >= 530 && x < 540))); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(933, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(935, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(27, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(27, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(561, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(561, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(590, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(599, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(446, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(446, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(918, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(915, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(643, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(643, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(245, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(243, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(521, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(521, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(315, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(311, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(742, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(742, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(252, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(253, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(48, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(48, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(510, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(510, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 950 && x < 960))); + assertNull(ba.breitensuche(x -> (x >= 950 && x < 960))); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(507, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(504, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(979, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(979, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(412, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(416, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(272, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(279, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(999, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(991, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 810 && x < 820))); + assertNull(ba.breitensuche(x -> (x >= 810 && x < 820))); + assertNull(ba.tiefensuche(x -> (x >= 30 && x < 40))); + assertNull(ba.breitensuche(x -> (x >= 30 && x < 40))); + } + + @Test + public void testEnthaelt056() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(55)); + Integer e; + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(128, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(128, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(469, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(469, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 160 && x < 170))); + assertNull(ba.breitensuche(x -> (x >= 160 && x < 170))); + assertNull(ba.tiefensuche(x -> (x >= 290 && x < 300))); + assertNull(ba.breitensuche(x -> (x >= 290 && x < 300))); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(54, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(54, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(476, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(475, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(663, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(663, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(411, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(418, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(69, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(61, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 870 && x < 880))); + assertNull(ba.breitensuche(x -> (x >= 870 && x < 880))); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(859, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(859, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 300 && x < 310))); + assertNull(ba.breitensuche(x -> (x >= 300 && x < 310))); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(807, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(806, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(785, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(788, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(793, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(793, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(770, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(770, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(232, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(232, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(355, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(355, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(333, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(385, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(384, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(219, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(210, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(763, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(760, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(486, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(488, e.intValue()); + } + + @Test + public void testEnthaelt057() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(56)); + Integer e; + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(613, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(619, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(896, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(891, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 570 && x < 580))); + assertNull(ba.breitensuche(x -> (x >= 570 && x < 580))); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(531, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(535, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(817, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(810, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(428, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(426, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(981, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(981, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(762, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(764, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(593, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(593, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(960, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(960, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(389, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(389, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(548, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(541, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(72, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(72, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(105, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(108, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(678, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(678, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(659, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(657, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(974, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(975, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(513, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(513, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(116, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(116, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(63, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(63, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(268, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(268, e.intValue()); + } + + @Test + public void testEnthaelt058() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(57)); + Integer e; + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(223, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(223, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(487, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(487, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 550 && x < 560))); + assertNull(ba.breitensuche(x -> (x >= 550 && x < 560))); + assertNull(ba.tiefensuche(x -> (x >= 60 && x < 70))); + assertNull(ba.breitensuche(x -> (x >= 60 && x < 70))); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(232, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(232, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(477, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(477, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(127, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(127, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(571, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(571, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(425, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(425, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(945, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(942, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(118, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(118, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 670 && x < 680))); + assertNull(ba.breitensuche(x -> (x >= 670 && x < 680))); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(811, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(811, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(214, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(727, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(728, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(315, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(410, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(419, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(162, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(163, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(292, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(291, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(987, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(983, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(7, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(9, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(337, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(338, e.intValue()); + } + + @Test + public void testEnthaelt059() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(58)); + Integer e; + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(708, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(709, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(954, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(957, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(389, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(389, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(215, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(214, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(641, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(643, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(891, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(892, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(197, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(196, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(739, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(739, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(610, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(610, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(518, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(779, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(778, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(724, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(726, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(56, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(53, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(925, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(925, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(875, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(875, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(550, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(550, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(741, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(741, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(26, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(26, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(437, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(437, e.intValue()); + } + + @Test + public void testEnthaelt060() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(59)); + Integer e; + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(714, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(719, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(900, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(900, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(148, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(148, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(119, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(119, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(596, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(596, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(799, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(793, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(195, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(623, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(624, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(462, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(462, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(8, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(8, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(771, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(770, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(698, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(698, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(705, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(705, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(15, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(15, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 60 && x < 70))); + assertNull(ba.breitensuche(x -> (x >= 60 && x < 70))); + assertNull(ba.tiefensuche(x -> (x >= 800 && x < 810))); + assertNull(ba.breitensuche(x -> (x >= 800 && x < 810))); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(81, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(89, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(430, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(437, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(333, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(338, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(452, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(458, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(482, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(487, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 40 && x < 50))); + assertNull(ba.breitensuche(x -> (x >= 40 && x < 50))); + assertNull(ba.tiefensuche(x -> (x >= 370 && x < 380))); + assertNull(ba.breitensuche(x -> (x >= 370 && x < 380))); + } + + @Test + public void testEnthaelt061() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(60)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 320 && x < 330))); + assertNull(ba.breitensuche(x -> (x >= 320 && x < 330))); + assertNull(ba.tiefensuche(x -> (x >= 120 && x < 130))); + assertNull(ba.breitensuche(x -> (x >= 120 && x < 130))); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(4, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(9, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 340 && x < 350))); + assertNull(ba.breitensuche(x -> (x >= 340 && x < 350))); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(350, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(350, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(557, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(557, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 610 && x < 620))); + assertNull(ba.breitensuche(x -> (x >= 610 && x < 620))); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(494, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(494, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(799, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(799, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(234, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(234, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(728, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(725, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(845, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(849, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(671, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(671, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(307, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(307, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(149, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(149, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(958, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(959, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(690, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(690, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(271, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(271, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(203, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(201, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(639, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(630, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(878, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(370, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(376, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(565, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(569, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(391, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(392, e.intValue()); + } + + @Test + public void testEnthaelt062() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(61)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 590 && x < 600))); + assertNull(ba.breitensuche(x -> (x >= 590 && x < 600))); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(298, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(294, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.breitensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.tiefensuche(x -> (x >= 760 && x < 770))); + assertNull(ba.breitensuche(x -> (x >= 760 && x < 770))); + assertNull(ba.tiefensuche(x -> (x >= 650 && x < 660))); + assertNull(ba.breitensuche(x -> (x >= 650 && x < 660))); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(681, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(681, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(623, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(623, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(343, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(343, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(785, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(785, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(822, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(822, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(989, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(989, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(809, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(809, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(272, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(272, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(573, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(579, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(356, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(356, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(317, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(319, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(836, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(836, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(706, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(703, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(70, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(75, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(755, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(333, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(330, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(162, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(169, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(265, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(260, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(691, e.intValue()); + } + + @Test + public void testEnthaelt063() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(62)); + Integer e; + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(932, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(932, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(968, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(968, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(769, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(766, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(15, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(15, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(820, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(820, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(417, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(417, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(567, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(567, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(836, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(839, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(738, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(738, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(463, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(463, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(773, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(779, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(552, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(550, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(490, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(490, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(515, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(515, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(951, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(958, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(945, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(940, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 330 && x < 340))); + assertNull(ba.breitensuche(x -> (x >= 330 && x < 340))); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(688, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(682, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(653, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(650, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(295, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(297, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(705, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(702, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 900 && x < 910))); + assertNull(ba.breitensuche(x -> (x >= 900 && x < 910))); + assertNull(ba.tiefensuche(x -> (x >= 880 && x < 890))); + assertNull(ba.breitensuche(x -> (x >= 880 && x < 890))); + assertNull(ba.tiefensuche(x -> (x >= 980 && x < 990))); + assertNull(ba.breitensuche(x -> (x >= 980 && x < 990))); + } + + @Test + public void testEnthaelt064() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(63)); + Integer e; + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 580 && x < 590))); + assertNull(ba.breitensuche(x -> (x >= 580 && x < 590))); + assertNull(ba.tiefensuche(x -> (x >= 880 && x < 890))); + assertNull(ba.breitensuche(x -> (x >= 880 && x < 890))); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(203, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(203, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 700 && x < 710))); + assertNull(ba.breitensuche(x -> (x >= 700 && x < 710))); + assertNull(ba.tiefensuche(x -> (x >= 560 && x < 570))); + assertNull(ba.breitensuche(x -> (x >= 560 && x < 570))); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(80, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(85, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(523, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(529, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(408, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(408, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(830, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(838, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(210, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(210, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(242, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(242, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(43, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(43, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(862, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(862, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(733, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(733, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(926, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(926, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(824, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(824, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(112, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(116, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(308, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(309, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(333, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(438, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(437, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(607, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(602, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(35, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(38, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(803, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(800, e.intValue()); + } + + @Test + public void testEnthaelt065() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(64)); + Integer e; + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(594, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(591, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(815, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(311, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(315, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(120, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(122, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(934, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(936, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(173, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(172, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(968, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(960, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(72, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(72, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(309, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(300, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 970 && x < 980))); + assertNull(ba.breitensuche(x -> (x >= 970 && x < 980))); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(781, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(787, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(870, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(874, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(481, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(481, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(513, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(513, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(402, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(402, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(573, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(573, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(901, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(901, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(564, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(564, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(803, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(803, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(445, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(445, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(899, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(899, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 80 && x < 90))); + assertNull(ba.breitensuche(x -> (x >= 80 && x < 90))); + } + + @Test + public void testEnthaelt066() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(65)); + Integer e; + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(212, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(212, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 920 && x < 930))); + assertNull(ba.breitensuche(x -> (x >= 920 && x < 930))); + assertNull(ba.tiefensuche(x -> (x >= 300 && x < 310))); + assertNull(ba.breitensuche(x -> (x >= 300 && x < 310))); + assertNull(ba.tiefensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.breitensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.tiefensuche(x -> (x >= 350 && x < 360))); + assertNull(ba.breitensuche(x -> (x >= 350 && x < 360))); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(696, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(696, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(110, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(110, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(454, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(454, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(153, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(153, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(245, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(245, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(997, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(997, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(399, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(399, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(855, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(855, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(517, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(514, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(225, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(228, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(500, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(509, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(475, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(472, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(338, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(330, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(779, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(778, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(529, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(521, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(820, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(827, e.intValue()); + } + + @Test + public void testEnthaelt067() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(66)); + Integer e; + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(94, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(94, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(101, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(101, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(842, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(842, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 740 && x < 750))); + assertNull(ba.breitensuche(x -> (x >= 740 && x < 750))); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(951, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(951, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(678, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(678, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(292, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(292, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(276, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(277, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(833, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(833, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(646, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(646, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(536, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(536, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 400 && x < 410))); + assertNull(ba.breitensuche(x -> (x >= 400 && x < 410))); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(695, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(693, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(356, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(351, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 650 && x < 660))); + assertNull(ba.breitensuche(x -> (x >= 650 && x < 660))); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(451, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(454, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(931, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(936, e.intValue()); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(181, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(186, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 220 && x < 230))); + assertNull(ba.breitensuche(x -> (x >= 220 && x < 230))); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(172, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(174, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(503, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(501, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(773, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(770, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(907, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(905, e.intValue()); + } + + @Test + public void testEnthaelt068() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(67)); + Integer e; + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(850, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(851, e.intValue()); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(182, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(182, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(475, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(475, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(597, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(597, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(670, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(670, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(371, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(372, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(89, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(80, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(734, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(737, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(544, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(540, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(658, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(654, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(706, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(706, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(100, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(100, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(873, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(225, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(225, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(790, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(796, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(942, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(946, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(553, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(553, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(416, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(412, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(366, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(366, e.intValue()); + } + + @Test + public void testEnthaelt069() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(68)); + Integer e; + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(688, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(688, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(548, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(548, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(158, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(151, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 890 && x < 900))); + assertNull(ba.breitensuche(x -> (x >= 890 && x < 900))); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(94, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(94, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 840 && x < 850))); + assertNull(ba.breitensuche(x -> (x >= 840 && x < 850))); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(532, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(531, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(741, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(741, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(352, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(352, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(799, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(794, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(483, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(484, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(701, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(701, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(223, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(227, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(256, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(251, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(733, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(739, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(63, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(60, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(114, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(110, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(807, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(802, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 330 && x < 340))); + assertNull(ba.breitensuche(x -> (x >= 330 && x < 340))); + assertNull(ba.tiefensuche(x -> (x >= 370 && x < 380))); + assertNull(ba.breitensuche(x -> (x >= 370 && x < 380))); + } + + @Test + public void testEnthaelt070() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(69)); + Integer e; + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(241, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(241, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(566, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(565, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(908, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(904, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(434, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(434, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(473, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(473, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(283, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(280, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(654, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(654, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(110, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(110, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(790, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(790, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(142, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(149, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(549, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(540, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(429, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(422, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(699, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(895, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(892, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(617, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(612, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(230, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(230, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(536, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(536, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(946, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(946, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(977, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(977, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 440 && x < 450))); + assertNull(ba.breitensuche(x -> (x >= 440 && x < 450))); + assertNull(ba.tiefensuche(x -> (x >= 780 && x < 790))); + assertNull(ba.breitensuche(x -> (x >= 780 && x < 790))); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(167, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(162, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 300 && x < 310))); + assertNull(ba.breitensuche(x -> (x >= 300 && x < 310))); + } + + @Test + public void testEnthaelt071() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(70)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 970 && x < 980))); + assertNull(ba.breitensuche(x -> (x >= 970 && x < 980))); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 450 && x < 460))); + assertNull(ba.breitensuche(x -> (x >= 450 && x < 460))); + assertNull(ba.tiefensuche(x -> (x >= 390 && x < 400))); + assertNull(ba.breitensuche(x -> (x >= 390 && x < 400))); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(571, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(575, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(682, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(685, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(259, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(258, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(424, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(424, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(38, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(39, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(559, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(559, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(212, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(212, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(335, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(777, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(775, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(389, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(389, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(521, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(521, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(379, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(379, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(360, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(360, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(0, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(0, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(267, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(269, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(232, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(235, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(353, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(354, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 790 && x < 800))); + assertNull(ba.breitensuche(x -> (x >= 790 && x < 800))); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(474, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(471, e.intValue()); + } + + @Test + public void testEnthaelt072() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(71)); + Integer e; + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(140, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(140, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(928, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(928, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(801, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(801, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(30, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(30, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(612, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(613, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(901, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(901, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(887, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(881, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(847, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(847, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(590, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(590, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(793, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(794, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(827, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(827, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(816, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(222, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(222, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(480, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(480, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.breitensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.tiefensuche(x -> (x >= 90 && x < 100))); + assertNull(ba.breitensuche(x -> (x >= 90 && x < 100))); + assertNull(ba.tiefensuche(x -> (x >= 460 && x < 470))); + assertNull(ba.breitensuche(x -> (x >= 460 && x < 470))); + assertNull(ba.tiefensuche(x -> (x >= 420 && x < 430))); + assertNull(ba.breitensuche(x -> (x >= 420 && x < 430))); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(913, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(919, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(41, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(49, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(160, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(161, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(657, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(659, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(363, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(75, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(71, e.intValue()); + } + + @Test + public void testEnthaelt073() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(72)); + Integer e; + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(529, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(526, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(467, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(463, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(312, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(311, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(810, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(816, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(569, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(569, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(117, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(117, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(661, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(662, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 100 && x < 110))); + assertNull(ba.breitensuche(x -> (x >= 100 && x < 110))); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(932, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(939, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(271, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(271, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(571, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(571, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(991, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(991, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(902, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(902, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(534, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(534, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(332, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(916, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(916, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(899, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(899, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(371, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(375, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(418, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(410, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(506, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(500, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(1, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(0, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 300 && x < 310))); + assertNull(ba.breitensuche(x -> (x >= 300 && x < 310))); + assertNull(ba.tiefensuche(x -> (x >= 600 && x < 610))); + assertNull(ba.breitensuche(x -> (x >= 600 && x < 610))); + assertNull(ba.tiefensuche(x -> (x >= 70 && x < 80))); + assertNull(ba.breitensuche(x -> (x >= 70 && x < 80))); + } + + @Test + public void testEnthaelt074() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(73)); + Integer e; + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(982, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(983, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(26, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(26, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(104, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(104, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(505, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(509, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 580 && x < 590))); + assertNull(ba.breitensuche(x -> (x >= 580 && x < 590))); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(389, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(380, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(604, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(608, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(465, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(469, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(616, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(616, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(410, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(410, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(648, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(640, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(854, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(850, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(947, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(949, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(698, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(691, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(530, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(530, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(87, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(82, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(362, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(362, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(205, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(205, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(17, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(17, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(966, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(966, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(62, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(62, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 660 && x < 670))); + assertNull(ba.breitensuche(x -> (x >= 660 && x < 670))); + assertNull(ba.tiefensuche(x -> (x >= 490 && x < 500))); + assertNull(ba.breitensuche(x -> (x >= 490 && x < 500))); + assertNull(ba.tiefensuche(x -> (x >= 260 && x < 270))); + assertNull(ba.breitensuche(x -> (x >= 260 && x < 270))); + } + + @Test + public void testEnthaelt075() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(74)); + Integer e; + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(659, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(659, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 180 && x < 190))); + assertNull(ba.breitensuche(x -> (x >= 180 && x < 190))); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(890, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(890, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(635, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(633, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(209, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(209, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(626, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(626, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(959, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(959, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(95, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(95, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(10, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(10, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(748, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(746, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 100 && x < 110))); + assertNull(ba.breitensuche(x -> (x >= 100 && x < 110))); + assertNull(ba.tiefensuche(x -> (x >= 420 && x < 430))); + assertNull(ba.breitensuche(x -> (x >= 420 && x < 430))); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(807, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(807, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 230 && x < 240))); + assertNull(ba.breitensuche(x -> (x >= 230 && x < 240))); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(284, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(284, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(691, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(776, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(777, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(155, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(151, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(177, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(172, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(912, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(916, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(550, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(553, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(454, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(456, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(79, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(72, e.intValue()); + } + + @Test + public void testEnthaelt076() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(75)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 240 && x < 250))); + assertNull(ba.breitensuche(x -> (x >= 240 && x < 250))); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(419, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(419, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 120 && x < 130))); + assertNull(ba.breitensuche(x -> (x >= 120 && x < 130))); + assertNull(ba.tiefensuche(x -> (x >= 900 && x < 910))); + assertNull(ba.breitensuche(x -> (x >= 900 && x < 910))); + assertNull(ba.tiefensuche(x -> (x >= 700 && x < 710))); + assertNull(ba.breitensuche(x -> (x >= 700 && x < 710))); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(614, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(614, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(881, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(881, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(339, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(339, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(600, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(600, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(956, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(956, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(744, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(747, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(997, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(993, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(929, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(925, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(660, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(664, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(560, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(566, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(208, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(203, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(471, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(474, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(960, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(964, e.intValue()); + } + + @Test + public void testEnthaelt077() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(76)); + Integer e; + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(563, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(565, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(42, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(40, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(998, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(992, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(817, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(811, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(52, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(58, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(598, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(591, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(1, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(1, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(16, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(16, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(135, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(135, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(397, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(397, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(217, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(217, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(522, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(461, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(461, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(749, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(749, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(458, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(457, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(857, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(851, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(651, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(650, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 110 && x < 120))); + assertNull(ba.breitensuche(x -> (x >= 110 && x < 120))); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(960, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(960, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(798, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(798, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(252, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(252, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 880 && x < 890))); + assertNull(ba.breitensuche(x -> (x >= 880 && x < 890))); + assertNull(ba.tiefensuche(x -> (x >= 940 && x < 950))); + assertNull(ba.breitensuche(x -> (x >= 940 && x < 950))); + assertNull(ba.tiefensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.breitensuche(x -> (x >= 720 && x < 730))); + } + + @Test + public void testEnthaelt078() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(77)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 220 && x < 230))); + assertNull(ba.breitensuche(x -> (x >= 220 && x < 230))); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(57, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(57, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(142, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(142, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(519, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(300, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(307, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(98, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(884, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(884, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(485, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(483, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(138, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(138, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(965, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(965, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(271, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(271, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(65, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(65, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(878, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(870, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(995, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(995, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(615, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(617, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(495, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(498, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(680, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(680, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(769, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(766, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(947, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(942, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(211, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(214, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(85, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(87, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 730 && x < 740))); + assertNull(ba.breitensuche(x -> (x >= 730 && x < 740))); + assertNull(ba.tiefensuche(x -> (x >= 890 && x < 900))); + assertNull(ba.breitensuche(x -> (x >= 890 && x < 900))); + assertNull(ba.tiefensuche(x -> (x >= 850 && x < 860))); + assertNull(ba.breitensuche(x -> (x >= 850 && x < 860))); + } + + @Test + public void testEnthaelt079() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(78)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.tiefensuche(x -> (x >= 690 && x < 700))); + assertNull(ba.breitensuche(x -> (x >= 690 && x < 700))); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 650 && x < 660))); + assertNull(ba.breitensuche(x -> (x >= 650 && x < 660))); + assertNull(ba.tiefensuche(x -> (x >= 730 && x < 740))); + assertNull(ba.breitensuche(x -> (x >= 730 && x < 740))); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(444, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(444, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(327, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(326, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(603, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(603, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(348, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(348, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(831, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(831, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(977, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(977, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(716, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(716, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(436, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(436, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(797, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(796, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(32, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(32, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(118, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(118, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(416, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(415, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(491, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(497, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(287, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(282, e.intValue()); + } + + @Test + public void testEnthaelt080() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(79)); + Integer e; + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(274, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(274, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 390 && x < 400))); + assertNull(ba.breitensuche(x -> (x >= 390 && x < 400))); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(798, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(792, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(917, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(912, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(655, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(655, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(644, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(644, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(312, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(31, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(30, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(248, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(248, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(374, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(373, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(534, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(534, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(883, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(883, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(511, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(511, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(934, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(938, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(487, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(480, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(404, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(404, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(945, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(941, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(773, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(773, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(218, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(219, e.intValue()); + e = ba.tiefensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(294, e.intValue()); + e = ba.breitensuche(x -> (x >= 290 && x < 300)); + assertNotNull(e); + assertEquals(295, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 540 && x < 550))); + assertNull(ba.breitensuche(x -> (x >= 540 && x < 550))); + assertNull(ba.tiefensuche(x -> (x >= 330 && x < 340))); + assertNull(ba.breitensuche(x -> (x >= 330 && x < 340))); + assertNull(ba.tiefensuche(x -> (x >= 350 && x < 360))); + assertNull(ba.breitensuche(x -> (x >= 350 && x < 360))); + } + + @Test + public void testEnthaelt081() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(80)); + Integer e; + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(157, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(156, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(252, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(254, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(697, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(694, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(945, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(947, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(612, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(612, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(822, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(822, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(975, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(979, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(381, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(387, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(573, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(768, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(765, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(671, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(671, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(982, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(984, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(455, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(458, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(889, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(889, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(540, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(540, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(343, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(343, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(283, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(283, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(206, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(206, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(930, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(930, e.intValue()); + } + + @Test + public void testEnthaelt082() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(81)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 610 && x < 620))); + assertNull(ba.breitensuche(x -> (x >= 610 && x < 620))); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(432, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(432, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(564, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(560, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(985, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(985, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(227, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(227, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(486, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(486, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(429, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(424, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 370 && x < 380))); + assertNull(ba.breitensuche(x -> (x >= 370 && x < 380))); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(797, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(797, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(358, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(358, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(767, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(767, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(876, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(876, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.breitensuche(x -> (x >= 720 && x < 730))); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(85, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(84, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(408, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(404, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(450, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(450, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 240 && x < 250))); + assertNull(ba.breitensuche(x -> (x >= 240 && x < 250))); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(143, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(142, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(599, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(592, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(841, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(844, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(388, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(381, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(864, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(862, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(174, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(178, e.intValue()); + } + + @Test + public void testEnthaelt083() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(82)); + Integer e; + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(688, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(681, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(57, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(57, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(973, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(330, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(336, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(828, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(828, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(176, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(176, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(837, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(830, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(790, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(790, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(872, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(11, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(12, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(994, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(995, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(166, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(167, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(200, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(203, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(890, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(890, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(87, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(84, e.intValue()); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(77, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(77, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(96, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(96, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(672, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(672, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(46, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(46, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 640 && x < 650))); + assertNull(ba.breitensuche(x -> (x >= 640 && x < 650))); + } + + @Test + public void testEnthaelt084() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(83)); + Integer e; + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(604, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(608, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(704, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(704, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(118, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(111, e.intValue()); + e = ba.tiefensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(823, e.intValue()); + e = ba.breitensuche(x -> (x >= 820 && x < 830)); + assertNotNull(e); + assertEquals(823, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(136, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(136, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(810, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(817, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(551, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(551, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(694, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(694, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(945, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(945, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(156, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(150, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(535, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(535, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(919, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(918, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(232, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(230, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(627, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(128, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(128, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(46, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(46, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(988, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(988, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(965, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(968, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 320 && x < 330))); + assertNull(ba.breitensuche(x -> (x >= 320 && x < 330))); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(780, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(787, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(277, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(279, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 140 && x < 150))); + assertNull(ba.breitensuche(x -> (x >= 140 && x < 150))); + assertNull(ba.tiefensuche(x -> (x >= 990 && x < 1000))); + assertNull(ba.breitensuche(x -> (x >= 990 && x < 1000))); + assertNull(ba.tiefensuche(x -> (x >= 410 && x < 420))); + assertNull(ba.breitensuche(x -> (x >= 410 && x < 420))); + } + + @Test + public void testEnthaelt085() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(84)); + Integer e; + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(920, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(920, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(505, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(505, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 120 && x < 130))); + assertNull(ba.breitensuche(x -> (x >= 120 && x < 130))); + assertNull(ba.tiefensuche(x -> (x >= 840 && x < 850))); + assertNull(ba.breitensuche(x -> (x >= 840 && x < 850))); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(811, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(817, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(60, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(60, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(322, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(322, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(602, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(602, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(622, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(623, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(659, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(659, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(798, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(798, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(969, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(969, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 80 && x < 90))); + assertNull(ba.breitensuche(x -> (x >= 80 && x < 90))); + assertNull(ba.tiefensuche(x -> (x >= 740 && x < 750))); + assertNull(ba.breitensuche(x -> (x >= 740 && x < 750))); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(278, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(274, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(235, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(235, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(447, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(444, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(268, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(265, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(989, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(984, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(344, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(340, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(699, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(696, e.intValue()); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(359, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(356, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(720, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(725, e.intValue()); + } + + @Test + public void testEnthaelt086() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(85)); + Integer e; + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(154, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(154, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(480, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(481, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(705, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(703, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(803, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(803, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(425, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(421, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(961, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(961, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(896, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(896, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(527, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(522, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(244, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(244, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(129, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(129, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(226, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(229, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(336, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(336, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(275, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(275, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(714, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(717, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(498, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(492, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(602, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(602, e.intValue()); + e = ba.tiefensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(304, e.intValue()); + e = ba.breitensuche(x -> (x >= 300 && x < 310)); + assertNotNull(e); + assertEquals(309, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(751, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(754, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(209, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(206, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(658, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(658, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 130 && x < 140))); + assertNull(ba.breitensuche(x -> (x >= 130 && x < 140))); + } + + @Test + public void testEnthaelt087() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(86)); + Integer e; + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(991, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(991, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 810 && x < 820))); + assertNull(ba.breitensuche(x -> (x >= 810 && x < 820))); + assertNull(ba.tiefensuche(x -> (x >= 840 && x < 850))); + assertNull(ba.breitensuche(x -> (x >= 840 && x < 850))); + assertNull(ba.tiefensuche(x -> (x >= 960 && x < 970))); + assertNull(ba.breitensuche(x -> (x >= 960 && x < 970))); + assertNull(ba.tiefensuche(x -> (x >= 950 && x < 960))); + assertNull(ba.breitensuche(x -> (x >= 950 && x < 960))); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(349, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(349, e.intValue()); + e = ba.tiefensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(184, e.intValue()); + e = ba.breitensuche(x -> (x >= 180 && x < 190)); + assertNotNull(e); + assertEquals(184, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(450, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(450, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(703, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(703, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(796, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(799, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(280, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(280, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(590, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(590, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(685, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(685, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(498, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(498, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(618, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(618, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(739, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(735, e.intValue()); + e = ba.tiefensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(524, e.intValue()); + e = ba.breitensuche(x -> (x >= 520 && x < 530)); + assertNotNull(e); + assertEquals(523, e.intValue()); + } + + @Test + public void testEnthaelt088() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(87)); + Integer e; + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(693, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(699, e.intValue()); + e = ba.tiefensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(744, e.intValue()); + e = ba.breitensuche(x -> (x >= 740 && x < 750)); + assertNotNull(e); + assertEquals(744, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(548, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(544, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(424, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(423, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(734, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(734, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(669, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(668, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(753, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(754, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(392, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(392, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(551, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(551, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(388, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(387, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(48, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(49, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(342, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(343, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(233, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(234, e.intValue()); + e = ba.tiefensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(442, e.intValue()); + e = ba.breitensuche(x -> (x >= 440 && x < 450)); + assertNotNull(e); + assertEquals(440, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(368, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(368, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(638, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(638, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(959, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(959, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(173, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(173, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(339, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(339, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 930 && x < 940))); + assertNull(ba.breitensuche(x -> (x >= 930 && x < 940))); + } + + @Test + public void testEnthaelt089() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(88)); + Integer e; + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(540, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(540, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(962, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(962, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(873, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(873, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(311, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(313, e.intValue()); + e = ba.tiefensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(178, e.intValue()); + e = ba.breitensuche(x -> (x >= 170 && x < 180)); + assertNotNull(e); + assertEquals(177, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(489, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(487, e.intValue()); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(327, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(328, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(479, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(479, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(721, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(721, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(155, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(151, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(650, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(653, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 70 && x < 80))); + assertNull(ba.breitensuche(x -> (x >= 70 && x < 80))); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(613, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(613, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 910 && x < 920))); + assertNull(ba.breitensuche(x -> (x >= 910 && x < 920))); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(759, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(117, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(112, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(96, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(94, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(995, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(999, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(905, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(905, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(2, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(2, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(395, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(390, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 670 && x < 680))); + assertNull(ba.breitensuche(x -> (x >= 670 && x < 680))); + assertNull(ba.tiefensuche(x -> (x >= 630 && x < 640))); + assertNull(ba.breitensuche(x -> (x >= 630 && x < 640))); + } + + @Test + public void testEnthaelt090() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(89)); + Integer e; + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(969, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(962, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 540 && x < 550))); + assertNull(ba.breitensuche(x -> (x >= 540 && x < 550))); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(815, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(815, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 430 && x < 440))); + assertNull(ba.breitensuche(x -> (x >= 430 && x < 440))); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(598, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(597, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 70 && x < 80))); + assertNull(ba.breitensuche(x -> (x >= 70 && x < 80))); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(898, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(898, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(935, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(935, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(711, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(717, e.intValue()); + e = ba.tiefensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(138, e.intValue()); + e = ba.breitensuche(x -> (x >= 130 && x < 140)); + assertNotNull(e); + assertEquals(131, e.intValue()); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(336, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(336, e.intValue()); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(578, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(578, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(511, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(516, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(225, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(229, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(404, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(404, e.intValue()); + e = ba.tiefensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(213, e.intValue()); + e = ba.breitensuche(x -> (x >= 210 && x < 220)); + assertNotNull(e); + assertEquals(216, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(278, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(278, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(101, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(101, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(346, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(346, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(367, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(756, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(756, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(609, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(605, e.intValue()); + e = ba.tiefensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(995, e.intValue()); + e = ba.breitensuche(x -> (x >= 990 && x < 1000)); + assertNotNull(e); + assertEquals(999, e.intValue()); + } + + @Test + public void testEnthaelt091() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(90)); + Integer e; + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(498, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(491, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(361, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(361, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(658, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(658, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(868, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(863, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(972, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(978, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(151, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(150, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(397, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(399, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(853, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + e = ba.tiefensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(76, e.intValue()); + e = ba.breitensuche(x -> (x >= 70 && x < 80)); + assertNotNull(e); + assertEquals(70, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(556, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(556, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(43, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(49, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(569, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(562, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(505, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(508, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(663, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(668, e.intValue()); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(246, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(246, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(784, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(784, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(695, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(695, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(50, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(50, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(29, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(29, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(118, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(118, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 480 && x < 490))); + assertNull(ba.breitensuche(x -> (x >= 480 && x < 490))); + assertNull(ba.tiefensuche(x -> (x >= 230 && x < 240))); + assertNull(ba.breitensuche(x -> (x >= 230 && x < 240))); + assertNull(ba.tiefensuche(x -> (x >= 180 && x < 190))); + assertNull(ba.breitensuche(x -> (x >= 180 && x < 190))); + } + + @Test + public void testEnthaelt092() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(91)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 660 && x < 670))); + assertNull(ba.breitensuche(x -> (x >= 660 && x < 670))); + e = ba.tiefensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.breitensuche(x -> (x >= 330 && x < 340)); + assertNotNull(e); + assertEquals(334, e.intValue()); + e = ba.tiefensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(854, e.intValue()); + e = ba.breitensuche(x -> (x >= 850 && x < 860)); + assertNotNull(e); + assertEquals(854, e.intValue()); + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(554, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(554, e.intValue()); + e = ba.tiefensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(420, e.intValue()); + e = ba.breitensuche(x -> (x >= 420 && x < 430)); + assertNotNull(e); + assertEquals(420, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(938, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(938, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(266, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(266, e.intValue()); + e = ba.tiefensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(488, e.intValue()); + e = ba.breitensuche(x -> (x >= 480 && x < 490)); + assertNotNull(e); + assertEquals(488, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(737, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(737, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 10 && x < 20))); + assertNull(ba.breitensuche(x -> (x >= 10 && x < 20))); + assertNull(ba.tiefensuche(x -> (x >= 900 && x < 910))); + assertNull(ba.breitensuche(x -> (x >= 900 && x < 910))); + assertNull(ba.tiefensuche(x -> (x >= 950 && x < 960))); + assertNull(ba.breitensuche(x -> (x >= 950 && x < 960))); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(817, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(819, e.intValue()); + e = ba.tiefensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(808, e.intValue()); + e = ba.breitensuche(x -> (x >= 800 && x < 810)); + assertNotNull(e); + assertEquals(808, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(722, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(726, e.intValue()); + e = ba.tiefensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(492, e.intValue()); + e = ba.breitensuche(x -> (x >= 490 && x < 500)); + assertNotNull(e); + assertEquals(492, e.intValue()); + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(430, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(438, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(412, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(414, e.intValue()); + e = ba.tiefensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(99, e.intValue()); + e = ba.breitensuche(x -> (x >= 90 && x < 100)); + assertNotNull(e); + assertEquals(92, e.intValue()); + e = ba.tiefensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(770, e.intValue()); + e = ba.breitensuche(x -> (x >= 770 && x < 780)); + assertNotNull(e); + assertEquals(773, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(21, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(27, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(80, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(82, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(388, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(380, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(651, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(650, e.intValue()); + } + + @Test + public void testEnthaelt093() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(92)); + Integer e; + assertNull(ba.tiefensuche(x -> (x >= 910 && x < 920))); + assertNull(ba.breitensuche(x -> (x >= 910 && x < 920))); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(536, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(536, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(396, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(396, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(514, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(518, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 750 && x < 760))); + assertNull(ba.breitensuche(x -> (x >= 750 && x < 760))); + assertNull(ba.tiefensuche(x -> (x >= 170 && x < 180))); + assertNull(ba.breitensuche(x -> (x >= 170 && x < 180))); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(575, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(574, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 840 && x < 850))); + assertNull(ba.breitensuche(x -> (x >= 840 && x < 850))); + e = ba.tiefensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.breitensuche(x -> (x >= 190 && x < 200)); + assertNotNull(e); + assertEquals(191, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(256, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(257, e.intValue()); + e = ba.tiefensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(104, e.intValue()); + e = ba.breitensuche(x -> (x >= 100 && x < 110)); + assertNotNull(e); + assertEquals(102, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(144, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(166, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(166, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(593, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(596, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(764, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(764, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(722, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(722, e.intValue()); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(947, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(942, e.intValue()); + e = ba.tiefensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(665, e.intValue()); + e = ba.breitensuche(x -> (x >= 660 && x < 670)); + assertNotNull(e); + assertEquals(665, e.intValue()); + e = ba.tiefensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(691, e.intValue()); + e = ba.breitensuche(x -> (x >= 690 && x < 700)); + assertNotNull(e); + assertEquals(691, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(954, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(959, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(903, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(903, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(33, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(39, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(115, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(119, e.intValue()); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(938, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(935, e.intValue()); + } + + @Test + public void testEnthaelt094() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(93)); + Integer e; + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(708, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(705, e.intValue()); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(401, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(406, e.intValue()); + e = ba.tiefensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(501, e.intValue()); + e = ba.breitensuche(x -> (x >= 500 && x < 510)); + assertNotNull(e); + assertEquals(501, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(849, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(849, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(658, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(658, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 960 && x < 970))); + assertNull(ba.breitensuche(x -> (x >= 960 && x < 970))); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(323, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(323, e.intValue()); + e = ba.tiefensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(43, e.intValue()); + e = ba.breitensuche(x -> (x >= 40 && x < 50)); + assertNotNull(e); + assertEquals(43, e.intValue()); + e = ba.tiefensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(270, e.intValue()); + e = ba.breitensuche(x -> (x >= 270 && x < 280)); + assertNotNull(e); + assertEquals(270, e.intValue()); + e = ba.tiefensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(816, e.intValue()); + e = ba.breitensuche(x -> (x >= 810 && x < 820)); + assertNotNull(e); + assertEquals(813, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 470 && x < 480))); + assertNull(ba.breitensuche(x -> (x >= 470 && x < 480))); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(737, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(737, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(363, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(363, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 430 && x < 440))); + assertNull(ba.breitensuche(x -> (x >= 430 && x < 440))); + e = ba.tiefensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(936, e.intValue()); + e = ba.breitensuche(x -> (x >= 930 && x < 940)); + assertNotNull(e); + assertEquals(936, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 560 && x < 570))); + assertNull(ba.breitensuche(x -> (x >= 560 && x < 570))); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(154, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(155, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(726, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(721, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(874, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(916, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(912, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(687, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(684, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(113, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(111, e.intValue()); + e = ba.tiefensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(374, e.intValue()); + e = ba.breitensuche(x -> (x >= 370 && x < 380)); + assertNotNull(e); + assertEquals(375, e.intValue()); + } + + @Test + public void testEnthaelt095() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(94)); + Integer e; + e = ba.tiefensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(430, e.intValue()); + e = ba.breitensuche(x -> (x >= 430 && x < 440)); + assertNotNull(e); + assertEquals(437, e.intValue()); + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(16, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(18, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(883, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(881, e.intValue()); + e = ba.tiefensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(82, e.intValue()); + e = ba.breitensuche(x -> (x >= 80 && x < 90)); + assertNotNull(e); + assertEquals(82, e.intValue()); + e = ba.tiefensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.breitensuche(x -> (x >= 620 && x < 630)); + assertNotNull(e); + assertEquals(620, e.intValue()); + e = ba.tiefensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(951, e.intValue()); + e = ba.breitensuche(x -> (x >= 950 && x < 960)); + assertNotNull(e); + assertEquals(955, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(470, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(474, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + + assertNotNull(e); + assertEquals(638, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(638, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(899, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(899, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(988, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(985, e.intValue()); + e = ba.tiefensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(26, e.intValue()); + e = ba.breitensuche(x -> (x >= 20 && x < 30)); + assertNotNull(e); + assertEquals(26, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(732, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(739, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(151, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(151, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(312, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(312, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(251, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(251, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(268, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(262, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(61, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(61, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(657, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(654, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(207, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(200, e.intValue()); + e = ba.tiefensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(678, e.intValue()); + e = ba.breitensuche(x -> (x >= 670 && x < 680)); + assertNotNull(e); + assertEquals(678, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.breitensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.tiefensuche(x -> (x >= 110 && x < 120))); + assertNull(ba.breitensuche(x -> (x >= 110 && x < 120))); + assertNull(ba.tiefensuche(x -> (x >= 810 && x < 820))); + assertNull(ba.breitensuche(x -> (x >= 810 && x < 820))); + } + + @Test + public void testEnthaelt096() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(95)); + Integer e; + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(927, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(927, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 10 && x < 20))); + assertNull(ba.breitensuche(x -> (x >= 10 && x < 20))); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(865, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(865, e.intValue()); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(798, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(798, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 120 && x < 130))); + assertNull(ba.breitensuche(x -> (x >= 120 && x < 130))); + e = ba.tiefensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + e = ba.breitensuche(x -> (x >= 570 && x < 580)); + assertNotNull(e); + assertEquals(576, e.intValue()); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(717, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(717, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(734, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(739, e.intValue()); + e = ba.tiefensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(887, e.intValue()); + e = ba.breitensuche(x -> (x >= 880 && x < 890)); + assertNotNull(e); + assertEquals(887, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 300 && x < 310))); + assertNull(ba.breitensuche(x -> (x >= 300 && x < 310))); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(722, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(722, e.intValue()); + e = ba.tiefensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(655, e.intValue()); + e = ba.breitensuche(x -> (x >= 650 && x < 660)); + assertNotNull(e); + assertEquals(655, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 950 && x < 960))); + assertNull(ba.breitensuche(x -> (x >= 950 && x < 960))); + e = ba.tiefensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(243, e.intValue()); + e = ba.breitensuche(x -> (x >= 240 && x < 250)); + assertNotNull(e); + assertEquals(243, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(209, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(209, e.intValue()); + e = ba.tiefensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(680, e.intValue()); + e = ba.breitensuche(x -> (x >= 680 && x < 690)); + assertNotNull(e); + assertEquals(685, e.intValue()); + e = ba.tiefensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(61, e.intValue()); + e = ba.breitensuche(x -> (x >= 60 && x < 70)); + assertNotNull(e); + assertEquals(63, e.intValue()); + e = ba.tiefensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(256, e.intValue()); + e = ba.breitensuche(x -> (x >= 250 && x < 260)); + assertNotNull(e); + assertEquals(253, e.intValue()); + e = ba.tiefensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(537, e.intValue()); + e = ba.breitensuche(x -> (x >= 530 && x < 540)); + assertNotNull(e); + assertEquals(530, e.intValue()); + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(470, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(474, e.intValue()); + } + + @Test + public void testEnthaelt097() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(96)); + Integer e; + e = ba.tiefensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(471, e.intValue()); + e = ba.breitensuche(x -> (x >= 470 && x < 480)); + assertNotNull(e); + assertEquals(471, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(963, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(963, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.tiefensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(910, e.intValue()); + e = ba.breitensuche(x -> (x >= 910 && x < 920)); + assertNotNull(e); + assertEquals(918, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 250 && x < 260))); + assertNull(ba.breitensuche(x -> (x >= 250 && x < 260))); + assertNull(ba.tiefensuche(x -> (x >= 390 && x < 400))); + assertNull(ba.breitensuche(x -> (x >= 390 && x < 400))); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(401, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(401, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(127, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(127, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(983, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(982, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(380, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(380, e.intValue()); + e = ba.tiefensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(463, e.intValue()); + e = ba.breitensuche(x -> (x >= 460 && x < 470)); + assertNotNull(e); + assertEquals(463, e.intValue()); + e = ba.tiefensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(261, e.intValue()); + e = ba.breitensuche(x -> (x >= 260 && x < 270)); + assertNotNull(e); + assertEquals(261, e.intValue()); + e = ba.tiefensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(110, e.intValue()); + e = ba.breitensuche(x -> (x >= 110 && x < 120)); + assertNotNull(e); + assertEquals(110, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(736, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(736, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(725, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(723, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 490 && x < 500))); + assertNull(ba.breitensuche(x -> (x >= 490 && x < 500))); + assertNull(ba.tiefensuche(x -> (x >= 890 && x < 900))); + assertNull(ba.breitensuche(x -> (x >= 890 && x < 900))); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(365, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(364, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(158, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(150, e.intValue()); + e = ba.tiefensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(708, e.intValue()); + e = ba.breitensuche(x -> (x >= 700 && x < 710)); + assertNotNull(e); + assertEquals(702, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(160, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(162, e.intValue()); + e = ba.tiefensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(347, e.intValue()); + e = ba.breitensuche(x -> (x >= 340 && x < 350)); + assertNotNull(e); + assertEquals(341, e.intValue()); + e = ba.tiefensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(282, e.intValue()); + e = ba.breitensuche(x -> (x >= 280 && x < 290)); + assertNotNull(e); + assertEquals(285, e.intValue()); + e = ba.tiefensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(877, e.intValue()); + e = ba.breitensuche(x -> (x >= 870 && x < 880)); + assertNotNull(e); + assertEquals(870, e.intValue()); + } + + @Test + public void testEnthaelt098() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(97)); + Integer e; + e = ba.tiefensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(555, e.intValue()); + e = ba.breitensuche(x -> (x >= 550 && x < 560)); + assertNotNull(e); + assertEquals(555, e.intValue()); + e = ba.tiefensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(57, e.intValue()); + e = ba.breitensuche(x -> (x >= 50 && x < 60)); + assertNotNull(e); + assertEquals(57, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 710 && x < 720))); + assertNull(ba.breitensuche(x -> (x >= 710 && x < 720))); + assertNull(ba.tiefensuche(x -> (x >= 10 && x < 20))); + assertNull(ba.breitensuche(x -> (x >= 10 && x < 20))); + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(407, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(407, e.intValue()); + e = ba.tiefensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(895, e.intValue()); + e = ba.breitensuche(x -> (x >= 890 && x < 900)); + assertNotNull(e); + assertEquals(895, e.intValue()); + e = ba.tiefensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + e = ba.breitensuche(x -> (x >= 310 && x < 320)); + assertNotNull(e); + assertEquals(316, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(380, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(380, e.intValue()); + e = ba.tiefensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(786, e.intValue()); + e = ba.breitensuche(x -> (x >= 780 && x < 790)); + assertNotNull(e); + assertEquals(786, e.intValue()); + e = ba.tiefensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(542, e.intValue()); + e = ba.breitensuche(x -> (x >= 540 && x < 550)); + assertNotNull(e); + assertEquals(541, e.intValue()); + e = ba.tiefensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(981, e.intValue()); + e = ba.breitensuche(x -> (x >= 980 && x < 990)); + assertNotNull(e); + assertEquals(986, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(592, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(594, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(512, e.intValue()); + e = ba.tiefensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(611, e.intValue()); + e = ba.breitensuche(x -> (x >= 610 && x < 620)); + assertNotNull(e); + assertEquals(611, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 130 && x < 140))); + assertNull(ba.breitensuche(x -> (x >= 130 && x < 140))); + assertNull(ba.tiefensuche(x -> (x >= 720 && x < 730))); + assertNull(ba.breitensuche(x -> (x >= 720 && x < 730))); + e = ba.tiefensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(945, e.intValue()); + e = ba.breitensuche(x -> (x >= 940 && x < 950)); + assertNotNull(e); + assertEquals(945, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(34, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(36, e.intValue()); + e = ba.tiefensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(637, e.intValue()); + e = ba.breitensuche(x -> (x >= 630 && x < 640)); + assertNotNull(e); + assertEquals(633, e.intValue()); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(150, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(153, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(763, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(769, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(830, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(837, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(201, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(203, e.intValue()); + e = ba.tiefensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(456, e.intValue()); + e = ba.breitensuche(x -> (x >= 450 && x < 460)); + assertNotNull(e); + assertEquals(453, e.intValue()); + } + + @Test + public void testEnthaelt099() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(98)); + Integer e; + e = ba.tiefensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(17, e.intValue()); + e = ba.breitensuche(x -> (x >= 10 && x < 20)); + assertNotNull(e); + assertEquals(17, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 440 && x < 450))); + assertNull(ba.breitensuche(x -> (x >= 440 && x < 450))); + e = ba.tiefensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(156, e.intValue()); + e = ba.breitensuche(x -> (x >= 150 && x < 160)); + assertNotNull(e); + assertEquals(156, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 530 && x < 540))); + assertNull(ba.breitensuche(x -> (x >= 530 && x < 540))); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(842, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(842, e.intValue()); + e = ba.tiefensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(966, e.intValue()); + e = ba.breitensuche(x -> (x >= 960 && x < 970)); + assertNotNull(e); + assertEquals(968, e.intValue()); + e = ba.tiefensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(381, e.intValue()); + e = ba.breitensuche(x -> (x >= 380 && x < 390)); + assertNotNull(e); + assertEquals(381, e.intValue()); + e = ba.tiefensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(200, e.intValue()); + e = ba.breitensuche(x -> (x >= 200 && x < 210)); + assertNotNull(e); + assertEquals(207, e.intValue()); + e = ba.tiefensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(229, e.intValue()); + e = ba.breitensuche(x -> (x >= 220 && x < 230)); + assertNotNull(e); + assertEquals(229, e.intValue()); + e = ba.tiefensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(147, e.intValue()); + e = ba.breitensuche(x -> (x >= 140 && x < 150)); + assertNotNull(e); + assertEquals(147, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 600 && x < 610))); + assertNull(ba.breitensuche(x -> (x >= 600 && x < 610))); + assertNull(ba.tiefensuche(x -> (x >= 930 && x < 940))); + assertNull(ba.breitensuche(x -> (x >= 930 && x < 940))); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(328, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(327, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(640, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(640, e.intValue()); + e = ba.tiefensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(738, e.intValue()); + e = ba.breitensuche(x -> (x >= 730 && x < 740)); + assertNotNull(e); + assertEquals(738, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(514, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(514, e.intValue()); + e = ba.tiefensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(970, e.intValue()); + e = ba.breitensuche(x -> (x >= 970 && x < 980)); + assertNotNull(e); + assertEquals(970, e.intValue()); + e = ba.tiefensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(769, e.intValue()); + e = ba.breitensuche(x -> (x >= 760 && x < 770)); + assertNotNull(e); + assertEquals(767, e.intValue()); + e = ba.tiefensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(30, e.intValue()); + e = ba.breitensuche(x -> (x >= 30 && x < 40)); + assertNotNull(e); + assertEquals(37, e.intValue()); + e = ba.tiefensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(927, e.intValue()); + e = ba.breitensuche(x -> (x >= 920 && x < 930)); + assertNotNull(e); + assertEquals(929, e.intValue()); + e = ba.tiefensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(728, e.intValue()); + e = ba.breitensuche(x -> (x >= 720 && x < 730)); + assertNotNull(e); + assertEquals(721, e.intValue()); + e = ba.tiefensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(868, e.intValue()); + e = ba.breitensuche(x -> (x >= 860 && x < 870)); + assertNotNull(e); + assertEquals(862, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(568, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(566, e.intValue()); + e = ba.tiefensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(905, e.intValue()); + e = ba.breitensuche(x -> (x >= 900 && x < 910)); + assertNotNull(e); + assertEquals(907, e.intValue()); + } + + @Test + public void testEnthaelt100() + { + Baumalgorithmen2 ba = new Baumalgorithmen2(Testbaeume.getTestBaum(99)); + Integer e; + e = ba.tiefensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(402, e.intValue()); + e = ba.breitensuche(x -> (x >= 400 && x < 410)); + assertNotNull(e); + assertEquals(402, e.intValue()); + e = ba.tiefensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(164, e.intValue()); + e = ba.breitensuche(x -> (x >= 160 && x < 170)); + assertNotNull(e); + assertEquals(164, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 270 && x < 280))); + assertNull(ba.breitensuche(x -> (x >= 270 && x < 280))); + e = ba.tiefensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(711, e.intValue()); + e = ba.breitensuche(x -> (x >= 710 && x < 720)); + assertNotNull(e); + assertEquals(711, e.intValue()); + e = ba.tiefensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(752, e.intValue()); + e = ba.breitensuche(x -> (x >= 750 && x < 760)); + assertNotNull(e); + assertEquals(750, e.intValue()); + e = ba.tiefensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(643, e.intValue()); + e = ba.breitensuche(x -> (x >= 640 && x < 650)); + assertNotNull(e); + assertEquals(643, e.intValue()); + e = ba.tiefensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(830, e.intValue()); + e = ba.breitensuche(x -> (x >= 830 && x < 840)); + assertNotNull(e); + assertEquals(830, e.intValue()); + e = ba.tiefensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(564, e.intValue()); + e = ba.breitensuche(x -> (x >= 560 && x < 570)); + assertNotNull(e); + assertEquals(564, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 450 && x < 460))); + assertNull(ba.breitensuche(x -> (x >= 450 && x < 460))); + e = ba.tiefensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(798, e.intValue()); + e = ba.breitensuche(x -> (x >= 790 && x < 800)); + assertNotNull(e); + assertEquals(798, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 970 && x < 980))); + assertNull(ba.breitensuche(x -> (x >= 970 && x < 980))); + e = ba.tiefensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(328, e.intValue()); + e = ba.breitensuche(x -> (x >= 320 && x < 330)); + assertNotNull(e); + assertEquals(328, e.intValue()); + e = ba.tiefensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(595, e.intValue()); + e = ba.breitensuche(x -> (x >= 590 && x < 600)); + assertNotNull(e); + assertEquals(595, e.intValue()); + e = ba.tiefensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(366, e.intValue()); + e = ba.breitensuche(x -> (x >= 360 && x < 370)); + assertNotNull(e); + assertEquals(366, e.intValue()); + e = ba.tiefensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(417, e.intValue()); + e = ba.breitensuche(x -> (x >= 410 && x < 420)); + assertNotNull(e); + assertEquals(411, e.intValue()); + e = ba.tiefensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(601, e.intValue()); + e = ba.breitensuche(x -> (x >= 600 && x < 610)); + assertNotNull(e); + assertEquals(603, e.intValue()); + assertNull(ba.tiefensuche(x -> (x >= 660 && x < 670))); + assertNull(ba.breitensuche(x -> (x >= 660 && x < 670))); + e = ba.tiefensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(351, e.intValue()); + e = ba.breitensuche(x -> (x >= 350 && x < 360)); + assertNotNull(e); + assertEquals(350, e.intValue()); + e = ba.tiefensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(846, e.intValue()); + e = ba.breitensuche(x -> (x >= 840 && x < 850)); + assertNotNull(e); + assertEquals(840, e.intValue()); + e = ba.tiefensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(392, e.intValue()); + e = ba.breitensuche(x -> (x >= 390 && x < 400)); + assertNotNull(e); + assertEquals(396, e.intValue()); + e = ba.tiefensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(510, e.intValue()); + e = ba.breitensuche(x -> (x >= 510 && x < 520)); + assertNotNull(e); + assertEquals(513, e.intValue()); + e = ba.tiefensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(121, e.intValue()); + e = ba.breitensuche(x -> (x >= 120 && x < 130)); + assertNotNull(e); + assertEquals(122, e.intValue()); + e = ba.tiefensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(231, e.intValue()); + e = ba.breitensuche(x -> (x >= 230 && x < 240)); + assertNotNull(e); + assertEquals(230, e.intValue()); + e = ba.tiefensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(5, e.intValue()); + e = ba.breitensuche(x -> (x >= 0 && x < 10)); + assertNotNull(e); + assertEquals(1, e.intValue()); + } + +} diff --git a/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Baumalgorithmen.java b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Baumalgorithmen.java new file mode 100644 index 0000000..896223e --- /dev/null +++ b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Baumalgorithmen.java @@ -0,0 +1,130 @@ + +/** + * Führt verschiedene Algorithmen auf Binärbäumen aus + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class Baumalgorithmen +{ + /** + * Die Wurzel des Baums, mit dem der Algorithmus durchgeführt werden soll + */ + protected Binaerbaum wurzel; + + /** + * Erzeugt ein neues Algorithmen-Objekt + * @param wurzel Die Wurzel des Baums, der verarbeitet werden soll + */ + public Baumalgorithmen(Binaerbaum wurzel) + { + this.wurzel = wurzel; + } + + /** + * Zeigt den Baum auf der Konsole an. + */ + public void baumAnzeigen() + { + if (wurzel != null) + { + System.out.println(wurzel.daten); + baumAnzeigen(wurzel.links, "", true); + baumAnzeigen(wurzel.rechts, "", false); + } + } + + private void baumAnzeigen(Binaerbaum b, String indent, boolean left) + { + System.out.print(indent); + System.out.print(left ? "\u251C " : "\u2514 "); + if (b != null) + { + System.out.println(b.daten); + if (b.links != null || b.rechts != null) + { + indent += (left ? "\u2502 " : " "); + baumAnzeigen(b.links, indent, true); + baumAnzeigen(b.rechts, indent, false); + } + } + else + { + System.out.println(""); + } + } + + /** + * Gibt die Tiefe des Baums zurück + * @return Die Tiefe des Baums, gezählt ab der Wurzel + */ + public int tiefe() + { + return tiefe(wurzel); + } + + /** + * Gibt die Tiefe eines Baums zurück + * @param b Der Baum, dessen Tiefe bestimmt werden soll + * @return Die Tiefe des Baums, gezählt ab b + */ + private int tiefe(Binaerbaum b) + { + if (b == null) + { + return 0; + } + return 1 + Math.max(tiefe(b.links), tiefe(b.rechts)); + } + + /** + * Gibt die Anzahl der Knoten im Baums zurück + * @return Die Anzahl aller Knoten im Baum + */ + public int anzahl() + { + return anzahl(wurzel); + } + + /** + * Gibt die Anzahl der Knoten in einem Baums zurück + * @param b Der Baum, in dem die Knoten gezählt werden sollen + * @return Die Anzahl der Knoten, die sich von b an im Baum befinden (inklusive b) + */ + private int anzahl(Binaerbaum b) + { + if (b == null) + { + return 0; + } + return 1 + anzahl(b.links) + anzahl(b.rechts); + } + + /** + * Prüft, ob sich ein Wert im Baum befindet + * @param wert Der zu suchende Wert + * @return true, wenn ein Knoten den Wert enthält; false sonst + */ + public boolean enthaelt(T wert) + { + return enthaelt(wurzel, wert); + } + + /** + * Prüft, ob sich ein Wert in b oder darunter befindet + * @param b Der Baum, in dem der Wert gesucht werden soll + * @return true, wenn b oder einer seiner Kindknoten den Wert enthält; false sonst + */ + private boolean enthaelt(Binaerbaum b, T wert) + { + if (b == null) + { + return false; + } + if (b.daten.equals(wert)) + { + return true; + } + return enthaelt(b.links, wert) || enthaelt(b.rechts, wert); + } +} diff --git a/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Baumalgorithmen2.java b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Baumalgorithmen2.java new file mode 100644 index 0000000..529ba3d --- /dev/null +++ b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Baumalgorithmen2.java @@ -0,0 +1,47 @@ +import java.util.function.Predicate; + +/** + * Tiefen- und Breitensuche + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class Baumalgorithmen2 extends Baumalgorithmen +{ + public Baumalgorithmen2(Binaerbaum wurzel) + { + super(wurzel); + } + + public Integer breitensuche(Predicate p) + { + return suche(p, new ArrayQueue>()); + } + + public Integer tiefensuche(Predicate p) + { + return suche(p, new ArrayStack>()); + } + + public Integer suche(Predicate p, Container> todo) + { + todo.insert(wurzel); + while(!todo.isEmpty()) + { + Binaerbaum tmp = todo.removeNext(); + if (p.test(tmp.daten)) + { + return tmp.daten; + } + if (tmp.rechts != null) + { + todo.insert(tmp.rechts); + } + if (tmp.links != null) + { + todo.insert(tmp.links); + } + } + return null; + } +} diff --git a/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Binaerbaum.java b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Binaerbaum.java new file mode 100644 index 0000000..2f05bbc --- /dev/null +++ b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Binaerbaum.java @@ -0,0 +1,63 @@ + +/** + * Ein Knoten eines Binärbaums + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class Binaerbaum +{ + /** + * Der Datenwert des Knotens + */ + public T daten; + + /** + * Der linke Kindbaum + */ + public Binaerbaum links; + + /** + * Der rechte Kindbaum + */ + public Binaerbaum rechts; + + /** + * Erzeugt einen Blattknoten mit leerem Datenwert + */ + public Binaerbaum() + { + this(null, null, null); + } + + /** + * Erzeugt einen Knoten mit Datenwert und Kindern + * @param daten Der Datenwert + * @param links Der linke Kindbaum + * @param rechts Der rechte Kindbaum + */ + public Binaerbaum(T daten, Binaerbaum links, Binaerbaum rechts) + { + this.daten = daten; + this.links = links; + this.rechts = rechts; + } + + /** + * Erzeugt einen Blattknoten mit Datenwert + * @param daten Der Datenwert + */ + public Binaerbaum(T daten) + { + this(daten, null, null); + } + + /** + * Gibt zurück, ob der Knoten ein Blatt ist + * @return true, wenn der Knoten ein Blatt ist; false sonst + */ + public boolean istBlatt() + { + return links == null && rechts == null; + } +} diff --git a/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Container.java b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Container.java new file mode 100644 index 0000000..4c013ca --- /dev/null +++ b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Container.java @@ -0,0 +1,32 @@ +/** + * Abstrakte Oberklasse für Queue und Stack + * + * @author Rainer Helfrich + * @version November 2020 + */ +public abstract class Container +{ + /** + * Gibt zurück, ob der Container leer ist + * @return true, wenn der Container leer ist; false sonst + */ + public abstract boolean isEmpty(); + + /** + * Fügt ein neues Element in den Container ein + * @param x Das neue Element + */ + public abstract void insert(T x); + + /** + * Entfernt das nächste Element aus dem Container (falls er nicht leer ist) und gibt es zurück + * @return Das bisherige "nächste" Element + */ + public abstract T removeNext(); + + /** + * Gibt das nächste Element des Containers zurück (falls er nicht leer ist) + * @return Das "nächste" Element + */ + public abstract T getNext(); +} diff --git a/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Queue.java b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Queue.java new file mode 100644 index 0000000..2b6352a --- /dev/null +++ b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Queue.java @@ -0,0 +1,59 @@ +/** + * Abstrakte Basisklasse für Queues + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public abstract class Queue extends Container +{ + /** + * Fügt ein neues Element hinten in der Schlange ein + * @param x Das neue Element + */ + public abstract void enqueue(T x); + + /** + * Entfernt das vorderste Element aus der Queue (falls sie nicht leer ist) und gibt es zurück + * @return Das bisherige vorderste Element + */ + public abstract T dequeue(); + + /** + * Gibt das vorderste Element der Queue zurück (falls sie nicht leer ist) + * @return Das vorderste Element + */ + public abstract T front(); + + /** + * Fügt ein neues Element in den Container ein + * Entspricht hier dem enqueue + * @param x Das neue Element + */ + @Override + public void insert(T x) + { + enqueue(x); + } + + /** + * Entfernt das nächste Element aus dem Container (falls er nicht leer ist) und gibt es zurück + * Entspricht hier dem dequeue + * @return Das bisherige "nächste" Element + */ + @Override + public T removeNext() + { + return dequeue(); + } + + /** + * Gibt das nächste Element des Containers zurück (falls er nicht leer ist) + * Entspricht hier dem front + * @return Das "nächste" Element + */ + @Override + public T getNext() + { + return front(); + } +} diff --git a/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/README.TXT b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/README.TXT new file mode 100644 index 0000000000000000000000000000000000000000..e3c8ef1dfc76a0df5ab6606167905d4e97436328 GIT binary patch literal 350 zcma)$!ES>v5JY?CD@HlBQX54axk2hCE~-Ib5{VmxrC2qlGNxaY&*&{bR!6ORtJIbD zFq+w&mlxSHOJ%}p#iCqM#s3-G)#dJt4DMw~rP6Gw`cep;XZ5n}(@0vz3PLU;p zQV}}8v3{Mba)WpN{DfxdktlOH+xBu^d^9+)qU4#t)RDzwEUT9YV)~%5^*Y>yo8ZV9 zcqzSE;)euvg;K_aWa2+OYdl>(hhNyn7__8tZA^7D&xE8|MoF_H8)6k}O*7n8nw3YM m*EfEGxRP0M%fwxTqEW^l?@9MoorZhV`3~IllN}qU-hwX=o^ extends Container +{ + /** + * Legt ein neues Element auf den Stack + * @param x Das neue Element + */ + public abstract void push(T x); + + /** + * Entfernt das oberste Element vom Stack (falls der Stack nicht leer ist) und gibt es zurück + * @return Das bisherige oberste Element + */ + public abstract T pop(); + + /** + * Gibt das oberste Element des Stacks zurück (falls der Stack nicht leer ist) + * @return Das oberste Element + */ + public abstract T top(); + + /** + * Fügt ein neues Element in den Container ein + * Entspricht hier dem push + * @param x Das neue Element + */ + @Override + public void insert(T x) + { + push(x); + } + + /** + * Entfernt das nächste Element aus dem Container (falls er nicht leer ist) und gibt es zurück + * Entspricht hier dem pop + * @return Das bisherige "nächste" Element + */ + @Override + public T removeNext() + { + return pop(); + } + + /** + * Gibt das nächste Element des Containers zurück (falls er nicht leer ist) + * Entspricht hier dem top + * @return Das "nächste" Element + */ + @Override + public T getNext() + { + return top(); + } +} diff --git a/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Testbaeume.java b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Testbaeume.java new file mode 100644 index 0000000..a7f9076 --- /dev/null +++ b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/Testbaeume.java @@ -0,0 +1,75 @@ +import java.util.ArrayList; +import java.io.FileReader; +import java.io.BufferedReader; +import java.util.ArrayList; +import java.util.concurrent.atomic.AtomicInteger; + +/** + * Liest Testbäume aus einer Datei aus + * + * @author Rainer Helfrich + * @version November 2020 + */ +public class Testbaeume +{ + /** + * Die aus der Datei eingelesenen Bäume + */ + static ArrayList> baeume; + + private static void readFile() + { + try + { + FileReader fileReader = new FileReader("testfaelle.txt"); + BufferedReader bufferedReader = new BufferedReader(fileReader); + baeume = new ArrayList>(); + String line = null; + while ((line = bufferedReader.readLine()) != null) { + AtomicInteger ai = new AtomicInteger(0); + Binaerbaum b = parse(line.toCharArray(), ai); + baeume.add(b); + } + bufferedReader.close(); + } + catch(Exception x) + { + System.out.println(x.getMessage()); + baeume = null; + } + } + + private static Binaerbaum parse(char[] c, AtomicInteger s) + { + int anfang = s.incrementAndGet(); + while(c[s.get()] != '(' && c[s.get()] != ')') + { + s.incrementAndGet(); + } + String tmp = new String(c, anfang, s.get()-anfang); + int value = Integer.parseInt(tmp); + Binaerbaum ergebnis = new Binaerbaum(value); + if (c[s.get()] == '(') + { + ergebnis.links = parse(c, s); + s.incrementAndGet(); + ergebnis.rechts = parse(c, s); + s.incrementAndGet(); + } + return ergebnis; + } + + /** + * Gibt einen der Testbäume aus der Datei zurück + * @param nummer Die Nummer des Baums + * @return Den gewünschten Baum, wenn die Nummer gültig ist; null sonst + */ + public static Binaerbaum getTestBaum(int nummer) + { + if (baeume == null) + readFile(); + if (nummer >= 0 && nummer < baeume.size()) + return baeume.get(nummer); + return null; + } +} diff --git a/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/package.bluej b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/package.bluej new file mode 100644 index 0000000..d1475c6 --- /dev/null +++ b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/package.bluej @@ -0,0 +1,135 @@ +#BlueJ package file +dependency1.from=Baumalgorithmen +dependency1.to=Binaerbaum +dependency1.type=UsesDependency +dependency10.from=Baumalgorithmen2 +dependency10.to=Container +dependency10.type=UsesDependency +dependency11.from=Testbaeume +dependency11.to=Binaerbaum +dependency11.type=UsesDependency +dependency2.from=BaumTester +dependency2.to=Baumalgorithmen +dependency2.type=UsesDependency +dependency3.from=BaumTester +dependency3.to=Binaerbaum +dependency3.type=UsesDependency +dependency4.from=BaumTester +dependency4.to=Testbaeume +dependency4.type=UsesDependency +dependency5.from=BaumTester2 +dependency5.to=Baumalgorithmen2 +dependency5.type=UsesDependency +dependency6.from=BaumTester2 +dependency6.to=Testbaeume +dependency6.type=UsesDependency +dependency7.from=Baumalgorithmen2 +dependency7.to=Binaerbaum +dependency7.type=UsesDependency +dependency8.from=Baumalgorithmen2 +dependency8.to=ArrayQueue +dependency8.type=UsesDependency +dependency9.from=Baumalgorithmen2 +dependency9.to=ArrayStack +dependency9.type=UsesDependency +editor.fx.0.height=739 +editor.fx.0.width=1465 +editor.fx.0.x=427 +editor.fx.0.y=163 +objectbench.height=138 +objectbench.width=1896 +package.divider.horizontal=0.6 +package.divider.vertical=0.8483263598326359 +package.editor.height=804 +package.editor.width=1785 +package.editor.x=719 +package.editor.y=22 +package.frame.height=1056 +package.frame.width=1936 +package.numDependencies=11 +package.numTargets=11 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=ArrayQueue +target1.showInterface=false +target1.type=ClassTarget +target1.width=130 +target1.x=80 +target1.y=550 +target10.height=50 +target10.name=Testbaeume +target10.showInterface=false +target10.type=ClassTarget +target10.width=100 +target10.x=79 +target10.y=264 +target11.height=50 +target11.name=Stack +target11.showInterface=false +target11.type=AbstractTarget +target11.width=80 +target11.x=220 +target11.y=450 +target2.height=50 +target2.name=Binaerbaum +target2.showInterface=false +target2.type=ClassTarget +target2.width=130 +target2.x=170 +target2.y=60 +target3.height=50 +target3.name=Container +target3.showInterface=false +target3.type=AbstractTarget +target3.width=110 +target3.x=150 +target3.y=340 +target4.height=50 +target4.name=Baumalgorithmen +target4.showInterface=false +target4.type=ClassTarget +target4.width=160 +target4.x=300 +target4.y=130 +target5.height=50 +target5.name=ArrayStack +target5.showInterface=false +target5.type=ClassTarget +target5.width=120 +target5.x=200 +target5.y=620 +target6.height=50 +target6.name=BaumTester +target6.showInterface=false +target6.type=UnitTestTargetJunit4 +target6.width=100 +target6.x=460 +target6.y=210 +target7.height=50 +target7.name=BaumTester2 +target7.showInterface=false +target7.type=UnitTestTargetJunit4 +target7.width=110 +target7.x=470 +target7.y=360 +target8.height=50 +target8.name=Baumalgorithmen2 +target8.showInterface=false +target8.type=ClassTarget +target8.width=140 +target8.x=280 +target8.y=250 +target9.height=50 +target9.name=Queue +target9.showInterface=false +target9.type=AbstractTarget +target9.width=90 +target9.x=100 +target9.y=450 diff --git a/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/testfaelle.txt b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/testfaelle.txt new file mode 100644 index 0000000..7c0595c --- /dev/null +++ b/Quellcodes/Alg_DS_Tiefen_Breitensuche/02_tiefen_und_breitensuche_loes/testfaelle.txt @@ -0,0 +1,100 @@ +(366(518(665(284(101(853(360(314(190(465(386(162)(241))(459(197)(861)))(654(427(528)(255))(351(835)(533))))(445(394)(717(311)(530(253)(429)))))(756))(749(236(53(339(469(265)(695))(642(837)(192)))(860))(215))(618(340)(547(201(410)(811(37)(331)))(567)))))(130))(685(76(105(293(837)(262))(3(766)(875(161)(773(65(505)(939))(351(33)(379))))))(94))(301(90(820(166(63(931(73)(590))(936(439)(190)))(990(270(240)(807))(795)))(194(919(694)(244(430)(243)))(924)))(468(420(668)(282(73(966)(860))(270(400)(608))))(914(467)(402(915(547)(648))(96(715)(255))))))(259(870(672(733)(854(327(778)(811))(150)))(629(398(837)(333(203)(270)))(104(749(730)(534))(59(668)(940)))))(769(130)(366(408)(674)))))))(512(869(507(359(823(542)(799(713(910(693)(435))(319(663)(736)))(198)))(992))(682))(73(49)(872)))(715(628)(297))))(274(532(581(418(844)(325))(747(420(97(426(902)(991(682(440)(307))(361(493)(173))))(82(739)(645)))(493(837(182)(720(245)(817(498)(968))))(831(302)(939(429(907)(473))(914)))))(859(111(802(413(303)(291))(432(883(20)(891))(560(263)(932))))(874(85(679(130)(79))(2(761)(596)))(959(675(66)(894))(847(899)(364)))))(448))))(844(446)(690(377)(561))))(615(266)(757(612)(509(374)(641(998(367(40(223(598)(359))(129(700)(312)))(539(534(127)(583))(351(551)(108))))(276))(111(860(406(706(561)(854))(298))(680))(919))))))))(830(154(760(719(29)(9(395(471(575(625)(960(743(939)(344))(499)))(413(186(60(224)(691))(951(821)(906)))(320)))(640(555(914)(820))(910(657(725(105)(879))(896(538)(806)))(572(13(175)(254))(362(276)(664))))))(118(129(973(588)(843(20)(212(115)(2))))(300))(215(15(322)(317(144(646)(549))(411)))(50(274(452(129)(879))(454(473)(758)))(568(13(766)(542))(981(129)(211))))))))(170))(900(132(614(589(526)(550))(379(947(268(789(787(255)(889))(234))(258(112(9)(669))(593(871)(191))))(248))(451(474(35(112(436)(165))(930(550)(739)))(339(271)(745(56)(905))))(790(981)(562(33(737)(533))(648(530)(140)))))))(488))(136)))(123(832(708(637(395)(156))(360))(71(498(989(10(571)(964(248(460)(751(848)(925)))(626)))(758))(190(357(999(155)(944(210(223)(239))(687(125)(817))))(395))(593(170(119)(73(269(614)(685))(84)))(185(672)(587(80)(633))))))(198(495(107)(91(487(163(178)(628(935)(376)))(977(513)(648)))(925)))(546(595)(908(440)(557(74)(328(318(304)(292))(883(209)(198)))))))))(459(108)(358(450(817)(161))(233(503(321)(365(295)(392(811)(18(807(785)(268))(821)))))(757))))))) +(796(145(612(934(49(576)(126(436(825(199)(657))(983(245)(286)))(942(105)(545))))(42(514(577)(575(8(157)(275))(617(534)(266))))(714(783(935(907)(964))(88(376)(912)))(653(24(199)(221))(244(526)(50))))))(829(186(24(829(855(529)(692))(429(635)(202)))(932(306)(120)))(368(495)(41(566)(512(591)(478)))))(4(650(339(8(605)(714))(203(926)(92)))(480(778(367)(273))(414(4)(191))))(102(889(558(413)(379))(159(931)(866)))(514)))))(743(286(669)(277(800(656)(842))(576(680(913(429)(355))(445(51)(681)))(311))))(194)))(273(760(978(506)(240(273(592(409(521)(731))(937(463)(941)))(284))(839(932)(502(996(396)(90))(444)))))(56(620(37(872)(131(377(950)(185))(416)))(170(22(834(726)(208))(247(839)(205)))(597(103(154)(349))(810))))(109)))(886(39)(9(499(597(217)(763(530(174)(699))(257(904)(185))))(54(556(310(258)(475))(382(66)(187)))(995(958)(993(604)(14)))))(502(827)(808(131)(428(580(983)(342))(388)))))))) +(683(388(163(757)(113(798(174)(612(46(595)(66))(674(828)(41))))(837(948)(258(646(887)(334))(441(959)(15))))))(744(332(589)(551(671(661)(186(43)(947)))(681(301(229)(228))(419(887)(865)))))(207)))(954(649(258(654(185(288)(577(9)(344)))(661))(251))(435(410(565(15(469)(812))(665))(33))(917)))(770(69(985(916)(629(968)(719)))(656(628(39(481)(590))(210(705)(518)))(785(914)(995(221)(913)))))(861(435(98(150(51)(562))(343(706)(189)))(607))(219(404(741(216)(249))(423(258)(347)))(904(417(770)(210))(691(104)(997)))))))) +(163(852(819(592(619(567(235(402)(879(960)(406(195)(948))))(669(976(604(382)(740))(284))(611(837)(69(328)(239)))))(271))(870(664(295)(145(255)(36)))(876(194)(712(318(31)(915))(351)))))(475(45)(991)))(335(743(755)(441))(814(763(950(321(350)(387(947(374)(845))(38)))(849(23(344)(652(250)(120)))(988(691(304)(951))(110))))(705(909(916(751)(189))(747(450(764)(834))(394(517)(35))))(585(864)(9(673(898)(179))(76(160)(447))))))(731(392(446)(381))(540(656(864(0)(367(693)(629)))(305(0(125)(838))(535(938)(768))))(178(488(744(415)(328))(595))(422(371(6)(235))(884(7)(398)))))))))(946(361(346)(711(14(616(523(666(232(648)(755))(728))(870(901(690)(411))(864(527)(334))))(349(958)(27(805(192)(926))(986))))(311))(105(73(250)(466))(829(43(210(547(955)(206))(842(637)(520)))(690(984(704)(385))(715)))(277)))))(192(118)(909(177)(488(363(453(752(711(252)(343))(616(279)(315)))(62(250(718)(464))(853)))(280))(86(183(905)(319))(545(502(153(524)(28))(234(654)(538)))(207(202(196)(925))(751(611)(540)))))))))) +(428(369(333(668(626(728(715(766(113)(716))(358(119)(581)))(792(313(214)(593))(205)))(32(858(988(487)(810))(621(586)(659)))(252(958(882)(514))(464(532)(840)))))(290(185(646(134(972)(477))(24(20)(865)))(399))(639(98(814)(127))(285))))(598(719)(631(631(694(304(356)(372))(964))(295(295(351)(625))(950(934)(653))))(471))))(956(283)(918(849(594(297(774(27)(354))(217(657)(825)))(77(634(185)(308))(111(4)(151))))(944(344)(375(186(396)(331))(177(727)(9)))))(133))))(99(272(200(740(632)(544(484)(958(464(67)(779))(948(915)(280)))))(477(421(114)(232))(67(277)(374))))(481))(441(952)(513(805(383)(271(610(991(943)(145))(439))(614(404(885)(884))(854))))(55))))) +(954(577(3(685(175(779)(365))(287(144)(836(706(119(312)(761))(557(73)(706)))(131(270(116)(381))(780)))))(216))(325(688(803(795(820)(525(572(4)(406))(757(601)(139))))(398))(528(589(176)(624(174(924)(770))(665)))(175(131)(373(254(835)(548))(110)))))(695(329(432)(136(60(100(202)(814))(507(520)(797)))(760(51)(834(867)(706)))))(568))))(734(449(453(865(372(14(423(909)(290))(489(357)(387)))(769))(131(165(83(3)(125))(62(892)(339)))(984(948(401)(423))(211(174)(525)))))(881))(491(850(4)(984(661)(297(312(741)(482))(326))))(141(768(319)(362(514)(961(78)(74))))(429(163(214(626)(417))(955(995)(411)))(774(262(570)(615))(701(753)(589)))))))(429(438(800(925)(168(983(992(905)(385))(362))(985)))(787))(675(764)(437(426(113)(38(884(13)(940))(752(625)(850))))(754(404)(45(677)(371)))))))) +(606(112(79(954)(960(122(347)(738(153(282(599)(182(702)(486)))(625(947(281)(667))(908(737)(30))))(547(894(892(645)(443))(909(3)(250)))(382(510(87)(553))(527(891)(916))))))(513(122(687(590(644)(378(496)(371)))(384(990(33)(526))(245(28)(810))))(466))(867))))(368(44(945)(632))(609(491(319(623(672)(43(292(275)(338))(40(268)(814))))(227))(936))(438))))(230(982(227)(924))(472(274(834(642)(916(266)(910)))(39))(379(505(863(557(492(353(564)(821))(33))(903(916(976)(447))(866)))(181(461(472)(769))(471)))(831(557(779)(836))(791(595(552)(443))(424))))(409(157(449(833(371(734)(276))(253(14)(773)))(981(853(792)(647))(0)))(999(660(110)(106(904)(231)))(178(126(941)(259))(369))))(69(263(565(454(473)(83))(828(438)(494)))(249(889(822)(405))(732(470)(264))))(453(200(341)(829(952)(810)))(381(78)(822(640)(995)))))))))) +(911(409(461(415)(644(343(732(308)(141))(219))(897(809(70)(642(978(138(879(224)(511(639)(526)))(744(799(189)(993))(976(946)(792))))(723(388)(125(744)(850))))(427(56(117(402)(708(547)(664)))(179(572(615)(248))(13(590)(296))))(645(413(742(584)(789))(208(771)(254)))(601(84(191)(813))(955(871)(166)))))))(313))))(599(187)(279)))(988(300(428(234(90(964(998)(707))(383(586(754(413(130)(204))(204))(439(53)(481(369(761)(90))(790(7)(27)))))(797(651(371)(490(543(735)(681))(298)))(982))))(848(301)(195)))(320))(178(776(474(407(794)(926(766(991(543(883)(3))(452(725)(134)))(14(79)(254(189)(389))))(479(847(752(427)(229))(131(866)(13)))(56))))(159(760(980(696)(107(54)(624(247)(944))))(6(637)(641)))(699)))(993(188(93(854(51)(217(980(791)(542))(501)))(143(398(439(871)(102))(615(983)(268)))(651(17)(754))))(784(781(482(163)(568(233)(416)))(392(982(892)(797))(377(648)(516))))(920(691(654(685)(75))(539))(134(47)(334(398)(829))))))(829(174(509(692(882)(18(581)(772)))(68))(699(836(792)(243))(558(831)(935(435)(193)))))(712))))(42(677(447(116(976(326)(840(354)(300(677)(729))))(736(383(184(317)(823))(408(89)(806)))(175(556)(922))))(875(196(931)(848(286(175)(274))(428(625)(905))))(103(661(574(713)(900))(394(562)(583)))(915))))(84(940(153)(482))(561(775(890(539(164)(416))(290(763)(984)))(5))(888))))(270(52(788(412(179)(201(388)(480(585)(231))))(259(463)(542(918)(412(453)(615)))))(313))(139)))))(389(964(60(636)(456(688(33)(293(946)(310(872(915(749)(657))(544(40)(984)))(851(557(258)(322))(271(63)(619))))))(632(64(959(615(501)(760(716)(853)))(666(360(427)(5))(566(120)(108))))(234(7(834)(320(781)(838)))(169(144(798)(625))(129(969)(647)))))(154))))(378(99)(287(198(565(105(960(865(851)(354))(342))(638(742(229)(493))(731)))(165(331(317(449)(192))(838))(421(585(669)(552))(233(938)(966)))))(630))(937))))(984(785(202)(192(319(370(663)(14))(438(704(702)(299(991(474)(591))(792(27)(188))))(596)))(803)))(811))))) +(789(549(347(66)(232(216)(334(182)(771(733)(213)))))(807(391(900(181)(983(290(105)(717(802)(875(18)(266(832)(179)))))(944(487(168(221(36)(79))(513(531)(955)))(532))(397(834(826(216)(937))(761))(667(441(870)(464))(67(457)(623)))))))(403(134)(698)))(592(222(425(952)(111))(483(626(25(202)(359(735(95)(950))(428(898)(334))))(495))(239)))(21(768)(224(122(958(980(480(333)(265))(191(7)(974)))(197))(643))(900(552(454(628(925)(864))(422(345)(883)))(459))(639)))))))(215(987(991)(473))(699(657(369(69(666(555(907(220(94)(769))(765(878)(666)))(866(516(874)(942))(955(75)(348))))(117(621(193(670)(94))(343(388)(950)))(269(272(667)(787))(87(684)(161)))))(997(613)(658(853)(680(801(479)(117))(381(100)(866))))))(298))(29(993)(268(135(115(994(554)(787))(709))(56))(889))))(582(343)(698))))) +(78(894(236(464)(309(794(437(372)(581))(604(967(426(157)(869))(411(808)(462)))(361(500(698)(610))(711(184)(755)))))(623(224(102)(360(572(35)(492))(698)))(781(916(150(750)(434))(296))(33(562)(293(286)(7)))))))(334(974(756)(757(272)(867(866(772)(881(776)(845)))(470(147)(950(939)(295))))))(52(64(783(689)(848(710)(702(315)(234))))(659))(553(261(355(730)(375(945)(477)))(391(974(579)(747))(257(662)(578))))(472)))))(781(562(312(370(643(904(223)(218(273)(576)))(933(151(110)(185))(418(680)(805))))(213(766(980)(479(976)(952)))(860)))(303(383(994)(744))(117)))(477))(88(709(182)(224(431)(514)))(205(445(684(593(864)(920(184)(590)))(714(664(890)(466))(70)))(578))(161(686)(43)))))) +(625(138(24(127)(87(799(704(45(53(762(592)(632(920)(338)))(26(134(8)(482))(441)))(133))(520(326(508(762(997)(197))(209(870)(273)))(890(275(700)(789))(9)))(712(325)(968(46(210)(645))(815(185)(127))))))(711(121(742)(591(675(143(800)(138))(633))(558(157)(651))))(758(642(309(430)(276(967)(339)))(425))(295(230)(158(642(98)(146))(353))))))(917)))(792(49(249(953(481(183(753(150)(154(551)(29)))(448(589(229)(760))(83(749)(860))))(131))(91(797(135(888(470)(964))(922(762)(823)))(971))(964)))(223(152)(352(83(590(300)(861))(933(331(640)(817))(502(56)(884))))(825))))(955(767(435(343(249(170(20)(367))(27(428)(907)))(913))(87(929)(328)))(74(116(441(3(877)(146))(835(74)(135)))(829(932(263)(64))(944)))(639(794)(613(27)(815(728)(666))))))(361(184(365)(996(632(20)(69(13)(949)))(922(489(471)(348))(866(337)(627)))))(425(180(438(219)(566))(414(66(811)(674))(397)))(894(551(529(603)(462))(821(710)(544)))(900(698)(43(356)(687))))))))(321(377(200(215)(144))(784(301)(350(349)(100(725(438(366)(154))(839))(866(197(390)(902))(564))))))(729(883(737)(490(409)(118)))(366(420)(444(311(936(629(348)(205))(256(52)(904)))(461(616(47)(111))(471)))(347)))))))(460(721(848(335)(198(972(362)(934))(484(157)(656))))(431(351)(808)))(211(597(996(486(888)(429(937(139)(372(951)(951)))(500(525(954(527)(733))(888(383)(247)))(849(662)(900(941)(344))))))(903))(664))(681(250(557(681(886(694)(57(99)(660(972)(981))))(755(453(786(263)(257))(666))(818)))(62))(36(690)(721)))(27(598(478)(739))(62(968(284(954(699(592)(703))(654(816)(279)))(791))(238))(909))))))) +(406(829(52(802(122(453)(306(227)(255(601(917(640(648)(92))(878))(878))(163(343)(710)))))(830(642(812(899(875(418)(308(739)(436)))(3(186(176)(964))(937)))(829))(893(199(62)(92(388(999)(153))(114(282)(164))))(664)))(186(897(306(926)(268(369(203)(793))(454(691)(749))))(986(702(875)(414(738)(868)))(112(427(61)(334))(587))))(480(534(307(401(489)(415))(641))(37))(743(148(491)(646(38)(947)))(267(889(91)(82))(421)))))))(316))(219(235(770(183)(525(870)(447)))(134(190(796)(215))(887)))(149)))(129(934(774(646(189(430)(181(746)(163)))(750(966(411(761)(48))(151(678(459)(898(200)(87)))(122(144(821)(563))(197))))(663(710)(455(990(778(924)(343))(141(528)(67)))(810(76(888)(887))(776(111)(724)))))))(236(294(494(515(366(793(506)(851))(977(319)(577)))(394))(542))(477(15(133(492(969)(554))(313))(543(367(969)(279))(719(658)(617))))(621(0(49)(845(422)(441)))(153))))(33(115(859(18)(642(274)(48(538)(237))))(628(598)(158(745(461)(599))(696))))(650))))(876(406(931(501(274)(32(370(850(399)(724))(431(810)(376)))(441(103(918)(580))(627(259)(688)))))(444(74(643)(577(2)(799)))(572(71)(27))))(971))(856(83(110)(838(69(804)(94))(897)))(582(322(364(665)(671))(849))(364(840(485(840(185)(242))(801))(231(965(857)(670))(475(888)(381))))(961(822(762(764)(838))(519(723)(402)))(634(434(39)(742))(43(84)(110)))))))))(289(571(177(274)(823))(984(118(921)(884(408(38)(685(48(172)(393))(571(64)(434))))(47(310)(237))))(484(693(207(487(582(867)(93))(855))(56))(755))(934(665(364(600)(852(620)(625)))(393(203(734)(525))(935(470)(656))))(872)))))(899)))) +(219(539(56(513(197(904(65)(576))(252(473)(757(720(869)(574))(908))))(69))(901(115(307(671(429)(897(919)(326)))(91(452(891)(898))(993(179)(950))))(835(925(586)(838(88)(934)))(419(965)(643(70)(83)))))(247(658(866)(281(36(257)(978))(865(753)(27))))(990(262(853)(17(294)(917)))(651(866(365)(998))(419(249)(595)))))))(237(822)(470(394(606)(886(579(243(296)(255))(579))(956)))(953))))(344(508(343(515)(792(283(647(124)(611))(81(548(85)(194))(837(938)(785))))(477(265)(185(499(232)(585))(459(419)(215))))))(156(242)(966)))(117(513(107(798(603(207(759)(129))(120(650)(279)))(85(402)(907)))(911(45(208(960)(14))(732(891)(220)))(927)))(798(240(980(325)(434(223)(205)))(227(813(595)(354))(983(498)(782))))(226(51)(437(873)(255(959)(310))))))(469(545)(172(618(273)(466(808)(205(328)(755))))(835(124(286)(419))(243(742(831)(801))(417(10)(860))))))))) +(869(433(663(632(826(438)(568(22(292(183)(384))(135))(717)))(10))(618(60(291(623)(46(243(208)(665))(298)))(27(25)(563)))(493)))(956(20)(384(720(804(50)(802(214(817)(561))(865(895)(517))))(399(971(715)(872(417)(2)))(902)))(484(11(86)(130))(768(583(95(377)(465))(590))(357(943)(463)))))))(907(32(120(412(227)(138(893)(15(728(436)(300))(940(140)(668)))))(718(401)(777(106(120(940)(508))(912(753)(223)))(698(936(150)(742))(297(993)(701))))))(448(41)(357)))(742(246)(657(697(510(239(289(879)(456))(474))(631(971(970)(958))(733)))(541(449)(736(328(283)(394))(482(293)(788)))))(611(630(206)(713(999)(695(948)(401))))(723(827(919(584)(541))(286(985)(797)))(179))))))) +(784(843(954(100(546(420(21(286)(257))(488(49)(207)))(194))(523(869)(748(106(373)(657))(781))))(599))(948(961(332(105(159(884)(174))(985(759)(407)))(857(329(678)(33))(161(410)(716))))(972))(145(79(73(60)(945))(155(255)(123(518)(103))))(459))))(888(601(356(219)(59))(110(563)(102)))(983(826(727(979(862(776)(148))(807(663)(469)))(447))(926(152(613)(31))(255)))(842(662(965(401)(20(973)(888)))(667(149(774)(844))(519(332)(99))))(142(92(142(860)(526))(657(458)(557)))(128(591)(364(687)(943)))))))) +(216(85(100(562(557(730(989(657)(342))(704(985)(723)))(772(636)(203)))(655))(237(644)(917(839(676)(52(229)(412)))(486(567(128)(484))(757(531)(84))))))(16(169(545)(259))(813(970(894(29(238)(971))(313(426)(855)))(721(335)(586(609)(687))))(213(591(744(856)(18))(489))(708(355(551)(826))(210(515)(890)))))))(231(291(199(970(121(882(800)(652))(719))(953))(590(152)(229(928(200)(677))(776(211)(384)))))(902(775)(200(425)(199(543(117)(197))(762(390)(639))))))(410(953)(190(230)(310(141(534(283)(702))(760(647)(359)))(872)))))) +(285(23(900(846(994(378)(147(430(630(890)(890))(644(855)(887)))(902(522)(846(194)(193)))))(335))(812))(851(466(612(869)(534(750(115)(22))(418)))(53(54(783(862(696)(398))(103(386)(73)))(236(776(164)(213))(293(474)(774))))(828(105)(366(357(920)(322))(732(229)(80))))))(650)))(441(287(729(153(398(761)(597(565(741)(729))(136(526)(316))))(807))(516(461)(85)))(429(561)(767(641(520)(204(833)(100)))(107(370(110)(186(872)(220)))(785(122)(422(751)(293)))))))(358(806)(312)))) +(942(681(997(799)(615(618(595(78(677)(753(948(851)(552(885)(209(355)(502))))(315)))(440(85)(111)))(223(899(616(97)(174(260)(811)))(128(311(789)(974(474(519)(80))(870(596)(899))))(697)))(503(739(263(163)(586(762)(470(342)(207))))(355(282(786(693)(933))(90(160)(36)))(234)))(275(774)(444(83(431(381)(543))(458(42)(969)))(146(2)(995)))))))(244(66)(878(398(216)(273))(300(248(743)(64(549(148)(625))(304(699(801)(993))(1(734)(863)))))(509(676(316)(622(136(828)(140))(910)))(149(551(966)(693(794)(235)))(146))))))))(505(931(116(59(337(69(232(190)(936(702(146)(584))(297)))(84))(705))(346))(990))(86(7(999(637(255)(531(966(39(657)(309))(475(946)(290)))(921(137)(207(365)(190)))))(606(510)(494)))(736))(290(231(957)(441))(973))))(947(28)(438(605(487)(720(510(521(32)(73))(452))(333(810(343)(149(90(700)(275))(846(129)(279))))(102(332(717(180)(289))(598))(90)))))(731(825(815)(958))(952(566(37)(250(464(824(982)(941))(906(821)(258)))(421(2)(426(804)(763)))))(567)))))))(860(328(737)(572(891(418(869(988)(777(759(442(243)(618(777)(555)))(743))(436)))(380(200(38)(859(681(763(339)(232))(150(19)(79)))(655(623(270)(906))(988(478)(208)))))(279(50)(725))))(922(78(713(205)(769(378)(523)))(174))(533(780(251(614)(11))(152))(817(270(639)(996(773(671)(201))(648(582)(764))))(203(902)(367(313(692)(707))(767(24)(277))))))))(271(954(460)(166))(536(496(30)(68))(795(97(212(209(114(66)(378))(592(258)(304)))(344))(651(220(176(202)(27))(132(295)(14)))(995(534(284)(640))(474))))(533(471(473(860(422)(549))(357(675)(914)))(834))(515)))))))(103(569)(42)))) +(911(832(222(261(538(20(900(227)(332))(215(547(586(585(955(900)(107))(194(855)(294)))(885))(253(966(330(142)(130))(822))(246(272(242)(618))(61))))(490)))(679(725(978)(817(118)(444)))(12(290)(448))))(38))(803))(502(222(238(520)(628))(747(496(195(669(3)(656(593(846(559)(521))(142(755)(276)))(647(714(281)(761))(401))))(989(349)(381(673)(213))))(458))(308(913)(224(940(425(347)(668(638)(917(27)(243))))(68))(358)))))(797(989(85(372(278)(645))(737(917)(640(428(980)(338(551(172)(20))(609(642)(452))))(637(113(864(299)(366))(796(935)(336)))(944)))))(607(451(525)(739(110)(489(994)(44(563)(821(983)(719))))))(606(855)(804(245(335(886(154)(154))(383))(592(308(590)(837))(231(719)(358))))(749(0(686(862)(307))(921))(402(574(110)(375))(270(102)(888))))))))(803(753(47(746)(936(620(568(701(659)(466))(98))(644(807(375)(8))(309(666)(577))))(23(263)(80))))(67(990(934(731(736(657)(98))(325(260)(8)))(679(355(718)(823))(285)))(207(625)(666(568)(913))))(329(128)(890(266)(642)))))(169(717)(534))))))(61(105(610)(577(26(410(364)(261(866(803)(429(571)(658(906(117)(752))(880))))(262(376)(836(283(189(576)(492))(331(419)(421)))(129(92(256)(684))(337))))))(332(741(627(73)(612(411(275(485)(603))(808))(63(645(972)(263))(737(613)(297)))))(867(21)(903(9(32)(965(496)(197)))(805(60(350)(584))(858(799)(314))))))(940(411(174(807(33)(854(224)(429)))(999(431(853)(91))(429(533)(958))))(161(810(672(896)(158))(592))(290)))(790))))(276(96)(983))))(548(431)(877(810)(437(939(732)(420))(208)))))) +(322(40(406(697)(653(334(763(814(289)(135))(293))(102))(58(294(533(727)(347))(712(881)(953)))(257))))(161(385(597(437)(342(580)(748(296)(560))))(165(522(366(863)(552))(77))(423)))(485(11)(515(970(778)(931(923)(111)))(257(524)(176))))))(480(14(765(513(988(88(236)(387))(349))(810))(570(515(962(395)(197))(888(642)(66)))(718(438(816)(561))(738(884)(490)))))(687(687(230(953(84)(526))(925))(520))(918(543(19(850)(226))(222(388)(723)))(294))))(440(758(576(807(696(75)(573))(791))(187(888(598)(934))(166(545)(284))))(528))(144(666)(895(586)(669(853(875)(600))(495))))))) +(367(144(971(360(303)(884(12(481(748)(36(196(29)(545(549)(407)))(850(529)(425(628)(291)))))(449(386(428)(545(75(267)(378))(924(207)(683))))(994(865(72)(701(333)(46)))(520(229(399)(545))(633(893)(317))))))(367(808)(317(742(273(711(569)(733))(529))(54(164(505)(707))(206(745)(449))))(159)))))(250(722(335(395)(251(297(544(918)(929))(787(405)(648(520)(132))))(834)))(774(534(549(96(738(766)(586))(825))(768(160(984)(680))(931(793)(235))))(506))(94(802(446(93(799)(359))(891(916)(806)))(597(257(188)(940))(951(613)(750))))(687(878(384)(705(235)(812)))(312(195(379)(196))(131))))))(189(829(353(126(193)(852))(625(675)(160(584(174)(616))(612(752)(848)))))(252))(103(288(752(108(38(630)(212))(539(382)(751)))(99(936(569)(271))(262)))(185(844(118(411)(700))(217))(247(734)(6(253)(650)))))(821(829(197(370(390)(887))(386))(480(249(149)(77))(127(213)(385))))(449(370(217(892)(452))(368(65)(677)))(2(865(809)(643))(439))))))))(353(478(506(614(438(646(142(675)(959(422)(194)))(482(353(795)(660))(486(842)(622))))(400(793)(192(393)(689))))(961))(797))(175))(727)))(552(379(762)(386))(184(283(759(522(854(431(7(951(815)(410))(190))(464))(456(527(810(467)(354))(421))(619(423(947)(361))(130))))(753))(771))(144(753(15(322(754(487(589)(211))(961(34)(340)))(567(840)(712(315)(793))))(487))(730))(485(641)(83(407(730(407)(491(642)(473)))(590(125(688)(787))(347(567)(833))))(850)))))(953)))) +(320(876(21(68(322)(964(724(72(115(177)(985))(721(460)(126)))(726(73(505)(83))(32)))(48(713(749(403)(703))(313))(71(180(385)(210))(736(4)(588))))))(435(182(803(311(715(456)(552))(364(142)(273)))(600(261(195)(824))(883(275)(975))))(644(790(410(88)(651))(414))(161(897(315)(899))(646(967)(442)))))(148(559(21(168(932)(659))(889(124)(505)))(168(682(19)(613))(182)))(381(365(692(449)(764))(225(545)(204)))(979(960(380)(449))(360))))))(815(693(658)(793(649(390(14(260)(685))(370))(624))(22(8(492)(429))(715(451(556)(724))(800(294)(455))))))(377(674(221(524)(207))(329(678)(164(928(822)(934))(222(929)(590)))))(354))))(750(338(806)(482(518(943(337)(843(203(804)(965))(294(964)(156))))(791(495)(373(375(460)(228))(334(681)(163)))))(537(233(931)(501(291(249)(436))(802)))(872(649(358(954)(219))(364))(588(301)(310))))))(831(217(471(825(24(856)(286))(613(21)(450(773)(453))))(382))(100))(343(666(6(93(550)(867(622)(999)))(962(267)(454(878)(698))))(549(816(302)(317(619)(115)))(746)))(692(173(897)(632(367(662)(622))(552)))(18(211(301)(436(995)(804)))(281))))))) +(592(880(594(847(551(266)(120(574)(864(677(801)(662))(577(897)(84)))))(724))(738(983)(106(779(592)(784(141)(716(841)(504))))(848))))(434(752)(265(34(352(413(877(529)(879))(163(658)(71)))(138))(969(278(382)(300(671)(602)))(410(181(198)(767))(847))))(580(888)(2)))))(240(977(609(257(46)(855(254(59)(39))(877(646(604)(919))(839(913)(533)))))(496))(84))(786(667(55)(749(47(250)(891))(260(994(277(862)(138))(439(816)(938)))(544(481(140)(950))(374)))))(864(693(988)(676))(334(79)(959(217)(877(190(178)(276))(869(704)(124))))))))) +(294(453(659(644)(625(75(687(802(311(562(830(80)(262))(805(512)(649)))(156))(43))(122(675(428(119(24)(667))(519(704)(777)))(430(185)(56(839)(684))))(814(223(931(634)(490))(987))(719))))(220))(504)))(863(446(366)(319(140)(453)))(1(922(226(744)(260(496)(288(269(639(248)(496))(940(820)(82)))(708(501)(331(341)(558))))))(698(967(864)(386(759(225(868)(953))(381))(727)))(822)))(604(182(667)(411(35(474)(138(205(64)(783))(495)))(995(300(103)(691(101)(524)))(451))))(644(125)(760(429(615(42(754)(595))(571))(526))(486(439)(700))))))))(912(761(407)(337(999)(896(206)(656))))(151(675(400(119(784(634)(800(673)(675(541(889)(282))(883(206)(884)))))(796(372(384(424(622)(397))(279(314)(36)))(24(474)(961(942)(409))))(343(683(17)(931(75)(284)))(328(29(525)(133))(5(236)(222))))))(882(697(466(727)(844(932)(555(87)(430))))(155(424(551(219)(924))(460(117)(245)))(321)))(35(665(249(6(482)(24))(454))(319(690(802)(430))(946(78)(338))))(67(597(787(162)(675))(653))(678)))))(784))(607(636(561)(505(630)(805)))(743(256)(87)))))) +(346(966(18(883(832(888)(759(549(782(505)(828))(571(341)(645)))(886(375(950)(506))(335(875)(949)))))(22))(357(44)(553(510(856)(488))(587(830(736(408)(864))(114))(864(354(635)(747))(667(774)(211)))))))(725(969)(166(970)(702(747(226)(340(830(371)(296))(496)))(139(765(688)(910(574)(298)))(739(830(817)(798))(809(359)(500))))))))(125(428(389(987(169)(738(678(422(414)(999))(941(852)(303)))(108(942(281)(277))(773))))(401(999)(559)))(655))(73(471(450(836)(18(253(124)(399(105)(736)))(532(510(243)(699))(575(444)(66)))))(834(784(2(345)(22(469)(6)))(752))(258(692(398)(311))(507))))(952)))) +(667(914(684(859)(730(220)(948)))(910(271)(191(644)(433))))(519(915(45(762(253)(94(314)(576)))(652(233)(73(916(511(682)(135(648)(428)))(598))(744(555)(28(516)(19(69(838(575)(40))(792(657)(600)))(210)))))))(998(729(308(520(698)(442(905(398(117(361)(809))(161))(119))(975(273(576)(919))(432(65)(95(264)(770))))))(560))(717(337)(761(491)(366(96(662(754(619)(579))(144))(679(597(724)(594))(876(522)(288))))(436(688(711(115)(861))(134(708)(170)))(533(546)(821(870)(672))))))))(745(109)(633(895(860(614)(735(256(112)(764))(796(237(390)(368))(917(834)(250)))))(184))(844(887)(346(789)(717(854(173(45)(943))(150))(941))))))))(791(669(799(419(874)(732(362)(225)))(981))(185(844(185(474(192(741)(722))(650(981(130(196)(307))(377))(774)))(33(848)(507(532)(33(328(407)(276))(153)))))(809))(189(393)(528(180(328(571(791)(36(154)(896)))(212(632)(153)))(167))(594(184(440(766(727)(683))(508(810)(675)))(966(537(188)(977))(888(65)(80))))(60(618(105)(290(312)(996)))(441)))))))(35(516)(883(805(920(240(382(684)(762(87(743)(5))(936(19)(190))))(697(321(41)(929(905)(934)))(776(919(957)(276))(267(900)(350)))))(136(431(822(272)(708(426)(653)))(592(743(778)(378))(758(689)(302))))(125(816(308)(332(18)(515)))(263))))(775))(501)))))) +(261(541(634(380)(941(594(171(633)(277(387(550)(52))(443(391)(261))))(510(608)(269)))(349)))(835(610(279(127(977(650(378)(442))(75(496)(891)))(298(95)(268(78)(687))))(403(883(529(346)(934))(497(487)(782)))(119(67)(868))))(890(783(160(620)(450(284)(239)))(16(636(194)(139))(207(535)(599))))(699(188)(901(570(774)(770))(554(144)(555))))))(457)))(701(605(235)(856(681(935(763(941(904)(584))(909))(68(409(832)(111))(823(860)(779))))(516))(83(370(831(471(906)(294))(788(673)(824)))(662(772(59)(624))(825(641)(135))))(762(131(644(280)(83))(603(328)(626)))(153(719(667)(451))(770(422)(245)))))))(984(912)(367(540(428(262(926)(65(505)(442)))(955(833(52)(62))(88(720)(865))))(718(442(65(310)(255))(418))(765(179(745)(43))(329(2)(667)))))(118(780(145(38(577)(460))(476))(281(606(957)(833))(984(262)(581))))(492(40(797(343)(98))(146(513)(642)))(577(730(740)(205))(725(997)(546))))))))) +(410(55(51(490(832)(240(429(150)(916(745(204(691)(932))(548(499)(124)))(155)))(90(638(720)(837(827)(600(792)(321))))(603))))(362))(540(88)(459(935(926)(791(128(868(480(402)(255))(51))(478(753(309)(195))(109)))(423(976(621(769)(842))(94))(875(230(42)(772))(483(706)(492))))))(48))))(634(200(825(804(990(978(896)(979(258)(380(380)(498))))(485(54(314)(410))(470)))(686(381(689)(608(937)(192(134)(591))))(952(363(936(169)(486))(771(251)(16)))(122(849(49)(931))(892(996)(97))))))(749(55(497(839)(774(27(648)(343))(46(53)(730))))(711))(569)))(20(358(833(164(857(612(578)(598))(523(440)(769)))(363))(398(111(719(394)(271))(703(912)(463)))(518)))(215(108(467(567(744)(829))(727(77)(723)))(788(57(741)(186))(226(774)(484))))(946(361)(966(29)(29(589)(534))))))(586(238(482(422(894)(261))(315(435(155)(578))(221(864)(622))))(429(398)(255(468(36)(989))(988(560)(926)))))(534))))(729(258(693(145(707(319(674(921)(194))(944(407)(268)))(837(131)(243(616)(881))))(107(899)(348(596(356)(108))(81(131)(66)))))(683))(996))(111(846)(582))))) +(99(760(785(571(577)(217(137(82)(937(453(48(930(388)(227(302)(687)))(848(99(689)(298))(253(856)(179))))(573(644)(695(244)(892))))(838(618(932(807)(896))(107(379)(228)))(367(692)(359(954(973)(794))(890))))))(329(159(633)(654(342(832(930(670)(194))(743))(641(418)(787)))(170(866(94(307)(173))(924(592)(277)))(82(22(460)(239))(333(965)(726))))))(921(995(895(836(212(176)(801))(637))(206(427(476)(738))(330(984)(470))))(647(837(313(892)(182))(524(176)(613)))(265(258(549)(482))(962(846)(519)))))(145(241(290(130(857)(538))(871(325)(7)))(680(140(205)(38))(97(381)(898))))(460(352)(601)))))))(277(857)(137(476(325(243(156(228(916(764)(602))(968(393)(220)))(805))(362))(875(947)(272(350(984(815)(762))(971(593)(691)))(272))))(799(595)(839)))(422))))(665(894(461)(544(880(888(719)(631(215)(829(714(488(129)(941))(628(169)(722)))(830))))(601(934(958(479)(614))(570(988(223)(503(104)(479)))(522)))(575(580(324(873)(158(81)(855)))(549))(701(113(767(545)(454))(164(282)(49)))(807)))))(238)))(91)))(115(46(641)(825(196(418(307(173(550)(152))(400(48(954(18)(965(485)(576)))(271(355(334)(549))(177)))(335(435)(472(94(932)(155))(215(523)(230))))))(473))(885))(635(365(341(835)(774(707(499)(144(757(691)(704))(534(106)(815))))(912(59(101)(301))(636(144(882)(103))(385(10)(687))))))(868))(516(395(321(472(104)(716(639(4)(497))(993)))(838(114)(131(217(588)(944))(780(889)(449)))))(471(927(76(505(729)(58))(929))(749(748(566)(729))(647(758)(285))))(300)))(733)))))(877(978(308(818(493(884(803(97)(62(395)(940)))(312))(461(526(77(520(48)(590))(906))(456(365(901)(264))(65)))(968)))(273(659(782(281(152(65)(953))(944(772)(75)))(976(55(925)(508))(526)))(827(134(673(309)(518))(696(629)(905)))(251)))(307)))(263))(471(447)(5(97(308)(729))(282))))(966(890)(86(977)(32)))))) +(252(556(259(58)(553))(252(553)(232(286(10(126)(654))(949(515(557)(242))(697(346)(638))))(430(704(806(516)(222))(70))(910(287)(865(848)(419)))))))(687(3(95(405)(888))(14(14(223(573)(551(689)(5)))(542(702)(22(211)(237))))(723)))(262(266(274(700(62)(493(640)(496)))(528(397(40)(245))(954)))(87(474)(427(813(916)(650))(916(841)(575)))))(750)))) +(734(442(130(617(578(626)(752(449(907)(888))(610(118)(316))))(538(231(597)(897(537)(299)))(731(776)(41(672)(511)))))(13))(398(303(972(266)(556(660(351)(638))(458)))(767(887)(353(133(152)(801))(997(856)(957)))))(6(427)(351(902(788)(27(105)(580)))(908(953(689)(465))(312))))))(517(963(20(792(287(566(423)(378))(73(727)(642)))(98(685(171)(69))(923(661)(989))))(436(355)(272)))(744))(91(667(164)(665))(473(70(610(431(127)(902))(84(177)(801)))(115(877(472)(927))(187)))(891(48(694(322)(821))(715))(216(509(513)(17))(896(619)(122)))))))) +(655(558(864(315(611(210)(547))(76(24)(409)))(596))(60(797(274(702(902)(307(800(642)(275))(494(625)(30))))(726))(949))(542)))(564(203(155(11(306)(992))(946(509(813)(645))(918(350(866)(815(357)(867)))(234(443(452)(253))(589(587)(407))))))(148(82(829)(878(61(110)(241))(763)))(198)))(485(111(829)(706(36(448(25)(781(963)(304)))(643(514(128)(709))(791(500)(161))))(460(202(250)(96(206)(405)))(736(65)(553(868)(296))))))(447)))) +(728(760(302(553(753(145)(709(773(337(932)(761))(456(991(317)(912(929(589)(132))(136(893)(192))))(511)))(935(817)(493(546(950)(37(841(811)(936))(355)))(356)))))(849))(991(398(963(324(547(382)(655(704(696(471)(166))(483(795)(146)))(517(462)(665(324)(880)))))(456))(628))(659(7)(669(347(921(653)(660(509(183)(903))(55(697)(251))))(575(318)(830)))(332))))(372(932(994(810(431)(683(137(700)(770(147)(52)))(946)))(336(580(43(954(517)(29))(568))(318(185(677)(107))(586(318)(926))))(108(412(802(33)(128))(173))(834))))(764))(603(60(877(248(613(571(833)(126))(357(290)(333)))(617))(671(384(12(39)(452))(752(137)(561)))(181(288(684)(929))(730(693)(961)))))(866(22(883(312(867)(159))(114))(901(37(956)(619))(190(436)(152))))(504(620)(538(686)(417(31)(758))))))(864)))))(891(369(935(818(949(141(258)(82(98)(99(385)(157(860)(651)))))(997(677(205(959(35)(78))(145(919)(470)))(121))(465)))(946(26(815)(607(298(971(615)(851))(685(892)(541)))(827(956(253)(784))(833(657)(389)))))(352(966(314(53(346)(468))(141(957)(208)))(170(32(873)(985))(511)))(94))))(780(353(609(87(365)(421(103(836)(15))(894(665)(214))))(171(201(441)(682(857)(312)))(259(291)(668(176)(592)))))(269(244(927(672(642)(333))(32))(877))(562(325(62)(875(68)(796)))(530(933)(259(756)(690))))))(595(895(456(543(919(226)(578))(890(158)(379)))(117))(907))(308(202(34(150(807)(241))(590(100)(877)))(980(137)(955(826)(732))))(106(650(929(326)(631))(780))(940))))))(19(1)(998(893(516(140(24(28(900)(149))(926(387)(913)))(484))(106))(789))(689(953)(679)))))(141(718)(500(603(801)(285))(781)))))(376(250(810)(68))(659(99(184)(776(822(553(548(345(181)(571(169(224)(644))(790(575)(939))))(62))(598))(718(283(711(929(678)(519))(628))(762(146(421)(514(289)(602)))(347(135(126)(683))(764(653)(588)))))(804(486(872(523(70)(247))(693))(230(33)(767(629)(956))))(430(48)(13)))))(59(717)(249(211(94(581(26)(424(568)(890)))(162(980(738)(64))(892(563)(879))))(10(623(450(87)(53))(836(981)(705)))(375(658(481)(49))(887))))(798)))))(617(178(728(646)(543(454(95(131)(377(152(406)(54))(654(155)(835))))(787(731(61)(785(354)(215)))(100(10)(692))))(399(569(790(330(351)(218))(868))(681(622)(66)))(443(993(524)(876(741)(557)))(59)))))(388(680(988)(167))(255(761(181(195(250)(903(457)(290)))(374))(352(194(911(972)(331))(2(746)(139)))(914(750(312)(991))(594(744)(773)))))(380))))(730(867)(241(745(933(904(916)(616(398(0)(95))(10(158)(642))))(816))(120(267(931)(466(821(528)(222))(567(376)(668))))(200)))(811(285(1(894)(719(972(379)(650))(422(994)(10))))(239))(120(259)(748(61(521(426)(755))(344(181)(600)))(640)))))))))) +(502(740(856(332(132(113)(964(502(925)(22))(195(997)(705))))(771))(385))(107(790(771(677)(639))(663))(861)))(728(986(362(559(524(720)(458(853)(589)))(450))(21))(993(230(581)(157(206(957)(270))(190(686)(205))))(327(374(769(571)(776))(143))(754(192(215)(393))(827(307)(951))))))(159(731)(924)))) +(79(999(151(586)(56))(631(606)(400(276(881)(748))(952(641(701)(249(281(821)(661))(554)))(881)))))(829(963(946(373)(604(377(805)(372))(828(243(665)(373(342(72)(998))(979(68)(247))))(938(98(802(105)(597))(570))(550)))))(667(468(442)(626(444)(580(337)(553))))(830(597)(151))))(898(58(404(235(325(888(251(574)(961))(687))(28(845(313)(977))(297(638)(240))))(868))(712(410(699)(447))(577(462(786)(870))(423))))(206(437(129(905(711(407)(298))(14))(635(201)(627(226)(135))))(781(646(384)(263))(590(454(77)(235))(145))))(996)))(6)))) +(896(250(11(658(389(504)(159(576(920)(836))(608)))(617(31(997(648)(647))(392(859)(846)))(855(513)(326))))(321(715(446)(929(908)(839(815)(337))))(590(338)(743(7)(446(28)(385))))))(439(838(14(736(256(177)(398))(866(653)(23)))(395))(953))(51)))(229(970(93(380)(999(251(339)(711(915)(300)))(428(472)(810))))(379(392(551)(86(700(593)(546))(788(897)(477))))(385)))(253(98(648)(717(642(196(749)(213))(736(395)(250)))(814(44(223)(990))(249(894)(338)))))(516)))) +(29(594(488(63)(746))(997(110(76(330)(579))(730(965(779(201(95)(14))(80(551)(760)))(577(329)(780)))(616)))(505(784(610(481)(452))(472(533(782)(961))(777)))(623(301(677)(803))(706(261(703)(718))(303(503)(556(618)(747))))))))(612(840(65(588(991(385)(203))(848))(571(301(224(260(518)(321))(222(237)(881)))(763(41(927)(59))(826(16)(249))))(816(209(912(74)(57))(18(343)(378)))(399(694(784)(523))(525(825)(903))))))(901))(729(749(4(329(515(382(80)(183))(25))(495(884(167)(284))(413(151)(864))))(477(603(144)(188(631)(341)))(790(897(334)(473))(1(163)(818)))))(500(299(749(922(601)(775))(751(832)(830)))(405(83)(222)))(33(167(664(340)(920))(163(824)(126)))(581(709)(861(373)(559))))))(568(94(697(229(785(497)(393))(214))(704))(121(969(28(444)(583))(870(254)(618)))(685(159)(284))))(194(22)(26(996(70(122)(769))(987))(464(598(601)(319))(192(912)(166))))))))) +(662(884(946(656(795(367)(60(626(56(704(241(740)(45))(465(122)(207)))(260(708(589)(916))(245)))(593(465(322(753)(630))(448(285)(451)))(481(321(78)(746))(413(145)(477)))))(602(942(217(176(456)(666))(2(503)(253)))(670))(948(510)(587(432(335)(533))(451(743)(224)))))))(376))(40))(868(453(680(795(788(284)(422(1(109)(805(750)(298)))(427)))(674(350(364(613(881)(33))(629))(812(891(135)(886))(263(625)(482))))(740(482)(520(591(821)(224))(774(670)(78))))))(379(101(743(867(548)(429(315)(984)))(267))(767))(827(724(212(516)(8))(229(980)(260(239)(229))))(383(883)(888(12(479)(527))(666))))))(751))(716(573(997(926)(67))(554(461)(3(12(974(840(997)(788))(907))(363))(604(787)(435)))))(550(958(475(968(866)(704(702(357)(59))(313)))(51(355)(119(352(669)(423))(673(389)(56)))))(255(484(316(545(468)(112))(501(649)(513)))(83(33)(542)))(754(343)(950(390)(393(659)(163))))))(736)))))(771(765(521(11)(16(437(352(570(461(608(433)(476))(907(805)(167)))(674))(453))(959(389(861(22)(685(23)(76)))(807(955)(438(32)(133))))(401)))(229(919(152(942)(673(393(391)(330))(213)))(274(408(447(491)(581))(324(26)(526)))(425(88(315)(420))(427))))(838(613(728(584(122)(435))(693(621)(393)))(809))(750(309)(332(772(922)(127))(436(238)(229))))))))(50(350)(312(609)(925(389(781(451(935(311)(368))(377(896)(777)))(811(641)(66)))(437(828)(420(48)(42(853)(938)))))(337(787)(288(487(313)(544))(68(394)(685))))))))(817(496(397(594(930)(119(720(49(785(418)(298))(826(508)(605)))(912(444(16)(411))(227)))(304)))(970))(14(176)(959)))(145(81)(161(895(378)(5(58(839(10)(508(542)(227)))(85))(261)))(616(861)(958(245(934(570(895)(102))(721(125)(311)))(631(544(51)(699))(191(290)(948))))(765(287(411)(202(241)(876)))(62(104)(238(654)(993))))))))))) +(801(628(263(35(303(401(417(942(141)(222))(426(527)(124)))(836(913(853)(773))(688(908)(220))))(430))(306(572(505)(183(888)(880)))(208(92(154)(137(0)(600)))(736(206(888)(450))(326(789)(114))))))(735))(304(942(393(892(984)(507(588(516)(99))(734(784)(999))))(925(446(612(752)(353))(339(730)(676)))(89(231)(685(461)(609)))))(828(268)(76(686(557(499)(177))(77(917)(18)))(266(24(934)(910))(837(226)(895))))))(948(666)(748(198(100)(994(592(637)(434))(253(858)(804))))(433(532(357(83)(145))(635(371)(995)))(144))))))(137(597(929(62(422(717(816)(301(638)(25)))(123))(132))(404))(843))(471(146)(536(896(822)(959(769(172)(284))(853)))(156))))) +(704(294(634(743(365(112(182)(488))(675(586)(822(968)(278))))(809(481(679(389)(765(73(810(782)(989))(286(445)(390)))(51(327(509)(350))(208))))(854(85(760(375(915)(954))(626(168)(243)))(61(83(786)(785))(709)))(73)))(133)))(178))(318(177(501)(316(621(364(447(980)(24))(546))(383(799(854(790(130)(963))(775(657)(30)))(30(222)(614(789)(874))))(630)))(371(710)(792(144(883(273(497)(162))(257(992)(463)))(767(614(324)(371))(566(43)(219))))(992(649(282(900)(797))(844))(462(53)(617(527)(139))))))))(698(272)(177))))(304(197(683(442(533(947(664)(253(212(679(858)(74))(158))(269)))(862(678(177(631(90)(180))(956(748)(755)))(322(373)(451(838)(371))))(792(851(715(302)(179))(609(732)(161)))(213(524(563)(746))(710)))))(264(106(251)(130))(774(285(24)(55(685)(618(783)(621))))(40(329)(244)))))(661(219(615)(808(314)(899(749(933(595)(432))(855(799)(882)))(706(231)(345(614)(238))))))(520)))(986))(997(730)(806(911(495)(292(255(29(379)(243))(473(319(740(719)(49))(697(820)(419)))(173(526)(251(513)(817)))))(13(284(83(602(470)(421))(752(432)(0)))(276(495(536)(675))(150(124)(534))))(510(857(502(721)(476))(649))(922(784)(440(721)(991)))))))(354(938(736(750(196(804(315)(124))(203(502)(810)))(838(416)(346)))(627(401(618(717)(468))(213(703)(163)))(637(101)(428(622)(153)))))(284(972(11(917(902)(317))(561(50)(289)))(597(663(742)(687))(772(688)(32))))(563(618)(38(9(236)(225))(905)))))(22)))))) +(503(796(915(843(514)(392(618(218)(289(733(709)(229))(408)))(206(25(93(680)(891))(391(268)(964)))(66))))(265(889)(157)))(808(302)(727)))(824(403(31(16(314)(465(474(604(6)(414))(294(246)(728)))(718(326)(51))))(832(910(174)(181(38(750)(199))(762(760)(980))))(864(229)(333(493)(391)))))(960(798)(336(437(587(299(294)(41))(349(227)(906)))(371(517(965)(226))(449(500)(51))))(807))))(544(194)(642(620(325(743(829(151)(700))(802(619)(173)))(345(689)(572(540)(28))))(290(675(515(309)(124))(330(847)(385)))(626)))(730(826)(413(797(807)(170(185)(885)))(217(851)(531(548)(493))))))))) +(840(452(552(6(903(632(381)(113(399)(353)))(180(504(121)(825))(605(57)(407))))(840(651)(1(387(358)(755))(520(647)(962)))))(837))(356(759(533(731(160(228)(548))(522(225)(461)))(379(156(667)(777))(438(200)(572))))(211(19(184)(863(928)(237)))(326(221(829)(867))(765(709)(743)))))(446)))(994(332(763(683)(957(821)(313)))(223(362(645(270)(921(232)(281)))(926))(133)))(957(736(851(236(848)(741(706)(90)))(378))(405(989(696)(884(995)(991)))(179(805(420)(464))(49(627)(88)))))(362)))) +(179(734(868(218(212(776(704(477)(639))(237(325)(127)))(821))(449(449(502)(362(680)(613)))(998)))(170))(648(331(736(47(325)(215))(375(134(607)(384))(273)))(517(570(665(93)(752))(826(230)(480)))(814(952(960)(644))(632(139)(675)))))(797(918(761(658(273)(628))(993(585)(874)))(307))(862(680)(138(596)(705))))))(904(144(251(620(467(185(431)(795))(668(398)(398)))(134(929(539)(451))(236(724)(555))))(989(824(562(471)(601))(101(210)(14)))(444(301)(755(127)(384)))))(684(524(676(95(460)(605))(323(717)(269)))(99(243(31)(875))(634)))(977(738(92(828)(581))(478))(340))))(534(584(838(641(516(405)(334))(220))(423(913(140)(593))(271(269)(499))))(594(534(646(475)(358))(252(94)(385)))(697(771)(542(353)(108)))))(744(867(396(225(788)(433))(933(406)(416)))(16(933)(52(78)(290))))(327))))) +(568(749(107(784(197(580(979(980(336)(392))(597(80(101)(315(188)(179)))(941(482)(821(112)(546)))))(745(316(209)(308(582(665)(745))(253(177)(756))))(797(487(403(234)(640))(190))(296))))(632))(537(879(442(236)(58(303(947(684)(262))(704(31)(990)))(543)))(269(276)(632(578(127(319)(409))(113(311)(284)))(964(572(811)(170))(573(932)(446))))))(305(789(70(96(401(592)(151))(76(832)(759)))(352(663(7)(144))(768)))(14(34(457(618)(808))(75(956)(915)))(178(370(189)(409))(938(947)(920)))))(258))))(642(876)(902(735)(710(761(318(236(504(974)(113))(222(96)(616)))(982(577(761)(920))(940(420)(725))))(622(863(578)(291(806)(307)))(527(711)(978(860)(220)))))(191(228(758(745(221)(774))(57(85)(400)))(40))(509(979(28(93)(60))(868))(26)))))))(650(237)(47(502(956(563(630)(48))(30(764(652(327)(282(412)(817)))(456(96(400)(395))(685)))(608(732)(96(659(268)(696))(329)))))(499))(121(392(495(681(759(330(214)(297))(42(826)(18)))(462(939(25)(442))(13(879)(859))))(640(751)(442(855(234)(468))(512(474)(408)))))(51(282)(68)))(730)))))(822(176(180)(691(521(676(830)(81))(897(889(898(10(691(236)(482))(468(304)(218)))(517))(725))(87)))(833(84(456(79(656(101)(293(433)(880)))(0(91(915)(280))(118)))(213(696(816(385)(582))(955(460)(622)))(298(667(868)(590))(859(984)(301)))))(932(621(69(543(89)(959))(678))(932(995)(367(585)(912))))(243(768)(970(890(397)(50))(175(463)(858))))))(870(987(902)(793(245(598)(181(556)(741)))(794(566(606)(23))(144(974)(113)))))(616)))))(138(294)(817(682(23(686)(621(57(469(0(165)(458))(939))(744))(679(359)(520))))(951(20)(720(919(382(346(227)(563))(581(75)(737)))(526(492)(988(338)(481))))(173(801(534(421)(997))(908(513)(767)))(85(837(577)(754))(705(300)(246)))))))(622(93)(794)))))) +(266(36(732(651(967(999(294(444)(272(901(19)(737))(594(832(563)(42(679)(909)))(148(118(773)(289))(526)))))(414(771)(927(577)(635(596(874)(466(507)(186)))(346(474(418)(696))(971))))))(260(379)(173(984(25(366(498(711)(978))(364(704)(854)))(762(23(32)(186))(917(149)(719))))(72(512(995(492)(156))(14(495)(633)))(998)))(605))))(495(699(164(979(526(591(250(153)(373))(546))(846))(426(550(788)(463(224)(467)))(969(398(940)(166))(613))))(36(335)(595)))(587(490(34(161(73(888)(542))(470))(130(181(193)(24))(161(893)(422))))(752(518(71)(23(578)(863)))(533)))(122)))(296(278)(615(942(85)(441(16)(697(318(947)(602))(831(979)(926)))))(261(121)(291))))))(819(241(391(454)(879(5)(324(237(914(760)(805(885)(486)))(980(85(457)(481))(938)))(48(765(928)(240(394)(904)))(266(783(956)(362))(685(376)(530)))))))(683(640(334(300(772(941(271)(847))(415(314)(412)))(263))(843(180)(911)))(540))(883(879)(819(430(396(526)(335))(846(605)(538(620)(83))))(713)))))(33(614(141(577)(590(375(538)(974(784(190)(123))(995(274)(790))))(650(631(541(891)(107))(8(885)(327)))(539(508(933)(962))(217(890)(312))))))(375(520)(6)))(871(99(711(314)(153))(296(390(479(924(23)(284))(148(766)(244)))(1(366(838)(291))(854(911)(781))))(848(436(802(268)(956))(960))(330(145)(443(353)(67))))))(586)))))(74(417)(74(376(879)(784(271(992(843(220(184(444)(568))(36))(741))(557))(150(125(825)(281(40(20)(389))(913)))(46)))(834)))(405(321(937(729)(288))(445(388)(273(256(13(792(38)(649))(661(257)(329)))(174(899(701)(264))(47(350)(452))))(251))))(534)))))(224(431(869(877(17)(95(83)(695)))(718))(276(647(181(41(120(209(119(472(305)(496))(843))(483(171(657)(179))(448)))(390))(352(671(628(805)(454(927)(952)))(210))(262(800(565(702)(260))(664(510)(486)))(317(364)(34(303)(396))))))(622(778)(546)))(279(356(613(947(910(626(806)(708))(59(769)(630)))(984))(996(1(739(449)(386))(986(917)(915)))(204(680(921)(507))(868(468)(661)))))(576(965(935(727)(26(447)(89)))(321(976)(119)))(519(877(779(687)(322))(25(993)(430)))(356(903(109)(181))(189(220)(490))))))(78(404(644(271(682(417)(470))(405(327)(430)))(265))(444))(123))))(622(691(292(881(549(561)(496(198)(654)))(744))(541(7(580)(671(313)(426(679)(687))))(735(399(351(321)(671))(82))(487(690(811)(847))(377(638)(860))))))(817))(319))))(766(841)(499)))) +(626(134(15(117(906(278(110(566(407)(722))(589(365)(624)))(369(320(87)(483))(48(751)(540))))(950))(838(545(505(280(807)(853))(205(216)(880)))(676(457)(302(892)(608))))(49(195(357(477)(32))(999(846)(699)))(257))))(286(981(205(616(990)(21(578)(527)))(545(297(93)(389))(811(516)(875))))(257(880(741(736)(861))(236(64)(430)))(823(767(687)(308))(9(748)(879)))))(487)))(297(102(157(10)(105(433(254)(90(304)(472)))(687(456)(72(32)(180)))))(378(25(328(109(616)(959))(443))(918(732(581)(984))(66)))(517(655)(110))))(977(16(516(631(217(501)(201))(976))(985(866(571)(698))(176(351)(764))))(336))(93(759)(623)))))(718(274(97)(88(626)(107)))(165(127(78)(167(282(76(584)(294))(906(993(55)(526))(840)))(182(671)(753(535)(946(22)(895))))))(340(190(669(411(464(848)(239))(647(706)(187)))(772(41(64)(756))(849(239)(747))))(840))(224(614(36(233)(326(721)(879)))(344(62(284)(203))(614)))(504(247)(386(995)(110(167)(203))))))))) +(594(992(560(64(251(42(7)(36(23(104)(603))(433)))(369(715)(178(37(261)(975))(837))))(286(953(606(312(5)(284))(957(26)(138)))(808))(321)))(759(516(658)(464(898)(363)))(22(23(446(268)(784(31)(954)))(184(830(267)(797))(857(194)(426))))(670(474)(140(636(726)(787))(333))))))(924(299)(704(447)(316(215)(866(642(828(382)(151))(562(66)(570)))(418(719)(688(575)(748))))))))(348(533(241)(860))(307(908)(199(876(317)(465(426(630(378)(349))(528(21)(912)))(599(267(847)(809))(76(10)(98)))))(441(913(175(466(268)(953))(790))(157(862(974)(809))(925(888)(863))))(504(746)(500(982)(350)))))))) +(642(19(981(379)(316(85(903(548(115(551)(876))(664))(352(794(137)(88))(772(668)(719))))(63(691(694(741)(9))(149(573)(921)))(258)))(573)))(283(776)(59(392)(955(240(754(601(272)(194))(822(217)(944)))(998(646)(219)))(342)))))(18(532(86(215(289)(413(226(484(569)(835))(922))(589(728)(0))))(480))(263))(511(11)(32(406(519)(788(221(22(940)(577))(541))(772(247(721)(991))(785(600)(751)))))(526))))) +(178(616(609(309)(215(292)(626)))(359(579(620(220(904)(225(461(859(351(80)(187))(535(511)(72)))(568(118(733)(817))(334(284)(875))))(283(862(486(210)(510))(877(137)(991)))(652(382(576)(674))(0)))))(185(665(824)(819(939(803)(937(650)(400)))(510)))(179(790(394)(622(174(417)(421))(774(689)(888))))(434(38(138)(771(360)(641)))(893(798(539)(613))(298(866)(381)))))))(559(769(524(529)(290))(57(808(141)(365(780(563)(279))(543(504)(11))))(751(904(367)(20(380)(620)))(743(705)(347)))))(886(620(908(473)(936))(170(924(569)(243(447)(569)))(161)))(575))))(933)))(942(519(24(641(38)(687(672(43(811(859(595)(531))(716(930)(414)))(622(864(164)(754))(174(308)(767))))(533(626)(429)))(829(688(634(716(391)(950))(944))(798(63(912)(955))(558(155)(26))))(878(952)(973(409)(885))))))(691))(287(836(912)(492))(627(819)(41(738(808(777(696(203)(801))(18(126)(882)))(583(433(695)(57))(430(905)(841))))(882(301)(829(425(909)(710))(903(86)(454)))))(661)))))(378(575(329(634(341(401(108(409)(918(314)(866)))(40(436)(841)))(940(409)(832)))(741(817(481)(563(464(210)(163))(19(651)(653))))(212)))(484))(396(701(600(967(812(858)(762))(753))(13(834(386(632)(272))(523))(695(400(316)(316))(748(845)(442)))))(240(7(910(636(942)(862))(582(110)(696)))(523(951)(725(782)(751))))(12(971)(390(11(650)(996))(834)))))(665(363(322(246(666)(544(356)(317)))(233(122)(245(176)(101))))(820))(809(626(933(0(570)(762))(892(180)(72)))(294(28(863)(135))(305(552)(965))))(465)))))(777(810(172(436)(847(828(385(838(836)(379))(987(692)(580)))(149))(66)))(362(474(436(581)(549))(360(347(199)(956(898)(53)))(700(299)(830(926)(525)))))(441(713)(946))))(317(42(378)(226(789(806(451(198)(859))(570(233)(468)))(508))(596(114(95)(233))(865(454)(444(252)(674))))))(940)))))) +(921(84(278(331(133)(942))(173(139(406(314(510)(656))(963(307)(503)))(370))(815(143(4)(168(123)(613)))(62))))(203(857(641(309(868(773)(697))(475(183)(97)))(316(767(256)(959))(319(475)(27))))(192(49(733(155)(755))(142(568)(654)))(841)))(572)))(914(311(813)(148))(55(545(880(480(257)(567(94)(150)))(779))(502))(731(988(21(644(298)(105))(164))(179))(676))))) +(444(439(690(270(836(864(967)(763(222)(329)))(213))(797))(257(709(12(937(555)(544))(442(236)(649)))(264(878(843)(689))(869)))(911)))(622(313(737(337(254(264)(645))(561(40)(891)))(966(742)(892(967)(14))))(979))(772(646(650(451(368)(983))(479))(25))(907(837(368(326)(446))(715))(962)))))(639(589(860)(180(72)(680(231)(120(445(607)(613))(121(840)(90))))))(160(984(669(288(898)(191))(989(572)(889(232)(867))))(301(969)(623(541(815)(624))(252(316)(879)))))(560(702(38(97(980)(394))(958))(204(583(659)(402))(39(752)(412))))(416(756(252(49)(837))(954(640)(605)))(731)))))) +(193(527(973(446(167)(603(268)(451(599(412(24(368)(885))(568))(215(647(523(393(105)(404))(354(539)(911)))(378(752(46)(581))(827)))(942(504)(154(802)(635(464)(350))))))(170(830(269)(312(857(76)(734(378)(158)))(256)))(580)))))(267(14(264(906(760(207(897(421(335)(523))(633(687)(481)))(966))(485))(918(826(914(343(962)(503))(47))(550(228)(243(944)(993))))(50(407)(608(433)(903)))))(413(651(939)(48(385(128)(583))(218(188)(900))))(920(960(589(434(464)(281))(573(542)(672)))(807(62(280)(129))(770)))(361(645)(962(403)(562(193)(894)))))))(990))(529(305(560)(623(935(36)(711))(221(322(969)(161(405(534)(603))(869(966)(249))))(185))))(497(410(689)(642))(316(749)(534(149(306)(678(935(278)(890))(155(923)(724))))(869(210)(734(511(637)(147))(220(606)(871))))))))))(866(379(198(422)(589(197(156)(569))(770(689(474(600(312(382)(477))(534))(155(84(313)(343))(890(445)(313))))(808))(879))))(435))(613(579)(120(432(14(714)(491))(868))(861(844)(93))))))(535(657(983(508(158(630)(970))(455(100)(168(676(890)(353(986(401(658)(935))(213(672)(265)))(201(472(553)(536))(476(397)(793)))))(368))))(277(418)(354(897)(779(267(762(700)(305(758(183)(611))(152(567)(653))))(680))(304(395(622(26)(425(792)(148)))(307(50(378)(212))(582)))(508))))))(993))(210(681(23(536)(811(445(152(671(22(896(856)(73))(594(538)(80)))(948(36)(842(220)(411))))(251(135(395)(86(201)(137)))(107(665(935)(305))(445(174)(915)))))(611(145(406)(713(181(558)(258))(339(736)(794))))(783(54(427(674)(640))(404))(776))))(670(422)(935(422(331(433)(24(654)(549)))(394))(669(754(656)(801(512)(248)))(666(904)(299)))))))(733(48(986(260(205)(362(950(590(896)(901))(773(142)(382)))(517(755)(766(795)(340)))))(137(690)(367(955)(680))))(868))(869(18)(666(342(804(806(339)(292))(482(232(420)(276))(764(949)(455))))(28(43(374(142)(542))(202(158)(62)))(570(811(330)(105))(304))))(375(209(464(737(669)(457))(311))(505(514)(586)))(322(338)(535(843(157)(824))(801(342)(497)))))))))(485(346)(882(801)(250(638(316(4(849)(288(241)(757)))(169))(572(308(502(254)(558(744)(699)))(972))(55)))(738(154(89(736)(997))(983(884)(448(498(885)(454))(840(187)(49)))))(276(791)(107(112(550(24)(109))(889))(199(888)(679(917)(585)))))))))))) +(150(648(364(555(790(992(428(668(860)(521))(80(317)(177)))(143(871(753)(617))(760)))(707(782(739(605)(358))(213))(293)))(888))(357(79)(486(546(774(596(984)(73))(655(494)(0)))(232))(845(626(85)(673(526)(423)))(234)))))(677(471)(157(898(135(764)(913))(684(303)(711(687)(94(465)(755)))))(416(585)(215(156)(196(964(54)(268))(227(901)(815))))))))(667(295(574(535(609(969(843(901)(978))(85(551)(696)))(467(971(263)(585))(910)))(958(64(514(956)(91))(967))(343(820(388)(733))(672(811)(411)))))(594(827(705(658(740)(415))(220(438)(821)))(372))(380)))(995(950(887(468(794)(644(81)(393)))(743(918(64)(297))(615(737)(662))))(714(646(160(22)(477))(238(595)(934)))(655(419(995)(494))(275))))(19(934(287(350(995)(526))(815(287)(700)))(657))(217(258(548(492)(234))(0(609)(129)))(623(910(407)(90))(819))))))(448(210(802)(488))(763(93(194(276(440)(39(349)(137)))(683(561)(286(765)(324))))(968(196(849(282)(451))(803(247)(949)))(201(163(554)(469))(641))))(92(687(281)(193(780)(745(44)(376))))(894(337)(547(632(400)(108))(132(564)(903))))))))) +(920(126(443(750)(378(337)(148(226)(226(407(233(152)(557))(819))(773(248(714)(832(63(210)(589))(326)))(755(739)(391(658(225)(996))(54))))))))(225(662)(943)))(241(922(95)(547(359)(326(390)(577(291(138(16(235(155)(230))(536(81)(825)))(157))(285(827(345)(560(492)(887)))(788(286(922)(519))(433(990)(977)))))(181(540(810)(899(539(9)(152))(996)))(59))))))(346(949(18(872(207(714(633(564(809)(501))(505(529)(861)))(385(406(966)(776))(669)))(601(305)(422(119(459)(789))(441(219)(293)))))(637(795)(898(96(264(220)(681))(712))(793(198(96)(100))(204(566)(668))))))(969(880(853(858(101(44)(884))(840(265)(513)))(613(841)(950(672)(254))))(972(112)(793(16(834)(984))(625(837)(139)))))(140(215)(497(868)(530(898(775)(679))(738(73)(963)))))))(159))(98)))) +(231(604(477(11(561)(237(719(224(373(84(982(340)(583))(667(433(369)(560))(235(363)(315))))(60(213(794(663)(349))(908))(483)))(586(693)(607(430)(918(800)(84(326)(310))))))(348(328)(56(59(630(828(654)(590))(66(643)(368)))(261(583(671)(999))(155(637)(482))))(87))))(824(772(472(616(71(50(753)(496))(86))(545(446(543)(639))(979(82)(272))))(884(554)(672(48(634)(128))(356(245)(564)))))(792(769(461(199)(848(82)(961)))(446))(100(830(269(451)(304))(507(966)(62)))(665(323(168)(986))(65)))))(157))))(138))(738(619)(573(543)(643(991)(565(619(81(406(655(412(923)(626))(216))(806(585(702)(793))(152(541)(302))))(51(287)(122(861)(753(806)(682)))))(490(311(724(104(311)(240))(922))(933))(847(252)(240(294(418)(495))(659)))))(915))))))(416(822(299)(343))(665(987)(599(13(713(708(986(172(697(150(510)(255))(398(176)(315)))(12(187(483)(932))(943(831)(587))))(637(361(782(613)(399))(150(234)(753)))(162(133(155)(114))(943(579)(880)))))(619))(791))(504(554(202)(118(458(940(410(597)(464))(136(640)(463)))(686))(145(360)(666))))(599(705)(912(560)(896)))))(158(107(467(649(894(872)(402(190(732)(553))(924)))(243(686(865(679)(486))(237(101)(100)))(742(607(540)(258))(353))))(829(521(372(915)(933(613)(425)))(146))(27)))(482(543)(397)))(545(979(268(356)(695(9(554(795)(609))(879(246)(567)))(388)))(829(508(635(837)(97(994)(564)))(751(634(998)(880))(6(279)(317))))(710(20(173(27)(182))(520))(935(977)(680)))))(854(990(423(1(367)(152))(503(794)(143)))(605(602(170(788)(829))(899(244)(778)))(886)))(253(195(336)(123(90)(905(734)(111))))(298))))))))) +(430(653(443(105)(232(443)(42)))(720(69)(892(555(236(236(980)(424(469)(333)))(228(829)(355(657(816)(411))(562(54)(807)))))(385(785(31)(114))(731(103(730)(486(757)(770)))(503(497(323)(219))(689(763)(502))))))(372(788(972)(269(793(698)(859))(965)))(765(418(334(663(588)(399))(244))(373(614(897)(232))(488)))(476(723)(568(426(284)(818))(739))))))))(883(715(61)(760(128)(767)))(475(210(447(99(681)(66(942(563)(806))(545(541(975)(226))(549))))(317))(742))(384)))) +(352(389(685(369)(593(172(379(229(63(402(852(181)(832))(254(856)(917)))(105(86(732)(753))(896(39)(955))))(821(464)(58(475(779)(454))(567(152)(941)))))(24(640(873(124)(53))(133))(479(444(887(776)(733))(709(892)(564)))(1(872(756)(95))(834)))))(259(140)(920)))(130(834(312)(311(211(171(919(417)(990))(845))(353(877(718)(877))(483(413)(637))))(862(258(820)(61(820)(381)))(817(15)(156(613)(245))))))(506(762)(431(479(161(815(394)(90))(255))(191(300)(327(647)(268))))(461(397(548(465)(935))(513(736)(150)))(941(700(569)(788))(440))))))))(72(26(193(891(685(428(267(187(165)(175))(296))(440(659(408)(974))(826(365)(204))))(690(309(531(559)(333))(375(21)(529)))(357)))(837(106(729)(227(684)(357(257)(340))))(683(981(240(758)(494))(184))(550(250(438)(428))(161)))))(960(717(379)(94))(116(750(873(947)(195(130)(605)))(945))(194(806(633)(487(667)(607)))(790(897)(588(472)(873)))))))(959(975(691)(515(145(896)(917(688(384)(958))(109(503)(752))))(905(139)(826(880(748)(789))(202(76)(0))))))(541(705(249)(165))(703(580(959(950(607)(756))(909(208)(648)))(337(749(550)(167))(555)))(225)))))(36(607(941(821(926)(438))(951(523)(268(878(448(300)(917))(942))(678(364)(37(438)(650))))))(286(204(978(35(726)(229(615)(151)))(94(384(482)(625))(792(621)(535))))(370(377(925)(109))(887)))(726(935)(535(20)(736)))))(140(782(755(626)(319(834(461)(547(348)(824)))(531(671(692)(45))(504(663)(858)))))(913(933(72(774)(897(82)(106)))(636(179(749)(526))(24(869)(801))))(738)))(513)))))(735(739(276(620(147(78(148)(941(336(190(475)(408))(489(902)(249)))(293(749)(522))))(232(916(498(703)(983))(408(659(533)(54))(986)))(899(272(948(829)(595))(627))(892(153)(534(339)(421))))))(887))(484))(157(328(120(516)(517(108(321(930)(883(902)(752)))(273(474(612)(204))(419(175)(199))))(756(907(195(296)(582))(309(943)(787)))(946))))(780(339(328(371(289(330)(232))(602(508)(420)))(36(271(563)(440))(593(692)(809))))(909(831(64)(961(509)(409)))(77(672(822)(750))(111(952)(397)))))(974(850(481(872(264)(975))(435(255)(791)))(786(823(696)(180))(235(636)(437))))(486))))(391(270)(732(870(810(665(338(55)(387))(20))(755(131)(876(585)(385))))(528(157(153(816)(48))(717(158)(755)))(752(804(112)(198))(208(592)(593)))))(23(368(82)(61(107)(756(603)(49))))(418))))))(822(294)(495(158(214(764(626)(426(327(657(29)(219))(668(153)(885)))(619(985(693)(923))(976(216)(261)))))(778))(932))(415(50(224)(348(688(384(893(99)(249))(188))(513(739)(173(870)(919))))(352(83)(693(815)(896(354)(706))))))(137(283)(247))))))) +(386(254(927(22)(509(232(22(538)(664(938(400(493)(687))(410(971)(401)))(12(736(513)(770))(11))))(365(24(162)(127(784)(214(340)(447))))(118(163(637(140)(487))(626(437)(361)))(357(108(100)(391))(919(193)(400))))))(851)))(635(477(784(468(473(475)(436(594(668)(40))(445(615)(760))))(934(709(987(115)(59))(7(620)(234)))(76(425(122)(219))(661(945)(169)))))(275(854(286)(434(915(845)(111))(527(627)(491))))(639)))(32))(977(157(727(959)(923(912(702(636)(512))(537(811)(622)))(509(904(619)(831))(260))))(287(102(275(472(292)(395))(277(805)(264)))(979(869(595)(842))(315(827)(425))))(12(522)(377(942)(208(418)(232))))))(923(216(403)(849(533(768(467)(926))(847))(762(82)(316))))(349)))))(133(728(783)(70(924(975(995(983(285(623)(181))(288(284)(205)))(389(131(192)(115))(303)))(75(571(828(500)(307))(467(442)(846)))(183(103(44)(647))(419(204)(180)))))(287(656(394)(990(584(693)(759))(108)))(616(883(31(854)(323))(633(589)(887)))(706(223(586)(474))(404)))))(767(472(851)(351(270(970)(82(548)(128)))(347)))(242(588(58(961)(30))(275))(737(437)(101))))))(55(266(252)(149(36(9(262(861(8)(350))(910(337)(513)))(660(900(338)(740))(291(31)(269))))(744(704)(502(842(740)(110))(193(608)(975)))))(465)))(933)))) +(437(610(409(875)(468(741(136(542)(641(978(972)(426(664(906(465)(739))(550(261)(104)))(869(712(274)(550))(600))))(256(360(910(406)(724(30)(686)))(204(673(684)(467))(35(156)(397))))(807(417)(200)))))(866(793(351(891(403(332(681)(146))(708))(679(581(501)(2))(620(9)(389))))(841(854)(533(49(300)(226))(56))))(560))(416(879(387(824)(646))(417))(728(829)(291(887(349(965)(549))(628(226)(903)))(660(76)(108(595)(26))))))))(869(484(813(138(197(497(723(641)(739))(382(670)(363)))(806(968)(260(876)(867))))(71))(259(289)(578)))(423(90(683(816(171(545)(8))(264))(134(832(310)(539))(822)))(981(621(343(431)(78))(512))(341(145(862)(487))(683))))(670(429)(461(672(27(55)(393))(263(464)(654)))(986)))))(587(103(203(68(521(39(183)(954))(779))(331))(360))(895))(145)))))(883(420(581(639(522(73(225(103(925(622)(543))(398))(771(37(469)(20))(472(215)(532))))(891(187)(640(321(387)(69))(183(881)(396)))))(833))(572))(241(918(770)(411(912(516(14(205)(586))(919(541)(543)))(420(711(813)(314))(478(747)(773))))(322)))(601(193)(740))))(531))(550(809(942(38)(608(699)(827(114)(502(937(84(725)(31))(831(275)(531)))(836(614)(350(926)(28)))))))(488(911(868)(439(53)(323(151(970(331)(29))(13(82)(708)))(198))))(489(64(489(788(202(841)(924))(564))(600))(759(515(397(941)(945))(416(419)(784)))(11(253(173)(933))(51(604)(140)))))(657(248(277(40(243)(240))(48))(696))(445(493(177(646)(120))(764(59)(261)))(590(60(733)(385))(673)))))))(518(873)(289(353(294)(939))(643(515(461(702(164(910)(857))(777(131)(576)))(299))(345(457(349(876)(544))(607(873)(413)))(330(820(875)(248))(240(185)(874)))))(959(189(164(324(304)(413))(845(154)(698)))(462(513(776)(97))(566(152)(256))))(153))))))))(331(26(671(101(994(136)(145(680)(389(813(724(102(569)(85))(62(845)(127)))(315(286)(224)))(271(845(666(416)(789))(781))(18(936(464)(742))(242(76)(233)))))))(661(597(934(335(673(493)(501))(329))(761))(464(284(212)(993(190(643)(692))(393)))(853)))(869(608)(610))))(726(895(85(494)(961(865)(140(794(507)(683(487)(963)))(560))))(230))(542(570(140)(485))(952(301(100(559(621)(388(290)(283)))(471(213(967)(503))(304(341)(153))))(710(159(875(909)(213))(356(651)(726)))(226(474)(620(923)(209)))))(259(759)(96(411(399(68)(891))(340(150)(890)))(552(472)(429(27)(647)))))))))(594(885(42(513(634)(430(722(874(930(298)(493))(888(124)(509)))(134(483)(835(42)(227))))(158)))(900))(161(138(674(39(277)(919))(642(871(81(775)(601))(850))(994)))(909(552)(846(935)(655(628)(530(932)(787))))))(437(6(237)(892(363(352)(792(667)(17)))(754(243)(11(843)(764)))))(196))))(214(749(722(480(46(129(227(682)(361))(531(95)(701)))(684(880(779)(884))(826(137)(723))))(782(809(887(419)(727))(562(767)(316)))(177(660)(164(823)(889)))))(876(269(968(957(754)(220))(273(219)(139)))(158))(304(477(638(601)(727))(280))(686))))(896(232(267(836(139)(394))(580(653)(394)))(683))(662(223(857)(491))(270(380)(909(138)(85(553)(701)))))))(943(608(326(69)(437(114(562)(724(235)(946)))(786(629(624)(64))(918(148)(632)))))(867(600)(319(894)(118(66(508)(942))(753(43)(90))))))(142)))))(227(739(957(778(958(637(604)(521(323(681)(406(536)(283)))(911(789(798)(450))(195))))(359))(393(619(663(938)(113(69(270)(947))(665(657)(558))))(964(275(959(815)(724))(568))(225)))(845(247)(425(896)(367(917)(197(475)(139)))))))(817(215)(63(528(280(459)(873(158(593)(661))(862(12)(514))))(86(412)(183)))(680(125)(834(619(769)(382(899)(273)))(484(145(633)(989))(47)))))))(817(341(233(232(104)(563(938)(365(20(387)(134))(638(424)(450)))))(720(378)(593(807)(800(390)(91(915)(987))))))(673(536(696(180)(876(861)(963)))(509(103(409(61)(341))(639(931)(187)))(134(83(615)(933))(859))))(373(61(709(612(141)(118))(982))(902(913(747)(565))(755)))(193))))(524(132(754(78)(194(785(156)(481))(769(894(732)(25))(278(826)(480)))))(511(9(301(866)(987))(976))(433(781(433(216)(797))(925(670)(128)))(868(847)(299(468)(530))))))(712(468(482(15(38(818)(333))(629(857)(979)))(132(276)(685(563)(590))))(525))(918(44(261(180)(935(329)(892)))(263))(895))))))(64(366(892(954(932(660)(664))(825(98(163(330(23)(164))(160(126)(720)))(481(529(421)(959))(285)))(161)))(883(755(139(232(241(422)(536))(653(754)(643)))(980(417)(865)))(170(65(689(240)(962))(485))(784(964(339)(788))(15))))(444(766(894(729(234)(723))(55(544)(537)))(566(493(821)(677))(77(756)(32))))(584(682)(525(173)(16(913)(125)))))))(223(303(110)(481))(893)))(67))))) +(414(317(558(596(895)(972(651(698(229(857(482(170)(799))(929(77)(890)))(368(487)(324(812)(731))))(50))(312(98)(513(678(275)(171(430)(943)))(771(685(238)(843))(29(360)(759))))))(900(511(452)(536))(15(998(352(183(828)(415))(391(488)(705)))(586))(119(793(701)(81(408)(793)))(887(614(511)(456))(441(867)(910))))))))(458))(269(641)(181(158)(956))))(526(636(343(943)(105(786(324(650)(775(780(200(819)(818))(641(389)(246)))(561(221(148)(695))(358))))(740))(98(783)(89(495(705(630(869)(426))(734))(221(731(178)(968))(623(565)(233))))(569)))))(397(787(317(462(29(57(698)(752(669)(105)))(166(14(384)(612))(714(586)(717))))(227(452)(656(504(100)(222))(191))))(271))(975(930(686)(353(784(453(288)(214))(598))(725)))(779(294)(450(264(682(360)(36))(563(867)(578)))(998(836(99)(542))(499(52)(342)))))))(624(866(501(51(58)(916(908(341)(833))(165(139)(333))))(503(278)(646(787)(668(664)(783)))))(380(643(949(529(350)(390))(753))(94(992)(151)))(181(269(301)(755(683)(307)))(719(235(710)(677))(88(345)(168))))))(735(780(245(454(701(220)(299))(520(332)(732)))(114(530(11)(477))(754(208)(652))))(469))(226(742)(169))))))(490(202(971(770(338(538)(256(195)(757(740(282)(152))(226(796)(423)))))(462(437(368)(875(243)(8)))(275)))(594))(246(152)(684)))(148)))) +(226(770(234(350(271(866(603(770)(728))(62(659)(52)))(425(685(836)(716))(515)))(965(414)(914(192(628)(92))(279))))(937(993(268(13(81)(958))(169(878)(203)))(169(911(711)(4))(370(58)(352))))(517(494(283(988)(9))(785(680)(379)))(725(298(639)(416))(50(265)(167))))))(757(921(180(97)(690(717(984)(312))(877(248)(964))))(213))(37(671(376(391(845)(557))(468(201)(491)))(392(592(31)(565))(544(171)(569))))(228(246)(799(106)(149(885)(290)))))))(181(849(630)(959))(361(824)(307)))) +(174(201(356(540)(797(158(446(853)(734(573)(265)))(326))(288(205)(579(261(162)(623))(382)))))(814(343)(862(841)(681))))(554(169(416)(3(417(144(260(317)(916))(70(791)(109)))(272(128(333)(414))(755(634)(697))))(556(75(438(809)(857))(164(550)(576)))(298))))(330(753(137)(300(294(343)(896(959)(706)))(818(32(386)(80))(202(95)(785)))))(497(407(822(318(344)(197))(319(777)(113)))(836))(989(703(691)(164(165)(498)))(175)))))) +(396(724(264(500)(455))(328(15(925)(274(524(427)(509(164)(400)))(380(845(545)(369(845(278(184(37)(850))(769(552)(647)))(729))(96(191)(573(803(970)(526))(21(295)(844))))))(484(239(28(979(557(805)(153))(951))(646(358(50)(890))(374(522)(289))))(478))(755)))))(376(615(589)(799))(811(93(51(815(83(836(958)(376))(455(197(975)(653))(367(654)(945))))(968(399(347(94)(187))(567(12)(809)))(515)))(72))(281(839)(449)))(857(583(135(93(183)(589(625)(617)))(538(847(940(191)(619))(726(240)(167)))(67(667(650)(944))(839(750)(238)))))(9))(463(912)(104)))))))(427(490(126)(405))(27(579(454(260)(550(395(878)(278(811)(311(97(14)(257(342)(399)))(478(213(763)(510))(927)))))(749)))(820))(744(864)(159(932(266(123(743(753)(491(481(725)(472))(830(564)(241))))(133(133(116)(453))(312(627(299)(190))(114(813)(347)))))(662(773(853)(440(688(297)(268))(511(137)(795))))(779(373(816(705)(702))(924))(713(738(436)(303))(28)))))(57(782(367(726(528(347)(357))(281(746)(892)))(87))(548(673(18(544)(41))(766(489)(496)))(935)))(792(417(34)(77(228(640)(148))(634(811)(990))))(184))))(83(682)(46(520)(914)))))))) +(812(323(627(316(479(971(438(688)(333))(422))(646))(914))(102(662(772(43)(681(862(35)(729))(830(24)(926))))(509(38)(844(833(627)(80))(655(803)(389)))))(327)))(178(678(626)(182(176)(294(484(346)(161(814)(308)))(824))))(814(310)(226(800(76)(785))(62(649)(946))))))(210(144(274(179(932)(437(754(242(78)(154))(250))(838)))(306))(309(289(895(916(850(962)(971))(452))(512(132(64)(845))(780)))(374(85(761(428)(223))(804(425)(339)))(523(912(690)(733))(441(112)(833)))))(463(408(318(807(334)(162))(911(256)(841)))(529(607)(334(116)(13))))(239))))(203(161(534)(602))(353)))) +(529(760(402(704(675(10(513(363(340(934(195(916)(190))(369(989)(160)))(65(725(236)(49))(404(454)(220))))(933))(205(727(481(580)(191(285)(120)))(47(607(151)(619))(661(821)(740))))(551(463(635)(380(267)(667)))(676(395(496)(510))(91(495)(824))))))(803(445)(675(773(217)(173(331(823)(234))(20(311)(289))))(951))))(682(901)(504(415(677)(679(985)(38)))(380(331(294)(371))(23)))))(752(341(66)(6(413(854(585(691(853)(295))(343(494)(831)))(997(359(156)(114))(137)))(923(116)(733)))(389(723(815)(956(498(933)(659))(406(167)(199))))(771(180(96(673)(701))(667))(857)))))(615(609(993(822(594)(450(606(208)(422))(564(866)(486))))(447(193(196(582)(765))(840(842)(614)))(615)))(899(595)(67)))(661(285(98(718)(726(414)(509(630)(184))))(164(619)(710)))(390)))))(342(468(60(437)(15(233(843(863(980)(324))(982(649(947)(683))(593(601)(330))))(269))(838(759(968(750(841)(653))(435(727)(913)))(241(94)(670)))(555))))(936(718(573(925(734)(537))(542(228(424(387)(315))(426(795)(781)))(67)))(680))(933(107(472(355(218(193)(270))(623(394)(818)))(181))(701(870(542(111)(554))(419))(310(933(726)(117))(255))))(123(813(749(352(404)(990))(766(113)(7)))(5))(825)))))(545)))(616(338(541(34(916(172(382)(921(114)(773)))(704(448)(980(927)(108(737(367)(28))(608)))))(865(591)(499(949(592(431)(765))(20(309(726)(502))(712)))(148(173(257(159)(117))(135))(900)))))(874(628(960)(676(531(334(438(469)(846))(230(725)(585)))(735(53)(628)))(684(850(63)(950(673)(274)))(544(12)(988)))))(33)))(122))(343)))(52(226(251)(375(507(538)(940))(608(315(400)(300(460)(782(802(148(779(358)(959))(829(333)(525)))(429(921(686)(402))(146)))(678))))(659))))(99(669(111(66(742)(777(944(343(411(683(839)(322))(118))(684))(838(311(352(50)(362))(634(573)(323)))(775(4(654)(233))(162(449)(909)))))(528(130(110(469)(116(923)(663)))(524(958(887)(814))(654(69)(59))))(903(310(138(290)(752))(100(508)(513)))(950(678(19)(512))(898(908)(968)))))))(56(730(756(786(46)(827))(775(28)(772(836)(607(883)(120)))))(438(821)(612(258(247(539)(771))(318(581)(427)))(159(483(159)(66))(304(791)(807))))))(397(211(496)(444(342(237(816)(723))(995))(508(822)(549(275)(604)))))(252(515(718)(525))(898(630)(992(378)(701(451)(738))))))))(197(92(243(214(743)(72(32)(309(205(94)(778))(774(508)(252)))))(50(197(789)(261(918(894)(916))(761(138)(820))))(107)))(477))(463(499(213(452(805(158)(885(120)(892)))(990(860(336)(760))(352(818)(734))))(546(729)(813(621(707)(441))(661(36)(827)))))(658))(705(787)(623(51(386(360(800)(253))(502))(702(912(386)(632))(170(648)(869))))(195(426)(804(434)(446))))))))(684)))) +(212(454(677(225(655(101(997(203)(529))(976(769)(58)))(800(500(517)(747))(665)))(874))(581(189)(215(89(838(367)(820))(614(107)(320)))(475(399(110)(997))(223)))))(245(855)(869(885(813)(388(243(338)(188))(221(898)(482))))(7))))(153(228(330(448(181(26(287)(246))(855(193)(404)))(472))(146))(41(696(432)(798))(514(235(779)(884(71)(503)))(941(509(575)(216))(521(827)(234))))))(649(937)(778)))) +(629(269(370(416)(444))(951(570)(665(782(695(691(931)(813))(315))(60(616)(12(181(945(261)(669))(525(487)(907)))(983(75)(503(592)(360))))))(501))))(310(186(101(736(472(857(451)(842(473(429)(420))(255(348)(309))))(783(356(881(598)(22))(884(504)(125)))(64(94)(525))))(905))(314(286)(696)))(3(454(85(2(292(126(568)(172))(833))(515(881(360)(773))(694(276)(91))))(387(896(266(610)(815))(726))(507)))(352(865)(244)))(106(146(829)(419(130)(393(249)(278(736)(294)))))(716))))(206(53(604(693(635(646(690(759)(493))(27))(980))(376(770(790)(277))(936(829(971)(234))(946(82)(374)))))(351))(678(204)(423(215)(963(11(13(602)(734))(305(196)(671)))(442(317(340)(705))(173))))))(393(32(174(436)(334))(536(147)(324)))(991))))) +(366(957(843(140(214(755)(408(487)(162(452(225(281(863)(484(68)(68)))(309))(428(59(752(29)(49))(786(515)(321)))(78)))(882(125(279)(983(141)(503(129)(777))))(688)))))(939))(148(869(249(302(563)(28(597(505)(616(597)(685)))(215)))(382(553(790(416(950)(433(507)(276)))(28(798(905)(20))(789(934)(213))))(889(888(623(13)(47))(838(861)(296)))(604(544(382)(580))(18(371)(605)))))(572(380(602(37(955)(885))(720))(452(232(275)(1))(999(383)(338))))(100(724(617(900)(719))(658(560)(790)))(632(750)(98))))))(886(691(96)(504(112(453(611(124)(792))(620(850)(228)))(313(128(230)(326))(195)))(50(853)(41(459(856)(317))(4)))))(380)))(955(790(670(706(37(725(635)(336(690)(909)))(215))(983(977(258)(865(438)(688)))(414(206(921)(850))(77(384)(913)))))(973(700(202(395(908)(308))(266(836)(326)))(909(11)(873(986)(262))))(797(421(968(794)(755))(235(13)(53)))(336(195(938)(140))(637(257)(609))))))(979))(379(144)(445(825)(128(710(990(606(896)(992))(238(845)(804)))(942(547(901)(911))(913(865)(26))))(25(728)(603))))))))(33(880)(5(597(277)(347))(240(374(119(609(69(496)(354(5(689)(927))(553(2)(902))))(743(711)(929(792)(897(560)(348)))))(570(48(434(107(519)(310))(182))(704(621(759)(64))(841)))(204(448)(525))))(618(645)(877)))(468(852)(527))))))(629(75(638(587(475(847)(337(861)(157(769)(31(28)(900)))))(161(780(299(700(189(566)(779(517)(536)))(517))(893(784(2(25)(277))(548))(519(388)(318(441)(185)))))(813(197)(503(577(597(806)(341))(240))(354))))(540(857)(444))))(863))(837(719(189)(796(778(401(79(663(492(947)(970))(575(586)(577)))(52(592(352)(46))(160)))(416(274(898(448)(846))(983(73)(381)))(90(874)(924(254)(244)))))(402(925)(295(149)(537(195(632)(820))(25(151)(734))))))(614(299(449(431)(534(787(548)(262))(821(622)(657))))(711))(478(564(988)(44(752(65)(969))(245(769)(390))))(705(613(596)(941))(326))))))(128(647(353(303(587)(212(556(674)(276))(657(67(405)(496))(886))))(917(544)(723(531(794(97)(337))(587))(879(532(858)(257))(381(567)(612))))))(6(386(599(323(772)(287(449)(323)))(642))(73(463(222(813)(637))(14(880)(303)))(19(458(231)(527))(612(638)(799)))))(389)))(182(291(132(352(700(170)(496))(158(931)(489(788)(104))))(312(7)(843)))(279))(654(397(729(6)(188(459(187)(646))(851(963)(328))))(488(614(117)(668))(243(259(999)(468))(779(198)(752)))))(670(553(445(392(191)(557))(207(119)(96)))(181))(190(767(898(1)(588))(504))(462(661(546)(40))(593(49)(876))))))))))(92(629(253(115)(327(441(737(778(393(865(387)(977))(663(468)(881)))(123(170(273)(117))(55(89)(2))))(469(912(869(676)(960))(290(21)(139)))(817)))(257(5)(484(978)(707(896(74)(967))(902)))))(136(603(381(691(230(108)(293))(497(2)(302)))(186(198(184)(901))(788)))(344(429(798)(80(626)(45)))(254)))(206(33)(18(547(293)(733(555)(834)))(70(509)(352)))))))(80))(283(851)(366(412(26(118(67(946(883)(510(303)(716)))(474))(746))(156(610(67(749(524)(376))(801(246)(982)))(919(626)(630(829)(396))))(858(612(157(285)(201))(868))(579))))(955(467)(974(296(545)(587))(451(594(99(483)(313))(359(323)(228)))(375(150(69)(958))(388(660)(995)))))))(372(785)(496(684(207(791)(196))(93(156(803)(649(706)(323)))(573(902(558)(742))(824(829)(775)))))(235(659(57(222(519)(237))(952(682)(329)))(487(929)(805)))(95(115(18)(518))(985(403)(793))))))))))) +(365(425(1(856)(393))(741(830)(219(688)(615(33(619)(964(346(686(668)(209))(223))(256(928(94(799(619)(18))(48))(114))(110(393(722)(557))(628(609(476)(582))(158))))))(308(755(419)(160(389(653(673(126)(340))(264))(561(185)(861(231)(726))))(674(771(648(642)(483))(569))(628(502(822)(625))(916(168)(596))))))(733))))))(364(49(346(165(938(721)(951(618)(741(323(244(285(532)(936))(647(422)(855)))(665(198(28)(352))(952(115)(922))))(721))))(608(779)(856(193(681)(794))(629(635)(506(342)(953(179(399)(189))(617)))))))(94))(739))(884(604)(581(49(189)(653(576(734(415)(682))(291(52(494(798(401)(928))(613(181)(151)))(956(807(119)(992))(151(458)(580))))(293(877(986(725)(342))(47))(701(300(809)(477))(63)))))(250(300(671(73(431(866)(323))(563(480)(79)))(384(291(881)(609))(24(736)(946))))(60(52(560)(222))(921(834(570)(807))(579(944)(394)))))(934))))(775(972(919(23(95(852(874)(305(457)(808)))(589))(324(122)(991(990)(324))))(618(814)(551(442(364(868)(963))(531(36)(475)))(551(176(276)(496))(802(749)(115))))))(939(531)(686(779(466(733(708)(15))(167(26)(582)))(742))(227(698(795)(224(73)(198)))(484(364(36)(286))(510(466)(548)))))))(251)))))) +(963(87(648(755(191)(334(790(853)(584(434)(84(13(549(699)(53))(429))(871))))(71)))(51(823)(977(2(252(316(345(142)(594(198)(697)))(934(992(916)(817))(600(337)(603))))(867))(344))(262(914(241(32(52(95)(174))(381(384)(158)))(110))(733(200(273)(211))(844(536(625)(167))(293(61)(283)))))(808(189(617(742(924)(812))(508(217)(394)))(100))(908(330)(754(499)(585(354)(129)))))))))(461(950)(520)))(261(831(276(290(641)(101(343(566(278)(367(618(47)(595))(358(328)(537))))(149(684)(612(805)(769(816)(578)))))(280(258(825(926(879)(606))(193))(564))(71(630(293(732)(946))(712(473)(625)))(374(67(218)(854))(895(862)(220)))))))(957))(861))(661(64(880(162(868)(654(251(465)(650(708(567)(669))(480(629)(825))))(734)))(743(413)(776(282(374(680(629)(384))(651(574)(174)))(357(835)(514(434)(570))))(904(994(219(989)(679))(977(539)(365)))(804(255(405)(986))(76(170)(185)))))))(457(230(341)(892(678(70(654(201)(978))(422))(502(312(773)(106))(857(770)(750))))(824(52(654(397)(186))(862(907)(82)))(960(239)(298(551)(854))))))(116)))(352(929(110(132(637)(12))(114))(565(540(413)(314))(39(287(826(757)(642))(398(916(351)(451))(925(909)(727))))(521(751(437(18)(293))(611))(23(665(487)(873))(609))))))(603))))) +(991(212(432(0(746)(924))(617(505)(327(629)(597(321)(836)))))(389(984(521)(38))(514)))(310(341(782)(246(222(564(951(759(323(682)(259))(532(407(680)(494))(754)))(83(634(232(70)(72))(515(588)(644)))(968(267(985)(86))(239(335)(637)))))(437))(751(53(581)(353(191(675(402)(120))(189))(787(559(285)(474))(765))))(126(168)(235(777)(264(685)(968))))))(39)))(804(817(424(512(887)(134(603(807(360(348)(254))(468(10)(352)))(829))(445(471(447(45)(637))(669))(720(938(560)(221))(510(609)(510))))))(204))(706(528(498)(769(667(915)(36(332(635)(584))(626(599)(888))))(690(287)(173(412(571)(630))(273(434)(874))))))(775)))(354(269(109(379(258(542(754(774)(853))(537))(502))(713(582)(605(662(755)(36))(575(172)(227)))))(292))(147))(130))))) +(507(30(140(749(204)(234(249(554(539(836)(9(663)(437)))(722))(768(160(624(127)(783))(865(41)(793)))(310(742)(694))))(153(715(887(272)(525(627)(399)))(612(627(65)(560))(680)))(237))))(378(222(49(196(434)(118(675(755)(719))(498)))(401(105(363(19)(548))(569(352)(715)))(657)))(378(957(613(395)(518(133)(545)))(967(570)(607(961)(245))))(530(625)(75(76)(901)))))(174)))(762(847(530(373)(55(480(32(554)(387))(161))(563)))(501(3)(109(769(251)(323))(833))))(152(928(233(535(161(838(913)(61))(816))(673(375)(131(451)(543))))(121))(10))(827))))(989(850(965(986)(894))(674))(157(71(400(659(794(17(703(544)(549))(732(707)(499)))(529(939(253)(588))(986(920)(589))))(146(317)(939)))(364(881)(801)))(919(589)(344(827(329(206(812)(910))(238(627)(182)))(488))(113(867(813(457)(886))(74))(352(447)(246(590)(707)))))))(148)))) +(494(696(54(206(236(544(467)(226))(932(327(332(425)(940))(751))(463(571)(768(860(652)(778))(423(87)(479))))))(916(850)(271)))(404(929(457(922)(187(394(176)(46(899)(232)))(208(753(644)(718))(746))))(841))(789(659(902(481(964)(767(273)(745)))(988(808)(188(529)(545))))(656))(545(953)(512(638(273)(200(915)(751)))(960(255(752)(880))(794(593)(953))))))))(250(534(470(889(676)(268(654(520(730)(156))(506))(721(991(574)(253))(495(93)(766)))))(132(282(138(973(731)(1))(795(312)(496)))(292(371(909)(322))(423)))(54(789)(388))))(730(343(332(395)(694(586(468)(344))(282(335)(64))))(427(515(500)(221(958)(465)))(597)))(427)))(554(581(59)(569(50)(88)))(359))))(839(328(939(877(699(624(810(551(635)(239))(914(691)(577)))(933))(710(225(187)(353))(23(352(375)(186))(731(1)(277)))))(735(917(439(619(979)(311))(820(210)(117)))(484))(425)))(239(593(210(986(716)(381(860)(732)))(741(3(661)(971))(968)))(526(264(532(364)(340))(740))(324)))(202(272(125(388(418)(162))(333))(130(12(428)(185))(284)))(0(219(632)(812))(632)))))(808))(662(13)(410(443)(375(635(816(757(769(636)(739))(629(988)(248)))(476))(719(224)(728(329)(386(706)(693)))))(181(366)(595))))))) +(420(450(527(243(482)(130(199)(34(648(718(993)(215(748)(563)))(290))(303(698(917(854)(324))(966(37)(947)))(471)))))(552))(487(216(910(604(465)(982(813(831)(788(115)(31)))(572(470(43)(315))(330(991)(688)))))(635(974)(389)))(910))(439(640(836(95(130(410(757)(649))(229(659)(705)))(675(477(505)(424))(752(130)(509))))(26))(691))(718(7(58(953)(840(530(594)(301))(243(955)(791))))(77))(55)))))(682(380(558(469(455(449(205)(757))(164))(439(358(104(781(962)(717))(938(624)(758)))(102))(778(841(607)(972(880)(945)))(156(948)(841(541)(423))))))(631))(241(346)(958(741(917)(949(97)(813(627(72)(872))(297(287)(312)))))(17(87(780)(636(515)(139(820)(616))))(890(921(246)(343))(111(599)(850)))))))(983(322(398(608)(801(479(700(448)(488(958)(783)))(30(334)(895)))(104(2)(620(333(722)(524))(470(73)(312))))))(402(860(82)(62(805)(158(286)(23(217)(376)))))(1(566)(976(254(112(77)(834))(75(626)(307)))(763(226(484)(362))(328(566)(758)))))))(406)))) +(443(975(318(463(260)(832))(968(854)(292(691(177(32)(79))(959(580)(51(293)(155))))(890))))(723(209(659(95(266)(684(903)(635(684)(170))))(403))(697(626(731(944(550)(454))(466(83)(755)))(272(455(879)(596))(752)))(377(492(973(823)(302))(173))(699(748)(776(48)(215))))))(443(812)(485(34)(120(456(633(357)(818))(777(500)(912)))(811))))))(144(595(370(489(847(151(607(959)(938))(364))(783))(680(228(339(983)(734))(554))(815(445)(798(669)(544)))))(146(830)(601)))(746))(553(279(72(742)(79(225(58)(146(672)(450)))(212(127(511)(916))(34(561)(148)))))(172(306(258)(8(532(374)(524))(951(381)(269))))(284(408(267)(821(129)(692)))(177(848(10)(944))(885(855)(510))))))(783(807)(271))))) +(455(339(734(839)(929(695(655(650(560)(829))(600(92)(660)))(997(442(697)(627))(664(471)(557))))(474(823(208(344)(744))(471(209)(566)))(947(999)(581(614)(767))))))(839(536(747)(881))(460(524)(252(829)(278)))))(228(853(925)(288(203(216(960(443)(160))(55))(993(385(170)(251))(419(390)(434))))(964)))(802(512)(956)))) +(73(767(422(408(82(896)(362(23)(82(839(488(228(339)(739))(891(977)(483)))(487(531(817)(36))(584(20)(773))))(437(89(372)(765(166)(72)))(376(824(195)(867))(397(225)(785)))))))(651(626(375(30(27(563)(960))(194))(92(937)(42(491(921)(302))(775(998)(930)))))(565(419)(441(992)(751(292)(517(436)(769))))))(807)))(1))(900(806)(189(650(16)(863(22)(339(845(46)(67(52)(389(641)(411))))(153(362(461(524)(310))(207(465)(275)))(311(17)(974(857)(716)))))))(683(618(381)(749(598(979(604(556)(698))(352(394)(913)))(36))(195)))(140)))))(478(532(738(352)(522(209)(627(837(624)(81(869(508(149)(313))(449(953)(683)))(40(833)(575(89)(307)))))(798(406(784(278)(671(275)(458)))(989))(644)))))(58(252(86(930(739(357)(846(626)(334)))(672(550)(754(796(868)(41))(316(331)(324)))))(164(148(310(169)(913))(804(824(859)(920))(243(67)(735))))(876(381(344(354)(15))(571(877)(29)))(419(282)(135(490)(581))))))(530(251(410(175(892(989)(834))(593(558)(235)))(811))(52(226)(511(646(443)(706))(704(217)(968)))))(984(443)(923(792(129(60)(420))(194(705)(291)))(409)))))(803(209(21(604(494(53(232)(704))(924(338)(746)))(891(87(133)(384))(669(195)(358))))(550(853(291(482)(815))(755(740)(7)))(490(104(201)(466))(303))))(602))(779(557)(86(677(524(636(579)(84))(96(173)(520)))(109))(168))))))(591(556(598(27)(457))(851))(542)))) +(65(232(525(329(183(74)(953(331(995(8)(128))(257(699(151)(934))(705)))(878(622(758)(327(246)(101)))(680))))(9(12(776)(174))(77(541(432(604(363)(98))(615))(586(266)(390(30)(372))))(785))))(199(20(593(884(271)(589))(609(519)(516(300(328)(211))(307(263)(359)))))(203(947(838)(42))(828(517(407)(485(886)(849)))(666(464(353)(684))(644(995)(720))))))(845)))(386(85(512(245(724(405(348(552)(382))(913))(669))(571))(834(781(185)(836))(843(909(36(65)(610))(142(505)(838)))(214(697(573)(881))(720)))))(507(553(159)(258))(847(122)(840(115(868(206)(662))(17(771)(982)))(572(290(24)(746))(666(783)(986)))))))(405)))(45(87(707(530(711(613(585)(947(823(635)(742))(315(82)(988))))(291(495)(433(749(570)(474))(592(823)(432)))))(712(629)(419(338(114(965)(419))(107(19)(335)))(674(720(910)(769))(25(210)(569))))))(711(78)(498(715)(674))))(721(187)(942(965(621)(433(57)(772)))(345))))(566(848(192(160(483)(390))(870(596(42(120)(366(485)(275)))(235(963(446)(869))(62(37)(354))))(603(457(678)(745(947)(28)))(614(495)(681(766)(588))))))(138))(617)))) +(475(409(68(109(84)(634(702(945(49)(477))(147))(287)))(356))(994(313(788)(151))(32(594(420(384(938)(491))(831(52)(196)))(338(402)(281)))(290(286(294(364)(927))(603(797)(200)))(348)))))(675(497(397(726(127)(444(891(993)(623))(327)))(586(8(118(300)(946))(716))(952)))(567))(326(805(989(391)(796(319)(436)))(747(802(189(416)(594))(772(951)(952)))(282(14)(97(830)(415)))))(977)))) +(131(145(274(990)(612))(201(139(655)(119(730(229)(803(80(312(811(374(959)(863))(180(867)(703)))(46(385)(79(181)(218))))(188(223)(956(487)(435))))(327)))(661)))(316(883(534)(315(803(248(251(84(788)(945(978)(483)))(309(321(656)(3))(49(464)(40))))(438(810(9(688)(994))(340(718)(852)))(28(175(949)(455))(559(609)(367)))))(225(828)(294)))(798(424(69(453(84(526)(852))(577))(811))(620))(789(560)(511(81)(324))))))(500(832(378(537(3)(156(942(768(149)(699))(286(917)(914)))(763)))(823(716(381(322(812)(237))(586(618)(644)))(222(479(446)(293))(306)))(850(379(563(383)(519))(371(752)(934)))(76))))(13(480(91(107(431(576)(52))(515(99)(812)))(237(68)(671(891)(809))))(69(255)(504)))(501(764(790)(687(246)(2(66)(306))))(682(560(31)(174(860)(794)))(922(533(593)(294))(870))))))(98(239)(857(491(684)(788(254(723(704)(180))(212))(167)))(54(404)(404(599(127(980)(956))(56))(801(569(267)(733))(841(871)(272)))))))))))(265(823(681)(373(261(54(471)(635(463(506(941)(860(184)(431)))(851))(435(741(26(790(871)(733))(944(526)(498)))(938))(1(211(92(981)(690))(534(499)(975)))(279(987)(129(195)(434)))))))(139))(587)))(608(72)(45(716(229(30(347)(773(265)(539(602)(912))))(455(907(859)(775(56(270(805)(884))(523(45)(342)))(219(215)(194))))(186(821(828)(978(555(971)(116))(106(575)(597))))(295))))(107(792)(237(451(219(517(252(114)(963))(374))(535(85(726)(941))(366)))(758(61(25(923)(539))(28))(76)))(843(382(584(813(123)(105))(712(953)(328)))(798(108(186)(828))(917)))(255)))))(418))))) +(642(524(376(111(612)(962(336(157(56(738)(252(164(990)(656(271)(12)))(262(406(250)(455))(478(42)(537)))))(822(408(51(318)(392(48)(402)))(995))(270(524(975(727)(246))(437))(86(369(747)(755))(909(697)(685))))))(982(492(787(914(671(617)(327))(512(365)(814)))(412))(534))(467)))(32(187)(103(343(605(727(330)(559(266)(489)))(889(901(248)(945))(212(393)(474))))(256))(361)))))(470(629)(738(786(518)(724(233(779(711(854(444)(615))(768))(765(607)(7)))(253))(220(979(350(21)(501(949)(739)))(662))(949(620(700(767)(294))(972(28)(892)))(784)))))(376(729(695)(476(683)(540(410)(646))))(142(398(241)(877(77)(539)))(133(930)(821(222(84)(554(120)(433)))(573))))))))(352(538(789(466(254(834)(778(295(698(428(103)(234))(736(107)(546)))(270))(47(262)(599(6(791)(409))(879(191)(795))))))(770))(830(172(671(405)(416(897(174(122)(680))(23(971)(498)))(702(422(17)(297))(44(368)(130)))))(918(540(154(576(86)(505))(397(116)(311)))(727(393(17)(25))(769(187)(675))))(311(222(381)(850(308)(584)))(396(557(609)(786))(471)))))(325)))(908(156)(506(640(283(270)(321(462(958(85)(914))(323))(978(502(59)(218))(971))))(614(626)(850(466(794(228)(720))(636(81)(636)))(657(628)(115)))))(173))))(851(127(444(242)(631(854)(803)))(458(956(354(217(377(363(688)(183))(745(722)(828)))(408))(831))(584(410(567(737(557)(575))(110(93)(779)))(143(620(853)(381))(505(313)(870))))(266)))(821)))(751(183(206(990(352(550)(926(883)(15(750)(654))))(336(869)(572)))(121(146(714(385(380)(320))(253))(578(671)(350(481)(50))))(849(555)(973))))(752))(478(587(951(117(521(175(525)(117))(929(64)(905)))(206(49)(611(312)(487))))(560(248(222)(543(880)(379)))(120(758(168)(492))(903(145)(161)))))(539))(789))))))(14(99(473)(822(49(960(325(628(511(515(738)(88))(49(765(549)(395))(932)))(227(565)(278(897(538)(991))(482(601)(112)))))(115(916(231(281(427)(360))(238(138)(172)))(797(83(422)(646))(680(365)(50))))(294)))(648))(64(7(52(684)(369(356(991(59)(748))(589))(924)))(24(401(293(470(417)(580))(435(640)(516)))(243(412)(222)))(342(849(557(962)(552))(89(707)(667)))(528(942(953)(49))(568)))))(143)))(222(564(438)(0))(352(947(593(508(73(712)(947))(422(445)(361(297)(141))))(180))(770(83(263(770(175)(137))(302))(849(102(115)(415))(688(553)(476))))(666(931(218)(60(411)(711)))(784))))(776)))))(694(519(226(181(19)(394(803(576(6)(284(915(177)(127))(326(132)(146))))(166(972)(996)))(437(920(652)(530))(397(38)(473)))))(324(683(726)(524(605)(1(866(967(955)(6))(21(278)(638)))(551(348(604)(628))(926(857)(758))))))(113)))(113(36(367(371)(810(859(312(908(95)(410))(892(248)(630)))(660(476(286)(727))(463)))(860(979(93)(358(10)(186)))(746(608(152)(391))(382(742)(606))))))(618))(85)))(387(861(385(498(101(91(949)(820))(728))(568(502(99)(723(322(530)(223))(698(610)(944))))(286(11(955(795)(607))(68(227)(138)))(520(786(945)(652))(944(174)(290))))))(984(954)(712)))(753))(826(632)(990)))))) +(856(996(876(525)(973(564(607)(316(599)(529)))(622)))(786(486(674(358(719(429)(742))(261))(161(73(586)(841))(772(653)(408))))(586(786(695)(126(280)(629)))(388(14(665)(143))(85(945)(797)))))(592)))(910(208(767(404(290)(386(813(29)(174))(849(265)(424))))(864))(432(381(689(684(299)(846))(205(911)(111)))(702(524(484)(236))(142(156)(705))))(985(63(450(144)(31))(841))(205(706)(597(685)(768))))))(862(332(227(563)(531(446)(844(191)(406))))(509))(992(560(921)(644(418)(519(178)(64))))(84))))) +(176(101(948(912)(486))(928(57(356)(199(755)(211(569(605(596(954)(618(319)(393)))(146))(890(855(688(129)(106))(982))(46)))(828(549(717(775)(460(58)(452)))(370))(708(506(313(442)(200))(521(62)(352)))(149))))))(64(150(4)(96))(944(30(619(77(587(701)(11(478)(837)))(984(547(148)(696))(773(262)(270))))(668))(802(166)(789(148(721(917)(265))(20(330)(271)))(155(608)(29(109)(950))))))(848(530(11(620(288(440)(906))(18(692)(294)))(296(335(256)(353))(499)))(872))(949))))))(819(68(181(382(370(295(681)(117(662(946(994)(184))(961(875)(933)))(221(242(919)(615))(197(155)(622)))))(587(718(490(708(555)(878))(635(316)(218)))(884))(231(280(186(96)(483))(828))(688(155(87)(185))(289(928)(929))))))(422))(968(809(918(289(663)(326))(453(20(518)(744))(96(267(972)(243))(239))))(738))(672(337(59(844(404)(403(572)(174)))(102))(675(832(699)(755(660)(825)))(345)))(401(226)(17)))))(25(120(102(301(260(830)(305(979(689)(549))(586(897)(364))))(579(177)(476(946(956)(947))(626(520)(711)))))(216))(692(457(731)(264))(372(846(4)(868(78(433)(303))(0(310)(211))))(311(790(151(876)(99))(181))(356(536(445)(745))(781))))))(919(736)(659(591(118(150(448(608)(362))(405))(991(485(84)(53))(964)))(611(758)(183(961(302)(811))(932(660)(977)))))(774(841)(995(332(10)(291))(963(387)(791(604)(888)))))))))(336(632(785(158)(771(554)(230(12)(510(528(812(803)(30))(504(577)(129)))(950(84)(521(626)(149)))))))(454))(226(380(215(777(654(50(965(970)(799))(556(859)(637)))(896(539(125)(419))(518(323)(687))))(504(59(674(743)(547))(490))(526(904(158)(916))(980(100)(389)))))(101(291(70(939(804)(239))(107(16)(310)))(914(364(583)(966))(333(593)(867))))(956)))(213(260)(568(407(697(761)(215(87)(576)))(598(467(555)(464))(940)))(137(613(562(256)(380))(973(194)(463)))(38(97(235)(534))(370(103)(831)))))))(779(877(268(508(434(316(812)(716))(631(905)(478)))(203))(700))(167(236)(524(846(117(676)(501))(402(71)(558)))(159(310(967)(491))(635(870)(178))))))(494(583)(54))))))) +(852(666(196(965(46(969)(50(560)(653(736(977(174)(799))(579(610)(187)))(535(224(319)(905))(659)))))(16))(823))(166(432(547(118(22(308)(222(604(187)(673))(810(780)(109))))(598(435(31)(945))(291(95(217)(110))(277(11)(311)))))(704(456(508(118(85)(886))(29))(614(497)(156(232)(940))))(768(756(268(535)(592))(302(651)(89)))(656(136(606)(255))(337)))))(5(615(988(615)(257))(289(279)(652)))(459(207(213(506(469)(919))(312(955)(974)))(210(94(775)(751))(114(374)(289))))(970))))(823(677(631)(111(23(70(252(833)(937))(96(627)(806)))(429))(849(810(700(99)(288))(809(712)(245)))(175))))(150(496(107)(967(247(953)(779(238)(795)))(707(186)(458(789)(128)))))(722(937)(694(205(529(73)(285))(608(130)(689)))(230(640(404)(451))(397(610)(485)))))))))(817(111(479)(493(640)(976)))(968(787(853(363)(810(352(620(800(398)(118))(63))(12))(35(515(828(570)(819))(866(586)(853)))(525(661(770)(93))(10(747)(545))))))(336(535(871(826)(918))(174(983)(152)))(551(175(758)(786(348(667)(264))(736(80)(377))))(471))))(338)))) +(159(588(648(580(809(334)(867))(720(992)(823(948(191(789)(447))(11(359)(278)))(932(524)(721(60)(137))))))(699(706(432)(424))(611(268(284)(505))(732))))(77(634)(587(495(920(97)(858(188(258)(356))(183(499)(877))))(374))(268(602)(266(32(176(989)(520))(615(969)(852)))(864(507)(112)))))))(141(659(312(679)(919(995)(909)))(188(274(613(941(33(898)(115))(664(417)(577)))(380(811(344)(209))(909(275)(408))))(103(817)(477)))(524)))(265(696(0(31)(444(296(920)(416(933)(798)))(235(869(622)(274))(401(169)(71)))))(611(515)(179)))(725(444)(536(990(419)(543(369)(498)))(141(984(858(914)(322))(340))(469(623)(285)))))))) +(336(864(658(181(900(275(751(471)(226(569)(643)))(648))(425(374(862(656(527(498(55)(653))(346(235)(476)))(438(714(588)(255))(411(829)(304))))(841(825)(327)))(210(639(586(677(84)(344))(593(334)(397)))(480))(555(30(7(941)(522))(320(862)(219)))(444(70(5)(734))(385)))))(7(553(547(466(45(793)(99))(982))(649))(244(382(782(140)(514))(664(584)(980)))(871(627)(457(816)(985)))))(705(612)(465)))))(859(44)(481(103(25)(283))(767(652)(772)))))(187(874(904)(407(225(368(745(743(32(334)(573))(337(243)(16)))(287))(380(80)(694)))(307(471(214(186(343)(653))(357(46)(263)))(845(250(20)(404))(814)))(492)))(318(602)(184(78(508(755(237)(697))(300))(12(269(860)(437))(35(952)(395))))(292(59)(173))))))(778(520)(61(146(876(761(700)(860))(525(179(275)(726(905)(322)))(438(198(574)(622))(228))))(858(365(670(485)(409(64)(234)))(213(582)(672)))(129)))(796(703(103)(49(599(219)(677(685)(280)))(210(881(922)(470))(38(421)(210)))))(266(95)(119)))))))(778(858(717)(534))(80(141(544(254(690(614(507(629)(10(300)(952)))(667(144(301)(209))(53)))(434(13(344(404)(324))(460(81)(926)))(711)))(875(51(112)(744))(875(164(686(561)(754))(866(448)(165)))(395(118(713)(700))(905(476)(590))))))(990(8(118(265(379)(543(7)(953)))(49(166(588)(695))(446)))(616(877(854(645)(206))(842(910)(94)))(9(440(734)(949))(873(555)(141)))))(532(934)(143))))(229(380)(642)))(568(820(462(665(264)(144))(840(671)(174)))(629))(731)))))(237(896(502(564(870)(392))(655(91)(821)))(448(51(63(690(471(562(296)(75(803(55)(176))(811)))(285))(837(105)(697(147)(32(984(270)(942))(180)))))(922))(922))(535(309)(421(420)(547(340(778(333(342(682)(773))(104))(684(410(822)(239))(851(768)(114))))(229(309(154(258)(459))(122))(88(661)(146(603)(508)))))(945(12(185)(792))(580(191)(396(399(728)(640))(496)))))))))(754(978(819)(263(522)(970(857(736(971)(961(126)(219(491(237)(736))(884(6)(52)))))(443(588)(973(328)(4(295)(922(5)(690))))))(466(464(223)(193))(665(940)(607(771(566(60)(804))(764(805)(19)))(31(826(212)(502))(735))))))))(335(216(662)(84(675)(410(987(823)(90))(768(625(375)(982(623(730)(312))(274)))(182)))))(375(892)(883)))))) +(577(685(6(618)(759(796)(450(498(2)(339(178)(280(991)(469))))(855(524)(759(916(197)(616))(787))))))(589(294)(184)))(930(157(636)(101(799)(349)))(703(983)(449(371(93)(739))(590(735(820(620)(972))(31))(523)))))) +(803(725(134(693(276(173(744)(147(680)(339)))(865(417(509(912)(113(923(505(82)(883))(176))(669)))(831))(922(388(330)(424(452(795(836)(21))(619(315)(562)))(104(455(168)(335))(569))))(697))))(722(896(266)(831(164(913(244(152(186)(342))(767(837)(285)))(764(655(924)(283))(707(306)(297))))(175(705(463)(177(871)(291)))(233(653)(60(706)(698)))))(601)))(339(615(626(368(682(485(608)(294))(638(458)(944)))(584(753)(754(690)(658))))(273(169)(548(205)(387))))(866))(999(620)(734(56)(269(139)(187)))))))(65))(418(8)(699(181)(343(846(769(306(78)(371(685(476)(573(435)(981)))(829)))(392))(110(763(638)(711(326(608(680)(30))(681))(205(257(337)(275))(260))))(702(133(103)(628))(610(59(971(323)(883))(368(741)(660)))(20(39)(637(424)(523)))))))(551(729(833(353(689)(263))(482))(544(498)(898(394(429(310)(93))(224(68)(996)))(773(410(321)(206))(382(854)(689))))))(961(477(987)(948(714(157(528)(742))(442(392)(673)))(378)))(319(964(947(923(811)(231))(78))(216(34(561)(536))(691)))(749(989)(793)))))))))(845(423(802(247(372(222(754)(822(238(538(820(148)(569))(83(14)(749)))(820(987(24)(795))(475)))(333(500(697(743)(402))(13))(977(894(744)(831))(728(286)(3))))))(356))(309(252(234)(69(689(813)(340))(701(153)(143(259)(422(48)(799))))))(102(103(496(30(453(291)(959))(377(533)(174)))(422(397(67)(719))(590(332)(260))))(957))(892(400(498(280(476)(834))(162))(125(467(630)(843))(221(604)(446))))(561)))))(922))(764(689(15(120(946)(743(330(596)(527))(779)))(306(947(412(717(787)(490))(906(497(849)(893))(3(433)(378))))(559(717(99(837)(414))(495))(319(623)(760))))(61(680(454(453(479)(206))(567(378)(718)))(669(193(223)(863))(188)))(332(727(577(518)(699))(866(56)(869)))(566)))))(800(860(985(205(148(141(644)(70))(35))(669(808)(191)))(440(648(384(870)(773))(217))(606)))(189(888(618(671(395)(223))(245(624)(662)))(458))(977(172)(500(340(837)(404))(848(189)(800))))))(619)))(625(424(2(876(229)(460))(243(186(741(201(218)(371))(218(473)(249)))(408(581(359)(788))(957)))(435)))(81(993(808)(983))(350)))(889(465(505(461)(670(462)(84(426(806)(377))(53))))(941(956)(551(823)(169(645(359)(643))(661)))))(544(644)(220(699(848(656)(672(163)(964)))(991))(794)))))))(67(500(240(344(375(288(923(979)(467))(191))(49))(328(451)(426)))(162(96(615)(78))(429)))(97))(512(387(310(138(735(1(749(227(983)(201))(828(691)(893)))(1(202(979)(25))(137(56)(497))))(332))(234(383(40(117)(686))(188(763(680)(955))(442)))(553(668(232(699)(219))(136(761)(530)))(81))))(618(959)(440)))(35(734(848)(641(796(503(133(290)(873))(172))(274(570(232)(809))(208(474)(588))))(871)))(486(146(694(82(655(89)(126))(222(268)(721)))(166(286(832)(166))(528(274)(860))))(609(951(420(665)(813))(841(783)(587)))(388)))(861))))(643(925(143(71)(704(542)(137(977(54)(602(103)(293)))(166(997)(327)))))(461(783)(466(545(772(584(890)(726))(462(654)(911)))(876))(251(330(776(291)(578))(545(295)(16)))(176)))))(640)))))) +(573(195(565(887(553)(947(759)(624(744)(995))))(460))(827(479(69)(436(220)(224)))(613(962)(235(134(395(96)(650(2(215)(389))(790(144)(392))))(390))(889(273)(811(124(627(832)(85))(193(540)(579)))(178(176(749)(716))(757(920)(935)))))))))(461(797(233(779(229(535(501(905(894)(663))(493(342)(123)))(266))(443(588(996(376)(964))(712))(11(735)(907(536)(937)))))(369(561(661(123(311)(172))(327))(313(107(545)(357))(701(283)(927))))(700(211)(281(378(496)(83))(719)))))(905(502(215(96)(45(651(418)(169))(846(950)(222))))(653))(499(512(177)(247))(286(309(437)(306(610)(659)))(681(21(603)(88))(336))))))(306(328(984(453)(693(975(540(857)(489))(117(735)(843)))(414(721(827)(250))(134))))(44(577)(168)))(454(999(662)(685))(745(905(977(286(648)(219))(433(105)(526)))(35(564)(112)))(368(809)(450(407)(849(82)(105))))))))(554(880(779(460(181(953(439(964)(897))(59))(929(302)(793(322)(757))))(29(947(324(921)(986))(241(237)(30)))(957(155(629)(455))(183(263)(773)))))(313(884(328)(487(151(246)(136))(316(567)(517))))(707(439)(37))))(522))(777(295(932)(649(223(699(651(542)(980))(46))(363(873(643)(427))(811(219)(314))))(970(188)(802))))(94))))) +(148(110(756(559(287)(578))(66(113(415)(320(364(636(995)(663))(101(538)(479)))(691(916(147)(404))(346))))(610(815(815(775(678)(598))(486(61)(340)))(154(578)(476)))(316(29(286(138)(871))(252(134)(609)))(116(415(708)(0))(511(213)(189)))))))(216(67)(466(999)(637(628)(83(367(636(225)(748))(779(908)(257)))(131))))))(64(826(945(229(308)(123(876(477(308)(319))(226(593)(597)))(290)))(935(931(149)(278(569(219)(357))(390(786)(615))))(151)))(957(25(950(877(90(855)(906))(692))(788(686(969)(182))(293(388)(32))))(662(63(582(900)(917))(256))(552(829(835)(955))(89))))(640(122(501(684)(152(372)(688)))(898))(9(52(528)(731))(946(26)(336(988)(581)))))))(839(307(660)(516(144(711)(605(39(489)(291))(763(359)(54))))(717(942(685)(892(52)(643)))(690(709(776)(996))(990(943)(962))))))(89)))) +(899(768(452(126)(211(769(533(767(835(530)(452(724)(998)))(473(609)(199)))(658(720(295(949(214)(990))(742))(658(361(14)(221))(739(147)(956))))(961(833(353(13)(682))(382))(505(306(5)(294))(293)))))(88(5)(60(164(151(611(920)(883))(302(478)(721)))(50(128(980)(267))(106(797)(814))))(952(524)(959(315)(595(469)(799)))))))(963)))(526(989(940(405(229(306)(310(349(38(828)(601))(887(621)(163)))(269(506(43)(386))(972))))(145(663)(545(406(682(645)(843))(48(286)(85)))(626(569(363)(994))(159(898)(324))))))(718(630(320(874)(703))(214(593(508(448)(695))(808))(945(606(725)(246))(446(949)(81)))))(246(18(695(384(595)(623))(505(772)(457)))(707(82(478)(886))(971)))(985(661)(741)))))(992))(834(313(446)(196))(325(993)(380)))))(853(668(806(258(427(645(35(568(76(935)(273))(690))(687(433(472)(548))(563(155)(118))))(597(70)(868(690)(749))))(562(124(508(43)(205))(14))(888(602(78(93)(914))(742(571)(985)))(476(663)(279(630)(219))))))(434(896(306(585(544)(862(498)(148)))(253))(719))(576(508(670(511)(939(466)(830)))(284))(138(740(646(624)(574))(29(144)(807)))(796(42(784)(264))(500(960)(447)))))))(49(713)(378(732(650)(702(783(320(538)(577))(249))(966(824(870)(272))(740(50)(339)))))(541(449)(521)))))(315))(556(330(759(648(924)(419))(968(332(146(872(999)(201))(351))(908))(253(479(863)(872(926(616)(418))(47(781)(609))))(276(570(772(137)(3))(493(137)(318)))(659(397(45)(440))(941(423)(311)))))))(3(302)(934(6(350(707(265)(372(954)(769)))(406(895)(832(274)(503))))(409(3(124)(399(223)(422)))(107(553(559)(930))(191))))(150(99(744)(784(713(291)(799))(68(905)(760))))(521(491(338(331)(519))(689(160)(261)))(471))))))(978)))) +(149(134(341(476(80(139(817)(642))(458(996(160)(784))(523)))(651(759)(412(819)(770(21)(488)))))(854(707(446(472)(722(765)(275)))(418(80(50)(193))(746(726)(241))))(430(369(450(763)(443))(737(914)(420)))(388))))(238(790)(295(554)(356))))(414(130(492(239(779(975)(105(992)(808)))(292))(89(773(468(99)(723))(688))(334)))(910(938)(650(947(266)(745(92)(143)))(344))))(82(446)(750(545(726)(275))(438(990(374)(571(418)(27)))(380)))))) +(227(232(166(722(506(717(947(527)(500))(563(67)(382)))(63(892)(954)))(665(44(330)(942(691)(618)))(465(593)(104(115)(202)))))(805(14(666)(659(256(927)(575))(536(33)(118))))(405(384(712(514)(50))(678(636)(563)))(133(938(191)(935))(246(572)(501))))))(625(942)(633(201(359(876)(296(672)(961)))(935))(772(478)(339(518)(257(119)(531)))))))(39(482(830)(738))(552(574)(230(52(396(596)(852(144)(702)))(959(35)(448(84)(280))))(478(82(764(856)(325))(235(639)(241)))(935(102)(955(903)(969)))))))) +(80(120(323(691)(921))(672(677(37(216(266(214(530)(786))(522))(440(892(374)(552))(874(459)(699))))(526(113(726)(612(381)(679)))(58(26(401)(490))(956(877)(154)))))(950(197(71)(253(687(573)(853))(873)))(94(936(179(383)(118))(916))(715(161(43)(708))(426(940)(855))))))(671(406(145(970(705(808)(61))(773))(27))(363(857(18(621)(646))(956(402)(553)))(244(997(851)(779))(877))))(229(540(684(512(98)(824))(270(0)(207)))(125))(849(489(255(375)(852))(749(328)(789)))(695))))))(943(462(816)(679(232)(737)))(83(813(553(973)(793(912)(111(744(68)(17))(751(319)(155)))))(421))(205(877(587(145(606(658)(119))(106(939)(254)))(342))(31(912(916(207)(170))(721(501)(219)))(876)))(242))))) +(361(590(696(221)(901(281(6)(151(879(581(678(61(910)(335(883)(850)))(594(951(207)(791))(305(765)(268))))(415))(620(147(147(77(408)(290))(964))(312))(306(160(401)(303(295)(310)))(623(240(822)(16))(954)))))(707(932(749(524)(421(347(502)(426))(391(359)(283))))(251(460)(422)))(152))))(901(26(82(374(22(937(669)(934(988)(456)))(849(320(362)(301))(994(929)(920))))(43(442(219)(621(470)(784)))(382)))(940(771(428)(419(888(604)(459))(545)))(262)))(103(98)(568)))(934(502(826(666)(149(746(544(937)(546))(970))(719)))(164(795(304(963)(331))(675(11(788)(417))(498(575)(876))))(785(290(137(190)(577))(282(759)(196)))(930(697(981)(532))(689(712)(899))))))(304(999(356(178)(95(356(607)(462))(949)))(970(474(38(75)(782))(665(296)(579)))(897(851(296)(235))(244(197)(831)))))(612))))))(522(581)(695(640(493(899)(657))(638(24)(186(128(325(356)(242))(271(415)(765(535(426)(625))(250))))(584(211)(876(82(51)(372(573)(200)))(54(423(34)(578))(669(121)(241))))))))(603(748(52(54)(73(322(931(897(481)(530))(872(314)(551)))(286(825(563)(898))(385(104)(872))))(949(256(34(829)(529))(310))(623))))(309(503(418(136)(331(218(926)(990))(879)))(649))(277(574(277)(762))(225(154(749(899)(415))(187(732)(587)))(713)))))(227)))))(308(903(529(654)(964(711(858)(739(417)(641(120(262(70(430)(586))(405(106)(981)))(185(198)(164(866)(279))))(196(594(708(898)(575))(955(359)(122)))(285(277(356)(940))(638(660)(861)))))))(457(717)(681(437)(199)))))(138))(858(54(193(612(808(544(865(733)(597))(598(215)(666)))(835(934)(450(103(601(482)(443))(881))(186(846)(518)))))(307(466(985(845(772(290)(104))(794))(453(986(870)(695))(367(769)(791))))(236(642(306)(411))(772(696)(198))))(783(156(744(841)(319(929)(303)))(868(711)(693)))(826(518)(49(422(71)(582))(281))))))(972))(146(808(483)(29))(51)))(18)))) +(788(640(948(971)(766))(483(209)(827)))(163(441(655)(638))(812(548(820)(913(798(680)(360(74(823(514)(470))(351(976)(887)))(576)))(537(935)(333(820(900)(256(766)(702)))(650)))))(722(234)(530(865(919(862(46(507)(813))(448))(661(946(721)(811))(927(61)(747))))(253(147(27(892)(843))(63(474)(603)))(198(279(811)(734))(85))))(378(717)(685(726(739(803)(243))(850))(995(140(902)(524))(757))))))))) +(857(510(140(224(959(282)(868(631(4(101)(627))(736(877)(858)))(358(67(502)(189))(352(957)(127)))))(261(463(110(448(380)(708))(877(11)(659)))(138(221(12)(707))(222(313)(983))))(351(42)(3))))(791(533(71)(178(246(996(22)(848))(6(160)(354)))(347(867)(633(333)(67)))))(410(963(372(274(162)(734))(401(130)(638)))(846(28)(872)))(589(341(910(158)(263))(365(715)(77)))(500(859)(746))))))(553(485(71)(463))(99(281)(522(921(683(516(461)(233))(978(908)(702)))(550))(47(364(982(725)(183))(905(14)(340)))(717))))))(520(285(761)(249(827)(526)))(723(918(371(236(158(831(846)(376))(457))(301))(150(542)(428(68(639)(471))(58(948)(370)))))(748))(811(807(284)(433(905)(870)))(517(861)(334(621)(241))))))) +(238(539(118(169(357(407(684)(763(960)(830(201)(670))))(150(34)(592(628(34)(637))(856(801)(263)))))(769(412(827(41(203)(401))(633(308)(456)))(36))(964)))(668(158)(365(60)(57))))(814(492(496)(991(669)(2(7(92(369)(446))(30(749)(636)))(732(745)(825(188)(927))))))(468(453(535(594)(918(622(444)(977))(970(912)(542))))(802))(301(993)(106(416(81(627)(262))(325(512)(341)))(570(402)(611(61)(443))))))))(837(258(572(790)(868))(369(153)(353(496(100(656)(928(951)(670)))(895))(284(447(981)(178))(815(738(46)(329))(316(533)(400)))))))(444(214)(608(972(493)(888(261(945(106)(362))(7))(541(822)(169(743)(852)))))(585(326)(986(411(863(623)(543))(406))(786(1(63)(161))(380(555)(700))))))))) +(671(793(527(312(836)(718(695(194)(835(728)(229(397(357)(551))(492(215)(707)))))(540(9(30)(333(543(393)(966))(842(319)(355))))(328(218)(830)))))(721(779)(410(234)(792(885)(268)))))(104(853)(120(439)(544))))(56(119(489(636(610(319)(963(970(490)(905))(657)))(498))(738))(138(147(514(288(913(358(868)(993))(106(753)(200)))(502(34(253)(667))(901(472)(257))))(373(191(927(249)(960))(769(976)(650)))(995(929(142)(156))(6))))(968(322(115(616)(670(469)(795)))(692))(327(892(967(882)(952))(102(796)(489)))(21(2(720)(425))(907(436)(994))))))(998(405(183(477(640(381)(485))(238(263)(417)))(490(207(900)(880))(959)))(350(707)(839(834)(350(164)(213)))))(899(401(520(759(658)(295))(952(568)(862)))(487(17(474)(87))(40)))(692)))))(594(632(489)(296))(597(233(589(461)(473(735(490)(17(566)(720)))(527(767(322)(719))(308(895)(138)))))(730))(37))))) +(33(822(142(902(619)(919(27(798(998(535)(995))(711(121)(302)))(173))(752(490)(820(139(529)(643))(780(402)(231))))))(122))(17(627(830(744)(581(387(417(758)(582))(579(522)(5)))(818(815)(351(510)(757)))))(687))(824)))(186(104(350(263(319(601(366(6)(213))(651))(328(211)(28)))(198(603)(846)))(629))(808(164)(750(461(945(968(230)(519))(1))(951))(492(939(811(611)(392))(559(952)(719)))(743(675(51)(595))(411(282)(300)))))))(724(840(440)(840(638(689(20(523)(193))(258(999)(221)))(629))(675(513)(856(904(650)(986))(564)))))(588(95)(396(476)(37(424(804(772)(698))(86(719)(158)))(96))))))) \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Tiefen_Breitensuche/readme.adoc b/Quellcodes/Alg_DS_Tiefen_Breitensuche/readme.adoc new file mode 100644 index 0000000..849992d --- /dev/null +++ b/Quellcodes/Alg_DS_Tiefen_Breitensuche/readme.adoc @@ -0,0 +1,11 @@ += Material : + +|=== +|Zuordnung| +|Klassenstufe| +|Bildungsplanbezug | +|Werkzeug| +|Autoren| +|=== + +== Inhalt diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/.gitignore b/Quellcodes/Alg_DS_Verkettete_Liste/.gitignore new file mode 100644 index 0000000..2cc0cb6 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/.gitignore @@ -0,0 +1,7 @@ +**/*.sh +**/*.class +**/*.ctxt +repo.adoc +repo_subtree.adoc +/alt +/hide diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/README.TXT b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/README.TXT new file mode 100644 index 0000000..6be5ca6 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/README.TXT @@ -0,0 +1,5 @@ +PROJEKTBEZEICHNUNG: Verkettete Liste +PROJEKTZWECK: Implementation einer einfach verketteten Liste +VERSION oder DATUM: 3.10.2020 +WIE IST DAS PROJEKT ZU STARTEN: Testfälle in TesterIterativ bzw. TesterRekursiv ausführen +AUTOR(EN): Rainer Helfrich, ZPG Informatik \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/TesterIterativ.java b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/TesterIterativ.java new file mode 100644 index 0000000..3c7aaee --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/TesterIterativ.java @@ -0,0 +1,24 @@ +import liste.*; +import tests.*; + +import org.junit.Before; + +/** + * Die Test-Klasse TesterIterativ. + * + * @author Rainer Helfrich + * @version 3.10.2020 + */ +public class TesterIterativ extends Tester +{ + /** + * Setzt das Testgerüst fuer den Test. + * + * Wird vor jeder Testfall-Methode aufgerufen. + */ + @Before + public void setUp() + { + dieListe = new ListeIterativ(); + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/TesterRekursiv.java b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/TesterRekursiv.java new file mode 100644 index 0000000..c22462b --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/TesterRekursiv.java @@ -0,0 +1,24 @@ +import liste.*; +import tests.*; + +import org.junit.Before; + +/** + * Die Test-Klasse TesterIterativ. + * + * @author Rainer Helfrich + * @version 3.10.2020 + */ +public class TesterRekursiv extends Tester +{ + /** + * Setzt das Testgerüst fuer den Test. + * + * Wird vor jeder Testfall-Methode aufgerufen. + */ + @Before + public void setUp() + { + dieListe = new ListeRekursiv(); + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/Liste.java b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/Liste.java new file mode 100644 index 0000000..7d5c209 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/Liste.java @@ -0,0 +1,59 @@ +package liste; + +/** + * Abstrakte Klasse Liste + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public abstract class Liste +{ + /** + * Gibt die Anzahl der Elemente der Liste zurück + */ + public abstract int laenge(); + + /** + * Gibt den n-ten Wert (0-basierte Zählweise) der Liste zurück. + * @param n Der Index des gewünschten Elements + * @return Den n-ten Wert + */ + public abstract T getNtenWert(int n); + + /** + * Hängt einen neuen Wert hinten an die Liste an. + * @param val Der anzuhängende Wert + */ + public abstract void anhaengen(T val); + + /** + * Fügt einen neuen Wert an einer gewünschten Stelle in der Liste ein. + * @param index Die Stelle, an der der neue Wert stehen soll (0 <= index <= laenge()) + * @param val Der einzufügende Wert + */ + public abstract void einfuegenBei(int index, T val); + + /** + * Gibt die Listenelemente hintereinander auf der Konsole aus. + */ + public abstract void ausgeben(); + + /** + * Gibt zurück, ob ein Wert sich in der Liste befindet + * @param val Der zu suchende Wert + * @return true, wenn der Wert enthalten ist; false sonst + */ + public abstract boolean enthaelt(T val); + + /** + * Entfernt das Element, das am gegebenen Index steht, aus der Liste. + * @param index Die Stelle, von der der Wert entfernt werden soll. + */ + public abstract void entferneBei(int index); + + /** + * Gibt zurück, ob die Liste leer ist. + * @return true, wenn die Liste keine Elemente enthält; false sonst + */ + public abstract boolean istLeer(); +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/ListeIterativ.java b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/ListeIterativ.java new file mode 100644 index 0000000..0353fbe --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/ListeIterativ.java @@ -0,0 +1,98 @@ +package liste; + +/** + * Klasse ListeIterativ + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ListeIterativ extends Liste +{ + //# TODO: Legen Sie einen Verweis auf das erste Element an + + /** + * Erzeugt eine neue Liste + */ + public ListeIterativ() + { + //# TODO: Hier ist etwas zu tun + } + + /** + * Gibt die Anzahl der Elemente der Liste zurück + */ + public int laenge() + { + //# TODO: Hier ist etwas zu tun + return -1; + } + + /** + * Gibt den n-ten Wert (0-basierte Zählweise) der Liste zurück. + * @param n Der Index des gewünschten Elements + * @return Den n-ten Wert + */ + public T getNtenWert(int n) + { + //# TODO: Hier ist etwas zu tun + return null; + } + + /** + * Hängt einen neuen Wert hinten an die Liste an. + * @param val Der anzuhängende Wert + */ + public void anhaengen(T val) + { + //# TODO: Hier ist etwas zu tun + } + + /** + * Fügt einen neuen Wert an einer gewünschten Stelle in der Liste ein. + * @param index Die Stelle, an der der neue Wert stehen soll (0 <= index <= laenge()) + * @param val Der einzufügende Wert + */ + public void einfuegenBei(int index, T val) + { + //# TODO: Hier ist etwas zu tun + } + + /** + * Gibt die Listenelemente hintereinander auf der Konsole aus. + */ + public void ausgeben() + { + //# TODO: Hier ist etwas zu tun + } + + /** + * Gibt zurück, ob ein Wert sich in der Liste befindet + * @param val Der zu suchende Wert + * @return true, wenn der Wert enthalten ist; false sonst + */ + public boolean enthaelt(T val) + { + //# TODO: Hier ist etwas zu tun + return false; + } + + /** + * Entfernt das Element, das am gegebenen Index steht, aus der Liste. + * @param index Die Stelle, von der der Wert entfernt werden soll. + */ + public void entferneBei(int index) + { + //# TODO: Hier ist etwas zu tun + } + + /** + * Gibt zurück, ob die Liste leer ist. + * @return true, wenn die Liste keine Elemente enthält; false sonst + */ + public boolean istLeer() + { + //# TODO: Hier ist etwas zu tun + return true; + } + +} \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/ListeRekursiv.java b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/ListeRekursiv.java new file mode 100644 index 0000000..2ccef21 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/ListeRekursiv.java @@ -0,0 +1,97 @@ +package liste; + +/** + * Klasse ListeRekursiv + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ListeRekursiv extends Liste +{ + //# TODO: Legen Sie einen Verweis auf das erste Element an + + /** + * Erzeugt eine neue Liste + */ + public ListeRekursiv() + { + //# TODO: Hier ist etwas zu tun + } + + /** + * Gibt die Anzahl der Elemente der Liste zurück + */ + public int laenge() + { + //# TODO: Hier ist etwas zu tun + return -1; + } + + /** + * Gibt den n-ten Wert (0-basierte Zählweise) der Liste zurück. + * @param n Der Index des gewünschten Elements + * @return Den n-ten Wert + */ + public T getNtenWert(int n) + { + //# TODO: Hier ist etwas zu tun + return null; + } + + /** + * Hängt einen neuen Wert hinten an die Liste an. + * @param val Der anzuhängende Wert + */ + public void anhaengen(T val) + { + //# TODO: Hier ist etwas zu tun + } + + /** + * Fügt einen neuen Wert an einer gewünschten Stelle in der Liste ein. + * @param index Die Stelle, an der der neue Wert stehen soll (0 <= index <= laenge()) + * @param val Der einzufügende Wert + */ + public void einfuegenBei(int index, T val) + { + //# TODO: Hier ist etwas zu tun + } + + /** + * Gibt die Listenelemente hintereinander auf der Konsole aus. + */ + public void ausgeben() + { + //# TODO: Hier ist etwas zu tun + } + + /** + * Gibt zurück, ob ein Wert sich in der Liste befindet + * @param val Der zu suchende Wert + * @return true, wenn der Wert enthalten ist; false sonst + */ + public boolean enthaelt(T val) + { + //# TODO: Hier ist etwas zu tun + return false; + } + + /** + * Entfernt das Element, das am gegebenen Index steht, aus der Liste. + * @param index Die Stelle, von der der Wert entfernt werden soll. + */ + public void entferneBei(int index) + { + //# TODO: Hier ist etwas zu tun + } + + /** + * Gibt zurück, ob die Liste leer ist. + * @return true, wenn die Liste keine Elemente enthält; false sonst + */ + public boolean istLeer() + { + //# TODO: Hier ist etwas zu tun + return true; + } +} \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/Listenknoten.java b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/Listenknoten.java new file mode 100644 index 0000000..e185d3d --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/Listenknoten.java @@ -0,0 +1,32 @@ +package liste; + +/** + * Klasse Listenknoten + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class Listenknoten +{ + /** + * Der Datenwert des Listenknotens + */ + public T daten; + + /** + * Der Nachfolger des Listenknotens + */ + public Listenknoten nachfolger; + + /** + * Erzeugt einen neuen Listenknoten + * + * @param daten Der Datenwert des Knotens + * @param nachfolger Der Nachfolger des Knotens + */ + public Listenknoten(T daten, Listenknoten nachfolger) + { + this.daten = daten; + this.nachfolger = nachfolger; + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/package.bluej b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/package.bluej new file mode 100644 index 0000000..b17e129 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/liste/package.bluej @@ -0,0 +1,48 @@ +#BlueJ package file +objectbench.height=81 +objectbench.width=760 +package.divider.horizontal=0.6 +package.divider.vertical=0.824 +package.editor.height=405 +package.editor.width=649 +package.editor.x=20 +package.editor.y=20 +package.frame.height=600 +package.frame.width=800 +package.numDependencies=0 +package.numTargets=4 +package.showExtends=true +package.showUses=true +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=ListeIterativ +target1.showInterface=false +target1.type=ClassTarget +target1.width=120 +target1.x=280 +target1.y=240 +target2.height=50 +target2.name=Liste +target2.showInterface=false +target2.type=AbstractTarget +target2.width=80 +target2.x=210 +target2.y=150 +target3.height=50 +target3.name=ListeRekursiv +target3.showInterface=false +target3.type=ClassTarget +target3.width=130 +target3.x=110 +target3.y=240 +target4.height=50 +target4.name=Listenknoten +target4.showInterface=false +target4.type=ClassTarget +target4.width=170 +target4.x=300 +target4.y=70 diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/package.bluej b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/package.bluej new file mode 100644 index 0000000..eb893fb --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/package.bluej @@ -0,0 +1,51 @@ +#BlueJ package file +editor.fx.0.height=739 +editor.fx.0.width=1149 +editor.fx.0.x=713 +editor.fx.0.y=85 +objectbench.height=66 +objectbench.width=1896 +package.divider.horizontal=0.6 +package.divider.vertical=0.9236401673640168 +package.editor.height=876 +package.editor.width=1785 +package.editor.x=0 +package.editor.y=0 +package.frame.height=1056 +package.frame.width=1936 +package.numDependencies=0 +package.numTargets=4 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=TesterRekursiv +target1.showInterface=false +target1.type=UnitTestTargetJunit4 +target1.width=120 +target1.x=340 +target1.y=350 +target2.height=62 +target2.name=tests +target2.type=PackageTarget +target2.width=80 +target2.x=70 +target2.y=10 +target3.height=62 +target3.name=liste +target3.type=PackageTarget +target3.width=80 +target3.x=340 +target3.y=180 +target4.height=50 +target4.name=TesterIterativ +target4.showInterface=false +target4.type=UnitTestTargetJunit4 +target4.width=110 +target4.x=210 +target4.y=350 diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest1.java b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest1.java new file mode 100644 index 0000000..95ab1bf --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest1.java @@ -0,0 +1,2108 @@ +package tests; +import static org.junit.Assert.*; +import liste.*; +/** + * Die Test-Klasse SubTest1. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest1 +{ + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(719); + Tester.pruefeListenInhalt(dieListe, new int[]{719}); + + assertFalse("Fehler: Element 84 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(84)); + dieListe.anhaengen(320); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320}); + + assertTrue("Fehler: Element 719 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(719)); + assertTrue("Fehler: Element 719 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(719)); + assertFalse("Fehler: Element 375 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(375)); + assertFalse("Fehler: Element 691 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(691)); + dieListe.anhaengen(112); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112}); + + dieListe.anhaengen(646); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646}); + + dieListe.anhaengen(608); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608}); + + assertFalse("Fehler: Element 408 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(408)); + dieListe.anhaengen(718); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718}); + + dieListe.anhaengen(726); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726}); + + assertFalse("Fehler: Element 267 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(267)); + assertTrue("Fehler: Element 112 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(112)); + dieListe.anhaengen(241); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241}); + + assertTrue("Fehler: Element 646 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(646)); + dieListe.anhaengen(536); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536}); + + dieListe.anhaengen(297); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297}); + + assertFalse("Fehler: Element 21 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(21)); + dieListe.anhaengen(290); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290}); + + dieListe.anhaengen(534); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534}); + + assertFalse("Fehler: Element 4 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(4)); + assertTrue("Fehler: Element 718 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(718)); + assertFalse("Fehler: Element 710 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(710)); + dieListe.anhaengen(671); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671}); + + dieListe.anhaengen(871); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871}); + + dieListe.anhaengen(986); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986}); + + dieListe.anhaengen(958); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958}); + + assertTrue("Fehler: Element 534 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(534)); + assertTrue("Fehler: Element 646 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(646)); + dieListe.anhaengen(98); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98}); + + assertTrue("Fehler: Element 98 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(98)); + assertTrue("Fehler: Element 320 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(320)); + assertTrue("Fehler: Element 671 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(671)); + assertTrue("Fehler: Element 719 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(719)); + assertTrue("Fehler: Element 112 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(112)); + assertTrue("Fehler: Element 608 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(608)); + assertTrue("Fehler: Element 986 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(986)); + assertTrue("Fehler: Element 608 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(608)); + dieListe.anhaengen(102); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102}); + + dieListe.anhaengen(19); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19}); + + assertTrue("Fehler: Element 986 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(986)); + dieListe.anhaengen(126); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126}); + + dieListe.anhaengen(771); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771}); + + assertFalse("Fehler: Element 5 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(5)); + dieListe.anhaengen(780); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780}); + + dieListe.anhaengen(226); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226}); + + assertTrue("Fehler: Element 290 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(290)); + assertFalse("Fehler: Element 8 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(8)); + dieListe.anhaengen(936); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936}); + + assertFalse("Fehler: Element 357 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(357)); + assertTrue("Fehler: Element 241 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(241)); + dieListe.anhaengen(986); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986}); + + dieListe.anhaengen(335); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335}); + + dieListe.anhaengen(40); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40}); + + dieListe.anhaengen(441); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441}); + + dieListe.anhaengen(254); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254}); + + assertFalse("Fehler: Element 580 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(580)); + dieListe.anhaengen(526); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526}); + + dieListe.anhaengen(820); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820}); + + dieListe.anhaengen(528); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528}); + + assertFalse("Fehler: Element 62 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(62)); + assertTrue("Fehler: Element 986 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(986)); + dieListe.anhaengen(340); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340}); + + dieListe.anhaengen(731); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731}); + + dieListe.anhaengen(704); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704}); + + assertFalse("Fehler: Element 242 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(242)); + assertFalse("Fehler: Element 70 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(70)); + assertTrue("Fehler: Element 526 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(526)); + dieListe.anhaengen(967); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967}); + + assertTrue("Fehler: Element 731 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(731)); + assertFalse("Fehler: Element 229 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(229)); + assertTrue("Fehler: Element 936 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(936)); + assertTrue("Fehler: Element 241 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(241)); + assertFalse("Fehler: Element 764 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(764)); + dieListe.anhaengen(83); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83}); + + assertTrue("Fehler: Element 646 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(646)); + assertFalse("Fehler: Element 544 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(544)); + dieListe.anhaengen(308); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308}); + + assertTrue("Fehler: Element 528 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(528)); + dieListe.anhaengen(254); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254}); + + assertFalse("Fehler: Element 464 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(464)); + assertFalse("Fehler: Element 468 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(468)); + assertTrue("Fehler: Element 986 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(986)); + dieListe.anhaengen(794); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254,794}); + + dieListe.anhaengen(217); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254,794,217}); + + assertFalse("Fehler: Element 333 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(333)); + dieListe.anhaengen(210); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254,794,217,210}); + + dieListe.anhaengen(65); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254,794,217,210,65}); + + dieListe.anhaengen(415); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254,794,217,210,65,415}); + + dieListe.anhaengen(793); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254,794,217,210,65,415,793}); + + assertFalse("Fehler: Element 883 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(883)); + assertFalse("Fehler: Element 463 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(463)); + dieListe.anhaengen(551); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254,794,217,210,65,415,793,551}); + + assertTrue("Fehler: Element 958 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(958)); + dieListe.anhaengen(368); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254,794,217,210,65,415,793,551,368}); + + dieListe.anhaengen(466); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254,794,217,210,65,415,793,551,368,466}); + + assertTrue("Fehler: Element 780 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(780)); + assertFalse("Fehler: Element 850 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(850)); + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(642); + Tester.pruefeListenInhalt(dieListe, new int[]{642}); + + assertFalse("Fehler: Element 158 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(158)); + dieListe.anhaengen(879); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879}); + + dieListe.anhaengen(770); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770}); + + dieListe.anhaengen(181); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181}); + + assertFalse("Fehler: Element 566 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(566)); + assertTrue("Fehler: Element 181 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(181)); + assertFalse("Fehler: Element 70 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(70)); + dieListe.anhaengen(25); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25}); + + dieListe.anhaengen(811); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811}); + + assertFalse("Fehler: Element 179 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(179)); + assertFalse("Fehler: Element 230 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(230)); + dieListe.anhaengen(857); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857}); + + dieListe.anhaengen(366); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366}); + + dieListe.anhaengen(709); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709}); + + dieListe.anhaengen(290); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290}); + + dieListe.anhaengen(361); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361}); + + dieListe.anhaengen(676); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676}); + + dieListe.anhaengen(285); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285}); + + dieListe.anhaengen(748); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748}); + + dieListe.anhaengen(203); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203}); + + assertFalse("Fehler: Element 683 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(683)); + dieListe.anhaengen(170); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170}); + + dieListe.anhaengen(47); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47}); + + dieListe.anhaengen(11); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11}); + + dieListe.anhaengen(483); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483}); + + dieListe.anhaengen(345); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345}); + + dieListe.anhaengen(896); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896}); + + dieListe.anhaengen(602); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602}); + + dieListe.anhaengen(467); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467}); + + assertFalse("Fehler: Element 609 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(609)); + dieListe.anhaengen(531); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531}); + + dieListe.anhaengen(254); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254}); + + assertFalse("Fehler: Element 696 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(696)); + assertTrue("Fehler: Element 602 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(602)); + dieListe.anhaengen(26); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26}); + + assertTrue("Fehler: Element 483 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(483)); + assertTrue("Fehler: Element 290 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(290)); + dieListe.anhaengen(123); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123}); + + dieListe.anhaengen(0); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0}); + + dieListe.anhaengen(586); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586}); + + assertFalse("Fehler: Element 487 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(487)); + assertFalse("Fehler: Element 643 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(643)); + dieListe.anhaengen(558); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558}); + + dieListe.anhaengen(132); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132}); + + dieListe.anhaengen(322); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322}); + + assertFalse("Fehler: Element 671 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(671)); + dieListe.anhaengen(473); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473}); + + dieListe.anhaengen(275); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275}); + + assertTrue("Fehler: Element 709 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(709)); + dieListe.anhaengen(65); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65}); + + assertFalse("Fehler: Element 427 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(427)); + assertTrue("Fehler: Element 25 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(25)); + assertTrue("Fehler: Element 366 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(366)); + dieListe.anhaengen(124); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124}); + + dieListe.anhaengen(640); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640}); + + dieListe.anhaengen(704); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704}); + + dieListe.anhaengen(509); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509}); + + dieListe.anhaengen(489); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489}); + + dieListe.anhaengen(329); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329}); + + assertTrue("Fehler: Element 47 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(47)); + dieListe.anhaengen(521); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521}); + + dieListe.anhaengen(626); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626}); + + assertTrue("Fehler: Element 586 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(586)); + dieListe.anhaengen(691); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691}); + + assertTrue("Fehler: Element 285 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(285)); + dieListe.anhaengen(747); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747}); + + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861}); + + dieListe.anhaengen(353); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353}); + + assertTrue("Fehler: Element 65 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(65)); + dieListe.anhaengen(32); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32}); + + dieListe.anhaengen(402); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402}); + + dieListe.anhaengen(912); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912}); + + dieListe.anhaengen(590); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590}); + + dieListe.anhaengen(644); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644}); + + dieListe.anhaengen(13); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13}); + + assertFalse("Fehler: Element 617 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(617)); + assertTrue("Fehler: Element 47 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(47)); + dieListe.anhaengen(263); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263}); + + dieListe.anhaengen(480); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263,480}); + + assertFalse("Fehler: Element 844 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(844)); + dieListe.anhaengen(969); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263,480,969}); + + dieListe.anhaengen(31); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263,480,969,31}); + + dieListe.anhaengen(183); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263,480,969,31,183}); + + assertFalse("Fehler: Element 936 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(936)); + dieListe.anhaengen(949); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263,480,969,31,183,949}); + + dieListe.anhaengen(359); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263,480,969,31,183,949,359}); + + dieListe.anhaengen(42); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263,480,969,31,183,949,359,42}); + + assertFalse("Fehler: Element 100 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(100)); + assertTrue("Fehler: Element 770 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(770)); + dieListe.anhaengen(601); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263,480,969,31,183,949,359,42,601}); + + assertTrue("Fehler: Element 183 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(183)); + assertTrue("Fehler: Element 31 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(31)); + assertFalse("Fehler: Element 177 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(177)); + assertTrue("Fehler: Element 181 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(181)); + assertTrue("Fehler: Element 263 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(263)); + assertTrue("Fehler: Element 345 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(345)); + assertTrue("Fehler: Element 709 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(709)); + assertTrue("Fehler: Element 47 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(47)); + dieListe.anhaengen(239); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263,480,969,31,183,949,359,42,601,239}); + + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(877); + Tester.pruefeListenInhalt(dieListe, new int[]{877}); + + dieListe.anhaengen(934); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934}); + + dieListe.anhaengen(897); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897}); + + dieListe.anhaengen(687); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687}); + + assertTrue("Fehler: Element 897 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(897)); + dieListe.anhaengen(96); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96}); + + assertFalse("Fehler: Element 716 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(716)); + dieListe.anhaengen(936); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936}); + + dieListe.anhaengen(531); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531}); + + dieListe.anhaengen(405); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405}); + + dieListe.anhaengen(357); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357}); + + assertTrue("Fehler: Element 936 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(936)); + assertFalse("Fehler: Element 198 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(198)); + dieListe.anhaengen(481); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481}); + + dieListe.anhaengen(191); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191}); + + assertFalse("Fehler: Element 160 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(160)); + dieListe.anhaengen(543); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543}); + + dieListe.anhaengen(706); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706}); + + dieListe.anhaengen(3); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3}); + + dieListe.anhaengen(111); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111}); + + assertFalse("Fehler: Element 450 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(450)); + assertTrue("Fehler: Element 897 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(897)); + assertFalse("Fehler: Element 319 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(319)); + dieListe.anhaengen(844); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844}); + + assertFalse("Fehler: Element 62 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(62)); + assertFalse("Fehler: Element 451 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(451)); + dieListe.anhaengen(882); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882}); + + dieListe.anhaengen(847); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847}); + + dieListe.anhaengen(542); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542}); + + dieListe.anhaengen(515); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515}); + + assertTrue("Fehler: Element 191 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(191)); + assertFalse("Fehler: Element 351 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(351)); + dieListe.anhaengen(336); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336}); + + assertFalse("Fehler: Element 857 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(857)); + dieListe.anhaengen(932); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932}); + + assertTrue("Fehler: Element 934 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(934)); + dieListe.anhaengen(886); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886}); + + dieListe.anhaengen(660); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660}); + + assertFalse("Fehler: Element 672 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(672)); + dieListe.anhaengen(15); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15}); + + assertTrue("Fehler: Element 543 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(543)); + dieListe.anhaengen(672); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672}); + + dieListe.anhaengen(525); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525}); + + dieListe.anhaengen(933); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933}); + + dieListe.anhaengen(65); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65}); + + dieListe.anhaengen(620); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620}); + + assertTrue("Fehler: Element 531 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(531)); + assertFalse("Fehler: Element 816 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(816)); + assertTrue("Fehler: Element 882 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(882)); + dieListe.anhaengen(401); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401}); + + dieListe.anhaengen(392); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392}); + + assertTrue("Fehler: Element 886 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(886)); + dieListe.anhaengen(41); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41}); + + dieListe.anhaengen(314); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314}); + + assertTrue("Fehler: Element 687 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(687)); + assertFalse("Fehler: Element 347 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(347)); + dieListe.anhaengen(619); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619}); + + dieListe.anhaengen(900); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900}); + + dieListe.anhaengen(794); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794}); + + dieListe.anhaengen(896); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896}); + + dieListe.anhaengen(480); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480}); + + dieListe.anhaengen(39); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39}); + + dieListe.anhaengen(490); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490}); + + assertFalse("Fehler: Element 831 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(831)); + dieListe.anhaengen(157); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157}); + + assertTrue("Fehler: Element 314 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(314)); + assertTrue("Fehler: Element 886 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(886)); + assertTrue("Fehler: Element 882 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(882)); + assertFalse("Fehler: Element 858 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(858)); + dieListe.anhaengen(48); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48}); + + dieListe.anhaengen(359); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359}); + + assertFalse("Fehler: Element 54 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(54)); + dieListe.anhaengen(496); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496}); + + assertFalse("Fehler: Element 298 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(298)); + dieListe.anhaengen(231); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231}); + + assertFalse("Fehler: Element 759 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(759)); + assertTrue("Fehler: Element 934 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(934)); + assertFalse("Fehler: Element 369 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(369)); + assertFalse("Fehler: Element 621 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(621)); + assertTrue("Fehler: Element 41 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(41)); + dieListe.anhaengen(116); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116}); + + assertFalse("Fehler: Element 67 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(67)); + dieListe.anhaengen(108); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108}); + + dieListe.anhaengen(811); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811}); + + assertTrue("Fehler: Element 620 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(620)); + assertFalse("Fehler: Element 344 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(344)); + assertFalse("Fehler: Element 151 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(151)); + assertTrue("Fehler: Element 897 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(897)); + assertTrue("Fehler: Element 706 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(706)); + dieListe.anhaengen(662); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811,662}); + + dieListe.anhaengen(929); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811,662,929}); + + assertFalse("Fehler: Element 234 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(234)); + dieListe.anhaengen(686); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811,662,929,686}); + + dieListe.anhaengen(657); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811,662,929,686,657}); + + assertTrue("Fehler: Element 934 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(934)); + dieListe.anhaengen(905); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811,662,929,686,657,905}); + + dieListe.anhaengen(172); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811,662,929,686,657,905,172}); + + dieListe.anhaengen(25); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811,662,929,686,657,905,172,25}); + + dieListe.anhaengen(45); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811,662,929,686,657,905,172,25,45}); + + dieListe.anhaengen(372); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811,662,929,686,657,905,172,25,45,372}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(312); + Tester.pruefeListenInhalt(dieListe, new int[]{312}); + + assertTrue("Fehler: Element 312 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(312)); + dieListe.anhaengen(725); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725}); + + dieListe.anhaengen(637); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637}); + + dieListe.anhaengen(576); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576}); + + assertTrue("Fehler: Element 312 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(312)); + assertFalse("Fehler: Element 63 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(63)); + assertFalse("Fehler: Element 682 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(682)); + assertFalse("Fehler: Element 97 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(97)); + dieListe.anhaengen(361); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361}); + + assertTrue("Fehler: Element 361 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(361)); + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + dieListe.anhaengen(387); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387}); + + dieListe.anhaengen(66); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66}); + + dieListe.anhaengen(727); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727}); + + dieListe.anhaengen(633); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633}); + + assertFalse("Fehler: Element 112 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(112)); + dieListe.anhaengen(527); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527}); + + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + dieListe.anhaengen(361); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361}); + + dieListe.anhaengen(890); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890}); + + assertFalse("Fehler: Element 946 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(946)); + dieListe.anhaengen(742); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742}); + + assertFalse("Fehler: Element 228 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(228)); + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + dieListe.anhaengen(816); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816}); + + dieListe.anhaengen(142); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142}); + + dieListe.anhaengen(349); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349}); + + assertFalse("Fehler: Element 909 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(909)); + assertTrue("Fehler: Element 142 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(142)); + assertTrue("Fehler: Element 742 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(742)); + assertTrue("Fehler: Element 312 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(312)); + dieListe.anhaengen(366); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366}); + + assertTrue("Fehler: Element 142 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(142)); + dieListe.anhaengen(675); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675}); + + dieListe.anhaengen(114); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114}); + + assertFalse("Fehler: Element 154 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(154)); + assertTrue("Fehler: Element 142 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(142)); + dieListe.anhaengen(686); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686}); + + assertFalse("Fehler: Element 724 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(724)); + assertFalse("Fehler: Element 778 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(778)); + assertFalse("Fehler: Element 152 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(152)); + dieListe.anhaengen(474); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474}); + + dieListe.anhaengen(220); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220}); + + dieListe.anhaengen(28); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28}); + + dieListe.anhaengen(738); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738}); + + dieListe.anhaengen(987); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987}); + + assertFalse("Fehler: Element 644 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(644)); + assertFalse("Fehler: Element 496 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(496)); + assertTrue("Fehler: Element 637 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(637)); + assertTrue("Fehler: Element 987 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(987)); + dieListe.anhaengen(650); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650}); + + assertTrue("Fehler: Element 650 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(650)); + assertTrue("Fehler: Element 349 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(349)); + dieListe.anhaengen(436); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436}); + + dieListe.anhaengen(71); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71}); + + assertFalse("Fehler: Element 333 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(333)); + assertFalse("Fehler: Element 563 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(563)); + dieListe.anhaengen(259); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259}); + + dieListe.anhaengen(850); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850}); + + assertFalse("Fehler: Element 984 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(984)); + assertTrue("Fehler: Element 987 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(987)); + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + assertFalse("Fehler: Element 634 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(634)); + dieListe.anhaengen(993); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993}); + + assertFalse("Fehler: Element 377 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(377)); + dieListe.anhaengen(712); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712}); + + assertFalse("Fehler: Element 130 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(130)); + dieListe.anhaengen(226); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226}); + + assertTrue("Fehler: Element 675 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(675)); + assertTrue("Fehler: Element 650 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(650)); + assertTrue("Fehler: Element 142 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(142)); + dieListe.anhaengen(890); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890}); + + dieListe.anhaengen(401); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401}); + + dieListe.anhaengen(355); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355}); + + assertTrue("Fehler: Element 142 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(142)); + dieListe.anhaengen(191); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191}); + + assertFalse("Fehler: Element 186 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(186)); + assertTrue("Fehler: Element 637 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(637)); + dieListe.anhaengen(2); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2}); + + dieListe.anhaengen(88); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2,88}); + + assertTrue("Fehler: Element 738 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(738)); + assertFalse("Fehler: Element 614 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(614)); + assertTrue("Fehler: Element 361 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(361)); + assertFalse("Fehler: Element 58 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(58)); + dieListe.anhaengen(699); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2,88,699}); + + assertFalse("Fehler: Element 813 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(813)); + dieListe.anhaengen(117); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2,88,699,117}); + + assertTrue("Fehler: Element 71 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(71)); + assertTrue("Fehler: Element 675 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(675)); + assertTrue("Fehler: Element 637 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(637)); + assertTrue("Fehler: Element 114 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(114)); + assertFalse("Fehler: Element 40 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(40)); + dieListe.anhaengen(869); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2,88,699,117,869}); + + dieListe.anhaengen(590); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2,88,699,117,869,590}); + + dieListe.anhaengen(161); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2,88,699,117,869,590,161}); + + dieListe.anhaengen(740); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2,88,699,117,869,590,161,740}); + + assertFalse("Fehler: Element 610 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(610)); + dieListe.anhaengen(344); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2,88,699,117,869,590,161,740,344}); + + dieListe.anhaengen(381); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2,88,699,117,869,590,161,740,344,381}); + + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(317); + Tester.pruefeListenInhalt(dieListe, new int[]{317}); + + assertTrue("Fehler: Element 317 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(317)); + dieListe.anhaengen(256); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256}); + + assertFalse("Fehler: Element 698 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(698)); + dieListe.anhaengen(255); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255}); + + assertFalse("Fehler: Element 131 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(131)); + assertFalse("Fehler: Element 109 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(109)); + dieListe.anhaengen(3); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3}); + + dieListe.anhaengen(229); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229}); + + dieListe.anhaengen(764); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764}); + + dieListe.anhaengen(67); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67}); + + dieListe.anhaengen(231); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231}); + + assertTrue("Fehler: Element 764 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(764)); + dieListe.anhaengen(312); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312}); + + dieListe.anhaengen(517); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517}); + + dieListe.anhaengen(969); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969}); + + assertFalse("Fehler: Element 164 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(164)); + dieListe.anhaengen(621); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621}); + + assertFalse("Fehler: Element 267 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(267)); + dieListe.anhaengen(688); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688}); + + assertFalse("Fehler: Element 529 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(529)); + assertFalse("Fehler: Element 369 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(369)); + assertFalse("Fehler: Element 749 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(749)); + dieListe.anhaengen(305); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305}); + + assertFalse("Fehler: Element 325 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(325)); + assertTrue("Fehler: Element 517 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(517)); + dieListe.anhaengen(656); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656}); + + dieListe.anhaengen(279); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279}); + + assertFalse("Fehler: Element 400 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(400)); + assertTrue("Fehler: Element 305 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(305)); + assertTrue("Fehler: Element 256 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(256)); + assertFalse("Fehler: Element 958 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(958)); + assertFalse("Fehler: Element 88 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(88)); + assertFalse("Fehler: Element 922 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(922)); + dieListe.anhaengen(760); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760}); + + assertFalse("Fehler: Element 978 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(978)); + dieListe.anhaengen(286); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286}); + + assertFalse("Fehler: Element 185 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(185)); + dieListe.anhaengen(901); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901}); + + dieListe.anhaengen(780); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780}); + + assertFalse("Fehler: Element 364 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(364)); + assertTrue("Fehler: Element 286 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(286)); + dieListe.anhaengen(949); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949}); + + dieListe.anhaengen(629); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629}); + + dieListe.anhaengen(0); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0}); + + assertFalse("Fehler: Element 750 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(750)); + assertFalse("Fehler: Element 156 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(156)); + dieListe.anhaengen(178); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178}); + + dieListe.anhaengen(487); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487}); + + assertTrue("Fehler: Element 656 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(656)); + dieListe.anhaengen(225); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225}); + + assertFalse("Fehler: Element 306 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(306)); + assertTrue("Fehler: Element 0 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(0)); + assertFalse("Fehler: Element 876 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(876)); + assertFalse("Fehler: Element 432 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(432)); + dieListe.anhaengen(736); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736}); + + dieListe.anhaengen(59); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59}); + + dieListe.anhaengen(427); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427}); + + dieListe.anhaengen(327); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327}); + + assertTrue("Fehler: Element 279 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(279)); + assertFalse("Fehler: Element 676 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(676)); + assertFalse("Fehler: Element 701 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(701)); + dieListe.anhaengen(388); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388}); + + dieListe.anhaengen(9); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9}); + + assertTrue("Fehler: Element 312 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(312)); + assertTrue("Fehler: Element 225 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(225)); + dieListe.anhaengen(521); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521}); + + dieListe.anhaengen(206); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206}); + + assertFalse("Fehler: Element 565 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(565)); + dieListe.anhaengen(411); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411}); + + assertTrue("Fehler: Element 621 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(621)); + dieListe.anhaengen(156); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156}); + + assertTrue("Fehler: Element 231 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(231)); + dieListe.anhaengen(610); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610}); + + assertTrue("Fehler: Element 688 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(688)); + assertFalse("Fehler: Element 881 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(881)); + dieListe.anhaengen(767); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767}); + + assertTrue("Fehler: Element 764 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(764)); + dieListe.anhaengen(592); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592}); + + assertFalse("Fehler: Element 197 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(197)); + dieListe.anhaengen(95); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95}); + + assertTrue("Fehler: Element 3 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(3)); + dieListe.anhaengen(636); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636}); + + dieListe.anhaengen(264); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636,264}); + + assertTrue("Fehler: Element 156 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(156)); + dieListe.anhaengen(914); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636,264,914}); + + dieListe.anhaengen(411); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636,264,914,411}); + + dieListe.anhaengen(852); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636,264,914,411,852}); + + assertTrue("Fehler: Element 388 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(388)); + assertFalse("Fehler: Element 759 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(759)); + dieListe.anhaengen(653); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636,264,914,411,852,653}); + + dieListe.anhaengen(224); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636,264,914,411,852,653,224}); + + assertTrue("Fehler: Element 0 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(0)); + assertTrue("Fehler: Element 231 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(231)); + dieListe.anhaengen(398); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636,264,914,411,852,653,224,398}); + + assertFalse("Fehler: Element 729 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(729)); + dieListe.anhaengen(754); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636,264,914,411,852,653,224,398,754}); + + assertTrue("Fehler: Element 95 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(95)); + assertTrue("Fehler: Element 901 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(901)); + dieListe.anhaengen(237); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636,264,914,411,852,653,224,398,754,237}); + + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(800); + Tester.pruefeListenInhalt(dieListe, new int[]{800}); + + dieListe.anhaengen(437); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437}); + + dieListe.anhaengen(254); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254}); + + assertFalse("Fehler: Element 255 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(255)); + assertTrue("Fehler: Element 254 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(254)); + dieListe.anhaengen(638); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638}); + + assertTrue("Fehler: Element 800 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(800)); + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189}); + + assertFalse("Fehler: Element 426 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(426)); + dieListe.anhaengen(571); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571}); + + assertFalse("Fehler: Element 339 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(339)); + assertTrue("Fehler: Element 437 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(437)); + dieListe.anhaengen(975); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975}); + + dieListe.anhaengen(465); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465}); + + dieListe.anhaengen(413); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413}); + + assertTrue("Fehler: Element 800 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(800)); + dieListe.anhaengen(116); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116}); + + dieListe.anhaengen(741); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741}); + + dieListe.anhaengen(870); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870}); + + dieListe.anhaengen(323); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323}); + + assertTrue("Fehler: Element 741 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(741)); + dieListe.anhaengen(859); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859}); + + dieListe.anhaengen(847); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847}); + + assertFalse("Fehler: Element 941 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(941)); + dieListe.anhaengen(759); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759}); + + assertFalse("Fehler: Element 914 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(914)); + assertTrue("Fehler: Element 437 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(437)); + dieListe.anhaengen(218); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218}); + + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189}); + + assertTrue("Fehler: Element 218 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(218)); + dieListe.anhaengen(26); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26}); + + dieListe.anhaengen(862); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862}); + + dieListe.anhaengen(540); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540}); + + dieListe.anhaengen(580); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580}); + + assertTrue("Fehler: Element 741 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(741)); + assertTrue("Fehler: Element 465 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(465)); + assertFalse("Fehler: Element 813 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(813)); + assertFalse("Fehler: Element 103 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(103)); + dieListe.anhaengen(370); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370}); + + assertTrue("Fehler: Element 254 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(254)); + dieListe.anhaengen(293); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293}); + + assertFalse("Fehler: Element 618 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(618)); + assertFalse("Fehler: Element 820 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(820)); + dieListe.anhaengen(291); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291}); + + assertTrue("Fehler: Element 218 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(218)); + dieListe.anhaengen(786); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786}); + + dieListe.anhaengen(536); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536}); + + dieListe.anhaengen(824); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824}); + + assertFalse("Fehler: Element 215 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(215)); + assertFalse("Fehler: Element 283 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(283)); + dieListe.anhaengen(622); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622}); + + assertFalse("Fehler: Element 22 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(22)); + assertFalse("Fehler: Element 954 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(954)); + dieListe.anhaengen(91); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91}); + + dieListe.anhaengen(422); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422}); + + dieListe.anhaengen(301); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301}); + + assertFalse("Fehler: Element 614 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(614)); + assertTrue("Fehler: Element 824 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(824)); + dieListe.anhaengen(636); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636}); + + assertTrue("Fehler: Element 847 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(847)); + assertTrue("Fehler: Element 26 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(26)); + assertFalse("Fehler: Element 24 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(24)); + dieListe.anhaengen(661); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661}); + + dieListe.anhaengen(637); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637}); + + dieListe.anhaengen(700); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700}); + + dieListe.anhaengen(651); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651}); + + assertFalse("Fehler: Element 239 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(239)); + dieListe.anhaengen(22); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22}); + + dieListe.anhaengen(105); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105}); + + dieListe.anhaengen(299); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299}); + + dieListe.anhaengen(714); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714}); + + dieListe.anhaengen(8); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8}); + + assertTrue("Fehler: Element 580 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(580)); + assertTrue("Fehler: Element 323 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(323)); + dieListe.anhaengen(154); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154}); + + assertTrue("Fehler: Element 862 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(862)); + dieListe.anhaengen(749); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749}); + + assertTrue("Fehler: Element 465 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(465)); + dieListe.anhaengen(440); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749,440}); + + dieListe.anhaengen(923); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749,440,923}); + + assertTrue("Fehler: Element 700 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(700)); + assertTrue("Fehler: Element 800 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(800)); + dieListe.anhaengen(603); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749,440,923,603}); + + dieListe.anhaengen(252); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749,440,923,603,252}); + + assertFalse("Fehler: Element 488 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(488)); + dieListe.anhaengen(869); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749,440,923,603,252,869}); + + assertFalse("Fehler: Element 208 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(208)); + assertTrue("Fehler: Element 749 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(749)); + assertFalse("Fehler: Element 451 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(451)); + assertTrue("Fehler: Element 154 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(154)); + dieListe.anhaengen(158); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749,440,923,603,252,869,158}); + + assertFalse("Fehler: Element 978 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(978)); + assertFalse("Fehler: Element 416 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(416)); + dieListe.anhaengen(459); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749,440,923,603,252,869,158,459}); + + assertFalse("Fehler: Element 856 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(856)); + dieListe.anhaengen(58); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749,440,923,603,252,869,158,459,58}); + + dieListe.anhaengen(230); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749,440,923,603,252,869,158,459,58,230}); + + assertFalse("Fehler: Element 168 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(168)); + assertTrue("Fehler: Element 540 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(540)); + assertTrue("Fehler: Element 536 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(536)); + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(16); + Tester.pruefeListenInhalt(dieListe, new int[]{16}); + + assertFalse("Fehler: Element 785 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(785)); + dieListe.anhaengen(607); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607}); + + assertFalse("Fehler: Element 61 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(61)); + dieListe.anhaengen(583); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583}); + + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + dieListe.anhaengen(399); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399}); + + assertFalse("Fehler: Element 275 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(275)); + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + assertFalse("Fehler: Element 51 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(51)); + assertTrue("Fehler: Element 607 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(607)); + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + dieListe.anhaengen(490); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490}); + + dieListe.anhaengen(219); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219}); + + assertTrue("Fehler: Element 219 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(219)); + dieListe.anhaengen(96); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96}); + + assertFalse("Fehler: Element 746 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(746)); + dieListe.anhaengen(608); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608}); + + assertFalse("Fehler: Element 208 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(208)); + assertTrue("Fehler: Element 16 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(16)); + dieListe.anhaengen(831); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831}); + + dieListe.anhaengen(53); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53}); + + dieListe.anhaengen(379); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379}); + + dieListe.anhaengen(280); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280}); + + dieListe.anhaengen(802); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802}); + + dieListe.anhaengen(634); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634}); + + assertTrue("Fehler: Element 16 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(16)); + assertTrue("Fehler: Element 96 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(96)); + dieListe.anhaengen(527); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527}); + + assertFalse("Fehler: Element 917 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(917)); + dieListe.anhaengen(333); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333}); + + dieListe.anhaengen(606); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606}); + + dieListe.anhaengen(713); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713}); + + assertFalse("Fehler: Element 434 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(434)); + assertFalse("Fehler: Element 794 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(794)); + dieListe.anhaengen(724); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724}); + + dieListe.anhaengen(244); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244}); + + assertFalse("Fehler: Element 965 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(965)); + dieListe.anhaengen(6); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6}); + + assertTrue("Fehler: Element 6 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(6)); + assertTrue("Fehler: Element 606 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(606)); + assertTrue("Fehler: Element 96 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(96)); + assertTrue("Fehler: Element 608 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(608)); + assertTrue("Fehler: Element 96 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(96)); + assertFalse("Fehler: Element 51 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(51)); + dieListe.anhaengen(472); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472}); + + dieListe.anhaengen(188); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188}); + + dieListe.anhaengen(637); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637}); + + assertTrue("Fehler: Element 637 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(637)); + assertTrue("Fehler: Element 606 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(606)); + assertFalse("Fehler: Element 701 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(701)); + dieListe.anhaengen(833); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833}); + + dieListe.anhaengen(886); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886}); + + dieListe.anhaengen(895); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895}); + + dieListe.anhaengen(576); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576}); + + dieListe.anhaengen(2); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2}); + + assertFalse("Fehler: Element 571 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(571)); + dieListe.anhaengen(224); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224}); + + dieListe.anhaengen(2); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2}); + + assertFalse("Fehler: Element 868 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(868)); + assertFalse("Fehler: Element 412 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(412)); + assertFalse("Fehler: Element 932 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(932)); + dieListe.anhaengen(909); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909}); + + assertFalse("Fehler: Element 519 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(519)); + assertTrue("Fehler: Element 831 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(831)); + dieListe.anhaengen(456); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456}); + + dieListe.anhaengen(588); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588}); + + assertTrue("Fehler: Element 96 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(96)); + dieListe.anhaengen(692); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692}); + + assertFalse("Fehler: Element 43 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(43)); + assertFalse("Fehler: Element 880 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(880)); + dieListe.anhaengen(342); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342}); + + assertFalse("Fehler: Element 795 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(795)); + dieListe.anhaengen(95); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95}); + + assertFalse("Fehler: Element 876 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(876)); + assertTrue("Fehler: Element 831 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(831)); + assertFalse("Fehler: Element 387 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(387)); + assertTrue("Fehler: Element 576 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(576)); + dieListe.anhaengen(386); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386}); + + assertFalse("Fehler: Element 846 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(846)); + dieListe.anhaengen(398); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398}); + + assertFalse("Fehler: Element 665 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(665)); + dieListe.anhaengen(251); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251}); + + assertFalse("Fehler: Element 875 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(875)); + dieListe.anhaengen(535); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535}); + + dieListe.anhaengen(856); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535,856}); + + dieListe.anhaengen(602); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535,856,602}); + + dieListe.anhaengen(921); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535,856,602,921}); + + dieListe.anhaengen(645); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535,856,602,921,645}); + + assertTrue("Fehler: Element 96 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(96)); + assertFalse("Fehler: Element 994 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(994)); + assertFalse("Fehler: Element 783 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(783)); + dieListe.anhaengen(82); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535,856,602,921,645,82}); + + dieListe.anhaengen(971); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535,856,602,921,645,82,971}); + + dieListe.anhaengen(245); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535,856,602,921,645,82,971,245}); + + assertTrue("Fehler: Element 921 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(921)); + assertFalse("Fehler: Element 43 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(43)); + assertFalse("Fehler: Element 653 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(653)); + dieListe.anhaengen(955); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535,856,602,921,645,82,971,245,955}); + + dieListe.anhaengen(978); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535,856,602,921,645,82,971,245,955,978}); + + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(557); + Tester.pruefeListenInhalt(dieListe, new int[]{557}); + + assertFalse("Fehler: Element 184 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(184)); + dieListe.anhaengen(265); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265}); + + assertFalse("Fehler: Element 357 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(357)); + dieListe.anhaengen(82); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82}); + + dieListe.anhaengen(217); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217}); + + dieListe.anhaengen(644); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644}); + + dieListe.anhaengen(366); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366}); + + assertFalse("Fehler: Element 596 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(596)); + dieListe.anhaengen(743); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743}); + + dieListe.anhaengen(893); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893}); + + dieListe.anhaengen(423); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423}); + + dieListe.anhaengen(29); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29}); + + assertTrue("Fehler: Element 423 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(423)); + assertFalse("Fehler: Element 98 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(98)); + dieListe.anhaengen(704); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704}); + + dieListe.anhaengen(957); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957}); + + assertTrue("Fehler: Element 557 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(557)); + dieListe.anhaengen(816); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816}); + + dieListe.anhaengen(920); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920}); + + assertFalse("Fehler: Element 325 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(325)); + dieListe.anhaengen(408); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408}); + + assertFalse("Fehler: Element 529 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(529)); + dieListe.anhaengen(41); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41}); + + dieListe.anhaengen(653); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653}); + + assertFalse("Fehler: Element 648 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(648)); + dieListe.anhaengen(402); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402}); + + assertTrue("Fehler: Element 265 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(265)); + dieListe.anhaengen(932); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932}); + + assertTrue("Fehler: Element 82 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(82)); + assertFalse("Fehler: Element 282 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(282)); + dieListe.anhaengen(727); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727}); + + assertFalse("Fehler: Element 405 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(405)); + assertTrue("Fehler: Element 644 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(644)); + dieListe.anhaengen(393); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393}); + + assertFalse("Fehler: Element 21 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(21)); + dieListe.anhaengen(19); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19}); + + assertTrue("Fehler: Element 957 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(957)); + dieListe.anhaengen(547); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547}); + + assertFalse("Fehler: Element 33 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(33)); + dieListe.anhaengen(494); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494}); + + dieListe.anhaengen(152); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152}); + + assertTrue("Fehler: Element 920 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(920)); + dieListe.anhaengen(6); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6}); + + assertTrue("Fehler: Element 644 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(644)); + dieListe.anhaengen(531); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531}); + + assertFalse("Fehler: Element 543 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(543)); + dieListe.anhaengen(306); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306}); + + assertFalse("Fehler: Element 509 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(509)); + assertTrue("Fehler: Element 932 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(932)); + dieListe.anhaengen(444); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444}); + + dieListe.anhaengen(70); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70}); + + assertFalse("Fehler: Element 315 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(315)); + assertFalse("Fehler: Element 363 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(363)); + dieListe.anhaengen(464); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464}); + + dieListe.anhaengen(855); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855}); + + dieListe.anhaengen(40); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40}); + + dieListe.anhaengen(716); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716}); + + dieListe.anhaengen(584); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584}); + + assertFalse("Fehler: Element 262 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(262)); + assertTrue("Fehler: Element 704 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(704)); + assertTrue("Fehler: Element 70 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(70)); + dieListe.anhaengen(868); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868}); + + dieListe.anhaengen(845); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845}); + + assertTrue("Fehler: Element 494 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(494)); + dieListe.anhaengen(196); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196}); + + dieListe.anhaengen(261); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261}); + + dieListe.anhaengen(178); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178}); + + dieListe.anhaengen(232); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232}); + + dieListe.anhaengen(163); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163}); + + dieListe.anhaengen(946); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946}); + + assertTrue("Fehler: Element 946 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(946)); + assertTrue("Fehler: Element 920 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(920)); + dieListe.anhaengen(177); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177}); + + assertFalse("Fehler: Element 633 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(633)); + dieListe.anhaengen(434); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434}); + + assertTrue("Fehler: Element 177 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(177)); + dieListe.anhaengen(614); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614}); + + dieListe.anhaengen(743); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743}); + + dieListe.anhaengen(186); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186}); + + assertFalse("Fehler: Element 339 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(339)); + assertTrue("Fehler: Element 868 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(868)); + dieListe.anhaengen(178); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178}); + + assertTrue("Fehler: Element 82 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(82)); + dieListe.anhaengen(242); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242}); + + dieListe.anhaengen(808); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808}); + + dieListe.anhaengen(473); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808,473}); + + dieListe.anhaengen(623); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808,473,623}); + + dieListe.anhaengen(673); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808,473,623,673}); + + assertTrue("Fehler: Element 531 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(531)); + assertFalse("Fehler: Element 447 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(447)); + assertFalse("Fehler: Element 147 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(147)); + dieListe.anhaengen(179); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808,473,623,673,179}); + + dieListe.anhaengen(52); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808,473,623,673,179,52}); + + assertTrue("Fehler: Element 868 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(868)); + dieListe.anhaengen(944); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808,473,623,673,179,52,944}); + + dieListe.anhaengen(88); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808,473,623,673,179,52,944,88}); + + dieListe.anhaengen(903); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808,473,623,673,179,52,944,88,903}); + + dieListe.anhaengen(866); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808,473,623,673,179,52,944,88,903,866}); + + assertFalse("Fehler: Element 728 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(728)); + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(975); + Tester.pruefeListenInhalt(dieListe, new int[]{975}); + + dieListe.anhaengen(395); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395}); + + dieListe.anhaengen(147); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147}); + + dieListe.anhaengen(806); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806}); + + dieListe.anhaengen(192); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192}); + + dieListe.anhaengen(107); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107}); + + assertFalse("Fehler: Element 168 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(168)); + dieListe.anhaengen(209); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209}); + + assertFalse("Fehler: Element 915 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(915)); + assertFalse("Fehler: Element 250 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(250)); + assertTrue("Fehler: Element 395 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(395)); + assertTrue("Fehler: Element 147 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(147)); + dieListe.anhaengen(821); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821}); + + assertFalse("Fehler: Element 990 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(990)); + assertTrue("Fehler: Element 806 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(806)); + dieListe.anhaengen(572); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572}); + + dieListe.anhaengen(711); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711}); + + dieListe.anhaengen(779); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779}); + + dieListe.anhaengen(333); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333}); + + dieListe.anhaengen(663); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663}); + + assertTrue("Fehler: Element 395 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(395)); + dieListe.anhaengen(340); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340}); + + dieListe.anhaengen(294); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294}); + + assertFalse("Fehler: Element 109 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(109)); + assertFalse("Fehler: Element 444 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(444)); + assertFalse("Fehler: Element 280 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(280)); + assertFalse("Fehler: Element 11 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(11)); + assertFalse("Fehler: Element 614 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(614)); + assertFalse("Fehler: Element 470 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(470)); + dieListe.anhaengen(931); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931}); + + dieListe.anhaengen(76); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76}); + + assertFalse("Fehler: Element 64 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(64)); + dieListe.anhaengen(606); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606}); + + assertFalse("Fehler: Element 371 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(371)); + dieListe.anhaengen(331); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331}); + + assertTrue("Fehler: Element 331 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(331)); + dieListe.anhaengen(271); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271}); + + assertFalse("Fehler: Element 7 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(7)); + assertTrue("Fehler: Element 821 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(821)); + dieListe.anhaengen(793); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793}); + + assertFalse("Fehler: Element 701 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(701)); + assertFalse("Fehler: Element 547 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(547)); + assertFalse("Fehler: Element 114 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(114)); + assertTrue("Fehler: Element 663 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(663)); + dieListe.anhaengen(570); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570}); + + dieListe.anhaengen(15); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15}); + + dieListe.anhaengen(871); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871}); + + dieListe.anhaengen(631); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631}); + + assertFalse("Fehler: Element 490 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(490)); + dieListe.anhaengen(328); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328}); + + dieListe.anhaengen(362); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362}); + + dieListe.anhaengen(46); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46}); + + dieListe.anhaengen(259); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259}); + + dieListe.anhaengen(276); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276}); + + assertFalse("Fehler: Element 738 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(738)); + assertTrue("Fehler: Element 271 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(271)); + assertFalse("Fehler: Element 364 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(364)); + assertFalse("Fehler: Element 245 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(245)); + assertFalse("Fehler: Element 314 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(314)); + assertTrue("Fehler: Element 631 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(631)); + dieListe.anhaengen(318); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318}); + + dieListe.anhaengen(21); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21}); + + dieListe.anhaengen(920); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920}); + + assertFalse("Fehler: Element 861 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(861)); + dieListe.anhaengen(932); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932}); + + assertTrue("Fehler: Element 333 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(333)); + assertTrue("Fehler: Element 46 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(46)); + assertTrue("Fehler: Element 362 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(362)); + assertTrue("Fehler: Element 46 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(46)); + dieListe.anhaengen(723); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723}); + + dieListe.anhaengen(362); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362}); + + assertFalse("Fehler: Element 842 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(842)); + assertFalse("Fehler: Element 199 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(199)); + assertTrue("Fehler: Element 271 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(271)); + dieListe.anhaengen(890); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890}); + + dieListe.anhaengen(968); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968}); + + dieListe.anhaengen(909); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909}); + + dieListe.anhaengen(399); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399}); + + dieListe.anhaengen(143); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143}); + + assertFalse("Fehler: Element 605 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(605)); + dieListe.anhaengen(297); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143,297}); + + dieListe.anhaengen(788); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143,297,788}); + + dieListe.anhaengen(407); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143,297,788,407}); + + assertTrue("Fehler: Element 15 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(15)); + assertFalse("Fehler: Element 747 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(747)); + assertFalse("Fehler: Element 235 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(235)); + assertTrue("Fehler: Element 572 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(572)); + assertTrue("Fehler: Element 931 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(931)); + assertFalse("Fehler: Element 620 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(620)); + dieListe.anhaengen(439); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143,297,788,407,439}); + + assertTrue("Fehler: Element 21 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(21)); + dieListe.anhaengen(920); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143,297,788,407,439,920}); + + dieListe.anhaengen(905); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143,297,788,407,439,920,905}); + + assertTrue("Fehler: Element 209 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(209)); + assertTrue("Fehler: Element 143 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(143)); + dieListe.anhaengen(480); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143,297,788,407,439,920,905,480}); + + dieListe.anhaengen(327); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143,297,788,407,439,920,905,480,327}); + + dieListe.anhaengen(124); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143,297,788,407,439,920,905,480,327,124}); + + assertTrue("Fehler: Element 723 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(723)); + assertTrue("Fehler: Element 362 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(362)); + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(117); + Tester.pruefeListenInhalt(dieListe, new int[]{117}); + + assertFalse("Fehler: Element 732 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(732)); + assertTrue("Fehler: Element 117 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(117)); + assertTrue("Fehler: Element 117 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(117)); + dieListe.anhaengen(452); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452}); + + dieListe.anhaengen(853); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853}); + + assertFalse("Fehler: Element 384 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(384)); + dieListe.anhaengen(622); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622}); + + dieListe.anhaengen(500); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500}); + + dieListe.anhaengen(284); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284}); + + dieListe.anhaengen(81); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81}); + + assertFalse("Fehler: Element 174 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(174)); + assertFalse("Fehler: Element 814 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(814)); + dieListe.anhaengen(278); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278}); + + dieListe.anhaengen(401); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401}); + + dieListe.anhaengen(507); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507}); + + dieListe.anhaengen(701); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701}); + + assertTrue("Fehler: Element 622 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(622)); + dieListe.anhaengen(709); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709}); + + dieListe.anhaengen(756); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756}); + + assertFalse("Fehler: Element 387 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(387)); + dieListe.anhaengen(870); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870}); + + assertFalse("Fehler: Element 203 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(203)); + dieListe.anhaengen(931); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931}); + + assertFalse("Fehler: Element 448 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(448)); + assertFalse("Fehler: Element 373 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(373)); + dieListe.anhaengen(494); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494}); + + dieListe.anhaengen(543); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543}); + + dieListe.anhaengen(627); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627}); + + dieListe.anhaengen(304); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304}); + + assertTrue("Fehler: Element 853 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(853)); + assertTrue("Fehler: Element 870 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(870)); + dieListe.anhaengen(972); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972}); + + dieListe.anhaengen(679); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679}); + + dieListe.anhaengen(297); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297}); + + dieListe.anhaengen(788); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788}); + + dieListe.anhaengen(55); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55}); + + assertFalse("Fehler: Element 544 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(544)); + assertTrue("Fehler: Element 756 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(756)); + dieListe.anhaengen(159); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159}); + + assertTrue("Fehler: Element 701 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(701)); + assertFalse("Fehler: Element 859 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(859)); + assertFalse("Fehler: Element 313 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(313)); + dieListe.anhaengen(248); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248}); + + assertFalse("Fehler: Element 739 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(739)); + dieListe.anhaengen(756); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756}); + + dieListe.anhaengen(383); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383}); + + assertFalse("Fehler: Element 902 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(902)); + assertTrue("Fehler: Element 788 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(788)); + assertFalse("Fehler: Element 777 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(777)); + assertFalse("Fehler: Element 602 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(602)); + dieListe.anhaengen(375); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375}); + + assertTrue("Fehler: Element 55 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(55)); + assertFalse("Fehler: Element 422 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(422)); + assertTrue("Fehler: Element 452 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(452)); + dieListe.anhaengen(566); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566}); + + assertTrue("Fehler: Element 248 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(248)); + dieListe.anhaengen(15); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15}); + + assertTrue("Fehler: Element 304 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(304)); + dieListe.anhaengen(757); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757}); + + assertTrue("Fehler: Element 375 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(375)); + assertTrue("Fehler: Element 788 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(788)); + assertFalse("Fehler: Element 987 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(987)); + assertTrue("Fehler: Element 870 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(870)); + dieListe.anhaengen(470); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470}); + + dieListe.anhaengen(385); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385}); + + dieListe.anhaengen(10); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10}); + + assertFalse("Fehler: Element 666 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(666)); + assertTrue("Fehler: Element 55 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(55)); + dieListe.anhaengen(337); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337}); + + dieListe.anhaengen(490); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490}); + + dieListe.anhaengen(417); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417}); + + assertFalse("Fehler: Element 311 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(311)); + dieListe.anhaengen(200); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200}); + + assertTrue("Fehler: Element 10 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(10)); + dieListe.anhaengen(601); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601}); + + assertFalse("Fehler: Element 582 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(582)); + dieListe.anhaengen(709); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601,709}); + + assertFalse("Fehler: Element 157 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(157)); + assertTrue("Fehler: Element 304 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(304)); + assertFalse("Fehler: Element 725 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(725)); + assertTrue("Fehler: Element 756 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(756)); + assertFalse("Fehler: Element 900 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(900)); + dieListe.anhaengen(547); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601,709,547}); + + dieListe.anhaengen(282); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601,709,547,282}); + + assertFalse("Fehler: Element 810 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(810)); + assertTrue("Fehler: Element 756 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(756)); + dieListe.anhaengen(433); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601,709,547,282,433}); + + dieListe.anhaengen(454); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601,709,547,282,433,454}); + + assertFalse("Fehler: Element 185 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(185)); + assertTrue("Fehler: Element 55 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(55)); + assertTrue("Fehler: Element 756 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(756)); + dieListe.anhaengen(640); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601,709,547,282,433,454,640}); + + dieListe.anhaengen(480); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601,709,547,282,433,454,640,480}); + + assertFalse("Fehler: Element 473 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(473)); + dieListe.anhaengen(355); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601,709,547,282,433,454,640,480,355}); + + assertTrue("Fehler: Element 788 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(788)); + assertFalse("Fehler: Element 568 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(568)); + assertFalse("Fehler: Element 591 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(591)); + dieListe.anhaengen(375); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601,709,547,282,433,454,640,480,355,375}); + +} +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest10.java b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest10.java new file mode 100644 index 0000000..70acc13 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest10.java @@ -0,0 +1,2733 @@ +package tests; + +import static org.junit.Assert.*; + +import liste.*; + +/** + * Die Test-Klasse SubTest10. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest10 { + + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(184); + Tester.pruefeListenInhalt(dieListe, new int[]{184}); + + dieListe.anhaengen(90); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 90}); + + assertTrue("Fehler: Element 90 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(90)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{184}); + + assertFalse("Fehler: Element 332 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(332)); + dieListe.anhaengen(911); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 911}); + + dieListe.anhaengen(418); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 911, 418}); + + dieListe.anhaengen(522); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 911, 418, 522}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 911, 522}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 522}); + + assertFalse("Fehler: Element 952 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(952)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{184}); + + assertTrue("Fehler: Element 184 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(184)); + dieListe.einfuegenBei(1, 362); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 362}); + + dieListe.anhaengen(108); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 362, 108}); + + assertFalse("Fehler: Element 265 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(265)); + assertFalse("Fehler: Element 640 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(640)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 362}); + + dieListe.anhaengen(308); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 362, 308}); + + dieListe.einfuegenBei(1, 627); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 627, 362, 308}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(603); + Tester.pruefeListenInhalt(dieListe, new int[]{603}); + + assertTrue("Fehler: Element 603 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(603)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(90); + Tester.pruefeListenInhalt(dieListe, new int[]{90}); + + assertFalse("Fehler: Element 622 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(622)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(182); + Tester.pruefeListenInhalt(dieListe, new int[]{182}); + + dieListe.einfuegenBei(1, 371); + Tester.pruefeListenInhalt(dieListe, new int[]{182, 371}); + + dieListe.einfuegenBei(2, 525); + Tester.pruefeListenInhalt(dieListe, new int[]{182, 371, 525}); + + dieListe.einfuegenBei(3, 380); + Tester.pruefeListenInhalt(dieListe, new int[]{182, 371, 525, 380}); + + assertFalse("Fehler: Element 810 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(810)); + assertTrue("Fehler: Element 371 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(371)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{371, 525, 380}); + + assertTrue("Fehler: Element 371 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(371)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{525, 380}); + + assertFalse("Fehler: Element 253 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(253)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{380}); + + dieListe.einfuegenBei(0, 942); + Tester.pruefeListenInhalt(dieListe, new int[]{942, 380}); + + dieListe.anhaengen(848); + Tester.pruefeListenInhalt(dieListe, new int[]{942, 380, 848}); + + assertTrue("Fehler: Element 380 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(380)); + assertFalse("Fehler: Element 620 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(620)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{942, 848}); + + dieListe.einfuegenBei(2, 914); + Tester.pruefeListenInhalt(dieListe, new int[]{942, 848, 914}); + + assertTrue("Fehler: Element 914 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(914)); + assertTrue("Fehler: Element 848 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(848)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{942, 848}); + + assertTrue("Fehler: Element 848 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(848)); + dieListe.einfuegenBei(2, 311); + Tester.pruefeListenInhalt(dieListe, new int[]{942, 848, 311}); + + assertFalse("Fehler: Element 687 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(687)); + dieListe.anhaengen(7); + Tester.pruefeListenInhalt(dieListe, new int[]{942, 848, 311, 7}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 863); + Tester.pruefeListenInhalt(dieListe, new int[]{863}); + + dieListe.einfuegenBei(1, 206); + Tester.pruefeListenInhalt(dieListe, new int[]{863, 206}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{863}); + + dieListe.anhaengen(360); + Tester.pruefeListenInhalt(dieListe, new int[]{863, 360}); + + dieListe.einfuegenBei(0, 860); + Tester.pruefeListenInhalt(dieListe, new int[]{860, 863, 360}); + + assertTrue("Fehler: Element 863 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(863)); + assertTrue("Fehler: Element 863 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(863)); + assertFalse("Fehler: Element 433 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(433)); + dieListe.anhaengen(230); + Tester.pruefeListenInhalt(dieListe, new int[]{860, 863, 360, 230}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(264); + Tester.pruefeListenInhalt(dieListe, new int[]{264}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 820); + Tester.pruefeListenInhalt(dieListe, new int[]{820}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 796); + Tester.pruefeListenInhalt(dieListe, new int[]{796}); + + dieListe.anhaengen(860); + Tester.pruefeListenInhalt(dieListe, new int[]{796, 860}); + + assertTrue("Fehler: Element 796 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(796)); + dieListe.einfuegenBei(1, 141); + Tester.pruefeListenInhalt(dieListe, new int[]{796, 141, 860}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{796, 141}); + + dieListe.einfuegenBei(2, 703); + Tester.pruefeListenInhalt(dieListe, new int[]{796, 141, 703}); + + dieListe.anhaengen(376); + Tester.pruefeListenInhalt(dieListe, new int[]{796, 141, 703, 376}); + + dieListe.einfuegenBei(2, 536); + Tester.pruefeListenInhalt(dieListe, new int[]{796, 141, 536, 703, 376}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{796, 141, 703, 376}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(587); + Tester.pruefeListenInhalt(dieListe, new int[]{587}); + + dieListe.einfuegenBei(1, 240); + Tester.pruefeListenInhalt(dieListe, new int[]{587, 240}); + + dieListe.einfuegenBei(0, 449); + Tester.pruefeListenInhalt(dieListe, new int[]{449, 587, 240}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{587, 240}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{587}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 826); + Tester.pruefeListenInhalt(dieListe, new int[]{826}); + + dieListe.einfuegenBei(1, 361); + Tester.pruefeListenInhalt(dieListe, new int[]{826, 361}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{826}); + + assertTrue("Fehler: Element 826 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(826)); + dieListe.anhaengen(100); + Tester.pruefeListenInhalt(dieListe, new int[]{826, 100}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(23); + Tester.pruefeListenInhalt(dieListe, new int[]{23}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(296); + Tester.pruefeListenInhalt(dieListe, new int[]{296}); + + dieListe.anhaengen(822); + Tester.pruefeListenInhalt(dieListe, new int[]{296, 822}); + + dieListe.einfuegenBei(2, 149); + Tester.pruefeListenInhalt(dieListe, new int[]{296, 822, 149}); + + dieListe.anhaengen(934); + Tester.pruefeListenInhalt(dieListe, new int[]{296, 822, 149, 934}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{296, 149, 934}); + + dieListe.einfuegenBei(2, 281); + Tester.pruefeListenInhalt(dieListe, new int[]{296, 149, 281, 934}); + + assertFalse("Fehler: Element 950 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(950)); + dieListe.anhaengen(750); + Tester.pruefeListenInhalt(dieListe, new int[]{296, 149, 281, 934, 750}); + + dieListe.einfuegenBei(0, 594); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 296, 149, 281, 934, 750}); + + dieListe.anhaengen(787); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 296, 149, 281, 934, 750, 787}); + + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 794); + Tester.pruefeListenInhalt(dieListe, new int[]{794}); + + dieListe.einfuegenBei(0, 18); + Tester.pruefeListenInhalt(dieListe, new int[]{18, 794}); + + dieListe.einfuegenBei(1, 546); + Tester.pruefeListenInhalt(dieListe, new int[]{18, 546, 794}); + + assertTrue("Fehler: Element 546 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(546)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{18, 794}); + + dieListe.anhaengen(984); + Tester.pruefeListenInhalt(dieListe, new int[]{18, 794, 984}); + + assertFalse("Fehler: Element 957 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(957)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{794, 984}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{794}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 572); + Tester.pruefeListenInhalt(dieListe, new int[]{572}); + + dieListe.einfuegenBei(1, 599); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 599}); + + dieListe.anhaengen(284); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 599, 284}); + + assertFalse("Fehler: Element 817 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(817)); + assertTrue("Fehler: Element 284 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(284)); + dieListe.einfuegenBei(2, 78); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 599, 78, 284}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 599, 284}); + + dieListe.anhaengen(529); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 599, 284, 529}); + + assertTrue("Fehler: Element 599 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(599)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 599, 284}); + + assertFalse("Fehler: Element 540 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(540)); + dieListe.einfuegenBei(1, 9); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 9, 599, 284}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 599, 284}); + + dieListe.anhaengen(469); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 599, 284, 469}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 599, 469}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 469}); + + dieListe.anhaengen(39); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 469, 39}); + + dieListe.anhaengen(880); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 469, 39, 880}); + + assertTrue("Fehler: Element 39 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(39)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 469, 880}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 880}); + + dieListe.einfuegenBei(1, 264); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 264, 880}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 264}); + + assertFalse("Fehler: Element 225 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(225)); + assertFalse("Fehler: Element 335 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(335)); + assertTrue("Fehler: Element 264 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(264)); + dieListe.einfuegenBei(2, 686); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 264, 686}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 264}); + + dieListe.einfuegenBei(2, 884); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 264, 884}); + + dieListe.anhaengen(721); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 264, 884, 721}); + + assertTrue("Fehler: Element 884 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(884)); + dieListe.anhaengen(307); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 264, 884, 721, 307}); + + dieListe.einfuegenBei(0, 26); + Tester.pruefeListenInhalt(dieListe, new int[]{26, 599, 264, 884, 721, 307}); + + assertTrue("Fehler: Element 599 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(599)); + assertTrue("Fehler: Element 264 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(264)); + assertTrue("Fehler: Element 599 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(599)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{26, 599, 264, 721, 307}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{26, 599, 721, 307}); + + dieListe.einfuegenBei(1, 82); + Tester.pruefeListenInhalt(dieListe, new int[]{26, 82, 599, 721, 307}); + + dieListe.anhaengen(531); + Tester.pruefeListenInhalt(dieListe, new int[]{26, 82, 599, 721, 307, 531}); + + dieListe.einfuegenBei(1, 686); + Tester.pruefeListenInhalt(dieListe, new int[]{26, 686, 82, 599, 721, 307, 531}); + + assertTrue("Fehler: Element 307 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(307)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 407); + Tester.pruefeListenInhalt(dieListe, new int[]{407}); + + assertFalse("Fehler: Element 254 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(254)); + dieListe.anhaengen(25); + Tester.pruefeListenInhalt(dieListe, new int[]{407, 25}); + + dieListe.anhaengen(262); + Tester.pruefeListenInhalt(dieListe, new int[]{407, 25, 262}); + + assertFalse("Fehler: Element 521 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(521)); + dieListe.anhaengen(736); + Tester.pruefeListenInhalt(dieListe, new int[]{407, 25, 262, 736}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{407, 262, 736}); + + assertFalse("Fehler: Element 346 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(346)); + dieListe.einfuegenBei(1, 149); + Tester.pruefeListenInhalt(dieListe, new int[]{407, 149, 262, 736}); + + assertFalse("Fehler: Element 482 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(482)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 262, 736}); + + dieListe.anhaengen(502); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 262, 736, 502}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 262, 736}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(372); + Tester.pruefeListenInhalt(dieListe, new int[]{372}); + + assertTrue("Fehler: Element 372 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(372)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(999); + Tester.pruefeListenInhalt(dieListe, new int[]{999}); + + dieListe.anhaengen(790); + Tester.pruefeListenInhalt(dieListe, new int[]{999, 790}); + + assertFalse("Fehler: Element 905 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(905)); + assertFalse("Fehler: Element 360 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(360)); + dieListe.einfuegenBei(0, 524); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 999, 790}); + + assertFalse("Fehler: Element 387 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(387)); + dieListe.einfuegenBei(2, 13); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 999, 13, 790}); + + assertFalse("Fehler: Element 853 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(853)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 13, 790}); + + dieListe.einfuegenBei(1, 309); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 309, 13, 790}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{309, 13, 790}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{13, 790}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{790}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(245); + Tester.pruefeListenInhalt(dieListe, new int[]{245}); + + dieListe.einfuegenBei(0, 517); + Tester.pruefeListenInhalt(dieListe, new int[]{517, 245}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{245}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 907); + Tester.pruefeListenInhalt(dieListe, new int[]{907}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(898); + Tester.pruefeListenInhalt(dieListe, new int[]{898}); + + assertTrue("Fehler: Element 898 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(898)); + dieListe.einfuegenBei(0, 296); + Tester.pruefeListenInhalt(dieListe, new int[]{296, 898}); + + assertFalse("Fehler: Element 677 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(677)); + assertFalse("Fehler: Element 621 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(621)); + dieListe.anhaengen(777); + Tester.pruefeListenInhalt(dieListe, new int[]{296, 898, 777}); + + assertFalse("Fehler: Element 208 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(208)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 140); + Tester.pruefeListenInhalt(dieListe, new int[]{140}); + + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(62); + Tester.pruefeListenInhalt(dieListe, new int[]{62}); + + assertTrue("Fehler: Element 62 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(62)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 247); + Tester.pruefeListenInhalt(dieListe, new int[]{247}); + + assertFalse("Fehler: Element 494 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(494)); + dieListe.anhaengen(425); + Tester.pruefeListenInhalt(dieListe, new int[]{247, 425}); + + assertTrue("Fehler: Element 247 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(247)); + assertTrue("Fehler: Element 425 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(425)); + assertFalse("Fehler: Element 501 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(501)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{247}); + + dieListe.anhaengen(552); + Tester.pruefeListenInhalt(dieListe, new int[]{247, 552}); + + assertFalse("Fehler: Element 295 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(295)); + assertFalse("Fehler: Element 259 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(259)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{247}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 395); + Tester.pruefeListenInhalt(dieListe, new int[]{395}); + + dieListe.anhaengen(387); + Tester.pruefeListenInhalt(dieListe, new int[]{395, 387}); + + assertFalse("Fehler: Element 687 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(687)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{395}); + + dieListe.einfuegenBei(1, 403); + Tester.pruefeListenInhalt(dieListe, new int[]{395, 403}); + + assertTrue("Fehler: Element 403 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(403)); + assertTrue("Fehler: Element 403 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(403)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{395}); + + dieListe.einfuegenBei(0, 223); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 395}); + + dieListe.einfuegenBei(2, 830); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 395, 830}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 830}); + + assertFalse("Fehler: Element 504 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(504)); + dieListe.anhaengen(277); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 830, 277}); + + assertTrue("Fehler: Element 277 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(277)); + assertTrue("Fehler: Element 830 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(830)); + dieListe.anhaengen(292); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 830, 277, 292}); + + dieListe.einfuegenBei(4, 653); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 830, 277, 292, 653}); + + dieListe.einfuegenBei(4, 458); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 830, 277, 292, 458, 653}); + + dieListe.anhaengen(839); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 830, 277, 292, 458, 653, 839}); + + dieListe.anhaengen(100); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 830, 277, 292, 458, 653, 839, 100}); + + dieListe.anhaengen(73); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 830, 277, 292, 458, 653, 839, 100, 73}); + + assertTrue("Fehler: Element 277 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(277)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 277, 292, 458, 653, 839, 100, 73}); + + dieListe.anhaengen(110); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 277, 292, 458, 653, 839, 100, 73, 110}); + + dieListe.einfuegenBei(9, 116); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 277, 292, 458, 653, 839, 100, 73, 110, 116}); + + dieListe.einfuegenBei(9, 332); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 277, 292, 458, 653, 839, 100, 73, 110, 332, 116}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(927); + Tester.pruefeListenInhalt(dieListe, new int[]{927}); + + dieListe.anhaengen(526); + Tester.pruefeListenInhalt(dieListe, new int[]{927, 526}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{526}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(837); + Tester.pruefeListenInhalt(dieListe, new int[]{837}); + + assertFalse("Fehler: Element 311 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(311)); + dieListe.einfuegenBei(0, 135); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 837}); + + dieListe.einfuegenBei(1, 472); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 472, 837}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 472}); + + dieListe.anhaengen(811); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 472, 811}); + + assertFalse("Fehler: Element 750 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(750)); + dieListe.anhaengen(775); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 472, 811, 775}); + + dieListe.einfuegenBei(4, 895); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 472, 811, 775, 895}); + + dieListe.einfuegenBei(4, 408); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 472, 811, 775, 408, 895}); + + assertFalse("Fehler: Element 325 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(325)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(366); + Tester.pruefeListenInhalt(dieListe, new int[]{366}); + + dieListe.anhaengen(786); + Tester.pruefeListenInhalt(dieListe, new int[]{366, 786}); + + assertFalse("Fehler: Element 734 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(734)); + dieListe.anhaengen(598); + Tester.pruefeListenInhalt(dieListe, new int[]{366, 786, 598}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{366, 598}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{598}); + + dieListe.anhaengen(668); + Tester.pruefeListenInhalt(dieListe, new int[]{598, 668}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{668}); + + dieListe.einfuegenBei(1, 344); + Tester.pruefeListenInhalt(dieListe, new int[]{668, 344}); + + assertTrue("Fehler: Element 344 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(344)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{668}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(620); + Tester.pruefeListenInhalt(dieListe, new int[]{620}); + + assertFalse("Fehler: Element 157 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(157)); + dieListe.anhaengen(389); + Tester.pruefeListenInhalt(dieListe, new int[]{620, 389}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{620}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 72); + Tester.pruefeListenInhalt(dieListe, new int[]{72}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(152); + Tester.pruefeListenInhalt(dieListe, new int[]{152}); + + dieListe.einfuegenBei(0, 101); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 152}); + + dieListe.anhaengen(753); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 152, 753}); + + dieListe.anhaengen(695); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 152, 753, 695}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 152, 753}); + + dieListe.anhaengen(121); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 152, 753, 121}); + + dieListe.einfuegenBei(1, 220); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 152, 753, 121}); + + dieListe.einfuegenBei(4, 47); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 152, 753, 47, 121}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 152, 753, 121}); + + dieListe.einfuegenBei(4, 453); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 152, 753, 453, 121}); + + assertFalse("Fehler: Element 875 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(875)); + dieListe.anhaengen(349); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 152, 753, 453, 121, 349}); + + dieListe.anhaengen(634); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 152, 753, 453, 121, 349, 634}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 753, 453, 121, 349, 634}); + + assertFalse("Fehler: Element 161 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(161)); + assertFalse("Fehler: Element 759 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(759)); + dieListe.einfuegenBei(3, 820); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 753, 820, 453, 121, 349, 634}); + + dieListe.anhaengen(515); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 753, 820, 453, 121, 349, 634, 515}); + + dieListe.anhaengen(715); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 753, 820, 453, 121, 349, 634, 515, 715}); + + dieListe.einfuegenBei(6, 378); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 753, 820, 453, 121, 378, 349, 634, 515, 715}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 820, 453, 121, 378, 349, 634, 515, 715}); + + dieListe.einfuegenBei(6, 73); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 820, 453, 121, 378, 73, 349, 634, 515, 715}); + + dieListe.einfuegenBei(3, 0); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 820, 0, 453, 121, 378, 73, 349, 634, 515, 715}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(434); + Tester.pruefeListenInhalt(dieListe, new int[]{434}); + + dieListe.anhaengen(157); + Tester.pruefeListenInhalt(dieListe, new int[]{434, 157}); + + dieListe.anhaengen(387); + Tester.pruefeListenInhalt(dieListe, new int[]{434, 157, 387}); + + dieListe.anhaengen(306); + Tester.pruefeListenInhalt(dieListe, new int[]{434, 157, 387, 306}); + + assertTrue("Fehler: Element 387 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(387)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 387, 306}); + + assertFalse("Fehler: Element 922 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(922)); + dieListe.anhaengen(625); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 387, 306, 625}); + + dieListe.einfuegenBei(3, 751); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 387, 306, 751, 625}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 306, 751, 625}); + + assertFalse("Fehler: Element 498 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(498)); + assertFalse("Fehler: Element 782 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(782)); + dieListe.anhaengen(438); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 306, 751, 625, 438}); + + dieListe.einfuegenBei(3, 758); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 306, 751, 758, 625, 438}); + + assertFalse("Fehler: Element 509 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(509)); + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 306, 751, 758, 625}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 306, 758, 625}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 758, 625}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 758}); + + dieListe.anhaengen(584); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 758, 584}); + + dieListe.anhaengen(616); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 758, 584, 616}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{758, 584, 616}); + + assertFalse("Fehler: Element 965 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(965)); + dieListe.einfuegenBei(3, 652); + Tester.pruefeListenInhalt(dieListe, new int[]{758, 584, 616, 652}); + + assertFalse("Fehler: Element 157 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(157)); + assertFalse("Fehler: Element 644 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(644)); + assertFalse("Fehler: Element 301 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(301)); + dieListe.anhaengen(660); + Tester.pruefeListenInhalt(dieListe, new int[]{758, 584, 616, 652, 660}); + + dieListe.einfuegenBei(5, 880); + Tester.pruefeListenInhalt(dieListe, new int[]{758, 584, 616, 652, 660, 880}); + + assertFalse("Fehler: Element 407 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(407)); + dieListe.anhaengen(711); + Tester.pruefeListenInhalt(dieListe, new int[]{758, 584, 616, 652, 660, 880, 711}); + + dieListe.einfuegenBei(2, 176); + Tester.pruefeListenInhalt(dieListe, new int[]{758, 584, 176, 616, 652, 660, 880, 711}); + + dieListe.anhaengen(803); + Tester.pruefeListenInhalt(dieListe, new int[]{758, 584, 176, 616, 652, 660, 880, 711, 803}); + + assertTrue("Fehler: Element 660 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(660)); + assertFalse("Fehler: Element 573 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(573)); + dieListe.anhaengen(63); + Tester.pruefeListenInhalt(dieListe, new int[]{758, 584, 176, 616, 652, 660, 880, 711, 803, 63}); + + dieListe.einfuegenBei(4, 525); + Tester.pruefeListenInhalt(dieListe, new int[]{758, 584, 176, 616, 525, 652, 660, 880, 711, 803, 63}); + + dieListe.einfuegenBei(0, 50); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 758, 584, 176, 616, 525, 652, 660, 880, 711, 803, 63}); + + assertTrue("Fehler: Element 711 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(711)); + dieListe.einfuegenBei(8, 695); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 758, 584, 176, 616, 525, 652, 660, 695, 880, 711, 803, 63}); + + dieListe.anhaengen(605); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 758, 584, 176, 616, 525, 652, 660, 695, 880, 711, 803, 63, 605}); + + dieListe.anhaengen(983); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 758, 584, 176, 616, 525, 652, 660, 695, 880, 711, 803, 63, 605, 983}); + + assertTrue("Fehler: Element 880 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(880)); + assertFalse("Fehler: Element 224 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(224)); + dieListe.einfuegenBei(0, 535); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 616, 525, 652, 660, 695, 880, 711, 803, 63, 605, 983}); + + assertFalse("Fehler: Element 14 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(14)); + assertFalse("Fehler: Element 996 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(996)); + dieListe.anhaengen(800); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 616, 525, 652, 660, 695, 880, 711, 803, 63, 605, 983, 800}); + + dieListe.anhaengen(699); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 616, 525, 652, 660, 695, 880, 711, 803, 63, 605, 983, 800, 699}); + + dieListe.entferneBei(15); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 616, 525, 652, 660, 695, 880, 711, 803, 63, 605, 800, 699}); + + assertTrue("Fehler: Element 758 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(758)); + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 616, 525, 660, 695, 880, 711, 803, 63, 605, 800, 699}); + + dieListe.anhaengen(964); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 616, 525, 660, 695, 880, 711, 803, 63, 605, 800, 699, 964}); + + assertFalse("Fehler: Element 632 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(632)); + dieListe.anhaengen(699); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 616, 525, 660, 695, 880, 711, 803, 63, 605, 800, 699, 964, 699}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 525, 660, 695, 880, 711, 803, 63, 605, 800, 699, 964, 699}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 525, 660, 695, 880, 803, 63, 605, 800, 699, 964, 699}); + + dieListe.einfuegenBei(12, 210); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 525, 660, 695, 880, 803, 63, 605, 210, 800, 699, 964, 699}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 778); + Tester.pruefeListenInhalt(dieListe, new int[]{778}); + + dieListe.einfuegenBei(0, 91); + Tester.pruefeListenInhalt(dieListe, new int[]{91, 778}); + + assertTrue("Fehler: Element 778 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(778)); + assertTrue("Fehler: Element 91 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(91)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{91}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(987); + Tester.pruefeListenInhalt(dieListe, new int[]{987}); + + assertFalse("Fehler: Element 966 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(966)); + assertTrue("Fehler: Element 987 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(987)); + dieListe.anhaengen(955); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 955}); + + assertFalse("Fehler: Element 842 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(842)); + assertFalse("Fehler: Element 556 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(556)); + assertTrue("Fehler: Element 955 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(955)); + assertTrue("Fehler: Element 987 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(987)); + assertTrue("Fehler: Element 955 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(955)); + assertTrue("Fehler: Element 955 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(955)); + dieListe.einfuegenBei(2, 337); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 955, 337}); + + assertTrue("Fehler: Element 337 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(337)); + dieListe.einfuegenBei(3, 877); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 955, 337, 877}); + + dieListe.einfuegenBei(4, 50); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 955, 337, 877, 50}); + + dieListe.einfuegenBei(1, 987); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 955, 337, 877, 50}); + + assertTrue("Fehler: Element 987 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(987)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 955, 337, 50}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 955, 50}); + + dieListe.anhaengen(666); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 955, 50, 666}); + + assertTrue("Fehler: Element 987 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(987)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 955, 50}); + + assertFalse("Fehler: Element 925 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(925)); + dieListe.einfuegenBei(4, 788); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 955, 50, 788}); + + dieListe.anhaengen(194); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 955, 50, 788, 194}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 955, 50, 194}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 50, 194}); + + dieListe.einfuegenBei(4, 451); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 50, 194, 451}); + + assertTrue("Fehler: Element 987 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(987)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 50, 194, 451}); + + dieListe.einfuegenBei(2, 260); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 50, 260, 194, 451}); + + assertFalse("Fehler: Element 360 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(360)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 260, 194, 451}); + + dieListe.einfuegenBei(1, 248); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 248, 260, 194, 451}); + + dieListe.einfuegenBei(1, 380); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 380, 248, 260, 194, 451}); + + dieListe.anhaengen(13); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 380, 248, 260, 194, 451, 13}); + + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 948); + Tester.pruefeListenInhalt(dieListe, new int[]{948}); + + dieListe.einfuegenBei(1, 800); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 800}); + + dieListe.einfuegenBei(0, 881); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 948, 800}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 800}); + + assertTrue("Fehler: Element 881 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(881)); + dieListe.anhaengen(568); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 800, 568}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 800}); + + dieListe.einfuegenBei(2, 734); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 800, 734}); + + assertTrue("Fehler: Element 800 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(800)); + dieListe.anhaengen(166); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 800, 734, 166}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 800, 166}); + + dieListe.anhaengen(974); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 800, 166, 974}); + + dieListe.einfuegenBei(1, 814); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 814, 800, 166, 974}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 814, 800, 166}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 814, 166}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 166}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{166}); + + dieListe.einfuegenBei(1, 801); + Tester.pruefeListenInhalt(dieListe, new int[]{166, 801}); + + assertFalse("Fehler: Element 564 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(564)); + dieListe.einfuegenBei(1, 727); + Tester.pruefeListenInhalt(dieListe, new int[]{166, 727, 801}); + + assertFalse("Fehler: Element 503 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(503)); + dieListe.anhaengen(623); + Tester.pruefeListenInhalt(dieListe, new int[]{166, 727, 801, 623}); + + dieListe.anhaengen(58); + Tester.pruefeListenInhalt(dieListe, new int[]{166, 727, 801, 623, 58}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(453); + Tester.pruefeListenInhalt(dieListe, new int[]{453}); + + dieListe.einfuegenBei(0, 517); + Tester.pruefeListenInhalt(dieListe, new int[]{517, 453}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 132); + Tester.pruefeListenInhalt(dieListe, new int[]{132}); + + dieListe.einfuegenBei(0, 623); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 132}); + + assertTrue("Fehler: Element 623 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(623)); + dieListe.einfuegenBei(1, 387); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 387, 132}); + + dieListe.anhaengen(518); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 387, 132, 518}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 387, 518}); + + dieListe.anhaengen(359); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 387, 518, 359}); + + dieListe.anhaengen(845); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 387, 518, 359, 845}); + + dieListe.einfuegenBei(3, 177); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 387, 518, 177, 359, 845}); + + assertFalse("Fehler: Element 477 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(477)); + dieListe.einfuegenBei(4, 191); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 387, 518, 177, 191, 359, 845}); + + assertTrue("Fehler: Element 177 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(177)); + assertFalse("Fehler: Element 725 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(725)); + dieListe.einfuegenBei(0, 837); + Tester.pruefeListenInhalt(dieListe, new int[]{837, 623, 387, 518, 177, 191, 359, 845}); + + assertTrue("Fehler: Element 359 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(359)); + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{837, 623, 387, 518, 177, 359, 845}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(936); + Tester.pruefeListenInhalt(dieListe, new int[]{936}); + + dieListe.anhaengen(0); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 0}); + + dieListe.einfuegenBei(2, 588); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 0, 588}); + + assertFalse("Fehler: Element 470 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(470)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 0}); + + dieListe.anhaengen(87); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 0, 87}); + + assertFalse("Fehler: Element 784 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(784)); + dieListe.anhaengen(872); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 0, 87, 872}); + + assertFalse("Fehler: Element 955 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(955)); + dieListe.einfuegenBei(3, 964); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 0, 87, 964, 872}); + + assertTrue("Fehler: Element 0 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(0)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 87, 964, 872}); + + dieListe.einfuegenBei(4, 516); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 87, 964, 872, 516}); + + dieListe.anhaengen(22); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 87, 964, 872, 516, 22}); + + dieListe.einfuegenBei(3, 649); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 87, 964, 649, 872, 516, 22}); + + dieListe.anhaengen(93); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 87, 964, 649, 872, 516, 22, 93}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(828); + Tester.pruefeListenInhalt(dieListe, new int[]{828}); + + dieListe.einfuegenBei(1, 113); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 113}); + + assertFalse("Fehler: Element 485 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(485)); + assertFalse("Fehler: Element 227 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(227)); + dieListe.anhaengen(306); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 113, 306}); + + dieListe.einfuegenBei(2, 27); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 113, 27, 306}); + + assertFalse("Fehler: Element 449 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(449)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 27, 306}); + + dieListe.anhaengen(28); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 27, 306, 28}); + + assertTrue("Fehler: Element 828 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(828)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 27, 28}); + + dieListe.einfuegenBei(3, 511); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 27, 28, 511}); + + assertTrue("Fehler: Element 28 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(28)); + dieListe.anhaengen(749); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 27, 28, 511, 749}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 28, 511, 749}); + + dieListe.anhaengen(603); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 28, 511, 749, 603}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 28, 511, 749}); + + dieListe.einfuegenBei(2, 539); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 28, 539, 511, 749}); + + dieListe.anhaengen(331); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 28, 539, 511, 749, 331}); + + dieListe.anhaengen(837); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 28, 539, 511, 749, 331, 837}); + + dieListe.anhaengen(353); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 28, 539, 511, 749, 331, 837, 353}); + + assertFalse("Fehler: Element 412 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(412)); + dieListe.anhaengen(456); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 28, 539, 511, 749, 331, 837, 353, 456}); + + assertTrue("Fehler: Element 456 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(456)); + dieListe.einfuegenBei(0, 524); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 828, 28, 539, 511, 749, 331, 837, 353, 456}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 828, 28, 539, 749, 331, 837, 353, 456}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 828, 28, 539, 749, 331, 353, 456}); + + assertTrue("Fehler: Element 28 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(28)); + assertTrue("Fehler: Element 353 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(353)); + dieListe.anhaengen(707); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 828, 28, 539, 749, 331, 353, 456, 707}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 828, 28, 539, 749, 331, 353, 456}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 828, 28, 539, 331, 353, 456}); + + assertTrue("Fehler: Element 524 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(524)); + assertTrue("Fehler: Element 353 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(353)); + dieListe.anhaengen(264); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 828, 28, 539, 331, 353, 456, 264}); + + dieListe.einfuegenBei(1, 119); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 119, 828, 28, 539, 331, 353, 456, 264}); + + assertFalse("Fehler: Element 482 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(482)); + dieListe.anhaengen(127); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 119, 828, 28, 539, 331, 353, 456, 264, 127}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 119, 828, 28, 539, 331, 353, 456, 264}); + + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(154); + Tester.pruefeListenInhalt(dieListe, new int[]{154}); + + dieListe.einfuegenBei(0, 572); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 154}); + + dieListe.einfuegenBei(0, 253); + Tester.pruefeListenInhalt(dieListe, new int[]{253, 572, 154}); + + assertTrue("Fehler: Element 253 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(253)); + dieListe.anhaengen(282); + Tester.pruefeListenInhalt(dieListe, new int[]{253, 572, 154, 282}); + + assertFalse("Fehler: Element 704 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(704)); + dieListe.einfuegenBei(3, 692); + Tester.pruefeListenInhalt(dieListe, new int[]{253, 572, 154, 692, 282}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{253, 572, 154, 692}); + + assertFalse("Fehler: Element 862 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(862)); + assertTrue("Fehler: Element 253 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(253)); + assertTrue("Fehler: Element 154 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(154)); + dieListe.anhaengen(587); + Tester.pruefeListenInhalt(dieListe, new int[]{253, 572, 154, 692, 587}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{253, 572, 154, 587}); + + assertFalse("Fehler: Element 818 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(818)); + assertFalse("Fehler: Element 878 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(878)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{253, 572, 587}); + + assertFalse("Fehler: Element 293 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(293)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{253, 587}); + + assertFalse("Fehler: Element 527 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(527)); + assertTrue("Fehler: Element 587 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(587)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{587}); + + dieListe.einfuegenBei(0, 528); + Tester.pruefeListenInhalt(dieListe, new int[]{528, 587}); + + assertFalse("Fehler: Element 634 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(634)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 175); + Tester.pruefeListenInhalt(dieListe, new int[]{175}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 268); + Tester.pruefeListenInhalt(dieListe, new int[]{268}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(239); + Tester.pruefeListenInhalt(dieListe, new int[]{239}); + + assertTrue("Fehler: Element 239 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(239)); + dieListe.einfuegenBei(1, 705); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 705}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{239}); + + assertTrue("Fehler: Element 239 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(239)); + dieListe.anhaengen(77); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 77}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{239}); + + dieListe.anhaengen(461); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 461}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{239}); + + assertTrue("Fehler: Element 239 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(239)); + assertTrue("Fehler: Element 239 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(239)); + dieListe.einfuegenBei(0, 396); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 239}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{396}); + + dieListe.anhaengen(749); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 749}); + + assertTrue("Fehler: Element 396 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(396)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{396}); + + assertTrue("Fehler: Element 396 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(396)); + dieListe.einfuegenBei(1, 220); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220}); + + dieListe.anhaengen(969); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 969}); + + dieListe.anhaengen(739); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 969, 739}); + + dieListe.anhaengen(846); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 969, 739, 846}); + + dieListe.einfuegenBei(2, 784); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 784, 969, 739, 846}); + + dieListe.anhaengen(696); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 784, 969, 739, 846, 696}); + + dieListe.anhaengen(509); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 784, 969, 739, 846, 696, 509}); + + assertFalse("Fehler: Element 367 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(367)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 784, 739, 846, 696, 509}); + + dieListe.anhaengen(44); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 784, 739, 846, 696, 509, 44}); + + assertFalse("Fehler: Element 718 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(718)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 784, 739, 846, 696, 44}); + + assertFalse("Fehler: Element 881 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(881)); + dieListe.anhaengen(947); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 784, 739, 846, 696, 44, 947}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 784, 739, 846, 696, 44, 947}); + + dieListe.einfuegenBei(0, 287); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 396, 784, 739, 846, 696, 44, 947}); + + dieListe.einfuegenBei(6, 982); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 396, 784, 739, 846, 696, 982, 44, 947}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 784, 739, 846, 696, 982, 44, 947}); + + dieListe.einfuegenBei(3, 226); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 784, 739, 226, 846, 696, 982, 44, 947}); + + dieListe.einfuegenBei(2, 980); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 784, 980, 739, 226, 846, 696, 982, 44, 947}); + + dieListe.anhaengen(390); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 784, 980, 739, 226, 846, 696, 982, 44, 947, 390}); + + dieListe.einfuegenBei(6, 850); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 784, 980, 739, 226, 846, 850, 696, 982, 44, 947, 390}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 784, 980, 739, 226, 846, 850, 696, 982, 44, 947}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 784, 980, 739, 226, 846, 850, 982, 44, 947}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 784, 739, 226, 846, 850, 982, 44, 947}); + + assertFalse("Fehler: Element 269 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(269)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 739, 226, 846, 850, 982, 44, 947}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 739, 226, 850, 982, 44, 947}); + + dieListe.einfuegenBei(2, 467); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 739, 467, 226, 850, 982, 44, 947}); + + assertFalse("Fehler: Element 512 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(512)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 739, 226, 850, 982, 44, 947}); + + dieListe.anhaengen(351); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 739, 226, 850, 982, 44, 947, 351}); + + dieListe.einfuegenBei(2, 644); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 739, 644, 226, 850, 982, 44, 947, 351}); + + assertTrue("Fehler: Element 739 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(739)); + assertTrue("Fehler: Element 287 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(287)); + dieListe.einfuegenBei(1, 594); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 739, 644, 226, 850, 982, 44, 947, 351}); + + dieListe.anhaengen(940); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 739, 644, 226, 850, 982, 44, 947, 351, 940}); + + dieListe.einfuegenBei(2, 531); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 739, 644, 226, 850, 982, 44, 947, 351, 940}); + + dieListe.anhaengen(544); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 739, 644, 226, 850, 982, 44, 947, 351, 940, 544}); + + assertFalse("Fehler: Element 35 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(35)); + dieListe.anhaengen(409); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 739, 644, 226, 850, 982, 44, 947, 351, 940, 544, 409}); + + assertFalse("Fehler: Element 523 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(523)); + assertTrue("Fehler: Element 940 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(940)); + dieListe.einfuegenBei(13, 257); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 739, 644, 226, 850, 982, 44, 947, 351, 940, 544, 257, 409}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 739, 644, 226, 850, 982, 947, 351, 940, 544, 257, 409}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 739, 644, 226, 982, 947, 351, 940, 544, 257, 409}); + + assertTrue("Fehler: Element 226 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(226)); + assertFalse("Fehler: Element 717 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(717)); + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 739, 644, 226, 982, 947, 351, 940, 257, 409}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 739, 644, 226, 947, 351, 940, 257, 409}); + + assertTrue("Fehler: Element 739 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(739)); + dieListe.anhaengen(37); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 739, 644, 226, 947, 351, 940, 257, 409, 37}); + + dieListe.einfuegenBei(3, 28); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 28, 739, 644, 226, 947, 351, 940, 257, 409, 37}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 28, 739, 644, 947, 351, 940, 257, 409, 37}); + + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(547); + Tester.pruefeListenInhalt(dieListe, new int[]{547}); + + dieListe.einfuegenBei(1, 385); + Tester.pruefeListenInhalt(dieListe, new int[]{547, 385}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{547}); + + assertFalse("Fehler: Element 189 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(189)); + assertTrue("Fehler: Element 547 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(547)); + dieListe.einfuegenBei(1, 346); + Tester.pruefeListenInhalt(dieListe, new int[]{547, 346}); + + dieListe.anhaengen(142); + Tester.pruefeListenInhalt(dieListe, new int[]{547, 346, 142}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 142}); + + assertTrue("Fehler: Element 346 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(346)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{142}); + + dieListe.anhaengen(920); + Tester.pruefeListenInhalt(dieListe, new int[]{142, 920}); + + dieListe.anhaengen(857); + Tester.pruefeListenInhalt(dieListe, new int[]{142, 920, 857}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{142, 920}); + + dieListe.anhaengen(715); + Tester.pruefeListenInhalt(dieListe, new int[]{142, 920, 715}); + + dieListe.anhaengen(964); + Tester.pruefeListenInhalt(dieListe, new int[]{142, 920, 715, 964}); + + assertTrue("Fehler: Element 920 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(920)); + dieListe.anhaengen(516); + Tester.pruefeListenInhalt(dieListe, new int[]{142, 920, 715, 964, 516}); + + assertTrue("Fehler: Element 964 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(964)); + dieListe.einfuegenBei(1, 171); + Tester.pruefeListenInhalt(dieListe, new int[]{142, 171, 920, 715, 964, 516}); + + dieListe.einfuegenBei(2, 48); + Tester.pruefeListenInhalt(dieListe, new int[]{142, 171, 48, 920, 715, 964, 516}); + + dieListe.einfuegenBei(4, 256); + Tester.pruefeListenInhalt(dieListe, new int[]{142, 171, 48, 920, 256, 715, 964, 516}); + + dieListe.einfuegenBei(0, 239); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 142, 171, 48, 920, 256, 715, 964, 516}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 142, 171, 48, 920, 256, 715, 516}); + + assertTrue("Fehler: Element 715 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(715)); + dieListe.anhaengen(725); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 142, 171, 48, 920, 256, 715, 516, 725}); + + dieListe.einfuegenBei(1, 295); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 256, 715, 516, 725}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 256, 715, 516}); + + dieListe.anhaengen(355); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 256, 715, 516, 355}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 256, 516, 355}); + + assertFalse("Fehler: Element 930 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(930)); + assertFalse("Fehler: Element 934 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(934)); + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 256, 355}); + + assertFalse("Fehler: Element 179 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(179)); + dieListe.anhaengen(412); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 256, 355, 412}); + + dieListe.anhaengen(823); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 256, 355, 412, 823}); + + dieListe.einfuegenBei(6, 150); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 150, 256, 355, 412, 823}); + + dieListe.anhaengen(13); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 150, 256, 355, 412, 823, 13}); + + dieListe.anhaengen(484); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 150, 256, 355, 412, 823, 13, 484}); + + dieListe.anhaengen(493); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 150, 256, 355, 412, 823, 13, 484, 493}); + + dieListe.anhaengen(74); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 150, 256, 355, 412, 823, 13, 484, 493, 74}); + + assertTrue("Fehler: Element 171 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(171)); + assertTrue("Fehler: Element 150 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(150)); + dieListe.anhaengen(489); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 150, 256, 355, 412, 823, 13, 484, 493, 74, 489}); + + dieListe.einfuegenBei(6, 238); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 238, 150, 256, 355, 412, 823, 13, 484, 493, 74, 489}); + + dieListe.anhaengen(417); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 238, 150, 256, 355, 412, 823, 13, 484, 493, 74, 489, 417}); + + assertFalse("Fehler: Element 456 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(456)); + dieListe.anhaengen(702); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 238, 150, 256, 355, 412, 823, 13, 484, 493, 74, 489, 417, 702}); + + assertTrue("Fehler: Element 171 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(171)); + dieListe.einfuegenBei(16, 947); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 238, 150, 256, 355, 412, 823, 13, 484, 493, 74, 947, 489, 417, 702}); + + dieListe.entferneBei(18); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 238, 150, 256, 355, 412, 823, 13, 484, 493, 74, 947, 489, 702}); + + dieListe.einfuegenBei(5, 573); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 573, 920, 238, 150, 256, 355, 412, 823, 13, 484, 493, 74, 947, 489, 702}); + + dieListe.entferneBei(16); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 573, 920, 238, 150, 256, 355, 412, 823, 13, 484, 493, 947, 489, 702}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 573, 920, 238, 150, 256, 412, 823, 13, 484, 493, 947, 489, 702}); + + dieListe.einfuegenBei(6, 794); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 573, 794, 920, 238, 150, 256, 412, 823, 13, 484, 493, 947, 489, 702}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 573, 794, 920, 238, 150, 412, 823, 13, 484, 493, 947, 489, 702}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 171, 48, 573, 794, 920, 238, 150, 412, 823, 13, 484, 493, 947, 489, 702}); + + dieListe.anhaengen(420); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 171, 48, 573, 794, 920, 238, 150, 412, 823, 13, 484, 493, 947, 489, 702, 420}); + + assertFalse("Fehler: Element 723 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(723)); + dieListe.anhaengen(207); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 171, 48, 573, 794, 920, 238, 150, 412, 823, 13, 484, 493, 947, 489, 702, 420, 207}); + + assertTrue("Fehler: Element 207 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(207)); + assertFalse("Fehler: Element 179 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(179)); + dieListe.anhaengen(70); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 171, 48, 573, 794, 920, 238, 150, 412, 823, 13, 484, 493, 947, 489, 702, 420, 207, 70}); + + assertTrue("Fehler: Element 412 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(412)); + dieListe.einfuegenBei(13, 373); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 171, 48, 573, 794, 920, 238, 150, 412, 823, 13, 484, 373, 493, 947, 489, 702, 420, 207, 70}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 171, 48, 573, 794, 920, 150, 412, 823, 13, 484, 373, 493, 947, 489, 702, 420, 207, 70}); + + dieListe.einfuegenBei(11, 825); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 171, 48, 573, 794, 920, 150, 412, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 207, 70}); + + dieListe.einfuegenBei(1, 170); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 573, 794, 920, 150, 412, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 207, 70}); + + dieListe.anhaengen(450); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 573, 794, 920, 150, 412, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 207, 70, 450}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 573, 920, 150, 412, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 207, 70, 450}); + + dieListe.entferneBei(19); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 573, 920, 150, 412, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450}); + + dieListe.anhaengen(196); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 573, 920, 150, 412, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196}); + + dieListe.einfuegenBei(9, 574); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 573, 920, 150, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196}); + + dieListe.einfuegenBei(5, 335); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 335, 573, 920, 150, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196}); + + dieListe.anhaengen(348); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 335, 573, 920, 150, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348}); + + dieListe.anhaengen(935); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 335, 573, 920, 150, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 335, 573, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935}); + + assertTrue("Fehler: Element 420 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(420)); + assertTrue("Fehler: Element 295 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(295)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935}); + + dieListe.anhaengen(441); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935, 441}); + + dieListe.einfuegenBei(2, 688); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 688, 295, 171, 48, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935, 441}); + + assertTrue("Fehler: Element 489 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(489)); + dieListe.anhaengen(558); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 688, 295, 171, 48, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935, 441, 558}); + + dieListe.einfuegenBei(1, 613); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 295, 171, 48, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935, 441, 558}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 295, 171, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935, 441, 558}); + + assertFalse("Fehler: Element 303 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(303)); + assertFalse("Fehler: Element 111 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(111)); + dieListe.anhaengen(369); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 295, 171, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935, 441, 558, 369}); + + dieListe.anhaengen(209); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 295, 171, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935, 441, 558, 369, 209}); + + dieListe.einfuegenBei(23, 243); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 295, 171, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 243, 348, 935, 441, 558, 369, 209}); + + dieListe.einfuegenBei(19, 523); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 295, 171, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 523, 420, 70, 450, 196, 243, 348, 935, 441, 558, 369, 209}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 295, 171, 335, 920, 412, 574, 823, 825, 484, 373, 493, 947, 489, 702, 523, 420, 70, 450, 196, 243, 348, 935, 441, 558, 369, 209}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 295, 171, 335, 920, 412, 574, 823, 484, 373, 493, 947, 489, 702, 523, 420, 70, 450, 196, 243, 348, 935, 441, 558, 369, 209}); + + dieListe.einfuegenBei(4, 144); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 144, 295, 171, 335, 920, 412, 574, 823, 484, 373, 493, 947, 489, 702, 523, 420, 70, 450, 196, 243, 348, 935, 441, 558, 369, 209}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 144, 295, 171, 335, 920, 574, 823, 484, 373, 493, 947, 489, 702, 523, 420, 70, 450, 196, 243, 348, 935, 441, 558, 369, 209}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 688, 144, 295, 171, 335, 920, 574, 823, 484, 373, 493, 947, 489, 702, 523, 420, 70, 450, 196, 243, 348, 935, 441, 558, 369, 209}); + + assertFalse("Fehler: Element 121 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(121)); + assertTrue("Fehler: Element 489 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(489)); + dieListe.anhaengen(48); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 688, 144, 295, 171, 335, 920, 574, 823, 484, 373, 493, 947, 489, 702, 523, 420, 70, 450, 196, 243, 348, 935, 441, 558, 369, 209, 48}); + + dieListe.einfuegenBei(16, 365); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 688, 144, 295, 171, 335, 920, 574, 823, 484, 373, 493, 947, 489, 702, 365, 523, 420, 70, 450, 196, 243, 348, 935, 441, 558, 369, 209, 48}); + + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 842); + Tester.pruefeListenInhalt(dieListe, new int[]{842}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(767); + Tester.pruefeListenInhalt(dieListe, new int[]{767}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 846); + Tester.pruefeListenInhalt(dieListe, new int[]{846}); + + dieListe.anhaengen(433); + Tester.pruefeListenInhalt(dieListe, new int[]{846, 433}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{433}); + + assertFalse("Fehler: Element 820 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(820)); + dieListe.anhaengen(466); + Tester.pruefeListenInhalt(dieListe, new int[]{433, 466}); + + dieListe.anhaengen(701); + Tester.pruefeListenInhalt(dieListe, new int[]{433, 466, 701}); + + dieListe.einfuegenBei(1, 40); + Tester.pruefeListenInhalt(dieListe, new int[]{433, 40, 466, 701}); + + dieListe.anhaengen(465); + Tester.pruefeListenInhalt(dieListe, new int[]{433, 40, 466, 701, 465}); + + dieListe.einfuegenBei(0, 121); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 433, 40, 466, 701, 465}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{433, 40, 466, 701, 465}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{433, 466, 701, 465}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 465}); + + dieListe.anhaengen(94); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 465, 94}); + + dieListe.anhaengen(660); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 465, 94, 660}); + + assertFalse("Fehler: Element 31 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(31)); + dieListe.anhaengen(728); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 465, 94, 660, 728}); + + dieListe.anhaengen(683); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 465, 94, 660, 728, 683}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 465, 94, 728, 683}); + + dieListe.anhaengen(15); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 465, 94, 728, 683, 15}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 94, 728, 683, 15}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 728, 683, 15}); + + dieListe.anhaengen(384); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 728, 683, 15, 384}); + + assertFalse("Fehler: Element 155 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(155)); + assertTrue("Fehler: Element 683 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(683)); + assertTrue("Fehler: Element 728 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(728)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 728, 683, 384}); + + dieListe.einfuegenBei(1, 182); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 182, 701, 728, 683, 384}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 728, 683, 384}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 728, 683, 384}); + + dieListe.anhaengen(211); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 728, 683, 384, 211}); + + dieListe.einfuegenBei(2, 916); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 728, 916, 683, 384, 211}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 916, 683, 384, 211}); + + dieListe.anhaengen(450); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 916, 683, 384, 211, 450}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 916, 683, 384, 211}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 683, 384, 211}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(916); + Tester.pruefeListenInhalt(dieListe, new int[]{916}); + + dieListe.anhaengen(598); + Tester.pruefeListenInhalt(dieListe, new int[]{916, 598}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{598}); + + assertTrue("Fehler: Element 598 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(598)); + assertFalse("Fehler: Element 112 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(112)); + assertTrue("Fehler: Element 598 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(598)); + dieListe.einfuegenBei(1, 161); + Tester.pruefeListenInhalt(dieListe, new int[]{598, 161}); + + assertTrue("Fehler: Element 598 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(598)); + dieListe.einfuegenBei(1, 483); + Tester.pruefeListenInhalt(dieListe, new int[]{598, 483, 161}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{598, 483}); + + assertTrue("Fehler: Element 483 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(483)); + dieListe.anhaengen(370); + Tester.pruefeListenInhalt(dieListe, new int[]{598, 483, 370}); + + assertFalse("Fehler: Element 266 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(266)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370}); + + dieListe.anhaengen(497); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 497}); + + assertTrue("Fehler: Element 497 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(497)); + dieListe.einfuegenBei(2, 273); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 273, 497}); + + dieListe.einfuegenBei(2, 650); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 273, 497}); + + dieListe.anhaengen(593); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 273, 497, 593}); + + dieListe.einfuegenBei(6, 51); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 273, 497, 593, 51}); + + dieListe.einfuegenBei(3, 175); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 175, 273, 497, 593, 51}); + + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 175, 273, 497, 593, 51, 581}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 175, 273, 593, 51, 581}); + + assertTrue("Fehler: Element 581 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(581)); + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 175, 273, 51, 581}); + + dieListe.anhaengen(514); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 175, 273, 51, 581, 514}); + + assertFalse("Fehler: Element 80 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(80)); + dieListe.einfuegenBei(3, 930); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 273, 51, 581, 514}); + + dieListe.anhaengen(23); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 273, 51, 581, 514, 23}); + + dieListe.einfuegenBei(7, 375); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 273, 51, 375, 581, 514, 23}); + + dieListe.anhaengen(478); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 273, 51, 375, 581, 514, 23, 478}); + + dieListe.anhaengen(793); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 273, 51, 375, 581, 514, 23, 478, 793}); + + assertTrue("Fehler: Element 514 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(514)); + dieListe.einfuegenBei(9, 303); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 273, 51, 375, 581, 303, 514, 23, 478, 793}); + + assertFalse("Fehler: Element 747 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(747)); + dieListe.einfuegenBei(11, 379); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 273, 51, 375, 581, 303, 514, 379, 23, 478, 793}); + + assertFalse("Fehler: Element 419 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(419)); + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 375, 581, 303, 514, 379, 23, 478, 793}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 375, 303, 514, 379, 23, 478, 793}); + + dieListe.anhaengen(789); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 375, 303, 514, 379, 23, 478, 793, 789}); + + dieListe.anhaengen(37); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 375, 303, 514, 379, 23, 478, 793, 789, 37}); + + dieListe.anhaengen(727); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 375, 303, 514, 379, 23, 478, 793, 789, 37, 727}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 375, 303, 514, 23, 478, 793, 789, 37, 727}); + + assertTrue("Fehler: Element 727 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(727)); + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 375, 303, 514, 23, 793, 789, 37, 727}); + + dieListe.anhaengen(37); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 375, 303, 514, 23, 793, 789, 37, 727, 37}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 303, 514, 23, 793, 789, 37, 727, 37}); + + dieListe.anhaengen(741); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 303, 514, 23, 793, 789, 37, 727, 37, 741}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(280); + Tester.pruefeListenInhalt(dieListe, new int[]{280}); + + dieListe.einfuegenBei(0, 744); + Tester.pruefeListenInhalt(dieListe, new int[]{744, 280}); + + dieListe.einfuegenBei(1, 382); + Tester.pruefeListenInhalt(dieListe, new int[]{744, 382, 280}); + + assertTrue("Fehler: Element 744 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(744)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{382, 280}); + + assertTrue("Fehler: Element 280 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(280)); + dieListe.anhaengen(194); + Tester.pruefeListenInhalt(dieListe, new int[]{382, 280, 194}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 932); + Tester.pruefeListenInhalt(dieListe, new int[]{932}); + + assertFalse("Fehler: Element 24 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(24)); + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 441); + Tester.pruefeListenInhalt(dieListe, new int[]{441}); + + dieListe.anhaengen(248); + Tester.pruefeListenInhalt(dieListe, new int[]{441, 248}); + + assertTrue("Fehler: Element 441 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(441)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{248}); + + assertFalse("Fehler: Element 594 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(594)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(780); + Tester.pruefeListenInhalt(dieListe, new int[]{780}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(676); + Tester.pruefeListenInhalt(dieListe, new int[]{676}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(150); + Tester.pruefeListenInhalt(dieListe, new int[]{150}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(932); + Tester.pruefeListenInhalt(dieListe, new int[]{932}); + + dieListe.anhaengen(942); + Tester.pruefeListenInhalt(dieListe, new int[]{932, 942}); + + dieListe.einfuegenBei(0, 162); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 932, 942}); + + dieListe.einfuegenBei(3, 778); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 932, 942, 778}); + + assertFalse("Fehler: Element 241 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(241)); + dieListe.einfuegenBei(1, 95); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 932, 942, 778}); + + dieListe.anhaengen(366); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 932, 942, 778, 366}); + + assertFalse("Fehler: Element 76 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(76)); + dieListe.einfuegenBei(6, 134); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 932, 942, 778, 366, 134}); + + assertTrue("Fehler: Element 134 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(134)); + assertFalse("Fehler: Element 966 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(966)); + dieListe.einfuegenBei(7, 464); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 932, 942, 778, 366, 134, 464}); + + dieListe.anhaengen(910); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 932, 942, 778, 366, 134, 464, 910}); + + assertFalse("Fehler: Element 822 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(822)); + assertFalse("Fehler: Element 638 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(638)); + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 932, 942, 778, 134, 464, 910}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 464, 910}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910}); + + assertFalse("Fehler: Element 325 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(325)); + dieListe.anhaengen(755); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 755}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910}); + + dieListe.einfuegenBei(6, 82); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 82}); + + assertTrue("Fehler: Element 910 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(910)); + dieListe.anhaengen(164); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 82, 164}); + + dieListe.anhaengen(916); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 82, 164, 916}); + + assertFalse("Fehler: Element 149 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(149)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 164, 916}); + + dieListe.anhaengen(777); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 164, 916, 777}); + + dieListe.anhaengen(618); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 164, 916, 777, 618}); + + assertFalse("Fehler: Element 928 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(928)); + dieListe.einfuegenBei(6, 356); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 356, 164, 916, 777, 618}); + + dieListe.einfuegenBei(7, 239); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 356, 239, 164, 916, 777, 618}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 356, 239, 164, 916, 777}); + + assertTrue("Fehler: Element 95 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(95)); + assertTrue("Fehler: Element 777 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(777)); + dieListe.einfuegenBei(7, 311); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 356, 311, 239, 164, 916, 777}); + + assertTrue("Fehler: Element 239 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(239)); + dieListe.anhaengen(774); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 356, 311, 239, 164, 916, 777, 774}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(787); + Tester.pruefeListenInhalt(dieListe, new int[]{787}); + + assertTrue("Fehler: Element 787 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(787)); + dieListe.anhaengen(732); + Tester.pruefeListenInhalt(dieListe, new int[]{787, 732}); + + dieListe.anhaengen(750); + Tester.pruefeListenInhalt(dieListe, new int[]{787, 732, 750}); + + dieListe.einfuegenBei(2, 158); + Tester.pruefeListenInhalt(dieListe, new int[]{787, 732, 158, 750}); + + dieListe.anhaengen(645); + Tester.pruefeListenInhalt(dieListe, new int[]{787, 732, 158, 750, 645}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(196); + Tester.pruefeListenInhalt(dieListe, new int[]{196}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(117); + Tester.pruefeListenInhalt(dieListe, new int[]{117}); + + dieListe.anhaengen(937); + Tester.pruefeListenInhalt(dieListe, new int[]{117, 937}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{117}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 485); + Tester.pruefeListenInhalt(dieListe, new int[]{485}); + + assertTrue("Fehler: Element 485 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(485)); + dieListe.einfuegenBei(0, 481); + Tester.pruefeListenInhalt(dieListe, new int[]{481, 485}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{481}); + + assertFalse("Fehler: Element 898 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(898)); + dieListe.einfuegenBei(1, 285); + Tester.pruefeListenInhalt(dieListe, new int[]{481, 285}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{285}); + + dieListe.anhaengen(133); + Tester.pruefeListenInhalt(dieListe, new int[]{285, 133}); + + dieListe.anhaengen(444); + Tester.pruefeListenInhalt(dieListe, new int[]{285, 133, 444}); + + assertTrue("Fehler: Element 133 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(133)); + assertFalse("Fehler: Element 393 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(393)); + assertFalse("Fehler: Element 777 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(777)); + dieListe.einfuegenBei(3, 276); + Tester.pruefeListenInhalt(dieListe, new int[]{285, 133, 444, 276}); + + dieListe.anhaengen(213); + Tester.pruefeListenInhalt(dieListe, new int[]{285, 133, 444, 276, 213}); + + assertFalse("Fehler: Element 891 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(891)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{285, 133, 276, 213}); + + assertFalse("Fehler: Element 764 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(764)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{285, 276, 213}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{276, 213}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{213}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 251); + Tester.pruefeListenInhalt(dieListe, new int[]{251}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 745); + Tester.pruefeListenInhalt(dieListe, new int[]{745}); + + assertTrue("Fehler: Element 745 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(745)); + assertFalse("Fehler: Element 233 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(233)); + assertTrue("Fehler: Element 745 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(745)); + dieListe.anhaengen(562); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 562}); + + dieListe.anhaengen(447); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 562, 447}); + + dieListe.einfuegenBei(2, 274); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 562, 274, 447}); + + dieListe.anhaengen(620); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 562, 274, 447, 620}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 562, 274, 447}); + + dieListe.einfuegenBei(2, 779); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 562, 779, 274, 447}); + + assertTrue("Fehler: Element 447 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(447)); + dieListe.einfuegenBei(2, 118); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 562, 118, 779, 274, 447}); + + assertFalse("Fehler: Element 494 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(494)); + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 903); + Tester.pruefeListenInhalt(dieListe, new int[]{903}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 665); + Tester.pruefeListenInhalt(dieListe, new int[]{665}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(605); + Tester.pruefeListenInhalt(dieListe, new int[]{605}); + + dieListe.einfuegenBei(0, 446); + Tester.pruefeListenInhalt(dieListe, new int[]{446, 605}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{605}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(900); + Tester.pruefeListenInhalt(dieListe, new int[]{900}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 59); + Tester.pruefeListenInhalt(dieListe, new int[]{59}); + + assertTrue("Fehler: Element 59 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(59)); + dieListe.anhaengen(350); + Tester.pruefeListenInhalt(dieListe, new int[]{59, 350}); + + assertTrue("Fehler: Element 59 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(59)); + dieListe.anhaengen(180); + Tester.pruefeListenInhalt(dieListe, new int[]{59, 350, 180}); + + assertTrue("Fehler: Element 59 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(59)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{59, 350}); + + dieListe.anhaengen(853); + Tester.pruefeListenInhalt(dieListe, new int[]{59, 350, 853}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 853}); + + dieListe.anhaengen(311); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 853, 311}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 853}); + + dieListe.anhaengen(634); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 853, 634}); + + dieListe.einfuegenBei(2, 243); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 853, 243, 634}); + + dieListe.anhaengen(740); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 853, 243, 634, 740}); + + assertFalse("Fehler: Element 11 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(11)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 243, 634, 740}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 634, 740}); + + assertTrue("Fehler: Element 634 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(634)); + assertTrue("Fehler: Element 634 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(634)); + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 634, 740, 861}); + + dieListe.anhaengen(828); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 634, 740, 861, 828}); + + assertFalse("Fehler: Element 837 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(837)); + assertFalse("Fehler: Element 714 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(714)); + dieListe.einfuegenBei(0, 664); + Tester.pruefeListenInhalt(dieListe, new int[]{664, 350, 634, 740, 861, 828}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{664, 634, 740, 861, 828}); + + assertTrue("Fehler: Element 861 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(861)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{664, 740, 861, 828}); + + dieListe.anhaengen(519); + Tester.pruefeListenInhalt(dieListe, new int[]{664, 740, 861, 828, 519}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{664, 740, 828, 519}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{740, 828, 519}); + + dieListe.einfuegenBei(0, 627); + Tester.pruefeListenInhalt(dieListe, new int[]{627, 740, 828, 519}); + + dieListe.einfuegenBei(2, 518); + Tester.pruefeListenInhalt(dieListe, new int[]{627, 740, 518, 828, 519}); + + assertTrue("Fehler: Element 519 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(519)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{627, 740, 518, 828}); + + dieListe.einfuegenBei(0, 443); + Tester.pruefeListenInhalt(dieListe, new int[]{443, 627, 740, 518, 828}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{443, 627, 518, 828}); + + assertFalse("Fehler: Element 210 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(210)); + dieListe.einfuegenBei(2, 280); + Tester.pruefeListenInhalt(dieListe, new int[]{443, 627, 280, 518, 828}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(425); + Tester.pruefeListenInhalt(dieListe, new int[]{425}); + + dieListe.einfuegenBei(1, 436); + Tester.pruefeListenInhalt(dieListe, new int[]{425, 436}); + + dieListe.anhaengen(637); + Tester.pruefeListenInhalt(dieListe, new int[]{425, 436, 637}); + + dieListe.einfuegenBei(0, 410); + Tester.pruefeListenInhalt(dieListe, new int[]{410, 425, 436, 637}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{425, 436, 637}); + + dieListe.einfuegenBei(1, 656); + Tester.pruefeListenInhalt(dieListe, new int[]{425, 656, 436, 637}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 61); + Tester.pruefeListenInhalt(dieListe, new int[]{61}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(502); + Tester.pruefeListenInhalt(dieListe, new int[]{502}); + + dieListe.einfuegenBei(1, 94); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 94}); + + dieListe.einfuegenBei(0, 755); + Tester.pruefeListenInhalt(dieListe, new int[]{755, 502, 94}); + + dieListe.einfuegenBei(2, 542); + Tester.pruefeListenInhalt(dieListe, new int[]{755, 502, 542, 94}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 542, 94}); + + assertFalse("Fehler: Element 675 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(675)); + assertTrue("Fehler: Element 502 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(502)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 94}); + + dieListe.anhaengen(869); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 94, 869}); + + dieListe.einfuegenBei(1, 305); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 305, 94, 869}); + + dieListe.anhaengen(970); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 305, 94, 869, 970}); + + assertTrue("Fehler: Element 94 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(94)); + assertTrue("Fehler: Element 94 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(94)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{305, 94, 869, 970}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{94, 869, 970}); + + assertTrue("Fehler: Element 970 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(970)); + dieListe.anhaengen(280); + Tester.pruefeListenInhalt(dieListe, new int[]{94, 869, 970, 280}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{94, 869, 280}); + + dieListe.anhaengen(498); + Tester.pruefeListenInhalt(dieListe, new int[]{94, 869, 280, 498}); + + dieListe.einfuegenBei(0, 967); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 94, 869, 280, 498}); + + dieListe.einfuegenBei(1, 124); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 124, 94, 869, 280, 498}); + + dieListe.einfuegenBei(2, 761); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 124, 761, 94, 869, 280, 498}); + + dieListe.anhaengen(157); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 124, 761, 94, 869, 280, 498, 157}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(105); + Tester.pruefeListenInhalt(dieListe, new int[]{105}); + + dieListe.anhaengen(59); + Tester.pruefeListenInhalt(dieListe, new int[]{105, 59}); + + assertFalse("Fehler: Element 412 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(412)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{59}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(719); + Tester.pruefeListenInhalt(dieListe, new int[]{719}); + + dieListe.einfuegenBei(0, 427); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 719}); + + dieListe.anhaengen(487); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 719, 487}); + + assertTrue("Fehler: Element 427 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(427)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 719}); + + dieListe.einfuegenBei(1, 87); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 87, 719}); + + dieListe.anhaengen(249); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 87, 719, 249}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 719, 249}); + + dieListe.anhaengen(215); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 719, 249, 215}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{719, 249, 215}); + + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest2.java b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest2.java new file mode 100644 index 0000000..071e274 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest2.java @@ -0,0 +1,2033 @@ +package tests; + +import static org.junit.Assert.*; + +import liste.*; + +/** + * Die Test-Klasse SubTest2. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest2 { + + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(624); + Tester.pruefeListenInhalt(dieListe, new int[]{624}); + + dieListe.anhaengen(753); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753}); + + dieListe.anhaengen(927); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927}); + + assertTrue("Fehler: Element 927 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(927)); + dieListe.anhaengen(342); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342}); + + assertTrue("Fehler: Element 753 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(753)); + assertTrue("Fehler: Element 753 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(753)); + dieListe.anhaengen(564); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564}); + + dieListe.anhaengen(926); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926}); + + assertFalse("Fehler: Element 520 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(520)); + dieListe.anhaengen(344); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344}); + + dieListe.anhaengen(167); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167}); + + dieListe.anhaengen(269); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269}); + + dieListe.anhaengen(625); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625}); + + assertTrue("Fehler: Element 753 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(753)); + assertFalse("Fehler: Element 985 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(985)); + assertFalse("Fehler: Element 21 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(21)); + assertTrue("Fehler: Element 927 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(927)); + assertTrue("Fehler: Element 564 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(564)); + assertFalse("Fehler: Element 766 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(766)); + dieListe.anhaengen(672); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672}); + + assertFalse("Fehler: Element 365 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(365)); + assertTrue("Fehler: Element 926 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(926)); + assertTrue("Fehler: Element 625 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(625)); + assertFalse("Fehler: Element 685 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(685)); + dieListe.anhaengen(389); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389}); + + assertTrue("Fehler: Element 389 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(389)); + assertFalse("Fehler: Element 955 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(955)); + dieListe.anhaengen(988); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988}); + + dieListe.anhaengen(101); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101}); + + assertTrue("Fehler: Element 269 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(269)); + dieListe.anhaengen(994); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994}); + + assertTrue("Fehler: Element 624 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(624)); + dieListe.anhaengen(709); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709}); + + assertFalse("Fehler: Element 336 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(336)); + dieListe.anhaengen(547); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547}); + + assertFalse("Fehler: Element 881 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(881)); + dieListe.anhaengen(709); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709}); + + assertFalse("Fehler: Element 339 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(339)); + dieListe.anhaengen(454); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454}); + + assertTrue("Fehler: Element 101 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(101)); + dieListe.anhaengen(149); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149}); + + assertFalse("Fehler: Element 141 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(141)); + assertFalse("Fehler: Element 450 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(450)); + dieListe.anhaengen(253); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253}); + + assertFalse("Fehler: Element 281 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(281)); + assertTrue("Fehler: Element 547 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(547)); + assertTrue("Fehler: Element 454 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(454)); + dieListe.anhaengen(772); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772}); + + assertFalse("Fehler: Element 596 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(596)); + assertTrue("Fehler: Element 564 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(564)); + dieListe.anhaengen(310); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310}); + + dieListe.anhaengen(781); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781}); + + assertFalse("Fehler: Element 774 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(774)); + dieListe.anhaengen(57); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57}); + + dieListe.anhaengen(28); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28}); + + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861}); + + dieListe.anhaengen(668); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668}); + + assertTrue("Fehler: Element 772 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(772)); + assertTrue("Fehler: Element 861 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(861)); + assertTrue("Fehler: Element 994 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(994)); + dieListe.anhaengen(813); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813}); + + assertFalse("Fehler: Element 128 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(128)); + assertFalse("Fehler: Element 524 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(524)); + assertTrue("Fehler: Element 772 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(772)); + assertFalse("Fehler: Element 289 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(289)); + dieListe.anhaengen(887); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887}); + + assertTrue("Fehler: Element 772 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(772)); + assertFalse("Fehler: Element 626 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(626)); + dieListe.anhaengen(944); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944}); + + dieListe.anhaengen(828); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828}); + + assertFalse("Fehler: Element 314 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(314)); + assertFalse("Fehler: Element 46 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(46)); + dieListe.anhaengen(762); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762}); + + assertFalse("Fehler: Element 346 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(346)); + assertFalse("Fehler: Element 485 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(485)); + assertTrue("Fehler: Element 762 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(762)); + dieListe.anhaengen(9); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9}); + + dieListe.anhaengen(360); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9, 360}); + + assertTrue("Fehler: Element 709 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(709)); + dieListe.anhaengen(564); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9, 360, 564}); + + dieListe.anhaengen(20); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9, 360, 564, 20}); + + dieListe.anhaengen(564); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9, 360, 564, 20, 564}); + + assertTrue("Fehler: Element 927 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(927)); + dieListe.anhaengen(85); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9, 360, 564, 20, 564, 85}); + + dieListe.anhaengen(987); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9, 360, 564, 20, 564, 85, 987}); + + assertFalse("Fehler: Element 900 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(900)); + assertFalse("Fehler: Element 98 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(98)); + assertFalse("Fehler: Element 888 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(888)); + dieListe.anhaengen(963); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9, 360, 564, 20, 564, 85, 987, 963}); + + assertTrue("Fehler: Element 709 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(709)); + assertFalse("Fehler: Element 874 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(874)); + assertFalse("Fehler: Element 937 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(937)); + assertFalse("Fehler: Element 607 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(607)); + assertTrue("Fehler: Element 887 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(887)); + assertFalse("Fehler: Element 972 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(972)); + dieListe.anhaengen(693); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9, 360, 564, 20, 564, 85, 987, 963, 693}); + + assertFalse("Fehler: Element 975 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(975)); + dieListe.anhaengen(897); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9, 360, 564, 20, 564, 85, 987, 963, 693, 897}); + + assertTrue("Fehler: Element 828 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(828)); + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(116); + Tester.pruefeListenInhalt(dieListe, new int[]{116}); + + dieListe.anhaengen(649); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649}); + + assertFalse("Fehler: Element 823 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(823)); + assertFalse("Fehler: Element 62 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(62)); + dieListe.anhaengen(529); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529}); + + dieListe.anhaengen(636); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636}); + + dieListe.anhaengen(198); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198}); + + assertTrue("Fehler: Element 116 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(116)); + dieListe.anhaengen(319); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319}); + + assertFalse("Fehler: Element 139 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(139)); + dieListe.anhaengen(658); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658}); + + assertTrue("Fehler: Element 649 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(649)); + assertTrue("Fehler: Element 636 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(636)); + assertFalse("Fehler: Element 450 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(450)); + dieListe.anhaengen(869); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869}); + + assertFalse("Fehler: Element 978 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(978)); + dieListe.anhaengen(664); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664}); + + dieListe.anhaengen(659); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659}); + + dieListe.anhaengen(900); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900}); + + dieListe.anhaengen(607); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607}); + + dieListe.anhaengen(276); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276}); + + dieListe.anhaengen(321); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321}); + + assertFalse("Fehler: Element 745 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(745)); + assertFalse("Fehler: Element 415 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(415)); + dieListe.anhaengen(92); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92}); + + assertTrue("Fehler: Element 659 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(659)); + assertFalse("Fehler: Element 929 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(929)); + assertTrue("Fehler: Element 658 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(658)); + assertTrue("Fehler: Element 649 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(649)); + dieListe.anhaengen(923); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923}); + + dieListe.anhaengen(965); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965}); + + assertFalse("Fehler: Element 292 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(292)); + dieListe.anhaengen(799); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799}); + + dieListe.anhaengen(619); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619}); + + assertFalse("Fehler: Element 85 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(85)); + dieListe.anhaengen(798); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798}); + + dieListe.anhaengen(397); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397}); + + assertTrue("Fehler: Element 869 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(869)); + assertFalse("Fehler: Element 766 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(766)); + dieListe.anhaengen(247); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247}); + + dieListe.anhaengen(67); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67}); + + dieListe.anhaengen(272); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272}); + + dieListe.anhaengen(477); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477}); + + assertFalse("Fehler: Element 299 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(299)); + assertFalse("Fehler: Element 267 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(267)); + assertTrue("Fehler: Element 965 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(965)); + dieListe.anhaengen(159); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159}); + + assertTrue("Fehler: Element 116 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(116)); + assertTrue("Fehler: Element 664 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(664)); + dieListe.anhaengen(421); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421}); + + assertTrue("Fehler: Element 92 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(92)); + assertFalse("Fehler: Element 931 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(931)); + assertTrue("Fehler: Element 869 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(869)); + dieListe.anhaengen(940); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940}); + + dieListe.anhaengen(865); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865}); + + dieListe.anhaengen(248); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248}); + + dieListe.anhaengen(698); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698}); + + dieListe.anhaengen(199); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199}); + + dieListe.anhaengen(735); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735}); + + assertFalse("Fehler: Element 78 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(78)); + dieListe.anhaengen(814); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814}); + + assertFalse("Fehler: Element 9 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(9)); + dieListe.anhaengen(744); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744}); + + assertFalse("Fehler: Element 985 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(985)); + assertFalse("Fehler: Element 465 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(465)); + assertTrue("Fehler: Element 698 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(698)); + assertFalse("Fehler: Element 781 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(781)); + assertFalse("Fehler: Element 165 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(165)); + assertFalse("Fehler: Element 26 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(26)); + assertFalse("Fehler: Element 308 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(308)); + assertTrue("Fehler: Element 636 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(636)); + dieListe.anhaengen(503); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503}); + + assertTrue("Fehler: Element 659 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(659)); + dieListe.anhaengen(629); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629}); + + dieListe.anhaengen(848); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848}); + + dieListe.anhaengen(765); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765}); + + dieListe.anhaengen(738); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738}); + + assertFalse("Fehler: Element 500 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(500)); + assertTrue("Fehler: Element 900 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(900)); + assertFalse("Fehler: Element 156 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(156)); + dieListe.anhaengen(366); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366}); + + dieListe.anhaengen(915); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366, 915}); + + assertTrue("Fehler: Element 421 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(421)); + assertTrue("Fehler: Element 659 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(659)); + assertFalse("Fehler: Element 717 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(717)); + assertTrue("Fehler: Element 247 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(247)); + dieListe.anhaengen(479); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366, 915, 479}); + + assertTrue("Fehler: Element 798 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(798)); + dieListe.anhaengen(198); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366, 915, 479, 198}); + + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366, 915, 479, 198, 189}); + + dieListe.anhaengen(594); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366, 915, 479, 198, 189, 594}); + + assertFalse("Fehler: Element 230 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(230)); + assertFalse("Fehler: Element 901 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(901)); + dieListe.anhaengen(118); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366, 915, 479, 198, 189, 594, 118}); + + dieListe.anhaengen(480); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366, 915, 479, 198, 189, 594, 118, 480}); + + assertFalse("Fehler: Element 4 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(4)); + assertFalse("Fehler: Element 313 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(313)); + dieListe.anhaengen(383); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366, 915, 479, 198, 189, 594, 118, 480, 383}); + + assertTrue("Fehler: Element 765 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(765)); + dieListe.anhaengen(720); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366, 915, 479, 198, 189, 594, 118, 480, 383, 720}); + + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(302); + Tester.pruefeListenInhalt(dieListe, new int[]{302}); + + assertTrue("Fehler: Element 302 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(302)); + assertFalse("Fehler: Element 558 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(558)); + dieListe.anhaengen(444); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444}); + + assertTrue("Fehler: Element 302 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(302)); + assertFalse("Fehler: Element 114 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(114)); + dieListe.anhaengen(33); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33}); + + dieListe.anhaengen(231); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231}); + + dieListe.anhaengen(429); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429}); + + assertTrue("Fehler: Element 231 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(231)); + assertTrue("Fehler: Element 231 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(231)); + assertFalse("Fehler: Element 502 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(502)); + assertTrue("Fehler: Element 429 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(429)); + dieListe.anhaengen(336); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336}); + + assertTrue("Fehler: Element 336 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(336)); + assertFalse("Fehler: Element 792 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(792)); + assertTrue("Fehler: Element 231 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(231)); + dieListe.anhaengen(838); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838}); + + dieListe.anhaengen(81); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81}); + + dieListe.anhaengen(180); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180}); + + dieListe.anhaengen(922); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922}); + + assertTrue("Fehler: Element 336 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(336)); + assertFalse("Fehler: Element 232 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(232)); + assertTrue("Fehler: Element 81 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(81)); + assertTrue("Fehler: Element 81 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(81)); + assertFalse("Fehler: Element 522 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(522)); + assertFalse("Fehler: Element 1 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(1)); + dieListe.anhaengen(15); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15}); + + assertFalse("Fehler: Element 85 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(85)); + assertTrue("Fehler: Element 922 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(922)); + assertTrue("Fehler: Element 231 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(231)); + assertTrue("Fehler: Element 838 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(838)); + dieListe.anhaengen(120); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120}); + + dieListe.anhaengen(58); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58}); + + dieListe.anhaengen(901); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901}); + + assertTrue("Fehler: Element 15 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(15)); + dieListe.anhaengen(285); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285}); + + dieListe.anhaengen(897); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897}); + + dieListe.anhaengen(51); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51}); + + dieListe.anhaengen(155); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155}); + + assertFalse("Fehler: Element 451 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(451)); + assertFalse("Fehler: Element 348 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(348)); + assertFalse("Fehler: Element 88 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(88)); + assertFalse("Fehler: Element 776 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(776)); + assertFalse("Fehler: Element 484 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(484)); + assertFalse("Fehler: Element 673 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(673)); + dieListe.anhaengen(363); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363}); + + dieListe.anhaengen(400); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400}); + + dieListe.anhaengen(618); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618}); + + assertFalse("Fehler: Element 679 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(679)); + assertFalse("Fehler: Element 200 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(200)); + dieListe.anhaengen(776); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776}); + + dieListe.anhaengen(239); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239}); + + assertTrue("Fehler: Element 302 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(302)); + assertFalse("Fehler: Element 472 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(472)); + assertTrue("Fehler: Element 155 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(155)); + assertFalse("Fehler: Element 226 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(226)); + assertFalse("Fehler: Element 174 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(174)); + assertFalse("Fehler: Element 316 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(316)); + dieListe.anhaengen(395); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395}); + + assertTrue("Fehler: Element 58 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(58)); + dieListe.anhaengen(871); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871}); + + dieListe.anhaengen(65); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65}); + + dieListe.anhaengen(26); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26}); + + dieListe.anhaengen(761); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761}); + + assertTrue("Fehler: Element 120 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(120)); + dieListe.anhaengen(411); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411}); + + dieListe.anhaengen(846); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846}); + + dieListe.anhaengen(512); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512}); + + assertFalse("Fehler: Element 378 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(378)); + assertTrue("Fehler: Element 81 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(81)); + assertFalse("Fehler: Element 737 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(737)); + assertFalse("Fehler: Element 1 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(1)); + dieListe.anhaengen(258); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258}); + + dieListe.anhaengen(392); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392}); + + assertFalse("Fehler: Element 252 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(252)); + dieListe.anhaengen(153); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153}); + + assertTrue("Fehler: Element 239 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(239)); + assertFalse("Fehler: Element 272 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(272)); + dieListe.anhaengen(377); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377}); + + dieListe.anhaengen(138); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138}); + + assertTrue("Fehler: Element 411 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(411)); + assertTrue("Fehler: Element 180 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(180)); + dieListe.anhaengen(925); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925}); + + assertFalse("Fehler: Element 647 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(647)); + dieListe.anhaengen(59); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59}); + + dieListe.anhaengen(986); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59, 986}); + + dieListe.anhaengen(197); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59, 986, 197}); + + assertFalse("Fehler: Element 709 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(709)); + dieListe.anhaengen(980); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59, 986, 197, 980}); + + dieListe.anhaengen(812); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59, 986, 197, 980, 812}); + + dieListe.anhaengen(747); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59, 986, 197, 980, 812, 747}); + + assertFalse("Fehler: Element 358 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(358)); + dieListe.anhaengen(107); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59, 986, 197, 980, 812, 747, 107}); + + dieListe.anhaengen(336); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59, 986, 197, 980, 812, 747, 107, 336}); + + assertFalse("Fehler: Element 70 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(70)); + assertFalse("Fehler: Element 701 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(701)); + assertFalse("Fehler: Element 666 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(666)); + dieListe.anhaengen(793); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59, 986, 197, 980, 812, 747, 107, 336, 793}); + + dieListe.anhaengen(635); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59, 986, 197, 980, 812, 747, 107, 336, 793, 635}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(764); + Tester.pruefeListenInhalt(dieListe, new int[]{764}); + + assertTrue("Fehler: Element 764 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(764)); + dieListe.anhaengen(327); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327}); + + dieListe.anhaengen(737); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737}); + + assertTrue("Fehler: Element 764 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(764)); + assertTrue("Fehler: Element 764 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(764)); + assertFalse("Fehler: Element 882 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(882)); + dieListe.anhaengen(778); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778}); + + dieListe.anhaengen(200); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200}); + + dieListe.anhaengen(222); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222}); + + dieListe.anhaengen(316); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316}); + + dieListe.anhaengen(977); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977}); + + assertFalse("Fehler: Element 999 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(999)); + dieListe.anhaengen(466); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466}); + + assertFalse("Fehler: Element 99 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(99)); + dieListe.anhaengen(546); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546}); + + assertFalse("Fehler: Element 618 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(618)); + assertTrue("Fehler: Element 222 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(222)); + dieListe.anhaengen(839); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839}); + + dieListe.anhaengen(683); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683}); + + dieListe.anhaengen(780); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780}); + + assertTrue("Fehler: Element 222 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(222)); + assertFalse("Fehler: Element 20 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(20)); + dieListe.anhaengen(619); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619}); + + assertFalse("Fehler: Element 256 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(256)); + assertFalse("Fehler: Element 434 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(434)); + dieListe.anhaengen(634); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634}); + + assertTrue("Fehler: Element 200 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(200)); + assertTrue("Fehler: Element 327 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(327)); + assertTrue("Fehler: Element 316 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(316)); + assertFalse("Fehler: Element 367 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(367)); + assertFalse("Fehler: Element 625 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(625)); + dieListe.anhaengen(344); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344}); + + dieListe.anhaengen(835); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835}); + + dieListe.anhaengen(968); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968}); + + assertFalse("Fehler: Element 497 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(497)); + assertFalse("Fehler: Element 965 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(965)); + dieListe.anhaengen(387); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387}); + + dieListe.anhaengen(390); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390}); + + dieListe.anhaengen(889); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889}); + + assertTrue("Fehler: Element 390 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(390)); + dieListe.anhaengen(233); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233}); + + assertTrue("Fehler: Element 390 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(390)); + assertFalse("Fehler: Element 657 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(657)); + dieListe.anhaengen(82); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82}); + + dieListe.anhaengen(703); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703}); + + assertFalse("Fehler: Element 170 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(170)); + assertTrue("Fehler: Element 835 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(835)); + assertTrue("Fehler: Element 390 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(390)); + assertFalse("Fehler: Element 969 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(969)); + assertTrue("Fehler: Element 390 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(390)); + assertTrue("Fehler: Element 737 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(737)); + assertFalse("Fehler: Element 207 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(207)); + assertFalse("Fehler: Element 289 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(289)); + dieListe.anhaengen(651); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651}); + + assertTrue("Fehler: Element 889 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(889)); + dieListe.anhaengen(960); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960}); + + assertTrue("Fehler: Element 778 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(778)); + dieListe.anhaengen(33); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33}); + + assertTrue("Fehler: Element 466 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(466)); + dieListe.anhaengen(100); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100}); + + dieListe.anhaengen(652); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652}); + + dieListe.anhaengen(908); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908}); + + assertTrue("Fehler: Element 390 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(390)); + dieListe.anhaengen(311); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311}); + + assertFalse("Fehler: Element 622 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(622)); + dieListe.anhaengen(593); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593}); + + dieListe.anhaengen(803); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803}); + + dieListe.anhaengen(545); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545}); + + assertTrue("Fehler: Element 33 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(33)); + assertTrue("Fehler: Element 390 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(390)); + assertTrue("Fehler: Element 311 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(311)); + assertFalse("Fehler: Element 361 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(361)); + dieListe.anhaengen(616); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616}); + + dieListe.anhaengen(265); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265}); + + dieListe.anhaengen(819); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819}); + + dieListe.anhaengen(323); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323}); + + assertFalse("Fehler: Element 306 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(306)); + dieListe.anhaengen(598); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598}); + + assertTrue("Fehler: Element 327 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(327)); + assertFalse("Fehler: Element 377 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(377)); + assertTrue("Fehler: Element 593 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(593)); + dieListe.anhaengen(174); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598, 174}); + + dieListe.anhaengen(619); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598, 174, 619}); + + dieListe.anhaengen(678); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598, 174, 619, 678}); + + dieListe.anhaengen(656); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598, 174, 619, 678, 656}); + + dieListe.anhaengen(892); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598, 174, 619, 678, 656, 892}); + + assertTrue("Fehler: Element 892 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(892)); + assertFalse("Fehler: Element 995 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(995)); + assertFalse("Fehler: Element 54 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(54)); + assertTrue("Fehler: Element 683 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(683)); + assertFalse("Fehler: Element 85 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(85)); + dieListe.anhaengen(160); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598, 174, 619, 678, 656, 892, 160}); + + assertFalse("Fehler: Element 872 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(872)); + dieListe.anhaengen(433); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598, 174, 619, 678, 656, 892, 160, 433}); + + assertFalse("Fehler: Element 133 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(133)); + dieListe.anhaengen(17); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598, 174, 619, 678, 656, 892, 160, 433, 17}); + + assertTrue("Fehler: Element 233 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(233)); + assertTrue("Fehler: Element 892 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(892)); + dieListe.anhaengen(211); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598, 174, 619, 678, 656, 892, 160, 433, 17, 211}); + + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(725); + Tester.pruefeListenInhalt(dieListe, new int[]{725}); + + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + assertFalse("Fehler: Element 54 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(54)); + dieListe.anhaengen(72); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72}); + + assertFalse("Fehler: Element 854 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(854)); + assertFalse("Fehler: Element 619 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(619)); + assertTrue("Fehler: Element 72 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(72)); + assertFalse("Fehler: Element 263 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(263)); + assertFalse("Fehler: Element 601 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(601)); + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + dieListe.anhaengen(65); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65}); + + assertFalse("Fehler: Element 164 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(164)); + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + dieListe.anhaengen(81); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81}); + + assertFalse("Fehler: Element 182 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(182)); + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + dieListe.anhaengen(898); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898}); + + assertFalse("Fehler: Element 239 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(239)); + assertFalse("Fehler: Element 2 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(2)); + assertFalse("Fehler: Element 335 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(335)); + dieListe.anhaengen(187); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187}); + + dieListe.anhaengen(711); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711}); + + dieListe.anhaengen(6); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6}); + + assertFalse("Fehler: Element 873 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(873)); + dieListe.anhaengen(421); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421}); + + assertTrue("Fehler: Element 711 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(711)); + assertFalse("Fehler: Element 103 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(103)); + dieListe.anhaengen(430); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430}); + + assertFalse("Fehler: Element 250 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(250)); + assertFalse("Fehler: Element 517 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(517)); + dieListe.anhaengen(951); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951}); + + assertTrue("Fehler: Element 421 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(421)); + dieListe.anhaengen(114); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114}); + + assertFalse("Fehler: Element 518 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(518)); + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + assertFalse("Fehler: Element 417 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(417)); + dieListe.anhaengen(863); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863}); + + dieListe.anhaengen(951); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951}); + + dieListe.anhaengen(890); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890}); + + dieListe.anhaengen(816); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816}); + + assertFalse("Fehler: Element 866 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(866)); + dieListe.anhaengen(146); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146}); + + dieListe.anhaengen(304); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304}); + + dieListe.anhaengen(48); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48}); + + dieListe.anhaengen(96); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96}); + + dieListe.anhaengen(187); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187}); + + dieListe.anhaengen(267); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267}); + + assertFalse("Fehler: Element 302 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(302)); + dieListe.anhaengen(562); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562}); + + assertTrue("Fehler: Element 421 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(421)); + dieListe.anhaengen(442); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442}); + + assertTrue("Fehler: Element 81 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(81)); + assertFalse("Fehler: Element 291 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(291)); + dieListe.anhaengen(944); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944}); + + dieListe.anhaengen(191); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191}); + + assertTrue("Fehler: Element 890 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(890)); + assertFalse("Fehler: Element 7 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(7)); + assertFalse("Fehler: Element 215 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(215)); + assertFalse("Fehler: Element 247 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(247)); + assertFalse("Fehler: Element 602 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(602)); + assertTrue("Fehler: Element 146 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(146)); + assertTrue("Fehler: Element 898 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(898)); + dieListe.anhaengen(369); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369}); + + dieListe.anhaengen(699); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699}); + + dieListe.anhaengen(864); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864}); + + dieListe.anhaengen(886); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886}); + + assertFalse("Fehler: Element 92 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(92)); + dieListe.anhaengen(400); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400}); + + assertFalse("Fehler: Element 379 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(379)); + assertFalse("Fehler: Element 566 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(566)); + assertTrue("Fehler: Element 369 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(369)); + assertTrue("Fehler: Element 699 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(699)); + dieListe.anhaengen(274); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274}); + + assertTrue("Fehler: Element 48 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(48)); + assertFalse("Fehler: Element 396 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(396)); + dieListe.anhaengen(50); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50}); + + dieListe.anhaengen(343); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50, 343}); + + assertTrue("Fehler: Element 944 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(944)); + assertTrue("Fehler: Element 114 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(114)); + dieListe.anhaengen(964); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50, 343, 964}); + + assertFalse("Fehler: Element 27 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(27)); + assertFalse("Fehler: Element 770 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(770)); + assertFalse("Fehler: Element 152 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(152)); + dieListe.anhaengen(421); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50, 343, 964, 421}); + + assertFalse("Fehler: Element 670 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(670)); + dieListe.anhaengen(805); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50, 343, 964, 421, 805}); + + assertFalse("Fehler: Element 9 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(9)); + assertTrue("Fehler: Element 72 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(72)); + assertTrue("Fehler: Element 191 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(191)); + dieListe.anhaengen(487); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50, 343, 964, 421, 805, 487}); + + assertTrue("Fehler: Element 421 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(421)); + assertTrue("Fehler: Element 96 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(96)); + dieListe.anhaengen(76); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50, 343, 964, 421, 805, 487, 76}); + + assertFalse("Fehler: Element 298 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(298)); + dieListe.anhaengen(847); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50, 343, 964, 421, 805, 487, 76, 847}); + + assertTrue("Fehler: Element 863 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(863)); + dieListe.anhaengen(908); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50, 343, 964, 421, 805, 487, 76, 847, 908}); + + dieListe.anhaengen(374); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50, 343, 964, 421, 805, 487, 76, 847, 908, 374}); + + assertTrue("Fehler: Element 76 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(76)); + assertFalse("Fehler: Element 290 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(290)); + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(613); + Tester.pruefeListenInhalt(dieListe, new int[]{613}); + + assertFalse("Fehler: Element 501 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(501)); + assertFalse("Fehler: Element 341 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(341)); + dieListe.anhaengen(454); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454}); + + dieListe.anhaengen(708); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708}); + + assertFalse("Fehler: Element 755 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(755)); + assertTrue("Fehler: Element 708 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(708)); + dieListe.anhaengen(64); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64}); + + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581}); + + dieListe.anhaengen(909); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909}); + + assertTrue("Fehler: Element 708 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(708)); + dieListe.anhaengen(388); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388}); + + dieListe.anhaengen(550); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550}); + + dieListe.anhaengen(761); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761}); + + dieListe.anhaengen(214); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214}); + + assertTrue("Fehler: Element 550 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(550)); + dieListe.anhaengen(506); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506}); + + dieListe.anhaengen(672); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672}); + + assertFalse("Fehler: Element 25 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(25)); + assertFalse("Fehler: Element 893 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(893)); + assertFalse("Fehler: Element 406 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(406)); + dieListe.anhaengen(553); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553}); + + dieListe.anhaengen(472); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472}); + + assertTrue("Fehler: Element 214 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(214)); + dieListe.anhaengen(447); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447}); + + assertTrue("Fehler: Element 454 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(454)); + assertTrue("Fehler: Element 506 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(506)); + dieListe.anhaengen(790); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790}); + + dieListe.anhaengen(732); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732}); + + assertTrue("Fehler: Element 447 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(447)); + assertTrue("Fehler: Element 214 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(214)); + dieListe.anhaengen(250); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250}); + + assertFalse("Fehler: Element 904 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(904)); + assertFalse("Fehler: Element 402 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(402)); + assertFalse("Fehler: Element 94 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(94)); + dieListe.anhaengen(89); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89}); + + assertTrue("Fehler: Element 672 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(672)); + assertTrue("Fehler: Element 250 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(250)); + dieListe.anhaengen(308); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308}); + + dieListe.anhaengen(154); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154}); + + assertFalse("Fehler: Element 76 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(76)); + dieListe.anhaengen(187); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187}); + + assertFalse("Fehler: Element 762 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(762)); + dieListe.anhaengen(159); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159}); + + dieListe.anhaengen(993); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993}); + + assertFalse("Fehler: Element 269 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(269)); + dieListe.anhaengen(341); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341}); + + assertFalse("Fehler: Element 717 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(717)); + assertTrue("Fehler: Element 388 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(388)); + assertFalse("Fehler: Element 74 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(74)); + dieListe.anhaengen(300); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300}); + + dieListe.anhaengen(203); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203}); + + dieListe.anhaengen(932); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932}); + + assertTrue("Fehler: Element 187 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(187)); + assertFalse("Fehler: Element 348 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(348)); + dieListe.anhaengen(940); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940}); + + assertFalse("Fehler: Element 201 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(201)); + assertTrue("Fehler: Element 472 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(472)); + dieListe.anhaengen(836); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836}); + + assertFalse("Fehler: Element 889 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(889)); + assertFalse("Fehler: Element 798 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(798)); + dieListe.anhaengen(131); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131}); + + assertTrue("Fehler: Element 64 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(64)); + dieListe.anhaengen(837); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837}); + + assertFalse("Fehler: Element 745 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(745)); + dieListe.anhaengen(945); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945}); + + assertTrue("Fehler: Element 187 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(187)); + assertTrue("Fehler: Element 837 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(837)); + assertFalse("Fehler: Element 162 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(162)); + assertFalse("Fehler: Element 969 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(969)); + dieListe.anhaengen(347); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347}); + + assertFalse("Fehler: Element 833 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(833)); + dieListe.anhaengen(396); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396}); + + assertTrue("Fehler: Element 341 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(341)); + dieListe.anhaengen(797); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797}); + + dieListe.anhaengen(79); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797, 79}); + + assertTrue("Fehler: Element 672 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(672)); + dieListe.anhaengen(697); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797, 79, 697}); + + dieListe.anhaengen(474); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797, 79, 697, 474}); + + assertFalse("Fehler: Element 498 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(498)); + dieListe.anhaengen(302); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797, 79, 697, 474, 302}); + + assertTrue("Fehler: Element 454 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(454)); + dieListe.anhaengen(121); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797, 79, 697, 474, 302, 121}); + + assertFalse("Fehler: Element 618 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(618)); + assertFalse("Fehler: Element 265 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(265)); + assertFalse("Fehler: Element 530 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(530)); + assertFalse("Fehler: Element 517 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(517)); + assertTrue("Fehler: Element 214 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(214)); + assertTrue("Fehler: Element 672 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(672)); + dieListe.anhaengen(707); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797, 79, 697, 474, 302, 121, 707}); + + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797, 79, 697, 474, 302, 121, 707, 861}); + + assertTrue("Fehler: Element 836 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(836)); + assertFalse("Fehler: Element 955 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(955)); + assertTrue("Fehler: Element 672 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(672)); + assertFalse("Fehler: Element 270 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(270)); + assertTrue("Fehler: Element 89 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(89)); + dieListe.anhaengen(256); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797, 79, 697, 474, 302, 121, 707, 861, 256}); + + assertFalse("Fehler: Element 501 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(501)); + dieListe.anhaengen(161); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797, 79, 697, 474, 302, 121, 707, 861, 256, 161}); + + assertTrue("Fehler: Element 672 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(672)); + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(151); + Tester.pruefeListenInhalt(dieListe, new int[]{151}); + + assertFalse("Fehler: Element 770 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(770)); + assertFalse("Fehler: Element 447 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(447)); + assertTrue("Fehler: Element 151 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(151)); + dieListe.anhaengen(313); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313}); + + dieListe.anhaengen(964); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964}); + + dieListe.anhaengen(951); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951}); + + assertTrue("Fehler: Element 951 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(951)); + dieListe.anhaengen(375); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375}); + + assertTrue("Fehler: Element 964 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(964)); + dieListe.anhaengen(976); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976}); + + assertTrue("Fehler: Element 976 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(976)); + dieListe.anhaengen(54); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54}); + + assertFalse("Fehler: Element 667 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(667)); + dieListe.anhaengen(530); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530}); + + dieListe.anhaengen(91); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91}); + + assertTrue("Fehler: Element 530 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(530)); + dieListe.anhaengen(714); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714}); + + dieListe.anhaengen(979); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979}); + + assertTrue("Fehler: Element 964 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(964)); + dieListe.anhaengen(918); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918}); + + dieListe.anhaengen(511); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511}); + + assertTrue("Fehler: Element 511 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(511)); + dieListe.anhaengen(785); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785}); + + dieListe.anhaengen(749); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749}); + + assertFalse("Fehler: Element 264 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(264)); + dieListe.anhaengen(139); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139}); + + assertTrue("Fehler: Element 951 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(951)); + assertTrue("Fehler: Element 785 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(785)); + assertFalse("Fehler: Element 260 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(260)); + assertFalse("Fehler: Element 483 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(483)); + dieListe.anhaengen(554); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554}); + + assertFalse("Fehler: Element 789 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(789)); + assertTrue("Fehler: Element 54 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(54)); + dieListe.anhaengen(64); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64}); + + assertFalse("Fehler: Element 978 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(978)); + assertTrue("Fehler: Element 151 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(151)); + assertTrue("Fehler: Element 313 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(313)); + assertTrue("Fehler: Element 139 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(139)); + dieListe.anhaengen(135); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135}); + + assertTrue("Fehler: Element 54 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(54)); + dieListe.anhaengen(339); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339}); + + dieListe.anhaengen(591); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591}); + + assertTrue("Fehler: Element 339 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(339)); + assertTrue("Fehler: Element 979 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(979)); + dieListe.anhaengen(995); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995}); + + assertTrue("Fehler: Element 511 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(511)); + dieListe.anhaengen(160); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160}); + + dieListe.anhaengen(80); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80}); + + dieListe.anhaengen(767); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767}); + + dieListe.anhaengen(105); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105}); + + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189}); + + assertTrue("Fehler: Element 530 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(530)); + dieListe.anhaengen(200); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200}); + + assertTrue("Fehler: Element 80 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(80)); + assertFalse("Fehler: Element 500 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(500)); + assertTrue("Fehler: Element 105 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(105)); + assertFalse("Fehler: Element 37 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(37)); + assertFalse("Fehler: Element 635 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(635)); + assertTrue("Fehler: Element 995 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(995)); + assertFalse("Fehler: Element 537 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(537)); + dieListe.anhaengen(697); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697}); + + dieListe.anhaengen(592); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592}); + + dieListe.anhaengen(399); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399}); + + assertFalse("Fehler: Element 938 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(938)); + dieListe.anhaengen(168); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168}); + + assertTrue("Fehler: Element 592 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(592)); + assertTrue("Fehler: Element 64 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(64)); + assertFalse("Fehler: Element 32 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(32)); + dieListe.anhaengen(656); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656}); + + assertTrue("Fehler: Element 979 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(979)); + dieListe.anhaengen(863); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863}); + + assertFalse("Fehler: Element 457 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(457)); + dieListe.anhaengen(37); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37}); + + assertTrue("Fehler: Element 200 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(200)); + assertFalse("Fehler: Element 136 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(136)); + assertTrue("Fehler: Element 964 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(964)); + dieListe.anhaengen(842); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842}); + + dieListe.anhaengen(667); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667}); + + dieListe.anhaengen(909); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909}); + + dieListe.anhaengen(927); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927}); + + dieListe.anhaengen(513); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513}); + + assertFalse("Fehler: Element 84 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(84)); + dieListe.anhaengen(584); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513, 584}); + + dieListe.anhaengen(970); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513, 584, 970}); + + dieListe.anhaengen(754); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513, 584, 970, 754}); + + dieListe.anhaengen(695); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513, 584, 970, 754, 695}); + + dieListe.anhaengen(248); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513, 584, 970, 754, 695, 248}); + + assertTrue("Fehler: Element 918 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(918)); + assertFalse("Fehler: Element 34 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(34)); + assertTrue("Fehler: Element 667 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(667)); + dieListe.anhaengen(378); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513, 584, 970, 754, 695, 248, 378}); + + dieListe.anhaengen(138); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513, 584, 970, 754, 695, 248, 378, 138}); + + assertFalse("Fehler: Element 231 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(231)); + dieListe.anhaengen(71); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513, 584, 970, 754, 695, 248, 378, 138, 71}); + + assertFalse("Fehler: Element 1 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(1)); + assertFalse("Fehler: Element 721 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(721)); + assertFalse("Fehler: Element 895 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(895)); + dieListe.anhaengen(597); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513, 584, 970, 754, 695, 248, 378, 138, 71, 597}); + + assertFalse("Fehler: Element 34 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(34)); + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(239); + Tester.pruefeListenInhalt(dieListe, new int[]{239}); + + assertTrue("Fehler: Element 239 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(239)); + dieListe.anhaengen(763); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763}); + + dieListe.anhaengen(681); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681}); + + dieListe.anhaengen(49); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49}); + + dieListe.anhaengen(100); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100}); + + dieListe.anhaengen(394); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394}); + + assertFalse("Fehler: Element 950 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(950)); + assertFalse("Fehler: Element 895 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(895)); + assertFalse("Fehler: Element 757 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(757)); + assertFalse("Fehler: Element 321 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(321)); + dieListe.anhaengen(187); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187}); + + dieListe.anhaengen(763); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763}); + + assertTrue("Fehler: Element 100 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(100)); + dieListe.anhaengen(3); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3}); + + dieListe.anhaengen(623); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623}); + + dieListe.anhaengen(53); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53}); + + dieListe.anhaengen(468); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468}); + + dieListe.anhaengen(194); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194}); + + dieListe.anhaengen(373); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373}); + + assertFalse("Fehler: Element 809 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(809)); + assertFalse("Fehler: Element 29 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(29)); + assertFalse("Fehler: Element 456 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(456)); + dieListe.anhaengen(633); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633}); + + assertTrue("Fehler: Element 681 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(681)); + dieListe.anhaengen(875); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875}); + + dieListe.anhaengen(294); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294}); + + dieListe.anhaengen(995); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995}); + + assertTrue("Fehler: Element 100 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(100)); + dieListe.anhaengen(308); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308}); + + dieListe.anhaengen(354); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354}); + + assertFalse("Fehler: Element 900 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(900)); + dieListe.anhaengen(783); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783}); + + assertTrue("Fehler: Element 633 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(633)); + dieListe.anhaengen(387); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387}); + + assertTrue("Fehler: Element 239 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(239)); + assertTrue("Fehler: Element 294 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(294)); + dieListe.anhaengen(947); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947}); + + assertTrue("Fehler: Element 53 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(53)); + dieListe.anhaengen(832); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832}); + + dieListe.anhaengen(689); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689}); + + assertTrue("Fehler: Element 468 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(468)); + assertTrue("Fehler: Element 187 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(187)); + dieListe.anhaengen(872); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872}); + + assertFalse("Fehler: Element 622 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(622)); + dieListe.anhaengen(643); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643}); + + assertTrue("Fehler: Element 239 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(239)); + dieListe.anhaengen(115); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115}); + + assertTrue("Fehler: Element 308 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(308)); + dieListe.anhaengen(493); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493}); + + dieListe.anhaengen(118); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118}); + + assertTrue("Fehler: Element 689 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(689)); + assertFalse("Fehler: Element 571 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(571)); + dieListe.anhaengen(207); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207}); + + dieListe.anhaengen(610); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610}); + + assertFalse("Fehler: Element 599 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(599)); + dieListe.anhaengen(694); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694}); + + assertTrue("Fehler: Element 194 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(194)); + assertTrue("Fehler: Element 872 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(872)); + dieListe.anhaengen(197); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197}); + + assertFalse("Fehler: Element 402 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(402)); + dieListe.anhaengen(384); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384}); + + dieListe.anhaengen(471); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471}); + + assertFalse("Fehler: Element 498 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(498)); + dieListe.anhaengen(434); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434}); + + dieListe.anhaengen(353); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353}); + + dieListe.anhaengen(69); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69}); + + dieListe.anhaengen(263); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263}); + + dieListe.anhaengen(946); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946}); + + dieListe.anhaengen(933); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933}); + + assertFalse("Fehler: Element 674 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(674)); + dieListe.anhaengen(650); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650}); + + dieListe.anhaengen(183); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183}); + + dieListe.anhaengen(369); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369}); + + dieListe.anhaengen(755); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755}); + + assertTrue("Fehler: Element 118 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(118)); + dieListe.anhaengen(21); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21}); + + dieListe.anhaengen(122); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122}); + + assertFalse("Fehler: Element 417 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(417)); + assertFalse("Fehler: Element 774 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(774)); + dieListe.anhaengen(931); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931}); + + assertTrue("Fehler: Element 294 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(294)); + dieListe.anhaengen(27); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27}); + + assertFalse("Fehler: Element 342 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(342)); + assertTrue("Fehler: Element 493 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(493)); + dieListe.anhaengen(772); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27, 772}); + + dieListe.anhaengen(698); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27, 772, 698}); + + dieListe.anhaengen(912); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27, 772, 698, 912}); + + assertFalse("Fehler: Element 464 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(464)); + assertTrue("Fehler: Element 832 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(832)); + dieListe.anhaengen(97); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27, 772, 698, 912, 97}); + + assertFalse("Fehler: Element 279 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(279)); + dieListe.anhaengen(328); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27, 772, 698, 912, 97, 328}); + + dieListe.anhaengen(463); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27, 772, 698, 912, 97, 328, 463}); + + assertFalse("Fehler: Element 615 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(615)); + assertFalse("Fehler: Element 483 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(483)); + assertTrue("Fehler: Element 623 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(623)); + dieListe.anhaengen(400); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27, 772, 698, 912, 97, 328, 463, 400}); + + dieListe.anhaengen(437); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27, 772, 698, 912, 97, 328, 463, 400, 437}); + + dieListe.anhaengen(435); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27, 772, 698, 912, 97, 328, 463, 400, 437, 435}); + + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(622); + Tester.pruefeListenInhalt(dieListe, new int[]{622}); + + assertFalse("Fehler: Element 678 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(678)); + dieListe.anhaengen(503); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503}); + + assertTrue("Fehler: Element 503 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(503)); + dieListe.anhaengen(940); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940}); + + dieListe.anhaengen(588); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588}); + + assertFalse("Fehler: Element 462 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(462)); + assertTrue("Fehler: Element 503 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(503)); + assertTrue("Fehler: Element 940 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(940)); + assertTrue("Fehler: Element 622 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(622)); + assertFalse("Fehler: Element 490 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(490)); + assertFalse("Fehler: Element 730 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(730)); + assertFalse("Fehler: Element 445 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(445)); + dieListe.anhaengen(575); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575}); + + dieListe.anhaengen(468); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468}); + + dieListe.anhaengen(283); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283}); + + dieListe.anhaengen(162); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162}); + + dieListe.anhaengen(103); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103}); + + assertFalse("Fehler: Element 855 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(855)); + dieListe.anhaengen(341); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341}); + + assertFalse("Fehler: Element 184 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(184)); + dieListe.anhaengen(590); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590}); + + dieListe.anhaengen(940); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940}); + + assertFalse("Fehler: Element 51 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(51)); + dieListe.anhaengen(389); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389}); + + assertTrue("Fehler: Element 622 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(622)); + assertFalse("Fehler: Element 253 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(253)); + assertTrue("Fehler: Element 389 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(389)); + dieListe.anhaengen(282); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282}); + + dieListe.anhaengen(666); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666}); + + assertFalse("Fehler: Element 443 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(443)); + dieListe.anhaengen(380); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380}); + + dieListe.anhaengen(659); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659}); + + dieListe.anhaengen(554); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554}); + + dieListe.anhaengen(820); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820}); + + dieListe.anhaengen(508); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508}); + + dieListe.anhaengen(435); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435}); + + dieListe.anhaengen(547); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547}); + + assertFalse("Fehler: Element 914 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(914)); + assertTrue("Fehler: Element 554 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(554)); + assertTrue("Fehler: Element 503 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(503)); + dieListe.anhaengen(825); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825}); + + dieListe.anhaengen(875); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875}); + + dieListe.anhaengen(683); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683}); + + assertFalse("Fehler: Element 318 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(318)); + assertFalse("Fehler: Element 604 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(604)); + dieListe.anhaengen(479); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479}); + + dieListe.anhaengen(828); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828}); + + dieListe.anhaengen(111); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111}); + + assertFalse("Fehler: Element 293 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(293)); + assertFalse("Fehler: Element 699 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(699)); + assertFalse("Fehler: Element 697 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(697)); + dieListe.anhaengen(686); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686}); + + assertTrue("Fehler: Element 575 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(575)); + dieListe.anhaengen(731); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731}); + + dieListe.anhaengen(183); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183}); + + assertFalse("Fehler: Element 196 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(196)); + dieListe.anhaengen(902); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902}); + + assertFalse("Fehler: Element 198 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(198)); + dieListe.anhaengen(921); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921}); + + dieListe.anhaengen(22); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22}); + + dieListe.anhaengen(146); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146}); + + dieListe.anhaengen(23); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23}); + + assertFalse("Fehler: Element 696 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(696)); + dieListe.anhaengen(551); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551}); + + assertFalse("Fehler: Element 518 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(518)); + dieListe.anhaengen(792); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792}); + + assertTrue("Fehler: Element 666 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(666)); + dieListe.anhaengen(79); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79}); + + dieListe.anhaengen(658); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658}); + + assertFalse("Fehler: Element 873 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(873)); + assertTrue("Fehler: Element 820 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(820)); + dieListe.anhaengen(389); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389}); + + dieListe.anhaengen(799); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799}); + + assertTrue("Fehler: Element 103 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(103)); + assertFalse("Fehler: Element 795 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(795)); + assertTrue("Fehler: Element 820 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(820)); + assertTrue("Fehler: Element 341 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(341)); + dieListe.anhaengen(627); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627}); + + dieListe.anhaengen(807); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807}); + + assertFalse("Fehler: Element 228 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(228)); + assertTrue("Fehler: Element 468 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(468)); + assertTrue("Fehler: Element 902 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(902)); + dieListe.anhaengen(289); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807, 289}); + + dieListe.anhaengen(771); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807, 289, 771}); + + assertFalse("Fehler: Element 994 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(994)); + assertTrue("Fehler: Element 146 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(146)); + dieListe.anhaengen(733); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807, 289, 771, 733}); + + dieListe.anhaengen(357); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807, 289, 771, 733, 357}); + + dieListe.anhaengen(262); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807, 289, 771, 733, 357, 262}); + + assertFalse("Fehler: Element 99 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(99)); + assertTrue("Fehler: Element 554 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(554)); + dieListe.anhaengen(121); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807, 289, 771, 733, 357, 262, 121}); + + assertTrue("Fehler: Element 590 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(590)); + assertFalse("Fehler: Element 450 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(450)); + dieListe.anhaengen(663); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807, 289, 771, 733, 357, 262, 121, 663}); + + assertFalse("Fehler: Element 714 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(714)); + dieListe.anhaengen(392); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807, 289, 771, 733, 357, 262, 121, 663, 392}); + + assertTrue("Fehler: Element 162 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(162)); + dieListe.anhaengen(962); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807, 289, 771, 733, 357, 262, 121, 663, 392, 962}); + + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(671); + Tester.pruefeListenInhalt(dieListe, new int[]{671}); + + assertFalse("Fehler: Element 572 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(572)); + assertFalse("Fehler: Element 298 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(298)); + dieListe.anhaengen(895); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895}); + + dieListe.anhaengen(49); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49}); + + dieListe.anhaengen(542); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542}); + + dieListe.anhaengen(697); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697}); + + assertTrue("Fehler: Element 895 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(895)); + dieListe.anhaengen(717); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717}); + + dieListe.anhaengen(793); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793}); + + assertFalse("Fehler: Element 917 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(917)); + dieListe.anhaengen(800); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800}); + + assertFalse("Fehler: Element 247 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(247)); + dieListe.anhaengen(328); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328}); + + dieListe.anhaengen(20); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20}); + + dieListe.anhaengen(678); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678}); + + dieListe.anhaengen(313); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313}); + + assertTrue("Fehler: Element 542 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(542)); + assertFalse("Fehler: Element 998 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(998)); + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581}); + + dieListe.anhaengen(567); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567}); + + dieListe.anhaengen(51); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51}); + + dieListe.anhaengen(639); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639}); + + dieListe.anhaengen(778); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778}); + + assertFalse("Fehler: Element 708 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(708)); + assertFalse("Fehler: Element 632 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(632)); + assertFalse("Fehler: Element 406 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(406)); + dieListe.anhaengen(141); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141}); + + dieListe.anhaengen(565); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565}); + + assertFalse("Fehler: Element 987 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(987)); + assertFalse("Fehler: Element 499 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(499)); + assertTrue("Fehler: Element 20 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(20)); + dieListe.anhaengen(884); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884}); + + dieListe.anhaengen(643); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643}); + + dieListe.anhaengen(702); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702}); + + assertFalse("Fehler: Element 208 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(208)); + assertTrue("Fehler: Element 313 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(313)); + dieListe.anhaengen(785); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785}); + + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581}); + + dieListe.anhaengen(941); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941}); + + assertFalse("Fehler: Element 576 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(576)); + dieListe.anhaengen(201); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201}); + + dieListe.anhaengen(478); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478}); + + assertTrue("Fehler: Element 565 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(565)); + assertTrue("Fehler: Element 565 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(565)); + assertTrue("Fehler: Element 793 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(793)); + dieListe.anhaengen(571); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571}); + + dieListe.anhaengen(772); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772}); + + dieListe.anhaengen(2); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2}); + + dieListe.anhaengen(256); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256}); + + dieListe.anhaengen(368); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368}); + + assertFalse("Fehler: Element 299 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(299)); + assertTrue("Fehler: Element 793 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(793)); + assertTrue("Fehler: Element 581 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(581)); + assertTrue("Fehler: Element 785 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(785)); + assertTrue("Fehler: Element 2 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(2)); + assertFalse("Fehler: Element 937 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(937)); + dieListe.anhaengen(444); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444}); + + dieListe.anhaengen(556); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556}); + + assertFalse("Fehler: Element 45 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(45)); + dieListe.anhaengen(181); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181}); + + dieListe.anhaengen(877); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877}); + + assertTrue("Fehler: Element 778 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(778)); + dieListe.anhaengen(646); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646}); + + dieListe.anhaengen(188); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188}); + + assertTrue("Fehler: Element 556 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(556)); + assertFalse("Fehler: Element 942 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(942)); + assertTrue("Fehler: Element 702 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(702)); + assertTrue("Fehler: Element 51 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(51)); + dieListe.anhaengen(153); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153}); + + assertTrue("Fehler: Element 2 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(2)); + dieListe.anhaengen(115); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115}); + + dieListe.anhaengen(987); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987}); + + dieListe.anhaengen(533); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533}); + + assertFalse("Fehler: Element 876 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(876)); + dieListe.anhaengen(369); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369}); + + dieListe.anhaengen(774); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774}); + + assertTrue("Fehler: Element 141 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(141)); + assertFalse("Fehler: Element 896 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(896)); + dieListe.anhaengen(733); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774, 733}); + + assertTrue("Fehler: Element 20 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(20)); + dieListe.anhaengen(137); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774, 733, 137}); + + assertFalse("Fehler: Element 916 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(916)); + dieListe.anhaengen(974); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774, 733, 137, 974}); + + dieListe.anhaengen(961); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774, 733, 137, 974, 961}); + + assertTrue("Fehler: Element 137 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(137)); + dieListe.anhaengen(944); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774, 733, 137, 974, 961, 944}); + + dieListe.anhaengen(870); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774, 733, 137, 974, 961, 944, 870}); + + assertFalse("Fehler: Element 384 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(384)); + dieListe.anhaengen(86); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774, 733, 137, 974, 961, 944, 870, 86}); + + assertFalse("Fehler: Element 477 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(477)); + assertTrue("Fehler: Element 671 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(671)); + assertFalse("Fehler: Element 662 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(662)); + assertFalse("Fehler: Element 64 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(64)); + dieListe.anhaengen(359); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774, 733, 137, 974, 961, 944, 870, 86, 359}); + + assertFalse("Fehler: Element 755 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(755)); + dieListe.anhaengen(872); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774, 733, 137, 974, 961, 944, 870, 86, 359, 872}); + + assertTrue("Fehler: Element 201 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(201)); + assertFalse("Fehler: Element 140 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(140)); + assertFalse("Fehler: Element 940 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(940)); + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest3.java b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest3.java new file mode 100644 index 0000000..96d041b --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest3.java @@ -0,0 +1,2095 @@ +package tests; + +import static org.junit.Assert.*; + +import liste.*; + +/** + * Die Test-Klasse SubTest3. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest3 { + + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(100); + Tester.pruefeListenInhalt(dieListe, new int[]{100}); + + dieListe.anhaengen(544); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544}); + + assertFalse("Fehler: Element 588 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(588)); + assertFalse("Fehler: Element 553 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(553)); + assertTrue("Fehler: Element 100 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(100)); + assertTrue("Fehler: Element 100 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(100)); + assertTrue("Fehler: Element 100 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(100)); + dieListe.anhaengen(162); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162}); + + dieListe.anhaengen(238); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238}); + + dieListe.anhaengen(69); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69}); + + assertTrue("Fehler: Element 162 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(162)); + assertTrue("Fehler: Element 544 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(544)); + assertTrue("Fehler: Element 238 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(238)); + assertTrue("Fehler: Element 69 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(69)); + dieListe.anhaengen(525); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525}); + + dieListe.anhaengen(146); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146}); + + assertFalse("Fehler: Element 24 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(24)); + dieListe.anhaengen(565); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565}); + + dieListe.anhaengen(638); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638}); + + assertFalse("Fehler: Element 786 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(786)); + dieListe.anhaengen(561); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561}); + + dieListe.anhaengen(773); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773}); + + dieListe.anhaengen(872); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872}); + + assertTrue("Fehler: Element 146 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(146)); + dieListe.anhaengen(802); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802}); + + dieListe.anhaengen(502); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502}); + + dieListe.anhaengen(81); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81}); + + dieListe.anhaengen(78); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78}); + + assertTrue("Fehler: Element 638 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(638)); + dieListe.anhaengen(934); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934}); + + dieListe.anhaengen(111); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111}); + + dieListe.anhaengen(342); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342}); + + dieListe.anhaengen(413); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413}); + + assertFalse("Fehler: Element 451 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(451)); + assertTrue("Fehler: Element 565 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(565)); + dieListe.anhaengen(517); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517}); + + dieListe.anhaengen(178); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178}); + + assertFalse("Fehler: Element 890 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(890)); + assertFalse("Fehler: Element 289 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(289)); + dieListe.anhaengen(506); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506}); + + assertTrue("Fehler: Element 802 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(802)); + dieListe.anhaengen(884); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884}); + + dieListe.anhaengen(219); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219}); + + dieListe.anhaengen(998); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998}); + + assertFalse("Fehler: Element 93 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(93)); + dieListe.anhaengen(168); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168}); + + assertFalse("Fehler: Element 76 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(76)); + dieListe.anhaengen(564); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564}); + + assertTrue("Fehler: Element 100 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(100)); + assertTrue("Fehler: Element 525 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(525)); + assertTrue("Fehler: Element 506 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(506)); + dieListe.anhaengen(411); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411}); + + dieListe.anhaengen(869); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869}); + + assertFalse("Fehler: Element 74 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(74)); + assertFalse("Fehler: Element 381 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(381)); + assertTrue("Fehler: Element 111 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(111)); + assertTrue("Fehler: Element 802 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(802)); + dieListe.anhaengen(130); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130}); + + dieListe.anhaengen(909); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909}); + + dieListe.anhaengen(620); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620}); + + assertFalse("Fehler: Element 769 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(769)); + assertFalse("Fehler: Element 459 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(459)); + assertFalse("Fehler: Element 484 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(484)); + assertFalse("Fehler: Element 950 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(950)); + assertTrue("Fehler: Element 564 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(564)); + dieListe.anhaengen(45); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45}); + + dieListe.anhaengen(695); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695}); + + assertFalse("Fehler: Element 617 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(617)); + assertTrue("Fehler: Element 100 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(100)); + assertFalse("Fehler: Element 786 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(786)); + assertFalse("Fehler: Element 71 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(71)); + assertTrue("Fehler: Element 342 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(342)); + assertTrue("Fehler: Element 638 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(638)); + assertTrue("Fehler: Element 81 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(81)); + dieListe.anhaengen(122); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122}); + + dieListe.anhaengen(368); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368}); + + assertFalse("Fehler: Element 586 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(586)); + assertTrue("Fehler: Element 100 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(100)); + dieListe.anhaengen(146); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146}); + + assertFalse("Fehler: Element 509 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(509)); + assertFalse("Fehler: Element 160 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(160)); + assertTrue("Fehler: Element 146 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(146)); + assertTrue("Fehler: Element 146 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(146)); + dieListe.anhaengen(828); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146, 828}); + + dieListe.anhaengen(769); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146, 828, 769}); + + dieListe.anhaengen(862); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146, 828, 769, 862}); + + dieListe.anhaengen(810); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146, 828, 769, 862, 810}); + + dieListe.anhaengen(499); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146, 828, 769, 862, 810, 499}); + + assertTrue("Fehler: Element 561 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(561)); + assertFalse("Fehler: Element 563 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(563)); + assertFalse("Fehler: Element 747 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(747)); + dieListe.anhaengen(668); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146, 828, 769, 862, 810, 499, 668}); + + assertTrue("Fehler: Element 342 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(342)); + dieListe.anhaengen(193); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146, 828, 769, 862, 810, 499, 668, 193}); + + assertFalse("Fehler: Element 722 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(722)); + assertFalse("Fehler: Element 860 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(860)); + dieListe.anhaengen(930); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146, 828, 769, 862, 810, 499, 668, 193, 930}); + + assertFalse("Fehler: Element 266 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(266)); + assertTrue("Fehler: Element 773 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(773)); + dieListe.anhaengen(110); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146, 828, 769, 862, 810, 499, 668, 193, 930, 110}); + + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(428); + Tester.pruefeListenInhalt(dieListe, new int[]{428}); + + dieListe.anhaengen(972); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972}); + + dieListe.anhaengen(481); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481}); + + dieListe.anhaengen(783); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783}); + + assertFalse("Fehler: Element 735 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(735)); + assertTrue("Fehler: Element 972 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(972)); + dieListe.anhaengen(797); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797}); + + assertTrue("Fehler: Element 481 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(481)); + assertFalse("Fehler: Element 99 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(99)); + dieListe.anhaengen(901); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901}); + + assertTrue("Fehler: Element 481 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(481)); + dieListe.anhaengen(335); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335}); + + assertTrue("Fehler: Element 428 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(428)); + assertFalse("Fehler: Element 398 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(398)); + dieListe.anhaengen(583); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583}); + + assertTrue("Fehler: Element 783 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(783)); + assertFalse("Fehler: Element 822 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(822)); + dieListe.anhaengen(333); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333}); + + assertFalse("Fehler: Element 108 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(108)); + assertFalse("Fehler: Element 989 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(989)); + dieListe.anhaengen(937); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937}); + + dieListe.anhaengen(520); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520}); + + assertFalse("Fehler: Element 270 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(270)); + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + assertFalse("Fehler: Element 453 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(453)); + dieListe.anhaengen(599); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599}); + + dieListe.anhaengen(147); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147}); + + assertTrue("Fehler: Element 428 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(428)); + dieListe.anhaengen(402); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402}); + + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + assertTrue("Fehler: Element 783 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(783)); + dieListe.anhaengen(618); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618}); + + dieListe.anhaengen(523); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523}); + + dieListe.anhaengen(98); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98}); + + dieListe.anhaengen(766); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766}); + + dieListe.anhaengen(960); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960}); + + dieListe.anhaengen(593); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593}); + + dieListe.anhaengen(985); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985}); + + dieListe.anhaengen(458); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458}); + + assertTrue("Fehler: Element 147 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(147)); + assertTrue("Fehler: Element 402 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(402)); + assertTrue("Fehler: Element 797 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(797)); + dieListe.anhaengen(881); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881}); + + dieListe.anhaengen(813); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813}); + + assertTrue("Fehler: Element 458 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(458)); + dieListe.anhaengen(42); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42}); + + assertFalse("Fehler: Element 990 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(990)); + assertTrue("Fehler: Element 937 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(937)); + dieListe.anhaengen(527); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527}); + + dieListe.anhaengen(382); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382}); + + assertFalse("Fehler: Element 306 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(306)); + dieListe.anhaengen(66); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66}); + + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581}); + + dieListe.anhaengen(805); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805}); + + dieListe.anhaengen(453); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453}); + + dieListe.anhaengen(688); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688}); + + assertTrue("Fehler: Element 382 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(382)); + assertFalse("Fehler: Element 931 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(931)); + assertFalse("Fehler: Element 267 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(267)); + dieListe.anhaengen(127); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127}); + + assertFalse("Fehler: Element 930 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(930)); + assertFalse("Fehler: Element 718 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(718)); + assertFalse("Fehler: Element 981 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(981)); + dieListe.anhaengen(809); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809}); + + assertTrue("Fehler: Element 813 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(813)); + assertTrue("Fehler: Element 813 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(813)); + dieListe.anhaengen(253); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253}); + + assertTrue("Fehler: Element 458 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(458)); + dieListe.anhaengen(652); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652}); + + assertTrue("Fehler: Element 481 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(481)); + assertFalse("Fehler: Element 750 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(750)); + assertFalse("Fehler: Element 381 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(381)); + dieListe.anhaengen(689); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689}); + + dieListe.anhaengen(285); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285}); + + dieListe.anhaengen(643); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643}); + + dieListe.anhaengen(283); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283}); + + dieListe.anhaengen(643); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643}); + + dieListe.anhaengen(917); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917}); + + dieListe.anhaengen(293); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293}); + + assertTrue("Fehler: Element 813 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(813)); + assertTrue("Fehler: Element 581 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(581)); + dieListe.anhaengen(14); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14}); + + dieListe.anhaengen(318); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318}); + + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + assertTrue("Fehler: Element 901 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(901)); + dieListe.anhaengen(950); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318, 950}); + + dieListe.anhaengen(392); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318, 950, 392}); + + assertFalse("Fehler: Element 169 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(169)); + dieListe.anhaengen(734); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318, 950, 392, 734}); + + assertTrue("Fehler: Element 402 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(402)); + assertTrue("Fehler: Element 127 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(127)); + dieListe.anhaengen(213); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318, 950, 392, 734, 213}); + + dieListe.anhaengen(992); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318, 950, 392, 734, 213, 992}); + + dieListe.anhaengen(339); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318, 950, 392, 734, 213, 992, 339}); + + dieListe.anhaengen(777); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318, 950, 392, 734, 213, 992, 339, 777}); + + dieListe.anhaengen(314); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318, 950, 392, 734, 213, 992, 339, 777, 314}); + + assertTrue("Fehler: Element 643 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(643)); + assertTrue("Fehler: Element 285 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(285)); + dieListe.anhaengen(855); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318, 950, 392, 734, 213, 992, 339, 777, 314, 855}); + + assertFalse("Fehler: Element 775 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(775)); + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(589); + Tester.pruefeListenInhalt(dieListe, new int[]{589}); + + assertFalse("Fehler: Element 27 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(27)); + dieListe.anhaengen(757); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757}); + + assertTrue("Fehler: Element 589 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(589)); + assertTrue("Fehler: Element 757 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(757)); + dieListe.anhaengen(576); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576}); + + assertFalse("Fehler: Element 464 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(464)); + dieListe.anhaengen(42); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42}); + + dieListe.anhaengen(526); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526}); + + dieListe.anhaengen(419); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419}); + + dieListe.anhaengen(302); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302}); + + assertFalse("Fehler: Element 232 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(232)); + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581}); + + dieListe.anhaengen(736); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736}); + + assertTrue("Fehler: Element 589 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(589)); + dieListe.anhaengen(731); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731}); + + assertTrue("Fehler: Element 736 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(736)); + assertFalse("Fehler: Element 515 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(515)); + dieListe.anhaengen(618); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618}); + + assertTrue("Fehler: Element 581 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(581)); + dieListe.anhaengen(945); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945}); + + dieListe.anhaengen(714); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714}); + + assertTrue("Fehler: Element 736 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(736)); + dieListe.anhaengen(897); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897}); + + dieListe.anhaengen(305); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305}); + + assertFalse("Fehler: Element 55 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(55)); + assertTrue("Fehler: Element 589 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(589)); + assertFalse("Fehler: Element 976 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(976)); + dieListe.anhaengen(5); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5}); + + assertTrue("Fehler: Element 731 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(731)); + dieListe.anhaengen(452); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452}); + + assertTrue("Fehler: Element 581 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(581)); + dieListe.anhaengen(462); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462}); + + assertFalse("Fehler: Element 900 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(900)); + dieListe.anhaengen(518); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518}); + + dieListe.anhaengen(83); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83}); + + dieListe.anhaengen(460); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460}); + + assertFalse("Fehler: Element 737 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(737)); + assertTrue("Fehler: Element 589 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(589)); + assertTrue("Fehler: Element 576 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(576)); + dieListe.anhaengen(547); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547}); + + dieListe.anhaengen(843); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843}); + + dieListe.anhaengen(164); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164}); + + assertTrue("Fehler: Element 419 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(419)); + dieListe.anhaengen(479); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479}); + + dieListe.anhaengen(590); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590}); + + assertFalse("Fehler: Element 358 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(358)); + dieListe.anhaengen(954); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954}); + + dieListe.anhaengen(325); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325}); + + dieListe.anhaengen(839); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839}); + + assertTrue("Fehler: Element 479 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(479)); + assertFalse("Fehler: Element 112 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(112)); + dieListe.anhaengen(794); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794}); + + assertTrue("Fehler: Element 589 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(589)); + dieListe.anhaengen(363); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363}); + + assertTrue("Fehler: Element 325 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(325)); + assertFalse("Fehler: Element 62 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(62)); + assertTrue("Fehler: Element 518 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(518)); + assertFalse("Fehler: Element 444 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(444)); + dieListe.anhaengen(688); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688}); + + assertTrue("Fehler: Element 302 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(302)); + assertFalse("Fehler: Element 777 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(777)); + dieListe.anhaengen(329); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329}); + + dieListe.anhaengen(124); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124}); + + assertFalse("Fehler: Element 571 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(571)); + assertFalse("Fehler: Element 351 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(351)); + assertFalse("Fehler: Element 698 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(698)); + dieListe.anhaengen(338); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338}); + + dieListe.anhaengen(947); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947}); + + assertTrue("Fehler: Element 714 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(714)); + dieListe.anhaengen(751); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751}); + + dieListe.anhaengen(247); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247}); + + assertTrue("Fehler: Element 460 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(460)); + assertFalse("Fehler: Element 31 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(31)); + dieListe.anhaengen(637); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637}); + + dieListe.anhaengen(360); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360}); + + assertTrue("Fehler: Element 325 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(325)); + assertFalse("Fehler: Element 905 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(905)); + dieListe.anhaengen(403); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403}); + + dieListe.anhaengen(302); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302}); + + dieListe.anhaengen(727); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302, 727}); + + assertTrue("Fehler: Element 462 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(462)); + assertTrue("Fehler: Element 5 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(5)); + dieListe.anhaengen(108); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302, 727, 108}); + + dieListe.anhaengen(981); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302, 727, 108, 981}); + + assertTrue("Fehler: Element 305 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(305)); + assertTrue("Fehler: Element 714 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(714)); + assertFalse("Fehler: Element 106 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(106)); + dieListe.anhaengen(176); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302, 727, 108, 981, 176}); + + dieListe.anhaengen(747); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302, 727, 108, 981, 176, 747}); + + dieListe.anhaengen(63); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302, 727, 108, 981, 176, 747, 63}); + + assertFalse("Fehler: Element 635 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(635)); + assertTrue("Fehler: Element 479 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(479)); + assertTrue("Fehler: Element 981 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(981)); + dieListe.anhaengen(174); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302, 727, 108, 981, 176, 747, 63, 174}); + + assertFalse("Fehler: Element 38 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(38)); + assertTrue("Fehler: Element 42 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(42)); + assertTrue("Fehler: Element 526 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(526)); + dieListe.anhaengen(435); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302, 727, 108, 981, 176, 747, 63, 174, 435}); + + dieListe.anhaengen(704); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302, 727, 108, 981, 176, 747, 63, 174, 435, 704}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(440); + Tester.pruefeListenInhalt(dieListe, new int[]{440}); + + dieListe.anhaengen(392); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392}); + + assertTrue("Fehler: Element 440 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(440)); + dieListe.anhaengen(394); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394}); + + assertTrue("Fehler: Element 394 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(394)); + assertTrue("Fehler: Element 440 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(440)); + assertFalse("Fehler: Element 859 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(859)); + assertFalse("Fehler: Element 190 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(190)); + assertFalse("Fehler: Element 351 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(351)); + dieListe.anhaengen(583); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583}); + + assertFalse("Fehler: Element 7 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(7)); + assertFalse("Fehler: Element 31 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(31)); + dieListe.anhaengen(64); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64}); + + dieListe.anhaengen(17); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17}); + + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + dieListe.anhaengen(180); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180}); + + assertFalse("Fehler: Element 907 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(907)); + dieListe.anhaengen(921); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921}); + + assertTrue("Fehler: Element 921 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(921)); + assertFalse("Fehler: Element 765 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(765)); + assertTrue("Fehler: Element 394 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(394)); + assertTrue("Fehler: Element 394 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(394)); + dieListe.anhaengen(537); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537}); + + assertTrue("Fehler: Element 64 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(64)); + dieListe.anhaengen(705); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705}); + + assertFalse("Fehler: Element 356 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(356)); + assertTrue("Fehler: Element 705 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(705)); + assertFalse("Fehler: Element 679 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(679)); + dieListe.anhaengen(40); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40}); + + dieListe.anhaengen(887); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887}); + + dieListe.anhaengen(887); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887}); + + assertFalse("Fehler: Element 978 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(978)); + dieListe.anhaengen(846); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846}); + + assertTrue("Fehler: Element 17 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(17)); + dieListe.anhaengen(675); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675}); + + dieListe.anhaengen(173); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173}); + + dieListe.anhaengen(528); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528}); + + dieListe.anhaengen(431); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431}); + + assertTrue("Fehler: Element 64 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(64)); + dieListe.anhaengen(600); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600}); + + assertTrue("Fehler: Element 180 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(180)); + assertTrue("Fehler: Element 600 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(600)); + dieListe.anhaengen(207); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207}); + + dieListe.anhaengen(712); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712}); + + assertTrue("Fehler: Element 64 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(64)); + dieListe.anhaengen(732); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732}); + + assertFalse("Fehler: Element 853 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(853)); + assertTrue("Fehler: Element 600 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(600)); + dieListe.anhaengen(24); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24}); + + assertFalse("Fehler: Element 397 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(397)); + dieListe.anhaengen(704); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704}); + + assertFalse("Fehler: Element 324 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(324)); + assertFalse("Fehler: Element 354 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(354)); + assertFalse("Fehler: Element 251 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(251)); + dieListe.anhaengen(357); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357}); + + assertFalse("Fehler: Element 532 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(532)); + assertFalse("Fehler: Element 598 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(598)); + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + assertTrue("Fehler: Element 537 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(537)); + assertFalse("Fehler: Element 145 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(145)); + dieListe.anhaengen(316); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316}); + + dieListe.anhaengen(112); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112}); + + assertFalse("Fehler: Element 981 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(981)); + assertTrue("Fehler: Element 921 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(921)); + dieListe.anhaengen(617); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617}); + + assertTrue("Fehler: Element 675 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(675)); + assertFalse("Fehler: Element 340 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(340)); + assertTrue("Fehler: Element 357 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(357)); + assertFalse("Fehler: Element 419 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(419)); + dieListe.anhaengen(955); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955}); + + assertFalse("Fehler: Element 877 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(877)); + dieListe.anhaengen(535); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535}); + + dieListe.anhaengen(864); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864}); + + dieListe.anhaengen(627); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627}); + + dieListe.anhaengen(670); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670}); + + assertFalse("Fehler: Element 753 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(753)); + assertTrue("Fehler: Element 40 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(40)); + assertTrue("Fehler: Element 40 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(40)); + assertFalse("Fehler: Element 746 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(746)); + assertFalse("Fehler: Element 684 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(684)); + dieListe.anhaengen(834); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670, 834}); + + dieListe.anhaengen(123); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670, 834, 123}); + + dieListe.anhaengen(573); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670, 834, 123, 573}); + + assertTrue("Fehler: Element 207 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(207)); + dieListe.anhaengen(852); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670, 834, 123, 573, 852}); + + assertTrue("Fehler: Element 394 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(394)); + dieListe.anhaengen(23); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670, 834, 123, 573, 852, 23}); + + dieListe.anhaengen(16); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670, 834, 123, 573, 852, 23, 16}); + + assertTrue("Fehler: Element 173 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(173)); + assertFalse("Fehler: Element 721 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(721)); + dieListe.anhaengen(61); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670, 834, 123, 573, 852, 23, 16, 61}); + + assertFalse("Fehler: Element 51 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(51)); + dieListe.anhaengen(965); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670, 834, 123, 573, 852, 23, 16, 61, 965}); + + assertFalse("Fehler: Element 115 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(115)); + assertFalse("Fehler: Element 666 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(666)); + assertTrue("Fehler: Element 834 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(834)); + assertFalse("Fehler: Element 636 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(636)); + dieListe.anhaengen(661); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670, 834, 123, 573, 852, 23, 16, 61, 965, 661}); + + assertFalse("Fehler: Element 839 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(839)); + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(340); + Tester.pruefeListenInhalt(dieListe, new int[]{340}); + + assertTrue("Fehler: Element 340 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(340)); + dieListe.anhaengen(210); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210}); + + dieListe.anhaengen(118); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118}); + + dieListe.anhaengen(521); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521}); + + assertTrue("Fehler: Element 340 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(340)); + dieListe.anhaengen(905); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905}); + + dieListe.anhaengen(793); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793}); + + dieListe.anhaengen(989); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989}); + + assertFalse("Fehler: Element 654 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(654)); + assertTrue("Fehler: Element 989 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(989)); + dieListe.anhaengen(930); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930}); + + dieListe.anhaengen(591); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591}); + + dieListe.anhaengen(874); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874}); + + assertFalse("Fehler: Element 853 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(853)); + assertTrue("Fehler: Element 521 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(521)); + assertTrue("Fehler: Element 989 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(989)); + dieListe.anhaengen(45); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45}); + + assertFalse("Fehler: Element 90 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(90)); + dieListe.anhaengen(3); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3}); + + dieListe.anhaengen(877); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877}); + + dieListe.anhaengen(645); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645}); + + assertTrue("Fehler: Element 340 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(340)); + assertFalse("Fehler: Element 855 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(855)); + assertFalse("Fehler: Element 251 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(251)); + dieListe.anhaengen(981); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981}); + + dieListe.anhaengen(395); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395}); + + assertTrue("Fehler: Element 45 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(45)); + assertFalse("Fehler: Element 312 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(312)); + assertFalse("Fehler: Element 850 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(850)); + assertFalse("Fehler: Element 659 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(659)); + assertFalse("Fehler: Element 664 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(664)); + dieListe.anhaengen(348); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348}); + + assertTrue("Fehler: Element 395 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(395)); + dieListe.anhaengen(730); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730}); + + dieListe.anhaengen(990); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990}); + + assertTrue("Fehler: Element 591 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(591)); + dieListe.anhaengen(499); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499}); + + assertFalse("Fehler: Element 542 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(542)); + assertTrue("Fehler: Element 989 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(989)); + dieListe.anhaengen(300); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300}); + + dieListe.anhaengen(758); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758}); + + assertFalse("Fehler: Element 487 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(487)); + dieListe.anhaengen(126); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126}); + + dieListe.anhaengen(417); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417}); + + dieListe.anhaengen(136); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136}); + + assertTrue("Fehler: Element 930 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(930)); + assertFalse("Fehler: Element 888 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(888)); + dieListe.anhaengen(159); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159}); + + dieListe.anhaengen(594); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594}); + + dieListe.anhaengen(626); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626}); + + dieListe.anhaengen(867); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867}); + + dieListe.anhaengen(135); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135}); + + dieListe.anhaengen(768); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768}); + + assertFalse("Fehler: Element 480 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(480)); + dieListe.anhaengen(451); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451}); + + dieListe.anhaengen(225); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225}); + + assertFalse("Fehler: Element 185 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(185)); + assertTrue("Fehler: Element 499 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(499)); + assertTrue("Fehler: Element 417 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(417)); + assertFalse("Fehler: Element 609 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(609)); + dieListe.anhaengen(1); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1}); + + assertFalse("Fehler: Element 942 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(942)); + dieListe.anhaengen(576); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576}); + + dieListe.anhaengen(54); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54}); + + dieListe.anhaengen(463); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463}); + + dieListe.anhaengen(526); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526}); + + assertTrue("Fehler: Element 340 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(340)); + assertTrue("Fehler: Element 417 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(417)); + assertFalse("Fehler: Element 100 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(100)); + dieListe.anhaengen(615); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615}); + + dieListe.anhaengen(822); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822}); + + dieListe.anhaengen(200); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200}); + + dieListe.anhaengen(696); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696}); + + assertTrue("Fehler: Element 576 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(576)); + dieListe.anhaengen(781); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781}); + + dieListe.anhaengen(57); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57}); + + dieListe.anhaengen(413); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413}); + + assertFalse("Fehler: Element 175 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(175)); + assertTrue("Fehler: Element 874 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(874)); + dieListe.anhaengen(439); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439}); + + assertFalse("Fehler: Element 509 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(509)); + dieListe.anhaengen(837); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837}); + + assertTrue("Fehler: Element 135 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(135)); + assertTrue("Fehler: Element 417 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(417)); + dieListe.anhaengen(832); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837, 832}); + + assertFalse("Fehler: Element 5 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(5)); + dieListe.anhaengen(698); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837, 832, 698}); + + assertTrue("Fehler: Element 905 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(905)); + assertTrue("Fehler: Element 990 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(990)); + dieListe.anhaengen(970); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837, 832, 698, 970}); + + dieListe.anhaengen(877); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837, 832, 698, 970, 877}); + + dieListe.anhaengen(830); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837, 832, 698, 970, 877, 830}); + + dieListe.anhaengen(562); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837, 832, 698, 970, 877, 830, 562}); + + dieListe.anhaengen(217); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837, 832, 698, 970, 877, 830, 562, 217}); + + assertTrue("Fehler: Element 626 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(626)); + dieListe.anhaengen(79); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837, 832, 698, 970, 877, 830, 562, 217, 79}); + + assertTrue("Fehler: Element 340 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(340)); + dieListe.anhaengen(678); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837, 832, 698, 970, 877, 830, 562, 217, 79, 678}); + + assertFalse("Fehler: Element 779 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(779)); + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(983); + Tester.pruefeListenInhalt(dieListe, new int[]{983}); + + dieListe.anhaengen(675); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675}); + + dieListe.anhaengen(165); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165}); + + dieListe.anhaengen(820); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820}); + + assertFalse("Fehler: Element 314 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(314)); + assertFalse("Fehler: Element 624 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(624)); + dieListe.anhaengen(792); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792}); + + dieListe.anhaengen(312); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312}); + + assertFalse("Fehler: Element 4 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(4)); + dieListe.anhaengen(783); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783}); + + assertTrue("Fehler: Element 820 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(820)); + assertFalse("Fehler: Element 406 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(406)); + dieListe.anhaengen(916); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916}); + + assertTrue("Fehler: Element 916 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(916)); + dieListe.anhaengen(170); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170}); + + dieListe.anhaengen(420); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420}); + + dieListe.anhaengen(157); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157}); + + dieListe.anhaengen(484); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484}); + + assertTrue("Fehler: Element 792 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(792)); + dieListe.anhaengen(736); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736}); + + assertTrue("Fehler: Element 165 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(165)); + assertFalse("Fehler: Element 13 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(13)); + dieListe.anhaengen(328); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328}); + + assertTrue("Fehler: Element 484 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(484)); + dieListe.anhaengen(881); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881}); + + dieListe.anhaengen(728); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728}); + + dieListe.anhaengen(750); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750}); + + assertTrue("Fehler: Element 675 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(675)); + dieListe.anhaengen(122); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122}); + + assertTrue("Fehler: Element 728 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(728)); + dieListe.anhaengen(296); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296}); + + dieListe.anhaengen(21); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21}); + + dieListe.anhaengen(369); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369}); + + dieListe.anhaengen(626); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626}); + + dieListe.anhaengen(903); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903}); + + dieListe.anhaengen(641); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641}); + + dieListe.anhaengen(57); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57}); + + assertTrue("Fehler: Element 626 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(626)); + dieListe.anhaengen(410); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410}); + + dieListe.anhaengen(908); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908}); + + dieListe.anhaengen(51); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51}); + + dieListe.anhaengen(238); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238}); + + dieListe.anhaengen(564); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564}); + + assertTrue("Fehler: Element 484 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(484)); + dieListe.anhaengen(467); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467}); + + dieListe.anhaengen(856); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856}); + + assertTrue("Fehler: Element 165 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(165)); + assertFalse("Fehler: Element 201 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(201)); + assertTrue("Fehler: Element 312 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(312)); + assertTrue("Fehler: Element 165 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(165)); + assertFalse("Fehler: Element 965 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(965)); + dieListe.anhaengen(723); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723}); + + dieListe.anhaengen(978); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978}); + + assertTrue("Fehler: Element 165 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(165)); + dieListe.anhaengen(923); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923}); + + dieListe.anhaengen(949); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949}); + + assertTrue("Fehler: Element 296 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(296)); + dieListe.anhaengen(362); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362}); + + assertFalse("Fehler: Element 58 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(58)); + dieListe.anhaengen(286); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286}); + + assertTrue("Fehler: Element 750 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(750)); + assertTrue("Fehler: Element 978 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(978)); + assertFalse("Fehler: Element 207 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(207)); + dieListe.anhaengen(35); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35}); + + assertTrue("Fehler: Element 238 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(238)); + dieListe.anhaengen(941); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941}); + + dieListe.anhaengen(366); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366}); + + assertTrue("Fehler: Element 57 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(57)); + assertFalse("Fehler: Element 381 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(381)); + dieListe.anhaengen(481); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481}); + + assertTrue("Fehler: Element 35 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(35)); + dieListe.anhaengen(183); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183}); + + assertTrue("Fehler: Element 312 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(312)); + dieListe.anhaengen(712); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712}); + + dieListe.anhaengen(664); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664}); + + assertFalse("Fehler: Element 853 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(853)); + dieListe.anhaengen(575); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575}); + + assertFalse("Fehler: Element 85 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(85)); + assertFalse("Fehler: Element 739 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(739)); + assertTrue("Fehler: Element 51 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(51)); + dieListe.anhaengen(237); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237}); + + dieListe.anhaengen(831); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831}); + + dieListe.anhaengen(371); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371}); + + assertFalse("Fehler: Element 777 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(777)); + assertFalse("Fehler: Element 613 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(613)); + dieListe.anhaengen(143); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371, 143}); + + assertTrue("Fehler: Element 51 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(51)); + assertTrue("Fehler: Element 983 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(983)); + dieListe.anhaengen(937); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371, 143, 937}); + + assertFalse("Fehler: Element 929 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(929)); + assertTrue("Fehler: Element 420 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(420)); + dieListe.anhaengen(655); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371, 143, 937, 655}); + + dieListe.anhaengen(492); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371, 143, 937, 655, 492}); + + dieListe.anhaengen(134); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371, 143, 937, 655, 492, 134}); + + assertTrue("Fehler: Element 923 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(923)); + dieListe.anhaengen(309); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371, 143, 937, 655, 492, 134, 309}); + + dieListe.anhaengen(292); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371, 143, 937, 655, 492, 134, 309, 292}); + + dieListe.anhaengen(442); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371, 143, 937, 655, 492, 134, 309, 292, 442}); + + assertFalse("Fehler: Element 992 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(992)); + dieListe.anhaengen(53); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371, 143, 937, 655, 492, 134, 309, 292, 442, 53}); + + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(320); + Tester.pruefeListenInhalt(dieListe, new int[]{320}); + + dieListe.anhaengen(971); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971}); + + assertFalse("Fehler: Element 566 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(566)); + dieListe.anhaengen(281); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281}); + + dieListe.anhaengen(714); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714}); + + assertFalse("Fehler: Element 960 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(960)); + dieListe.anhaengen(334); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334}); + + dieListe.anhaengen(122); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122}); + + assertTrue("Fehler: Element 320 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(320)); + dieListe.anhaengen(108); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108}); + + dieListe.anhaengen(484); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484}); + + assertTrue("Fehler: Element 320 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(320)); + assertTrue("Fehler: Element 320 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(320)); + assertFalse("Fehler: Element 112 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(112)); + dieListe.anhaengen(588); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588}); + + dieListe.anhaengen(453); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453}); + + assertTrue("Fehler: Element 484 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(484)); + dieListe.anhaengen(982); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982}); + + assertFalse("Fehler: Element 868 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(868)); + assertFalse("Fehler: Element 482 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(482)); + dieListe.anhaengen(200); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200}); + + dieListe.anhaengen(211); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211}); + + assertTrue("Fehler: Element 588 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(588)); + assertTrue("Fehler: Element 971 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(971)); + dieListe.anhaengen(537); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537}); + + dieListe.anhaengen(409); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409}); + + dieListe.anhaengen(896); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896}); + + dieListe.anhaengen(157); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157}); + + dieListe.anhaengen(215); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215}); + + assertTrue("Fehler: Element 211 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(211)); + assertTrue("Fehler: Element 896 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(896)); + dieListe.anhaengen(540); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540}); + + dieListe.anhaengen(50); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50}); + + assertTrue("Fehler: Element 982 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(982)); + assertFalse("Fehler: Element 159 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(159)); + assertFalse("Fehler: Element 848 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(848)); + dieListe.anhaengen(631); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631}); + + assertFalse("Fehler: Element 777 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(777)); + dieListe.anhaengen(823); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823}); + + dieListe.anhaengen(30); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30}); + + dieListe.anhaengen(414); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414}); + + assertFalse("Fehler: Element 548 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(548)); + dieListe.anhaengen(633); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633}); + + dieListe.anhaengen(596); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596}); + + dieListe.anhaengen(281); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281}); + + dieListe.anhaengen(784); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784}); + + dieListe.anhaengen(964); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964}); + + dieListe.anhaengen(191); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191}); + + assertTrue("Fehler: Element 537 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(537)); + dieListe.anhaengen(530); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530}); + + assertTrue("Fehler: Element 281 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(281)); + dieListe.anhaengen(301); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301}); + + dieListe.anhaengen(384); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384}); + + dieListe.anhaengen(937); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937}); + + dieListe.anhaengen(845); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845}); + + assertTrue("Fehler: Element 484 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(484)); + assertFalse("Fehler: Element 574 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(574)); + assertFalse("Fehler: Element 119 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(119)); + dieListe.anhaengen(948); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948}); + + dieListe.anhaengen(466); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466}); + + dieListe.anhaengen(774); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774}); + + assertTrue("Fehler: Element 823 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(823)); + assertTrue("Fehler: Element 50 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(50)); + dieListe.anhaengen(436); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436}); + + dieListe.anhaengen(120); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120}); + + dieListe.anhaengen(493); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493}); + + dieListe.anhaengen(377); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377}); + + dieListe.anhaengen(507); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507}); + + assertTrue("Fehler: Element 120 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(120)); + dieListe.anhaengen(744); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744}); + + assertTrue("Fehler: Element 215 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(215)); + assertTrue("Fehler: Element 845 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(845)); + dieListe.anhaengen(702); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702}); + + dieListe.anhaengen(329); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329}); + + dieListe.anhaengen(473); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473}); + + assertTrue("Fehler: Element 484 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(484)); + assertTrue("Fehler: Element 120 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(120)); + dieListe.anhaengen(328); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328}); + + dieListe.anhaengen(175); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175}); + + dieListe.anhaengen(690); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175, 690}); + + dieListe.anhaengen(596); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175, 690, 596}); + + assertFalse("Fehler: Element 799 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(799)); + assertTrue("Fehler: Element 537 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(537)); + dieListe.anhaengen(682); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175, 690, 596, 682}); + + assertFalse("Fehler: Element 683 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(683)); + dieListe.anhaengen(238); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175, 690, 596, 682, 238}); + + dieListe.anhaengen(851); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175, 690, 596, 682, 238, 851}); + + assertFalse("Fehler: Element 831 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(831)); + assertFalse("Fehler: Element 307 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(307)); + assertFalse("Fehler: Element 965 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(965)); + assertFalse("Fehler: Element 127 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(127)); + assertTrue("Fehler: Element 414 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(414)); + dieListe.anhaengen(109); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175, 690, 596, 682, 238, 851, 109}); + + assertTrue("Fehler: Element 964 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(964)); + dieListe.anhaengen(491); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175, 690, 596, 682, 238, 851, 109, 491}); + + assertFalse("Fehler: Element 809 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(809)); + assertTrue("Fehler: Element 823 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(823)); + assertFalse("Fehler: Element 383 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(383)); + dieListe.anhaengen(134); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175, 690, 596, 682, 238, 851, 109, 491, 134}); + + dieListe.anhaengen(558); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175, 690, 596, 682, 238, 851, 109, 491, 134, 558}); + + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(804); + Tester.pruefeListenInhalt(dieListe, new int[]{804}); + + assertTrue("Fehler: Element 804 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(804)); + dieListe.anhaengen(93); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93}); + + dieListe.anhaengen(451); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451}); + + dieListe.anhaengen(123); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123}); + + dieListe.anhaengen(529); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529}); + + assertFalse("Fehler: Element 298 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(298)); + assertTrue("Fehler: Element 93 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(93)); + dieListe.anhaengen(124); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124}); + + dieListe.anhaengen(257); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257}); + + assertTrue("Fehler: Element 123 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(123)); + dieListe.anhaengen(928); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928}); + + dieListe.anhaengen(629); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629}); + + assertTrue("Fehler: Element 124 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(124)); + assertTrue("Fehler: Element 804 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(804)); + assertFalse("Fehler: Element 512 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(512)); + assertFalse("Fehler: Element 750 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(750)); + assertTrue("Fehler: Element 123 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(123)); + dieListe.anhaengen(504); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504}); + + dieListe.anhaengen(841); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841}); + + assertTrue("Fehler: Element 804 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(804)); + assertTrue("Fehler: Element 504 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(504)); + assertTrue("Fehler: Element 841 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(841)); + dieListe.anhaengen(788); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788}); + + assertTrue("Fehler: Element 928 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(928)); + assertTrue("Fehler: Element 257 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(257)); + assertTrue("Fehler: Element 841 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(841)); + assertTrue("Fehler: Element 123 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(123)); + assertTrue("Fehler: Element 928 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(928)); + assertTrue("Fehler: Element 788 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(788)); + dieListe.anhaengen(589); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589}); + + assertTrue("Fehler: Element 928 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(928)); + dieListe.anhaengen(836); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836}); + + assertFalse("Fehler: Element 904 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(904)); + dieListe.anhaengen(336); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336}); + + dieListe.anhaengen(315); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315}); + + dieListe.anhaengen(957); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957}); + + assertFalse("Fehler: Element 732 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(732)); + dieListe.anhaengen(350); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350}); + + assertFalse("Fehler: Element 581 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(581)); + dieListe.anhaengen(789); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789}); + + dieListe.anhaengen(279); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279}); + + assertFalse("Fehler: Element 392 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(392)); + assertTrue("Fehler: Element 529 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(529)); + dieListe.anhaengen(288); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288}); + + assertTrue("Fehler: Element 804 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(804)); + dieListe.anhaengen(158); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158}); + + assertTrue("Fehler: Element 279 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(279)); + assertTrue("Fehler: Element 928 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(928)); + assertFalse("Fehler: Element 136 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(136)); + assertTrue("Fehler: Element 336 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(336)); + dieListe.anhaengen(255); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255}); + + dieListe.anhaengen(669); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669}); + + dieListe.anhaengen(877); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877}); + + dieListe.anhaengen(359); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359}); + + dieListe.anhaengen(145); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145}); + + assertFalse("Fehler: Element 996 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(996)); + dieListe.anhaengen(392); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392}); + + assertTrue("Fehler: Element 957 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(957)); + assertTrue("Fehler: Element 279 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(279)); + dieListe.anhaengen(569); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569}); + + dieListe.anhaengen(250); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250}); + + dieListe.anhaengen(413); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413}); + + assertFalse("Fehler: Element 998 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(998)); + dieListe.anhaengen(670); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670}); + + dieListe.anhaengen(925); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925}); + + dieListe.anhaengen(650); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650}); + + assertFalse("Fehler: Element 640 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(640)); + assertFalse("Fehler: Element 690 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(690)); + dieListe.anhaengen(383); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383}); + + dieListe.anhaengen(789); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789}); + + assertTrue("Fehler: Element 670 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(670)); + assertTrue("Fehler: Element 669 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(669)); + assertTrue("Fehler: Element 255 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(255)); + dieListe.anhaengen(291); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291}); + + dieListe.anhaengen(927); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927}); + + dieListe.anhaengen(844); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844}); + + assertTrue("Fehler: Element 413 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(413)); + dieListe.anhaengen(259); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844, 259}); + + assertTrue("Fehler: Element 93 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(93)); + assertTrue("Fehler: Element 877 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(877)); + dieListe.anhaengen(194); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844, 259, 194}); + + assertFalse("Fehler: Element 303 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(303)); + assertFalse("Fehler: Element 508 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(508)); + assertTrue("Fehler: Element 925 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(925)); + dieListe.anhaengen(713); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844, 259, 194, 713}); + + assertTrue("Fehler: Element 257 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(257)); + assertFalse("Fehler: Element 244 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(244)); + assertTrue("Fehler: Element 569 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(569)); + dieListe.anhaengen(651); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844, 259, 194, 713, 651}); + + dieListe.anhaengen(843); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844, 259, 194, 713, 651, 843}); + + assertTrue("Fehler: Element 145 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(145)); + assertFalse("Fehler: Element 818 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(818)); + assertTrue("Fehler: Element 158 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(158)); + assertFalse("Fehler: Element 619 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(619)); + dieListe.anhaengen(914); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844, 259, 194, 713, 651, 843, 914}); + + dieListe.anhaengen(643); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844, 259, 194, 713, 651, 843, 914, 643}); + + dieListe.anhaengen(732); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844, 259, 194, 713, 651, 843, 914, 643, 732}); + + dieListe.anhaengen(243); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844, 259, 194, 713, 651, 843, 914, 643, 732, 243}); + + assertTrue("Fehler: Element 650 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(650)); + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(845); + Tester.pruefeListenInhalt(dieListe, new int[]{845}); + + dieListe.anhaengen(166); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166}); + + assertTrue("Fehler: Element 845 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(845)); + dieListe.anhaengen(961); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961}); + + assertTrue("Fehler: Element 961 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(961)); + dieListe.anhaengen(772); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772}); + + dieListe.anhaengen(113); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113}); + + assertFalse("Fehler: Element 321 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(321)); + dieListe.anhaengen(5); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5}); + + dieListe.anhaengen(270); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270}); + + assertFalse("Fehler: Element 651 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(651)); + dieListe.anhaengen(91); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91}); + + dieListe.anhaengen(326); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326}); + + dieListe.anhaengen(110); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110}); + + assertTrue("Fehler: Element 270 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(270)); + dieListe.anhaengen(314); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314}); + + dieListe.anhaengen(972); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972}); + + assertTrue("Fehler: Element 972 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(972)); + dieListe.anhaengen(174); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174}); + + dieListe.anhaengen(743); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743}); + + assertTrue("Fehler: Element 166 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(166)); + assertTrue("Fehler: Element 743 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(743)); + dieListe.anhaengen(434); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434}); + + dieListe.anhaengen(255); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255}); + + dieListe.anhaengen(69); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69}); + + assertFalse("Fehler: Element 124 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(124)); + dieListe.anhaengen(419); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419}); + + assertTrue("Fehler: Element 110 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(110)); + dieListe.anhaengen(241); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241}); + + dieListe.anhaengen(226); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226}); + + assertFalse("Fehler: Element 905 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(905)); + assertFalse("Fehler: Element 288 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(288)); + dieListe.anhaengen(847); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847}); + + dieListe.anhaengen(567); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567}); + + assertFalse("Fehler: Element 269 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(269)); + dieListe.anhaengen(952); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952}); + + assertFalse("Fehler: Element 513 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(513)); + dieListe.anhaengen(395); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395}); + + assertFalse("Fehler: Element 744 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(744)); + dieListe.anhaengen(255); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255}); + + assertFalse("Fehler: Element 714 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(714)); + assertTrue("Fehler: Element 226 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(226)); + dieListe.anhaengen(773); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773}); + + assertTrue("Fehler: Element 255 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(255)); + assertFalse("Fehler: Element 135 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(135)); + assertTrue("Fehler: Element 952 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(952)); + assertFalse("Fehler: Element 903 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(903)); + assertTrue("Fehler: Element 255 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(255)); + dieListe.anhaengen(139); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139}); + + assertFalse("Fehler: Element 245 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(245)); + assertFalse("Fehler: Element 858 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(858)); + dieListe.anhaengen(907); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907}); + + assertTrue("Fehler: Element 961 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(961)); + dieListe.anhaengen(453); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453}); + + assertTrue("Fehler: Element 255 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(255)); + assertFalse("Fehler: Element 222 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(222)); + assertTrue("Fehler: Element 419 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(419)); + assertTrue("Fehler: Element 226 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(226)); + dieListe.anhaengen(480); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480}); + + dieListe.anhaengen(557); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557}); + + dieListe.anhaengen(675); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675}); + + dieListe.anhaengen(362); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362}); + + assertFalse("Fehler: Element 331 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(331)); + assertFalse("Fehler: Element 475 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(475)); + dieListe.anhaengen(7); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7}); + + assertTrue("Fehler: Element 91 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(91)); + assertTrue("Fehler: Element 743 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(743)); + dieListe.anhaengen(975); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975}); + + dieListe.anhaengen(915); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915}); + + assertTrue("Fehler: Element 743 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(743)); + assertFalse("Fehler: Element 384 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(384)); + dieListe.anhaengen(947); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947}); + + dieListe.anhaengen(983); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983}); + + dieListe.anhaengen(99); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99}); + + assertTrue("Fehler: Element 255 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(255)); + assertFalse("Fehler: Element 875 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(875)); + assertTrue("Fehler: Element 743 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(743)); + dieListe.anhaengen(26); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26}); + + dieListe.anhaengen(877); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877}); + + assertTrue("Fehler: Element 255 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(255)); + assertFalse("Fehler: Element 820 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(820)); + dieListe.anhaengen(391); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391}); + + dieListe.anhaengen(441); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391, 441}); + + assertFalse("Fehler: Element 65 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(65)); + assertFalse("Fehler: Element 155 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(155)); + dieListe.anhaengen(958); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391, 441, 958}); + + dieListe.anhaengen(671); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391, 441, 958, 671}); + + assertTrue("Fehler: Element 391 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(391)); + dieListe.anhaengen(989); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391, 441, 958, 671, 989}); + + dieListe.anhaengen(849); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391, 441, 958, 671, 989, 849}); + + assertFalse("Fehler: Element 51 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(51)); + dieListe.anhaengen(519); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391, 441, 958, 671, 989, 849, 519}); + + dieListe.anhaengen(219); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391, 441, 958, 671, 989, 849, 519, 219}); + + assertFalse("Fehler: Element 210 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(210)); + assertTrue("Fehler: Element 907 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(907)); + dieListe.anhaengen(622); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391, 441, 958, 671, 989, 849, 519, 219, 622}); + + assertTrue("Fehler: Element 983 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(983)); + assertFalse("Fehler: Element 902 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(902)); + assertTrue("Fehler: Element 622 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(622)); + dieListe.anhaengen(822); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391, 441, 958, 671, 989, 849, 519, 219, 622, 822}); + + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(368); + Tester.pruefeListenInhalt(dieListe, new int[]{368}); + + dieListe.anhaengen(495); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495}); + + assertTrue("Fehler: Element 368 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(368)); + dieListe.anhaengen(317); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317}); + + assertFalse("Fehler: Element 300 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(300)); + dieListe.anhaengen(796); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796}); + + assertFalse("Fehler: Element 126 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(126)); + assertFalse("Fehler: Element 360 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(360)); + dieListe.anhaengen(401); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401}); + + assertFalse("Fehler: Element 20 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(20)); + assertTrue("Fehler: Element 401 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(401)); + dieListe.anhaengen(870); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870}); + + assertTrue("Fehler: Element 401 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(401)); + dieListe.anhaengen(632); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632}); + + dieListe.anhaengen(962); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962}); + + dieListe.anhaengen(374); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374}); + + assertTrue("Fehler: Element 368 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(368)); + assertFalse("Fehler: Element 550 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(550)); + dieListe.anhaengen(736); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736}); + + dieListe.anhaengen(541); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541}); + + dieListe.anhaengen(432); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432}); + + dieListe.anhaengen(211); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211}); + + dieListe.anhaengen(386); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386}); + + assertTrue("Fehler: Element 736 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(736)); + dieListe.anhaengen(12); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12}); + + dieListe.anhaengen(168); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168}); + + assertFalse("Fehler: Element 959 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(959)); + dieListe.anhaengen(863); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863}); + + dieListe.anhaengen(22); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22}); + + assertFalse("Fehler: Element 899 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(899)); + assertFalse("Fehler: Element 940 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(940)); + assertTrue("Fehler: Element 401 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(401)); + dieListe.anhaengen(341); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341}); + + dieListe.anhaengen(254); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254}); + + dieListe.anhaengen(492); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492}); + + dieListe.anhaengen(172); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172}); + + dieListe.anhaengen(465); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465}); + + assertFalse("Fehler: Element 611 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(611)); + assertFalse("Fehler: Element 991 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(991)); + dieListe.anhaengen(612); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612}); + + assertTrue("Fehler: Element 12 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(12)); + assertTrue("Fehler: Element 12 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(12)); + assertFalse("Fehler: Element 694 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(694)); + assertFalse("Fehler: Element 485 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(485)); + dieListe.anhaengen(92); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92}); + + dieListe.anhaengen(186); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186}); + + dieListe.anhaengen(57); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57}); + + dieListe.anhaengen(520); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520}); + + assertFalse("Fehler: Element 890 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(890)); + assertFalse("Fehler: Element 411 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(411)); + assertTrue("Fehler: Element 92 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(92)); + dieListe.anhaengen(978); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978}); + + dieListe.anhaengen(899); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899}); + + dieListe.anhaengen(539); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539}); + + assertFalse("Fehler: Element 260 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(260)); + dieListe.anhaengen(359); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359}); + + assertFalse("Fehler: Element 731 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(731)); + dieListe.anhaengen(533); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533}); + + assertFalse("Fehler: Element 76 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(76)); + dieListe.anhaengen(942); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942}); + + assertFalse("Fehler: Element 336 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(336)); + dieListe.anhaengen(743); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743}); + + assertFalse("Fehler: Element 140 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(140)); + assertFalse("Fehler: Element 346 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(346)); + dieListe.anhaengen(740); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740}); + + dieListe.anhaengen(292); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292}); + + dieListe.anhaengen(691); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691}); + + dieListe.anhaengen(384); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384}); + + dieListe.anhaengen(337); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337}); + + dieListe.anhaengen(363); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363}); + + assertTrue("Fehler: Element 363 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(363)); + assertTrue("Fehler: Element 254 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(254)); + assertTrue("Fehler: Element 22 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(22)); + assertTrue("Fehler: Element 186 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(186)); + dieListe.anhaengen(391); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391}); + + assertTrue("Fehler: Element 386 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(386)); + assertFalse("Fehler: Element 428 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(428)); + dieListe.anhaengen(562); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562}); + + assertFalse("Fehler: Element 442 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(442)); + dieListe.anhaengen(293); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293}); + + assertFalse("Fehler: Element 128 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(128)); + assertTrue("Fehler: Element 368 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(368)); + assertFalse("Fehler: Element 505 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(505)); + dieListe.anhaengen(940); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940}); + + dieListe.anhaengen(887); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887}); + + assertTrue("Fehler: Element 612 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(612)); + assertFalse("Fehler: Element 112 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(112)); + assertFalse("Fehler: Element 830 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(830)); + dieListe.anhaengen(369); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887, 369}); + + assertFalse("Fehler: Element 772 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(772)); + dieListe.anhaengen(283); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887, 369, 283}); + + dieListe.anhaengen(784); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887, 369, 283, 784}); + + dieListe.anhaengen(706); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887, 369, 283, 784, 706}); + + assertTrue("Fehler: Element 292 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(292)); + dieListe.anhaengen(425); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887, 369, 283, 784, 706, 425}); + + dieListe.anhaengen(533); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887, 369, 283, 784, 706, 425, 533}); + + dieListe.anhaengen(378); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887, 369, 283, 784, 706, 425, 533, 378}); + + dieListe.anhaengen(563); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887, 369, 283, 784, 706, 425, 533, 378, 563}); + + dieListe.anhaengen(322); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887, 369, 283, 784, 706, 425, 533, 378, 563, 322}); + + assertFalse("Fehler: Element 851 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(851)); + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest4.java b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest4.java new file mode 100644 index 0000000..3267721 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest4.java @@ -0,0 +1,2427 @@ +package tests; + +import static org.junit.Assert.*; + +import liste.*; + +/** + * Die Test-Klasse SubTest4. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest4 { + + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 245); + Tester.pruefeListenInhalt(dieListe, new int[]{245}); + + dieListe.anhaengen(907); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 907}); + + dieListe.anhaengen(837); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 907, 837}); + + assertFalse("Fehler: Element 897 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(897)); + dieListe.einfuegenBei(3, 307); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 907, 837, 307}); + + dieListe.einfuegenBei(1, 934); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307}); + + dieListe.anhaengen(498); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498}); + + dieListe.anhaengen(683); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 683}); + + dieListe.einfuegenBei(7, 882); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 683, 882}); + + assertFalse("Fehler: Element 435 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(435)); + assertFalse("Fehler: Element 483 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(483)); + dieListe.anhaengen(906); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 683, 882, 906}); + + dieListe.anhaengen(908); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 683, 882, 906, 908}); + + dieListe.anhaengen(820); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 683, 882, 906, 908, 820}); + + dieListe.anhaengen(730); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 683, 882, 906, 908, 820, 730}); + + dieListe.einfuegenBei(6, 688); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 688, 683, 882, 906, 908, 820, 730}); + + dieListe.anhaengen(441); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 688, 683, 882, 906, 908, 820, 730, 441}); + + dieListe.anhaengen(256); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 688, 683, 882, 906, 908, 820, 730, 441, 256}); + + dieListe.anhaengen(848); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 688, 683, 882, 906, 908, 820, 730, 441, 256, 848}); + + dieListe.einfuegenBei(6, 743); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 730, 441, 256, 848}); + + dieListe.anhaengen(43); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 730, 441, 256, 848, 43}); + + dieListe.einfuegenBei(0, 676); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 730, 441, 256, 848, 43}); + + dieListe.anhaengen(166); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 730, 441, 256, 848, 43, 166}); + + assertFalse("Fehler: Element 605 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(605)); + assertFalse("Fehler: Element 854 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(854)); + dieListe.einfuegenBei(3, 679); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 730, 441, 256, 848, 43, 166}); + + dieListe.einfuegenBei(21, 975); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 730, 441, 256, 848, 43, 166, 975}); + + assertFalse("Fehler: Element 914 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(914)); + dieListe.anhaengen(71); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 730, 441, 256, 848, 43, 166, 975, 71}); + + dieListe.einfuegenBei(15, 177); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 177, 730, 441, 256, 848, 43, 166, 975, 71}); + + dieListe.anhaengen(860); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 177, 730, 441, 256, 848, 43, 166, 975, 71, 860}); + + dieListe.einfuegenBei(16, 545); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860}); + + dieListe.anhaengen(906); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906}); + + assertFalse("Fehler: Element 368 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(368)); + assertTrue("Fehler: Element 71 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(71)); + assertTrue("Fehler: Element 975 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(975)); + dieListe.anhaengen(488); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488}); + + dieListe.einfuegenBei(11, 126); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488}); + + dieListe.anhaengen(77); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77}); + + dieListe.einfuegenBei(6, 958); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77}); + + dieListe.anhaengen(356); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77, 356}); + + assertFalse("Fehler: Element 49 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(49)); + dieListe.einfuegenBei(0, 14); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77, 356}); + + dieListe.einfuegenBei(33, 607); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77, 356, 607}); + + dieListe.einfuegenBei(3, 553); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77, 356, 607}); + + dieListe.anhaengen(97); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77, 356, 607, 97}); + + dieListe.einfuegenBei(34, 795); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77, 356, 795, 607, 97}); + + assertFalse("Fehler: Element 223 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(223)); + dieListe.einfuegenBei(4, 777); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77, 356, 795, 607, 97}); + + dieListe.einfuegenBei(37, 920); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77, 356, 795, 607, 920, 97}); + + assertFalse("Fehler: Element 251 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(251)); + dieListe.einfuegenBei(27, 742); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 742, 166, 975, 71, 860, 906, 488, 77, 356, 795, 607, 920, 97}); + + assertFalse("Fehler: Element 543 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(543)); + dieListe.einfuegenBei(28, 656); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 356, 795, 607, 920, 97}); + + assertTrue("Fehler: Element 920 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(920)); + dieListe.einfuegenBei(26, 478); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 356, 795, 607, 920, 97}); + + assertTrue("Fehler: Element 307 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(307)); + dieListe.einfuegenBei(20, 462); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 356, 795, 607, 920, 97}); + + dieListe.anhaengen(217); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 356, 795, 607, 920, 97, 217}); + + assertTrue("Fehler: Element 256 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(256)); + assertTrue("Fehler: Element 462 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(462)); + dieListe.einfuegenBei(39, 591); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 356, 591, 795, 607, 920, 97, 217}); + + dieListe.anhaengen(710); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 356, 591, 795, 607, 920, 97, 217, 710}); + + dieListe.einfuegenBei(24, 360); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 356, 591, 795, 607, 920, 97, 217, 710}); + + assertFalse("Fehler: Element 146 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(146)); + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 356, 591, 795, 607, 920, 97, 217, 710, 861}); + + assertFalse("Fehler: Element 86 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(86)); + assertFalse("Fehler: Element 804 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(804)); + assertFalse("Fehler: Element 394 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(394)); + assertTrue("Fehler: Element 97 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(97)); + dieListe.anhaengen(165); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165}); + + assertTrue("Fehler: Element 860 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(860)); + assertFalse("Fehler: Element 470 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(470)); + dieListe.einfuegenBei(39, 501); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165}); + + dieListe.anhaengen(383); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383}); + + dieListe.anhaengen(254); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254}); + + dieListe.anhaengen(166); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166}); + + dieListe.einfuegenBei(4, 504); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166}); + + assertFalse("Fehler: Element 415 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(415)); + dieListe.einfuegenBei(7, 748); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166}); + + assertFalse("Fehler: Element 222 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(222)); + dieListe.einfuegenBei(5, 442); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166}); + + assertFalse("Fehler: Element 994 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(994)); + assertTrue("Fehler: Element 934 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(934)); + dieListe.anhaengen(970); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166, 970}); + + assertTrue("Fehler: Element 383 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(383)); + dieListe.anhaengen(589); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166, 970, 589}); + + assertFalse("Fehler: Element 537 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(537)); + dieListe.anhaengen(124); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166, 970, 589, 124}); + + dieListe.anhaengen(853); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166, 970, 589, 124, 853}); + + assertTrue("Fehler: Element 908 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(908)); + dieListe.einfuegenBei(21, 489); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 489, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166, 970, 589, 124, 853}); + + dieListe.einfuegenBei(38, 234); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 489, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 234, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166, 970, 589, 124, 853}); + + assertFalse("Fehler: Element 875 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(875)); + assertTrue("Fehler: Element 837 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(837)); + dieListe.einfuegenBei(30, 133); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 489, 908, 820, 462, 177, 545, 730, 360, 441, 133, 256, 848, 478, 43, 742, 656, 166, 975, 234, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166, 970, 589, 124, 853}); + + assertTrue("Fehler: Element 478 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(478)); + assertTrue("Fehler: Element 489 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(489)); + dieListe.einfuegenBei(59, 990); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 489, 908, 820, 462, 177, 545, 730, 360, 441, 133, 256, 848, 478, 43, 742, 656, 166, 975, 234, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166, 990, 970, 589, 124, 853}); + + dieListe.anhaengen(625); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 489, 908, 820, 462, 177, 545, 730, 360, 441, 133, 256, 848, 478, 43, 742, 656, 166, 975, 234, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166, 990, 970, 589, 124, 853, 625}); + + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(549); + Tester.pruefeListenInhalt(dieListe, new int[]{549}); + + dieListe.einfuegenBei(1, 581); + Tester.pruefeListenInhalt(dieListe, new int[]{549, 581}); + + dieListe.einfuegenBei(1, 368); + Tester.pruefeListenInhalt(dieListe, new int[]{549, 368, 581}); + + assertTrue("Fehler: Element 368 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(368)); + dieListe.einfuegenBei(1, 748); + Tester.pruefeListenInhalt(dieListe, new int[]{549, 748, 368, 581}); + + dieListe.einfuegenBei(0, 102); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581}); + + assertFalse("Fehler: Element 821 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(821)); + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581, 189}); + + assertFalse("Fehler: Element 56 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(56)); + dieListe.anhaengen(657); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581, 189, 657}); + + dieListe.anhaengen(358); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581, 189, 657, 358}); + + dieListe.anhaengen(706); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581, 189, 657, 358, 706}); + + assertTrue("Fehler: Element 368 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(368)); + dieListe.anhaengen(417); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581, 189, 657, 358, 706, 417}); + + dieListe.anhaengen(824); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581, 189, 657, 358, 706, 417, 824}); + + dieListe.anhaengen(506); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581, 189, 657, 358, 706, 417, 824, 506}); + + dieListe.anhaengen(260); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581, 189, 657, 358, 706, 417, 824, 506, 260}); + + assertTrue("Fehler: Element 549 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(549)); + assertTrue("Fehler: Element 189 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(189)); + dieListe.anhaengen(66); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581, 189, 657, 358, 706, 417, 824, 506, 260, 66}); + + dieListe.einfuegenBei(2, 855); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 855, 748, 368, 581, 189, 657, 358, 706, 417, 824, 506, 260, 66}); + + assertFalse("Fehler: Element 723 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(723)); + dieListe.einfuegenBei(13, 8); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 855, 748, 368, 581, 189, 657, 358, 706, 417, 824, 506, 8, 260, 66}); + + dieListe.einfuegenBei(15, 226); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 855, 748, 368, 581, 189, 657, 358, 706, 417, 824, 506, 8, 260, 226, 66}); + + assertFalse("Fehler: Element 44 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(44)); + dieListe.anhaengen(689); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 855, 748, 368, 581, 189, 657, 358, 706, 417, 824, 506, 8, 260, 226, 66, 689}); + + assertTrue("Fehler: Element 358 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(358)); + dieListe.einfuegenBei(7, 2); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 855, 748, 368, 581, 189, 2, 657, 358, 706, 417, 824, 506, 8, 260, 226, 66, 689}); + + dieListe.einfuegenBei(1, 267); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 267, 549, 855, 748, 368, 581, 189, 2, 657, 358, 706, 417, 824, 506, 8, 260, 226, 66, 689}); + + dieListe.einfuegenBei(16, 861); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 267, 549, 855, 748, 368, 581, 189, 2, 657, 358, 706, 417, 824, 506, 8, 861, 260, 226, 66, 689}); + + assertTrue("Fehler: Element 824 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(824)); + dieListe.anhaengen(953); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 267, 549, 855, 748, 368, 581, 189, 2, 657, 358, 706, 417, 824, 506, 8, 861, 260, 226, 66, 689, 953}); + + dieListe.einfuegenBei(1, 677); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 581, 189, 2, 657, 358, 706, 417, 824, 506, 8, 861, 260, 226, 66, 689, 953}); + + dieListe.einfuegenBei(22, 950); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 581, 189, 2, 657, 358, 706, 417, 824, 506, 8, 861, 260, 226, 66, 689, 950, 953}); + + dieListe.einfuegenBei(8, 163); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 581, 163, 189, 2, 657, 358, 706, 417, 824, 506, 8, 861, 260, 226, 66, 689, 950, 953}); + + dieListe.einfuegenBei(20, 21); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 581, 163, 189, 2, 657, 358, 706, 417, 824, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953}); + + assertFalse("Fehler: Element 449 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(449)); + assertTrue("Fehler: Element 861 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(861)); + dieListe.anhaengen(972); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 581, 163, 189, 2, 657, 358, 706, 417, 824, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972}); + + dieListe.einfuegenBei(16, 62); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972}); + + assertFalse("Fehler: Element 171 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(171)); + dieListe.einfuegenBei(7, 637); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 637, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972}); + + dieListe.einfuegenBei(7, 788); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 788, 637, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972}); + + dieListe.einfuegenBei(19, 625); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 788, 637, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972}); + + dieListe.anhaengen(524); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 788, 637, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524}); + + assertTrue("Fehler: Element 102 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(102)); + assertFalse("Fehler: Element 16 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(16)); + dieListe.anhaengen(113); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 788, 637, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113}); + + dieListe.anhaengen(899); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 788, 637, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899}); + + dieListe.anhaengen(860); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 788, 637, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860}); + + dieListe.einfuegenBei(6, 360); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860}); + + dieListe.anhaengen(312); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312}); + + dieListe.einfuegenBei(13, 949); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312}); + + dieListe.anhaengen(445); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 445}); + + dieListe.anhaengen(156); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 445, 156}); + + assertTrue("Fehler: Element 824 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(824)); + assertTrue("Fehler: Element 445 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(445)); + dieListe.einfuegenBei(38, 261); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 261, 445, 156}); + + assertFalse("Fehler: Element 907 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(907)); + dieListe.einfuegenBei(41, 718); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 261, 445, 156, 718}); + + assertFalse("Fehler: Element 230 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(230)); + assertTrue("Fehler: Element 62 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(62)); + dieListe.einfuegenBei(40, 288); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 261, 445, 288, 156, 718}); + + dieListe.anhaengen(992); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 261, 445, 288, 156, 718, 992}); + + assertFalse("Fehler: Element 415 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(415)); + dieListe.anhaengen(30); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 261, 445, 288, 156, 718, 992, 30}); + + dieListe.anhaengen(157); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 261, 445, 288, 156, 718, 992, 30, 157}); + + dieListe.anhaengen(469); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469}); + + dieListe.einfuegenBei(2, 239); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469}); + + dieListe.einfuegenBei(29, 713); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469}); + + assertTrue("Fehler: Element 713 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(713)); + assertFalse("Fehler: Element 542 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(542)); + dieListe.einfuegenBei(39, 850); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469}); + + dieListe.anhaengen(329); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329}); + + dieListe.anhaengen(776); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776}); + + dieListe.einfuegenBei(7, 328); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776}); + + dieListe.anhaengen(907); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907}); + + assertFalse("Fehler: Element 4 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(4)); + dieListe.anhaengen(689); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689}); + + assertFalse("Fehler: Element 866 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(866)); + dieListe.anhaengen(621); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621}); + + dieListe.anhaengen(442); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442}); + + assertTrue("Fehler: Element 62 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(62)); + dieListe.anhaengen(800); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800}); + + assertFalse("Fehler: Element 480 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(480)); + dieListe.einfuegenBei(30, 864); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800}); + + dieListe.einfuegenBei(9, 440); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800}); + + assertTrue("Fehler: Element 288 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(288)); + dieListe.anhaengen(422); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422}); + + assertFalse("Fehler: Element 854 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(854)); + dieListe.anhaengen(645); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422, 645}); + + dieListe.anhaengen(582); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422, 645, 582}); + + dieListe.einfuegenBei(10, 362); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 362, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422, 645, 582}); + + dieListe.anhaengen(404); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 362, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422, 645, 582, 404}); + + assertFalse("Fehler: Element 719 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(719)); + dieListe.einfuegenBei(31, 904); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 362, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 904, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422, 645, 582, 404}); + + dieListe.anhaengen(787); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 362, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 904, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422, 645, 582, 404, 787}); + + dieListe.anhaengen(244); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 362, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 904, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422, 645, 582, 404, 787, 244}); + + dieListe.anhaengen(570); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 362, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 904, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422, 645, 582, 404, 787, 244, 570}); + + dieListe.einfuegenBei(7, 835); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 835, 328, 360, 440, 362, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 904, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422, 645, 582, 404, 787, 244, 570}); + + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 588); + Tester.pruefeListenInhalt(dieListe, new int[]{588}); + + dieListe.anhaengen(889); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889}); + + assertTrue("Fehler: Element 889 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(889)); + dieListe.anhaengen(884); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 884}); + + assertFalse("Fehler: Element 467 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(467)); + dieListe.anhaengen(151); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 884, 151}); + + dieListe.anhaengen(57); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 884, 151, 57}); + + dieListe.einfuegenBei(2, 960); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 884, 151, 57}); + + assertFalse("Fehler: Element 612 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(612)); + dieListe.anhaengen(385); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 884, 151, 57, 385}); + + dieListe.anhaengen(530); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 884, 151, 57, 385, 530}); + + dieListe.einfuegenBei(3, 689); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 689, 884, 151, 57, 385, 530}); + + dieListe.anhaengen(637); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 689, 884, 151, 57, 385, 530, 637}); + + assertTrue("Fehler: Element 960 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(960)); + dieListe.einfuegenBei(8, 647); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 689, 884, 151, 57, 385, 647, 530, 637}); + + dieListe.einfuegenBei(4, 391); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 689, 391, 884, 151, 57, 385, 647, 530, 637}); + + dieListe.einfuegenBei(9, 196); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 689, 391, 884, 151, 57, 385, 196, 647, 530, 637}); + + dieListe.anhaengen(271); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 689, 391, 884, 151, 57, 385, 196, 647, 530, 637, 271}); + + assertFalse("Fehler: Element 435 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(435)); + assertFalse("Fehler: Element 802 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(802)); + dieListe.anhaengen(650); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 689, 391, 884, 151, 57, 385, 196, 647, 530, 637, 271, 650}); + + dieListe.einfuegenBei(0, 854); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 689, 391, 884, 151, 57, 385, 196, 647, 530, 637, 271, 650}); + + dieListe.einfuegenBei(4, 185); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 185, 689, 391, 884, 151, 57, 385, 196, 647, 530, 637, 271, 650}); + + assertTrue("Fehler: Element 588 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(588)); + assertFalse("Fehler: Element 9 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(9)); + dieListe.anhaengen(141); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 185, 689, 391, 884, 151, 57, 385, 196, 647, 530, 637, 271, 650, 141}); + + dieListe.anhaengen(613); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 185, 689, 391, 884, 151, 57, 385, 196, 647, 530, 637, 271, 650, 141, 613}); + + dieListe.einfuegenBei(8, 720); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 385, 196, 647, 530, 637, 271, 650, 141, 613}); + + dieListe.einfuegenBei(12, 78); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 385, 78, 196, 647, 530, 637, 271, 650, 141, 613}); + + dieListe.einfuegenBei(20, 432); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 385, 78, 196, 647, 530, 637, 271, 650, 141, 432, 613}); + + dieListe.anhaengen(326); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 385, 78, 196, 647, 530, 637, 271, 650, 141, 432, 613, 326}); + + assertTrue("Fehler: Element 78 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(78)); + assertTrue("Fehler: Element 637 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(637)); + dieListe.anhaengen(92); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 385, 78, 196, 647, 530, 637, 271, 650, 141, 432, 613, 326, 92}); + + dieListe.einfuegenBei(17, 91); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 385, 78, 196, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92}); + + dieListe.einfuegenBei(1, 743); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 385, 78, 196, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92}); + + assertTrue("Fehler: Element 185 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(185)); + dieListe.einfuegenBei(12, 425); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 385, 78, 196, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92}); + + assertTrue("Fehler: Element 613 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(613)); + assertTrue("Fehler: Element 196 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(196)); + dieListe.anhaengen(598); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 385, 78, 196, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598}); + + dieListe.einfuegenBei(13, 481); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598}); + + dieListe.anhaengen(195); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 195}); + + assertFalse("Fehler: Element 551 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(551)); + assertFalse("Fehler: Element 550 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(550)); + dieListe.anhaengen(582); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 195, 582}); + + dieListe.anhaengen(487); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 195, 582, 487}); + + dieListe.einfuegenBei(17, 773); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 195, 582, 487}); + + assertFalse("Fehler: Element 769 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(769)); + dieListe.anhaengen(170); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 195, 582, 487, 170}); + + dieListe.einfuegenBei(17, 838); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 195, 582, 487, 170}); + + dieListe.anhaengen(883); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 195, 582, 487, 170, 883}); + + dieListe.anhaengen(296); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 195, 582, 487, 170, 883, 296}); + + dieListe.anhaengen(621); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 195, 582, 487, 170, 883, 296, 621}); + + dieListe.einfuegenBei(31, 46); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621}); + + assertFalse("Fehler: Element 822 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(822)); + dieListe.einfuegenBei(8, 874); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 874, 884, 720, 151, 57, 425, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621}); + + assertTrue("Fehler: Element 196 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(196)); + assertFalse("Fehler: Element 20 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(20)); + dieListe.anhaengen(179); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 874, 884, 720, 151, 57, 425, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179}); + + dieListe.einfuegenBei(8, 744); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 57, 425, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179}); + + dieListe.anhaengen(293); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 57, 425, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293}); + + dieListe.einfuegenBei(15, 871); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 57, 425, 871, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293}); + + dieListe.anhaengen(361); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 57, 425, 871, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 361}); + + dieListe.anhaengen(301); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 57, 425, 871, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 361, 301}); + + dieListe.einfuegenBei(44, 974); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 57, 425, 871, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 301}); + + dieListe.anhaengen(583); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 57, 425, 871, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 301, 583}); + + dieListe.anhaengen(324); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 57, 425, 871, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 301, 583, 324}); + + dieListe.einfuegenBei(13, 446); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 301, 583, 324}); + + assertFalse("Fehler: Element 23 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(23)); + assertTrue("Fehler: Element 324 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(324)); + dieListe.einfuegenBei(47, 505); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 583, 324}); + + dieListe.einfuegenBei(19, 321); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 583, 324}); + + assertTrue("Fehler: Element 195 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(195)); + dieListe.einfuegenBei(50, 815); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324}); + + dieListe.anhaengen(649); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649}); + + assertFalse("Fehler: Element 451 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(451)); + dieListe.einfuegenBei(38, 36); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649}); + + dieListe.einfuegenBei(31, 405); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649}); + + assertTrue("Fehler: Element 588 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(588)); + dieListe.anhaengen(692); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649, 692}); + + dieListe.einfuegenBei(26, 558); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649, 692}); + + dieListe.anhaengen(932); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649, 692, 932}); + + assertFalse("Fehler: Element 229 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(229)); + dieListe.anhaengen(583); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649, 692, 932, 583}); + + dieListe.anhaengen(69); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649, 692, 932, 583, 69}); + + assertTrue("Fehler: Element 613 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(613)); + assertFalse("Fehler: Element 615 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(615)); + dieListe.einfuegenBei(11, 480); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 480, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649, 692, 932, 583, 69}); + + assertFalse("Fehler: Element 313 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(313)); + dieListe.anhaengen(667); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 480, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649, 692, 932, 583, 69, 667}); + + dieListe.anhaengen(393); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 480, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649, 692, 932, 583, 69, 667, 393}); + + dieListe.anhaengen(830); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 480, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649, 692, 932, 583, 69, 667, 393, 830}); + + dieListe.einfuegenBei(54, 978); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 480, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 978, 815, 583, 324, 649, 692, 932, 583, 69, 667, 393, 830}); + + dieListe.einfuegenBei(26, 901); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 480, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 901, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 978, 815, 583, 324, 649, 692, 932, 583, 69, 667, 393, 830}); + + dieListe.einfuegenBei(64, 207); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 480, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 901, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 978, 815, 583, 324, 649, 692, 932, 583, 69, 207, 667, 393, 830}); + + assertFalse("Fehler: Element 851 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(851)); + assertFalse("Fehler: Element 251 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(251)); + assertFalse("Fehler: Element 653 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(653)); + dieListe.anhaengen(51); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 480, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 901, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 978, 815, 583, 324, 649, 692, 932, 583, 69, 207, 667, 393, 830, 51}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 390); + Tester.pruefeListenInhalt(dieListe, new int[]{390}); + + dieListe.einfuegenBei(1, 75); + Tester.pruefeListenInhalt(dieListe, new int[]{390, 75}); + + dieListe.einfuegenBei(2, 282); + Tester.pruefeListenInhalt(dieListe, new int[]{390, 75, 282}); + + dieListe.anhaengen(653); + Tester.pruefeListenInhalt(dieListe, new int[]{390, 75, 282, 653}); + + assertFalse("Fehler: Element 195 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(195)); + dieListe.anhaengen(596); + Tester.pruefeListenInhalt(dieListe, new int[]{390, 75, 282, 653, 596}); + + dieListe.einfuegenBei(1, 398); + Tester.pruefeListenInhalt(dieListe, new int[]{390, 398, 75, 282, 653, 596}); + + assertFalse("Fehler: Element 636 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(636)); + assertTrue("Fehler: Element 282 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(282)); + dieListe.einfuegenBei(0, 461); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 282, 653, 596}); + + dieListe.einfuegenBei(4, 586); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 586, 282, 653, 596}); + + assertTrue("Fehler: Element 282 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(282)); + dieListe.anhaengen(144); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 586, 282, 653, 596, 144}); + + dieListe.anhaengen(104); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 586, 282, 653, 596, 144, 104}); + + dieListe.anhaengen(619); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 586, 282, 653, 596, 144, 104, 619}); + + assertFalse("Fehler: Element 834 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(834)); + dieListe.einfuegenBei(4, 736); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 586, 282, 653, 596, 144, 104, 619}); + + dieListe.anhaengen(299); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 586, 282, 653, 596, 144, 104, 619, 299}); + + assertTrue("Fehler: Element 461 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(461)); + dieListe.anhaengen(617); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 586, 282, 653, 596, 144, 104, 619, 299, 617}); + + dieListe.anhaengen(233); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 586, 282, 653, 596, 144, 104, 619, 299, 617, 233}); + + dieListe.anhaengen(92); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 586, 282, 653, 596, 144, 104, 619, 299, 617, 233, 92}); + + dieListe.anhaengen(306); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 586, 282, 653, 596, 144, 104, 619, 299, 617, 233, 92, 306}); + + dieListe.anhaengen(225); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 586, 282, 653, 596, 144, 104, 619, 299, 617, 233, 92, 306, 225}); + + dieListe.einfuegenBei(11, 157); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 586, 282, 653, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225}); + + dieListe.anhaengen(678); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 586, 282, 653, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678}); + + assertFalse("Fehler: Element 332 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(332)); + dieListe.einfuegenBei(5, 129); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 129, 586, 282, 653, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678}); + + dieListe.anhaengen(312); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 129, 586, 282, 653, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312}); + + dieListe.anhaengen(202); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 129, 586, 282, 653, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202}); + + assertFalse("Fehler: Element 500 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(500)); + assertFalse("Fehler: Element 264 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(264)); + dieListe.anhaengen(965); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 129, 586, 282, 653, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965}); + + dieListe.einfuegenBei(7, 312); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 129, 586, 312, 282, 653, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965}); + + assertFalse("Fehler: Element 571 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(571)); + dieListe.einfuegenBei(3, 299); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965}); + + assertTrue("Fehler: Element 596 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(596)); + dieListe.einfuegenBei(11, 335); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965}); + + dieListe.anhaengen(353); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965, 353}); + + dieListe.anhaengen(94); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94}); + + assertFalse("Fehler: Element 928 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(928)); + assertFalse("Fehler: Element 799 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(799)); + assertFalse("Fehler: Element 976 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(976)); + dieListe.anhaengen(913); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913}); + + assertFalse("Fehler: Element 473 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(473)); + dieListe.anhaengen(264); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264}); + + dieListe.anhaengen(468); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 468}); + + dieListe.einfuegenBei(17, 868); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 868, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 468}); + + dieListe.einfuegenBei(20, 707); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 868, 299, 617, 707, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 468}); + + dieListe.einfuegenBei(33, 781); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 868, 299, 617, 707, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 781, 468}); + + dieListe.einfuegenBei(35, 786); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 868, 299, 617, 707, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 781, 468, 786}); + + dieListe.einfuegenBei(33, 481); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 868, 299, 617, 707, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 481, 781, 468, 786}); + + dieListe.einfuegenBei(6, 25); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 868, 299, 617, 707, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 481, 781, 468, 786}); + + dieListe.anhaengen(451); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 868, 299, 617, 707, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451}); + + assertTrue("Fehler: Element 736 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(736)); + dieListe.einfuegenBei(20, 337); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451}); + + assertFalse("Fehler: Element 381 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(381)); + dieListe.einfuegenBei(12, 980); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451}); + + assertTrue("Fehler: Element 335 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(335)); + dieListe.einfuegenBei(31, 389); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451}); + + dieListe.anhaengen(863); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863}); + + assertTrue("Fehler: Element 282 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(282)); + dieListe.anhaengen(287); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287}); + + dieListe.anhaengen(110); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110}); + + dieListe.anhaengen(989); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989}); + + dieListe.anhaengen(850); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850}); + + dieListe.anhaengen(227); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227}); + + assertFalse("Fehler: Element 539 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(539)); + assertFalse("Fehler: Element 773 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(773)); + assertTrue("Fehler: Element 312 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(312)); + assertFalse("Fehler: Element 500 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(500)); + dieListe.anhaengen(106); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227, 106}); + + dieListe.einfuegenBei(8, 894); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227, 106}); + + assertFalse("Fehler: Element 541 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(541)); + dieListe.einfuegenBei(1, 792); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227, 106}); + + dieListe.anhaengen(535); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227, 106, 535}); + + dieListe.anhaengen(987); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227, 106, 535, 987}); + + assertTrue("Fehler: Element 92 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(92)); + dieListe.anhaengen(543); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227, 106, 535, 987, 543}); + + assertTrue("Fehler: Element 282 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(282)); + dieListe.einfuegenBei(26, 813); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 813, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227, 106, 535, 987, 543}); + + dieListe.einfuegenBei(22, 786); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 786, 299, 337, 617, 707, 813, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227, 106, 535, 987, 543}); + + assertTrue("Fehler: Element 264 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(264)); + dieListe.anhaengen(400); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 786, 299, 337, 617, 707, 813, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227, 106, 535, 987, 543, 400}); + + assertFalse("Fehler: Element 582 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(582)); + dieListe.einfuegenBei(49, 463); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 786, 299, 337, 617, 707, 813, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 463, 989, 850, 227, 106, 535, 987, 543, 400}); + + assertTrue("Fehler: Element 25 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(25)); + assertFalse("Fehler: Element 964 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(964)); + dieListe.anhaengen(89); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 786, 299, 337, 617, 707, 813, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 463, 989, 850, 227, 106, 535, 987, 543, 400, 89}); + + dieListe.anhaengen(190); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 786, 299, 337, 617, 707, 813, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 463, 989, 850, 227, 106, 535, 987, 543, 400, 89, 190}); + + dieListe.einfuegenBei(18, 317); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 317, 104, 157, 619, 868, 786, 299, 337, 617, 707, 813, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 463, 989, 850, 227, 106, 535, 987, 543, 400, 89, 190}); + + dieListe.einfuegenBei(29, 519); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 317, 104, 157, 619, 868, 786, 299, 337, 617, 707, 813, 519, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 463, 989, 850, 227, 106, 535, 987, 543, 400, 89, 190}); + + dieListe.einfuegenBei(53, 144); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 317, 104, 157, 619, 868, 786, 299, 337, 617, 707, 813, 519, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 463, 989, 144, 850, 227, 106, 535, 987, 543, 400, 89, 190}); + + dieListe.einfuegenBei(23, 115); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 317, 104, 157, 619, 868, 115, 786, 299, 337, 617, 707, 813, 519, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 463, 989, 144, 850, 227, 106, 535, 987, 543, 400, 89, 190}); + + assertTrue("Fehler: Element 144 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(144)); + dieListe.einfuegenBei(41, 991); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 317, 104, 157, 619, 868, 115, 786, 299, 337, 617, 707, 813, 519, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 991, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 463, 989, 144, 850, 227, 106, 535, 987, 543, 400, 89, 190}); + + dieListe.einfuegenBei(49, 555); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 317, 104, 157, 619, 868, 115, 786, 299, 337, 617, 707, 813, 519, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 991, 94, 913, 264, 481, 781, 468, 786, 555, 451, 863, 287, 110, 463, 989, 144, 850, 227, 106, 535, 987, 543, 400, 89, 190}); + + dieListe.einfuegenBei(7, 546); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 546, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 317, 104, 157, 619, 868, 115, 786, 299, 337, 617, 707, 813, 519, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 991, 94, 913, 264, 481, 781, 468, 786, 555, 451, 863, 287, 110, 463, 989, 144, 850, 227, 106, 535, 987, 543, 400, 89, 190}); + + assertFalse("Fehler: Element 691 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(691)); + assertFalse("Fehler: Element 791 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(791)); + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 805); + Tester.pruefeListenInhalt(dieListe, new int[]{805}); + + dieListe.anhaengen(610); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 610}); + + dieListe.anhaengen(467); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 610, 467}); + + dieListe.einfuegenBei(1, 890); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 467}); + + dieListe.anhaengen(552); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 467, 552}); + + dieListe.anhaengen(935); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 467, 552, 935}); + + dieListe.anhaengen(46); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 467, 552, 935, 46}); + + dieListe.einfuegenBei(7, 460); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 467, 552, 935, 46, 460}); + + dieListe.anhaengen(994); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 467, 552, 935, 46, 460, 994}); + + assertTrue("Fehler: Element 552 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(552)); + assertTrue("Fehler: Element 552 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(552)); + dieListe.einfuegenBei(3, 787); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 787, 467, 552, 935, 46, 460, 994}); + + assertFalse("Fehler: Element 385 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(385)); + dieListe.anhaengen(646); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 787, 467, 552, 935, 46, 460, 994, 646}); + + assertFalse("Fehler: Element 934 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(934)); + dieListe.einfuegenBei(3, 234); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 994, 646}); + + dieListe.anhaengen(297); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 994, 646, 297}); + + dieListe.einfuegenBei(11, 99); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 994, 99, 646, 297}); + + assertTrue("Fehler: Element 805 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(805)); + assertFalse("Fehler: Element 565 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(565)); + dieListe.einfuegenBei(10, 144); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 144, 994, 99, 646, 297}); + + assertFalse("Fehler: Element 247 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(247)); + dieListe.anhaengen(417); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 144, 994, 99, 646, 297, 417}); + + dieListe.einfuegenBei(14, 433); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 144, 994, 99, 646, 433, 297, 417}); + + assertTrue("Fehler: Element 890 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(890)); + dieListe.einfuegenBei(10, 693); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 693, 144, 994, 99, 646, 433, 297, 417}); + + dieListe.einfuegenBei(14, 680); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 693, 144, 994, 99, 680, 646, 433, 297, 417}); + + dieListe.einfuegenBei(10, 114); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 114, 693, 144, 994, 99, 680, 646, 433, 297, 417}); + + dieListe.anhaengen(469); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 114, 693, 144, 994, 99, 680, 646, 433, 297, 417, 469}); + + dieListe.einfuegenBei(14, 310); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 114, 693, 144, 994, 310, 99, 680, 646, 433, 297, 417, 469}); + + dieListe.anhaengen(351); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 114, 693, 144, 994, 310, 99, 680, 646, 433, 297, 417, 469, 351}); + + dieListe.einfuegenBei(16, 791); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 114, 693, 144, 994, 310, 99, 791, 680, 646, 433, 297, 417, 469, 351}); + + dieListe.anhaengen(982); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 114, 693, 144, 994, 310, 99, 791, 680, 646, 433, 297, 417, 469, 351, 982}); + + dieListe.anhaengen(404); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 114, 693, 144, 994, 310, 99, 791, 680, 646, 433, 297, 417, 469, 351, 982, 404}); + + dieListe.einfuegenBei(17, 184); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 114, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404}); + + dieListe.anhaengen(765); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 114, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765}); + + dieListe.einfuegenBei(5, 285); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 467, 552, 935, 46, 460, 114, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765}); + + dieListe.einfuegenBei(10, 95); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 467, 552, 935, 46, 95, 460, 114, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765}); + + dieListe.einfuegenBei(13, 922); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 467, 552, 935, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765}); + + dieListe.anhaengen(620); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 467, 552, 935, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620}); + + dieListe.anhaengen(743); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 467, 552, 935, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743}); + + assertTrue("Fehler: Element 890 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(890)); + dieListe.anhaengen(816); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 467, 552, 935, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816}); + + assertFalse("Fehler: Element 269 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(269)); + assertFalse("Fehler: Element 833 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(833)); + dieListe.anhaengen(908); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 467, 552, 935, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908}); + + assertTrue("Fehler: Element 765 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(765)); + dieListe.einfuegenBei(6, 66); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 66, 467, 552, 935, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908}); + + dieListe.einfuegenBei(10, 519); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908}); + + dieListe.anhaengen(513); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513}); + + dieListe.anhaengen(427); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427}); + + assertFalse("Fehler: Element 528 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(528)); + dieListe.anhaengen(961); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961}); + + dieListe.anhaengen(315); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315}); + + dieListe.anhaengen(68); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315, 68}); + + assertTrue("Fehler: Element 184 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(184)); + assertTrue("Fehler: Element 310 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(310)); + assertFalse("Fehler: Element 418 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(418)); + dieListe.anhaengen(170); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315, 68, 170}); + + dieListe.einfuegenBei(19, 635); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315, 68, 170}); + + dieListe.einfuegenBei(6, 385); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315, 68, 170}); + + assertTrue("Fehler: Element 310 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(310)); + dieListe.anhaengen(304); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315, 68, 170, 304}); + + dieListe.anhaengen(89); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315, 68, 170, 304, 89}); + + dieListe.anhaengen(475); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475}); + + dieListe.anhaengen(328); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328}); + + assertTrue("Fehler: Element 89 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(89)); + assertTrue("Fehler: Element 328 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(328)); + dieListe.anhaengen(943); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943}); + + dieListe.einfuegenBei(38, 338); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943}); + + assertFalse("Fehler: Element 534 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(534)); + dieListe.anhaengen(763); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763}); + + dieListe.einfuegenBei(11, 506); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 506, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763}); + + dieListe.anhaengen(318); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 506, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318}); + + dieListe.anhaengen(463); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 506, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318, 463}); + + dieListe.anhaengen(416); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 506, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318, 463, 416}); + + dieListe.einfuegenBei(12, 88); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318, 463, 416}); + + dieListe.einfuegenBei(8, 469); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318, 463, 416}); + + assertFalse("Fehler: Element 493 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(493)); + dieListe.anhaengen(487); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318, 463, 416, 487}); + + assertTrue("Fehler: Element 304 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(304)); + dieListe.einfuegenBei(34, 410); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318, 463, 416, 487}); + + assertTrue("Fehler: Element 805 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(805)); + dieListe.anhaengen(867); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318, 463, 416, 487, 867}); + + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318, 463, 416, 487, 867, 861}); + + dieListe.einfuegenBei(36, 286); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 351, 286, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318, 463, 416, 487, 867, 861}); + + assertFalse("Fehler: Element 618 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(618)); + assertFalse("Fehler: Element 383 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(383)); + dieListe.einfuegenBei(53, 741); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 351, 286, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 741, 475, 328, 943, 763, 318, 463, 416, 487, 867, 861}); + + dieListe.einfuegenBei(36, 800); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 351, 800, 286, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 741, 475, 328, 943, 763, 318, 463, 416, 487, 867, 861}); + + assertTrue("Fehler: Element 404 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(404)); + dieListe.einfuegenBei(35, 232); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 232, 351, 800, 286, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 741, 475, 328, 943, 763, 318, 463, 416, 487, 867, 861}); + + dieListe.anhaengen(860); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 232, 351, 800, 286, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 741, 475, 328, 943, 763, 318, 463, 416, 487, 867, 861, 860}); + + dieListe.einfuegenBei(10, 976); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 976, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 232, 351, 800, 286, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 741, 475, 328, 943, 763, 318, 463, 416, 487, 867, 861, 860}); + + assertTrue("Fehler: Element 610 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(610)); + dieListe.einfuegenBei(10, 686); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 686, 976, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 232, 351, 800, 286, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 741, 475, 328, 943, 763, 318, 463, 416, 487, 867, 861, 860}); + + dieListe.einfuegenBei(58, 867); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 686, 976, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 232, 351, 800, 286, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 741, 867, 475, 328, 943, 763, 318, 463, 416, 487, 867, 861, 860}); + + assertTrue("Fehler: Element 88 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(88)); + dieListe.einfuegenBei(61, 230); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 686, 976, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 232, 351, 800, 286, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 741, 867, 475, 328, 230, 943, 763, 318, 463, 416, 487, 867, 861, 860}); + + assertTrue("Fehler: Element 994 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(994)); + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 903); + Tester.pruefeListenInhalt(dieListe, new int[]{903}); + + assertFalse("Fehler: Element 335 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(335)); + dieListe.anhaengen(723); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 723}); + + dieListe.anhaengen(593); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 723, 593}); + + dieListe.anhaengen(546); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 723, 593, 546}); + + dieListe.anhaengen(300); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 723, 593, 546, 300}); + + assertFalse("Fehler: Element 507 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(507)); + dieListe.einfuegenBei(1, 529); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 723, 593, 546, 300}); + + dieListe.einfuegenBei(3, 914); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 723, 914, 593, 546, 300}); + + assertFalse("Fehler: Element 873 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(873)); + dieListe.anhaengen(334); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 723, 914, 593, 546, 300, 334}); + + dieListe.einfuegenBei(5, 696); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 723, 914, 593, 696, 546, 300, 334}); + + dieListe.anhaengen(443); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 723, 914, 593, 696, 546, 300, 334, 443}); + + dieListe.einfuegenBei(6, 92); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 723, 914, 593, 696, 92, 546, 300, 334, 443}); + + dieListe.einfuegenBei(3, 688); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 723, 688, 914, 593, 696, 92, 546, 300, 334, 443}); + + dieListe.anhaengen(514); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 723, 688, 914, 593, 696, 92, 546, 300, 334, 443, 514}); + + assertFalse("Fehler: Element 882 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(882)); + assertTrue("Fehler: Element 514 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(514)); + dieListe.einfuegenBei(2, 17); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 17, 723, 688, 914, 593, 696, 92, 546, 300, 334, 443, 514}); + + dieListe.einfuegenBei(7, 326); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 514}); + + dieListe.anhaengen(47); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 514, 47}); + + dieListe.anhaengen(752); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 514, 47, 752}); + + dieListe.anhaengen(836); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 514, 47, 752, 836}); + + assertFalse("Fehler: Element 730 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(730)); + assertTrue("Fehler: Element 443 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(443)); + assertTrue("Fehler: Element 514 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(514)); + assertTrue("Fehler: Element 443 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(443)); + assertTrue("Fehler: Element 723 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(723)); + dieListe.einfuegenBei(2, 217); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 514, 47, 752, 836}); + + dieListe.anhaengen(624); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 514, 47, 752, 836, 624}); + + dieListe.einfuegenBei(15, 109); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 514, 47, 752, 836, 624}); + + dieListe.anhaengen(463); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 514, 47, 752, 836, 624, 463}); + + dieListe.anhaengen(559); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 514, 47, 752, 836, 624, 463, 559}); + + assertTrue("Fehler: Element 463 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(463)); + dieListe.anhaengen(322); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 514, 47, 752, 836, 624, 463, 559, 322}); + + dieListe.anhaengen(890); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 514, 47, 752, 836, 624, 463, 559, 322, 890}); + + assertFalse("Fehler: Element 14 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(14)); + assertTrue("Fehler: Element 17 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(17)); + dieListe.einfuegenBei(2, 342); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 514, 47, 752, 836, 624, 463, 559, 322, 890}); + + dieListe.anhaengen(228); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 514, 47, 752, 836, 624, 463, 559, 322, 890, 228}); + + assertTrue("Fehler: Element 688 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(688)); + assertTrue("Fehler: Element 47 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(47)); + dieListe.einfuegenBei(17, 433); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 433, 514, 47, 752, 836, 624, 463, 559, 322, 890, 228}); + + assertTrue("Fehler: Element 47 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(47)); + dieListe.anhaengen(731); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 433, 514, 47, 752, 836, 624, 463, 559, 322, 890, 228, 731}); + + dieListe.anhaengen(583); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 433, 514, 47, 752, 836, 624, 463, 559, 322, 890, 228, 731, 583}); + + assertTrue("Fehler: Element 752 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(752)); + dieListe.einfuegenBei(19, 358); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 228, 731, 583}); + + assertFalse("Fehler: Element 754 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(754)); + dieListe.einfuegenBei(5, 541); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 228, 731, 583}); + + dieListe.einfuegenBei(18, 749); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 228, 731, 583}); + + dieListe.anhaengen(382); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 228, 731, 583, 382}); + + assertFalse("Fehler: Element 974 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(974)); + dieListe.anhaengen(783); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 228, 731, 583, 382, 783}); + + dieListe.anhaengen(335); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 228, 731, 583, 382, 783, 335}); + + dieListe.einfuegenBei(31, 12); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 228, 12, 731, 583, 382, 783, 335}); + + dieListe.einfuegenBei(18, 752); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 228, 12, 731, 583, 382, 783, 335}); + + assertFalse("Fehler: Element 892 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(892)); + dieListe.anhaengen(572); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 228, 12, 731, 583, 382, 783, 335, 572}); + + assertFalse("Fehler: Element 600 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(600)); + dieListe.einfuegenBei(31, 301); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 731, 583, 382, 783, 335, 572}); + + dieListe.einfuegenBei(18, 343); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 343, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 731, 583, 382, 783, 335, 572}); + + dieListe.anhaengen(622); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 343, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 731, 583, 382, 783, 335, 572, 622}); + + dieListe.einfuegenBei(35, 75); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 343, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 75, 731, 583, 382, 783, 335, 572, 622}); + + assertTrue("Fehler: Element 343 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(343)); + dieListe.einfuegenBei(16, 689); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 75, 731, 583, 382, 783, 335, 572, 622}); + + assertTrue("Fehler: Element 731 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(731)); + dieListe.anhaengen(17); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 75, 731, 583, 382, 783, 335, 572, 622, 17}); + + assertFalse("Fehler: Element 508 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(508)); + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 75, 731, 583, 382, 783, 335, 572, 622, 17, 189}); + + assertFalse("Fehler: Element 242 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(242)); + assertFalse("Fehler: Element 86 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(86)); + assertFalse("Fehler: Element 175 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(175)); + dieListe.anhaengen(817); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 75, 731, 583, 382, 783, 335, 572, 622, 17, 189, 817}); + + dieListe.einfuegenBei(8, 767); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 75, 731, 583, 382, 783, 335, 572, 622, 17, 189, 817}); + + dieListe.einfuegenBei(25, 126); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 75, 731, 583, 382, 783, 335, 572, 622, 17, 189, 817}); + + dieListe.einfuegenBei(38, 990); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 990, 75, 731, 583, 382, 783, 335, 572, 622, 17, 189, 817}); + + dieListe.anhaengen(557); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 990, 75, 731, 583, 382, 783, 335, 572, 622, 17, 189, 817, 557}); + + assertTrue("Fehler: Element 572 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(572)); + assertTrue("Fehler: Element 767 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(767)); + assertTrue("Fehler: Element 433 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(433)); + dieListe.anhaengen(534); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 990, 75, 731, 583, 382, 783, 335, 572, 622, 17, 189, 817, 557, 534}); + + assertFalse("Fehler: Element 501 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(501)); + dieListe.einfuegenBei(45, 665); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 990, 75, 731, 583, 382, 783, 335, 665, 572, 622, 17, 189, 817, 557, 534}); + + dieListe.einfuegenBei(52, 868); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 990, 75, 731, 583, 382, 783, 335, 665, 572, 622, 17, 189, 817, 557, 868, 534}); + + dieListe.anhaengen(567); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 990, 75, 731, 583, 382, 783, 335, 665, 572, 622, 17, 189, 817, 557, 868, 534, 567}); + + dieListe.einfuegenBei(38, 263); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 263, 990, 75, 731, 583, 382, 783, 335, 665, 572, 622, 17, 189, 817, 557, 868, 534, 567}); + + dieListe.einfuegenBei(35, 376); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 263, 990, 75, 731, 583, 382, 783, 335, 665, 572, 622, 17, 189, 817, 557, 868, 534, 567}); + + assertFalse("Fehler: Element 93 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(93)); + dieListe.anhaengen(659); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 263, 990, 75, 731, 583, 382, 783, 335, 665, 572, 622, 17, 189, 817, 557, 868, 534, 567, 659}); + + dieListe.einfuegenBei(55, 445); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 263, 990, 75, 731, 583, 382, 783, 335, 665, 572, 622, 17, 189, 817, 557, 868, 445, 534, 567, 659}); + + dieListe.einfuegenBei(39, 218); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 218, 263, 990, 75, 731, 583, 382, 783, 335, 665, 572, 622, 17, 189, 817, 557, 868, 445, 534, 567, 659}); + + dieListe.einfuegenBei(48, 542); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 218, 263, 990, 75, 731, 583, 382, 783, 335, 542, 665, 572, 622, 17, 189, 817, 557, 868, 445, 534, 567, 659}); + + dieListe.anhaengen(125); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 218, 263, 990, 75, 731, 583, 382, 783, 335, 542, 665, 572, 622, 17, 189, 817, 557, 868, 445, 534, 567, 659, 125}); + + dieListe.einfuegenBei(17, 105); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 105, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 218, 263, 990, 75, 731, 583, 382, 783, 335, 542, 665, 572, 622, 17, 189, 817, 557, 868, 445, 534, 567, 659, 125}); + + dieListe.anhaengen(727); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 105, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 218, 263, 990, 75, 731, 583, 382, 783, 335, 542, 665, 572, 622, 17, 189, 817, 557, 868, 445, 534, 567, 659, 125, 727}); + + dieListe.einfuegenBei(52, 208); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 105, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 218, 263, 990, 75, 731, 583, 382, 783, 335, 542, 665, 572, 208, 622, 17, 189, 817, 557, 868, 445, 534, 567, 659, 125, 727}); + + assertTrue("Fehler: Element 688 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(688)); + assertFalse("Fehler: Element 27 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(27)); + dieListe.anhaengen(605); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 105, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 218, 263, 990, 75, 731, 583, 382, 783, 335, 542, 665, 572, 208, 622, 17, 189, 817, 557, 868, 445, 534, 567, 659, 125, 727, 605}); + + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(627); + Tester.pruefeListenInhalt(dieListe, new int[]{627}); + + dieListe.einfuegenBei(0, 602); + Tester.pruefeListenInhalt(dieListe, new int[]{602, 627}); + + dieListe.einfuegenBei(0, 208); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 602, 627}); + + dieListe.anhaengen(623); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 602, 627, 623}); + + dieListe.einfuegenBei(0, 793); + Tester.pruefeListenInhalt(dieListe, new int[]{793, 208, 602, 627, 623}); + + assertFalse("Fehler: Element 752 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(752)); + dieListe.einfuegenBei(1, 378); + Tester.pruefeListenInhalt(dieListe, new int[]{793, 378, 208, 602, 627, 623}); + + dieListe.einfuegenBei(0, 687); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 602, 627, 623}); + + dieListe.einfuegenBei(4, 993); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623}); + + dieListe.anhaengen(699); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 699}); + + dieListe.anhaengen(725); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 699, 725}); + + dieListe.einfuegenBei(10, 527); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 699, 725, 527}); + + dieListe.einfuegenBei(8, 429); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 725, 527}); + + assertFalse("Fehler: Element 280 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(280)); + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 725, 527, 861}); + + dieListe.anhaengen(782); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 725, 527, 861, 782}); + + dieListe.einfuegenBei(11, 516); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 725, 516, 527, 861, 782}); + + dieListe.anhaengen(401); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 725, 516, 527, 861, 782, 401}); + + assertFalse("Fehler: Element 79 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(79)); + dieListe.einfuegenBei(12, 42); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 725, 516, 42, 527, 861, 782, 401}); + + assertFalse("Fehler: Element 410 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(410)); + assertTrue("Fehler: Element 623 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(623)); + dieListe.anhaengen(595); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 725, 516, 42, 527, 861, 782, 401, 595}); + + dieListe.einfuegenBei(10, 733); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 733, 725, 516, 42, 527, 861, 782, 401, 595}); + + dieListe.anhaengen(832); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 733, 725, 516, 42, 527, 861, 782, 401, 595, 832}); + + dieListe.einfuegenBei(20, 413); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 733, 725, 516, 42, 527, 861, 782, 401, 595, 832, 413}); + + assertTrue("Fehler: Element 782 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(782)); + assertFalse("Fehler: Element 423 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(423)); + assertFalse("Fehler: Element 920 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(920)); + dieListe.anhaengen(356); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 733, 725, 516, 42, 527, 861, 782, 401, 595, 832, 413, 356}); + + dieListe.einfuegenBei(11, 938); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 733, 938, 725, 516, 42, 527, 861, 782, 401, 595, 832, 413, 356}); + + dieListe.einfuegenBei(10, 744); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 744, 733, 938, 725, 516, 42, 527, 861, 782, 401, 595, 832, 413, 356}); + + assertTrue("Fehler: Element 413 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(413)); + dieListe.anhaengen(700); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 744, 733, 938, 725, 516, 42, 527, 861, 782, 401, 595, 832, 413, 356, 700}); + + dieListe.einfuegenBei(23, 766); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 744, 733, 938, 725, 516, 42, 527, 861, 782, 401, 595, 832, 413, 766, 356, 700}); + + dieListe.einfuegenBei(16, 855); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 744, 733, 938, 725, 516, 42, 855, 527, 861, 782, 401, 595, 832, 413, 766, 356, 700}); + + dieListe.einfuegenBei(9, 978); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 527, 861, 782, 401, 595, 832, 413, 766, 356, 700}); + + assertTrue("Fehler: Element 938 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(938)); + dieListe.einfuegenBei(26, 508); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700}); + + assertFalse("Fehler: Element 775 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(775)); + assertTrue("Fehler: Element 700 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(700)); + dieListe.einfuegenBei(18, 619); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700}); + + dieListe.anhaengen(718); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718}); + + dieListe.anhaengen(576); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718, 576}); + + dieListe.anhaengen(561); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718, 576, 561}); + + dieListe.anhaengen(132); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718, 576, 561, 132}); + + assertTrue("Fehler: Element 855 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(855)); + assertTrue("Fehler: Element 208 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(208)); + assertTrue("Fehler: Element 855 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(855)); + assertFalse("Fehler: Element 986 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(986)); + assertFalse("Fehler: Element 945 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(945)); + dieListe.einfuegenBei(5, 469); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 469, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718, 576, 561, 132}); + + dieListe.anhaengen(110); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 469, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718, 576, 561, 132, 110}); + + dieListe.einfuegenBei(0, 954); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 208, 993, 469, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718, 576, 561, 132, 110}); + + dieListe.anhaengen(546); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 208, 993, 469, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718, 576, 561, 132, 110, 546}); + + dieListe.einfuegenBei(14, 327); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 208, 993, 469, 602, 627, 623, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718, 576, 561, 132, 110, 546}); + + assertFalse("Fehler: Element 358 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(358)); + dieListe.einfuegenBei(4, 378); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718, 576, 561, 132, 110, 546}); + + dieListe.einfuegenBei(30, 620); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 546}); + + assertFalse("Fehler: Element 495 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(495)); + assertTrue("Fehler: Element 401 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(401)); + dieListe.anhaengen(277); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 546, 277}); + + assertFalse("Fehler: Element 43 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(43)); + dieListe.anhaengen(589); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 546, 277, 589}); + + dieListe.einfuegenBei(11, 436); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 546, 277, 589}); + + dieListe.einfuegenBei(44, 290); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 546, 277, 589, 290}); + + dieListe.einfuegenBei(41, 819); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290}); + + assertFalse("Fehler: Element 421 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(421)); + assertFalse("Fehler: Element 392 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(392)); + dieListe.anhaengen(460); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 460}); + + assertTrue("Fehler: Element 602 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(602)); + assertTrue("Fehler: Element 516 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(516)); + assertTrue("Fehler: Element 687 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(687)); + assertFalse("Fehler: Element 297 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(297)); + dieListe.einfuegenBei(29, 65); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 460}); + + dieListe.anhaengen(783); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 460, 783}); + + assertFalse("Fehler: Element 705 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(705)); + dieListe.einfuegenBei(47, 399); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 460, 783}); + + dieListe.anhaengen(977); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 460, 783, 977}); + + dieListe.anhaengen(442); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 460, 783, 977, 442}); + + dieListe.einfuegenBei(11, 27); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 460, 783, 977, 442}); + + dieListe.einfuegenBei(49, 32); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 783, 977, 442}); + + dieListe.anhaengen(244); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 783, 977, 442, 244}); + + dieListe.anhaengen(909); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 783, 977, 442, 244, 909}); + + dieListe.anhaengen(180); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 783, 977, 442, 244, 909, 180}); + + dieListe.einfuegenBei(51, 121); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180}); + + dieListe.einfuegenBei(21, 588); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180}); + + dieListe.anhaengen(698); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698}); + + dieListe.einfuegenBei(5, 440); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698}); + + dieListe.anhaengen(777); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777}); + + dieListe.anhaengen(82); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777, 82}); + + dieListe.einfuegenBei(43, 764); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 764, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777, 82}); + + dieListe.anhaengen(321); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 764, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777, 82, 321}); + + dieListe.anhaengen(545); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 764, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777, 82, 321, 545}); + + dieListe.anhaengen(549); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 764, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777, 82, 321, 545, 549}); + + dieListe.einfuegenBei(50, 175); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 764, 132, 110, 819, 546, 277, 589, 175, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777, 82, 321, 545, 549}); + + assertTrue("Fehler: Element 954 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(954)); + dieListe.einfuegenBei(52, 572); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 764, 132, 110, 819, 546, 277, 589, 175, 290, 572, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777, 82, 321, 545, 549}); + + dieListe.anhaengen(264); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 764, 132, 110, 819, 546, 277, 589, 175, 290, 572, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777, 82, 321, 545, 549, 264}); + + dieListe.einfuegenBei(3, 337); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 337, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 764, 132, 110, 819, 546, 277, 589, 175, 290, 572, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777, 82, 321, 545, 549, 264}); + + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 9); + Tester.pruefeListenInhalt(dieListe, new int[]{9}); + + dieListe.anhaengen(388); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 388}); + + dieListe.anhaengen(990); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 388, 990}); + + dieListe.einfuegenBei(0, 553); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 9, 388, 990}); + + assertFalse("Fehler: Element 474 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(474)); + dieListe.einfuegenBei(0, 621); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 990}); + + dieListe.einfuegenBei(5, 741); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 990, 741}); + + assertFalse("Fehler: Element 30 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(30)); + dieListe.anhaengen(122); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 990, 741, 122}); + + dieListe.anhaengen(831); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 990, 741, 122, 831}); + + dieListe.einfuegenBei(8, 197); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 990, 741, 122, 831, 197}); + + assertTrue("Fehler: Element 990 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(990)); + dieListe.anhaengen(257); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 990, 741, 122, 831, 197, 257}); + + assertTrue("Fehler: Element 122 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(122)); + assertTrue("Fehler: Element 122 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(122)); + dieListe.anhaengen(882); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 990, 741, 122, 831, 197, 257, 882}); + + assertTrue("Fehler: Element 741 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(741)); + dieListe.einfuegenBei(4, 618); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 741, 122, 831, 197, 257, 882}); + + assertTrue("Fehler: Element 882 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(882)); + dieListe.einfuegenBei(10, 964); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 741, 122, 831, 197, 964, 257, 882}); + + dieListe.einfuegenBei(6, 188); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 188, 741, 122, 831, 197, 964, 257, 882}); + + dieListe.anhaengen(357); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 188, 741, 122, 831, 197, 964, 257, 882, 357}); + + assertFalse("Fehler: Element 667 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(667)); + dieListe.einfuegenBei(6, 566); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 741, 122, 831, 197, 964, 257, 882, 357}); + + dieListe.anhaengen(207); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 741, 122, 831, 197, 964, 257, 882, 357, 207}); + + assertFalse("Fehler: Element 824 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(824)); + dieListe.anhaengen(786); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786}); + + assertTrue("Fehler: Element 741 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(741)); + dieListe.einfuegenBei(8, 591); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786}); + + dieListe.anhaengen(390); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390}); + + dieListe.anhaengen(413); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 413}); + + dieListe.einfuegenBei(20, 864); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413}); + + dieListe.anhaengen(297); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297}); + + assertFalse("Fehler: Element 858 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(858)); + dieListe.anhaengen(368); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297, 368}); + + assertTrue("Fehler: Element 990 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(990)); + dieListe.anhaengen(439); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297, 368, 439}); + + dieListe.anhaengen(921); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297, 368, 439, 921}); + + assertFalse("Fehler: Element 982 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(982)); + assertTrue("Fehler: Element 188 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(188)); + dieListe.einfuegenBei(7, 484); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 484, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297, 368, 439, 921}); + + dieListe.einfuegenBei(7, 707); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 707, 484, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297, 368, 439, 921}); + + dieListe.anhaengen(937); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 707, 484, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297, 368, 439, 921, 937}); + + dieListe.einfuegenBei(12, 291); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 707, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297, 368, 439, 921, 937}); + + dieListe.anhaengen(829); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 707, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297, 368, 439, 921, 937, 829}); + + assertFalse("Fehler: Element 600 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(600)); + assertFalse("Fehler: Element 453 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(453)); + assertTrue("Fehler: Element 937 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(937)); + dieListe.anhaengen(634); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 707, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297, 368, 439, 921, 937, 829, 634}); + + assertFalse("Fehler: Element 988 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(988)); + dieListe.einfuegenBei(23, 905); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 707, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 413, 297, 368, 439, 921, 937, 829, 634}); + + dieListe.einfuegenBei(8, 66); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 707, 66, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 413, 297, 368, 439, 921, 937, 829, 634}); + + dieListe.einfuegenBei(9, 196); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 413, 297, 368, 439, 921, 937, 829, 634}); + + dieListe.einfuegenBei(2, 655); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 413, 297, 368, 439, 921, 937, 829, 634}); + + dieListe.einfuegenBei(28, 360); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634}); + + dieListe.anhaengen(855); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855}); + + assertFalse("Fehler: Element 164 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(164)); + dieListe.anhaengen(813); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813}); + + assertTrue("Fehler: Element 707 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(707)); + dieListe.einfuegenBei(7, 815); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 815, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813}); + + assertTrue("Fehler: Element 921 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(921)); + assertTrue("Fehler: Element 741 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(741)); + dieListe.einfuegenBei(8, 391); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 815, 391, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813}); + + assertTrue("Fehler: Element 831 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(831)); + assertTrue("Fehler: Element 634 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(634)); + dieListe.anhaengen(901); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 815, 391, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901}); + + assertFalse("Fehler: Element 876 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(876)); + dieListe.einfuegenBei(29, 383); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 815, 391, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901}); + + assertTrue("Fehler: Element 413 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(413)); + dieListe.einfuegenBei(26, 43); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 815, 391, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901}); + + assertFalse("Fehler: Element 504 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(504)); + dieListe.anhaengen(543); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 815, 391, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543}); + + assertFalse("Fehler: Element 156 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(156)); + assertTrue("Fehler: Element 964 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(964)); + dieListe.anhaengen(395); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 815, 391, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395}); + + dieListe.einfuegenBei(10, 800); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395}); + + dieListe.anhaengen(437); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437}); + + assertFalse("Fehler: Element 293 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(293)); + dieListe.einfuegenBei(2, 437); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437}); + + dieListe.anhaengen(894); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894}); + + dieListe.anhaengen(298); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298}); + + dieListe.einfuegenBei(28, 52); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298}); + + dieListe.anhaengen(625); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625}); + + dieListe.anhaengen(548); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548}); + + dieListe.anhaengen(883); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883}); + + dieListe.einfuegenBei(21, 714); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883}); + + dieListe.anhaengen(894); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883, 894}); + + dieListe.anhaengen(660); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883, 894, 660}); + + dieListe.einfuegenBei(0, 539); + Tester.pruefeListenInhalt(dieListe, new int[]{539, 621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883, 894, 660}); + + assertTrue("Fehler: Element 634 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(634)); + assertTrue("Fehler: Element 122 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(122)); + dieListe.anhaengen(184); + Tester.pruefeListenInhalt(dieListe, new int[]{539, 621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883, 894, 660, 184}); + + assertTrue("Fehler: Element 188 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(188)); + dieListe.einfuegenBei(37, 411); + Tester.pruefeListenInhalt(dieListe, new int[]{539, 621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 411, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883, 894, 660, 184}); + + assertTrue("Fehler: Element 894 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(894)); + dieListe.anhaengen(154); + Tester.pruefeListenInhalt(dieListe, new int[]{539, 621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 411, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883, 894, 660, 184, 154}); + + assertTrue("Fehler: Element 864 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(864)); + dieListe.einfuegenBei(45, 381); + Tester.pruefeListenInhalt(dieListe, new int[]{539, 621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 411, 360, 413, 297, 368, 439, 921, 937, 381, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883, 894, 660, 184, 154}); + + dieListe.anhaengen(269); + Tester.pruefeListenInhalt(dieListe, new int[]{539, 621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 411, 360, 413, 297, 368, 439, 921, 937, 381, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883, 894, 660, 184, 154, 269}); + + dieListe.anhaengen(769); + Tester.pruefeListenInhalt(dieListe, new int[]{539, 621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 411, 360, 413, 297, 368, 439, 921, 937, 381, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883, 894, 660, 184, 154, 269, 769}); + + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(866); + Tester.pruefeListenInhalt(dieListe, new int[]{866}); + + assertTrue("Fehler: Element 866 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(866)); + dieListe.einfuegenBei(1, 555); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 555}); + + assertFalse("Fehler: Element 687 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(687)); + dieListe.einfuegenBei(1, 303); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 555}); + + assertFalse("Fehler: Element 834 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(834)); + dieListe.einfuegenBei(2, 804); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555}); + + dieListe.anhaengen(711); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711}); + + assertFalse("Fehler: Element 542 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(542)); + dieListe.anhaengen(995); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 995}); + + dieListe.einfuegenBei(5, 295); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 295, 995}); + + assertFalse("Fehler: Element 376 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(376)); + dieListe.anhaengen(585); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 295, 995, 585}); + + dieListe.anhaengen(113); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 295, 995, 585, 113}); + + dieListe.anhaengen(683); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 295, 995, 585, 113, 683}); + + assertTrue("Fehler: Element 804 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(804)); + dieListe.anhaengen(704); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 295, 995, 585, 113, 683, 704}); + + assertTrue("Fehler: Element 585 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(585)); + dieListe.anhaengen(80); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 295, 995, 585, 113, 683, 704, 80}); + + dieListe.einfuegenBei(9, 853); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 295, 995, 585, 113, 853, 683, 704, 80}); + + dieListe.anhaengen(162); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 295, 995, 585, 113, 853, 683, 704, 80, 162}); + + assertTrue("Fehler: Element 295 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(295)); + dieListe.einfuegenBei(11, 407); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162}); + + dieListe.einfuegenBei(4, 166); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162}); + + dieListe.anhaengen(450); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450}); + + assertTrue("Fehler: Element 995 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(995)); + assertFalse("Fehler: Element 240 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(240)); + dieListe.anhaengen(859); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859}); + + dieListe.anhaengen(233); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 233}); + + dieListe.einfuegenBei(1, 775); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 233}); + + dieListe.anhaengen(283); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 233, 283}); + + dieListe.anhaengen(746); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 233, 283, 746}); + + dieListe.anhaengen(481); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 233, 283, 746, 481}); + + dieListe.anhaengen(974); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 233, 283, 746, 481, 974}); + + assertFalse("Fehler: Element 933 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(933)); + dieListe.anhaengen(64); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 233, 283, 746, 481, 974, 64}); + + dieListe.einfuegenBei(19, 721); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 721, 233, 283, 746, 481, 974, 64}); + + dieListe.anhaengen(171); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 721, 233, 283, 746, 481, 974, 64, 171}); + + dieListe.einfuegenBei(1, 417); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 721, 233, 283, 746, 481, 974, 64, 171}); + + dieListe.anhaengen(51); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 721, 233, 283, 746, 481, 974, 64, 171, 51}); + + assertTrue("Fehler: Element 804 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(804)); + assertFalse("Fehler: Element 997 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(997)); + dieListe.einfuegenBei(22, 928); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51}); + + dieListe.anhaengen(533); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533}); + + assertFalse("Fehler: Element 744 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(744)); + dieListe.einfuegenBei(31, 423); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423}); + + assertFalse("Fehler: Element 874 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(874)); + dieListe.anhaengen(461); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 461}); + + dieListe.einfuegenBei(14, 702); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 461}); + + dieListe.einfuegenBei(0, 907); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 461}); + + assertTrue("Fehler: Element 704 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(704)); + dieListe.anhaengen(872); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 461, 872}); + + dieListe.anhaengen(225); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 461, 872, 225}); + + dieListe.einfuegenBei(16, 306); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 461, 872, 225}); + + assertTrue("Fehler: Element 721 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(721)); + assertTrue("Fehler: Element 859 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(859)); + dieListe.einfuegenBei(6, 837); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 461, 872, 225}); + + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 461, 872, 225, 861}); + + dieListe.anhaengen(608); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 461, 872, 225, 861, 608}); + + dieListe.einfuegenBei(36, 536); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 608}); + + dieListe.anhaengen(127); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 608, 127}); + + dieListe.einfuegenBei(41, 109); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127}); + + dieListe.einfuegenBei(28, 399); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 399, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127}); + + dieListe.einfuegenBei(6, 889); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 889, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 399, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127}); + + dieListe.anhaengen(712); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 889, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 399, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712}); + + assertTrue("Fehler: Element 866 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(866)); + dieListe.einfuegenBei(29, 314); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 889, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712}); + + dieListe.einfuegenBei(7, 253); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 889, 253, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712}); + + assertFalse("Fehler: Element 935 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(935)); + assertFalse("Fehler: Element 221 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(221)); + dieListe.anhaengen(515); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 889, 253, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515}); + + dieListe.einfuegenBei(6, 680); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 680, 889, 253, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515}); + + dieListe.einfuegenBei(39, 238); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 680, 889, 253, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515}); + + dieListe.einfuegenBei(12, 613); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 680, 889, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515}); + + dieListe.anhaengen(589); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 680, 889, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589}); + + dieListe.anhaengen(509); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 680, 889, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509}); + + dieListe.einfuegenBei(1, 929); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 929, 866, 417, 775, 303, 804, 680, 889, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509}); + + assertTrue("Fehler: Element 775 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(775)); + dieListe.einfuegenBei(21, 336); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 929, 866, 417, 775, 303, 804, 680, 889, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509}); + + assertTrue("Fehler: Element 303 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(303)); + dieListe.einfuegenBei(9, 951); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 929, 866, 417, 775, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509}); + + dieListe.einfuegenBei(58, 628); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 929, 866, 417, 775, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509, 628}); + + dieListe.anhaengen(713); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 929, 866, 417, 775, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713}); + + dieListe.anhaengen(990); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 929, 866, 417, 775, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990}); + + assertFalse("Fehler: Element 230 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(230)); + dieListe.anhaengen(223); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 929, 866, 417, 775, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223}); + + dieListe.anhaengen(45); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 929, 866, 417, 775, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45}); + + dieListe.einfuegenBei(1, 439); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 439, 929, 866, 417, 775, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45}); + + dieListe.einfuegenBei(6, 693); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45}); + + dieListe.einfuegenBei(52, 219); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45}); + + dieListe.einfuegenBei(51, 444); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 444, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45}); + + dieListe.einfuegenBei(52, 908); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 444, 908, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45}); + + dieListe.anhaengen(263); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 444, 908, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45, 263}); + + assertFalse("Fehler: Element 665 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(665)); + dieListe.anhaengen(226); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 444, 908, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45, 263, 226}); + + dieListe.anhaengen(48); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 444, 908, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45, 263, 226, 48}); + + dieListe.anhaengen(251); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 444, 908, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45, 263, 226, 48, 251}); + + dieListe.einfuegenBei(0, 462); + Tester.pruefeListenInhalt(dieListe, new int[]{462, 907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 444, 908, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45, 263, 226, 48, 251}); + + dieListe.anhaengen(350); + Tester.pruefeListenInhalt(dieListe, new int[]{462, 907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 444, 908, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45, 263, 226, 48, 251, 350}); + + dieListe.einfuegenBei(1, 773); + Tester.pruefeListenInhalt(dieListe, new int[]{462, 773, 907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 444, 908, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45, 263, 226, 48, 251, 350}); + + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 619); + Tester.pruefeListenInhalt(dieListe, new int[]{619}); + + dieListe.anhaengen(168); + Tester.pruefeListenInhalt(dieListe, new int[]{619, 168}); + + assertTrue("Fehler: Element 168 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(168)); + dieListe.einfuegenBei(2, 199); + Tester.pruefeListenInhalt(dieListe, new int[]{619, 168, 199}); + + assertTrue("Fehler: Element 168 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(168)); + dieListe.anhaengen(202); + Tester.pruefeListenInhalt(dieListe, new int[]{619, 168, 199, 202}); + + dieListe.einfuegenBei(0, 326); + Tester.pruefeListenInhalt(dieListe, new int[]{326, 619, 168, 199, 202}); + + dieListe.einfuegenBei(5, 747); + Tester.pruefeListenInhalt(dieListe, new int[]{326, 619, 168, 199, 202, 747}); + + dieListe.anhaengen(194); + Tester.pruefeListenInhalt(dieListe, new int[]{326, 619, 168, 199, 202, 747, 194}); + + assertTrue("Fehler: Element 202 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(202)); + assertTrue("Fehler: Element 194 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(194)); + assertFalse("Fehler: Element 228 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(228)); + assertTrue("Fehler: Element 326 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(326)); + assertFalse("Fehler: Element 431 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(431)); + assertTrue("Fehler: Element 326 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(326)); + dieListe.anhaengen(243); + Tester.pruefeListenInhalt(dieListe, new int[]{326, 619, 168, 199, 202, 747, 194, 243}); + + dieListe.anhaengen(798); + Tester.pruefeListenInhalt(dieListe, new int[]{326, 619, 168, 199, 202, 747, 194, 243, 798}); + + dieListe.einfuegenBei(0, 76); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 326, 619, 168, 199, 202, 747, 194, 243, 798}); + + dieListe.anhaengen(67); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 326, 619, 168, 199, 202, 747, 194, 243, 798, 67}); + + dieListe.einfuegenBei(6, 455); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 326, 619, 168, 199, 202, 455, 747, 194, 243, 798, 67}); + + dieListe.anhaengen(895); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 326, 619, 168, 199, 202, 455, 747, 194, 243, 798, 67, 895}); + + assertFalse("Fehler: Element 524 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(524)); + assertFalse("Fehler: Element 966 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(966)); + assertFalse("Fehler: Element 450 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(450)); + assertTrue("Fehler: Element 194 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(194)); + dieListe.anhaengen(289); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 326, 619, 168, 199, 202, 455, 747, 194, 243, 798, 67, 895, 289}); + + assertFalse("Fehler: Element 392 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(392)); + assertTrue("Fehler: Element 798 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(798)); + dieListe.einfuegenBei(6, 160); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 326, 619, 168, 199, 202, 160, 455, 747, 194, 243, 798, 67, 895, 289}); + + dieListe.anhaengen(852); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 326, 619, 168, 199, 202, 160, 455, 747, 194, 243, 798, 67, 895, 289, 852}); + + dieListe.anhaengen(644); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 326, 619, 168, 199, 202, 160, 455, 747, 194, 243, 798, 67, 895, 289, 852, 644}); + + dieListe.einfuegenBei(1, 807); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 160, 455, 747, 194, 243, 798, 67, 895, 289, 852, 644}); + + assertFalse("Fehler: Element 856 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(856)); + dieListe.einfuegenBei(13, 808); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 160, 455, 747, 194, 243, 798, 808, 67, 895, 289, 852, 644}); + + assertFalse("Fehler: Element 233 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(233)); + dieListe.einfuegenBei(8, 284); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 160, 284, 455, 747, 194, 243, 798, 808, 67, 895, 289, 852, 644}); + + dieListe.einfuegenBei(7, 96); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 798, 808, 67, 895, 289, 852, 644}); + + dieListe.anhaengen(482); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 798, 808, 67, 895, 289, 852, 644, 482}); + + dieListe.anhaengen(892); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 798, 808, 67, 895, 289, 852, 644, 482, 892}); + + dieListe.einfuegenBei(21, 287); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 798, 808, 67, 895, 289, 852, 644, 287, 482, 892}); + + dieListe.anhaengen(383); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 798, 808, 67, 895, 289, 852, 644, 287, 482, 892, 383}); + + dieListe.einfuegenBei(14, 501); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 287, 482, 892, 383}); + + dieListe.anhaengen(627); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 287, 482, 892, 383, 627}); + + dieListe.anhaengen(251); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 287, 482, 892, 383, 627, 251}); + + dieListe.anhaengen(442); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 287, 482, 892, 383, 627, 251, 442}); + + dieListe.anhaengen(803); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 287, 482, 892, 383, 627, 251, 442, 803}); + + assertFalse("Fehler: Element 696 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(696)); + dieListe.anhaengen(820); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 287, 482, 892, 383, 627, 251, 442, 803, 820}); + + dieListe.einfuegenBei(22, 541); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 541, 287, 482, 892, 383, 627, 251, 442, 803, 820}); + + dieListe.anhaengen(188); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 541, 287, 482, 892, 383, 627, 251, 442, 803, 820, 188}); + + dieListe.einfuegenBei(25, 447); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188}); + + dieListe.einfuegenBei(12, 242); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188}); + + assertFalse("Fehler: Element 987 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(987)); + assertTrue("Fehler: Element 202 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(202)); + assertFalse("Fehler: Element 731 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(731)); + assertFalse("Fehler: Element 57 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(57)); + dieListe.anhaengen(89); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89}); + + dieListe.einfuegenBei(2, 568); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 568, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89}); + + assertFalse("Fehler: Element 788 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(788)); + dieListe.einfuegenBei(11, 667); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 568, 326, 619, 168, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89}); + + dieListe.anhaengen(755); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 568, 326, 619, 168, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755}); + + assertFalse("Fehler: Element 812 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(812)); + assertTrue("Fehler: Element 96 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(96)); + dieListe.einfuegenBei(25, 824); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 568, 326, 619, 168, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755}); + + dieListe.einfuegenBei(2, 550); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 550, 568, 326, 619, 168, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755}); + + dieListe.anhaengen(524); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 550, 568, 326, 619, 168, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755, 524}); + + assertTrue("Fehler: Element 242 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(242)); + dieListe.anhaengen(219); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 550, 568, 326, 619, 168, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755, 524, 219}); + + assertFalse("Fehler: Element 8 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(8)); + dieListe.einfuegenBei(2, 77); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755, 524, 219}); + + dieListe.anhaengen(298); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755, 524, 219, 298}); + + dieListe.anhaengen(211); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755, 524, 219, 298, 211}); + + dieListe.einfuegenBei(8, 416); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755, 524, 219, 298, 211}); + + dieListe.anhaengen(587); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755, 524, 219, 298, 211, 587}); + + dieListe.anhaengen(615); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755, 524, 219, 298, 211, 587, 615}); + + dieListe.einfuegenBei(41, 642); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 642, 89, 755, 524, 219, 298, 211, 587, 615}); + + dieListe.anhaengen(996); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 642, 89, 755, 524, 219, 298, 211, 587, 615, 996}); + + assertTrue("Fehler: Element 67 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(67)); + dieListe.anhaengen(39); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 642, 89, 755, 524, 219, 298, 211, 587, 615, 996, 39}); + + dieListe.anhaengen(7); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 642, 89, 755, 524, 219, 298, 211, 587, 615, 996, 39, 7}); + + assertTrue("Fehler: Element 892 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(892)); + dieListe.anhaengen(275); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 642, 89, 755, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275}); + + dieListe.einfuegenBei(44, 569); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 642, 89, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275}); + + dieListe.einfuegenBei(9, 544); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 544, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 642, 89, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275}); + + dieListe.einfuegenBei(36, 461); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 544, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 442, 803, 820, 188, 642, 89, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275}); + + dieListe.einfuegenBei(1, 997); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 442, 803, 820, 188, 642, 89, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275}); + + assertFalse("Fehler: Element 310 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(310)); + dieListe.einfuegenBei(11, 437); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 437, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 442, 803, 820, 188, 642, 89, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275}); + + dieListe.anhaengen(708); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 437, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 442, 803, 820, 188, 642, 89, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275, 708}); + + assertFalse("Fehler: Element 428 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(428)); + dieListe.einfuegenBei(28, 548); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 437, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 548, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 442, 803, 820, 188, 642, 89, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275, 708}); + + dieListe.anhaengen(467); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 437, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 548, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 442, 803, 820, 188, 642, 89, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275, 708, 467}); + + dieListe.einfuegenBei(48, 157); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 437, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 548, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 442, 803, 820, 188, 642, 89, 157, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275, 708, 467}); + + assertFalse("Fehler: Element 628 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(628)); + dieListe.einfuegenBei(12, 645); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 437, 645, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 548, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 442, 803, 820, 188, 642, 89, 157, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275, 708, 467}); + + assertFalse("Fehler: Element 247 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(247)); + dieListe.anhaengen(654); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 437, 645, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 548, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 442, 803, 820, 188, 642, 89, 157, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275, 708, 467, 654}); + + dieListe.einfuegenBei(43, 309); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 437, 645, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 548, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 309, 442, 803, 820, 188, 642, 89, 157, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275, 708, 467, 654}); + + dieListe.anhaengen(240); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 437, 645, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 548, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 309, 442, 803, 820, 188, 642, 89, 157, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275, 708, 467, 654, 240}); + + assertFalse("Fehler: Element 198 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(198)); + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest5.java b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest5.java new file mode 100644 index 0000000..f2be0d0 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest5.java @@ -0,0 +1,2397 @@ +package tests; + +import static org.junit.Assert.*; + +import liste.*; + +/** + * Die Test-Klasse SubTest5. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest5 { + + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(86); + Tester.pruefeListenInhalt(dieListe, new int[]{86}); + + assertTrue("Fehler: Element 86 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(86)); + dieListe.anhaengen(145); + Tester.pruefeListenInhalt(dieListe, new int[]{86, 145}); + + assertTrue("Fehler: Element 86 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(86)); + assertFalse("Fehler: Element 169 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(169)); + dieListe.anhaengen(788); + Tester.pruefeListenInhalt(dieListe, new int[]{86, 145, 788}); + + assertFalse("Fehler: Element 477 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(477)); + assertTrue("Fehler: Element 788 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(788)); + dieListe.einfuegenBei(1, 991); + Tester.pruefeListenInhalt(dieListe, new int[]{86, 991, 145, 788}); + + assertTrue("Fehler: Element 788 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(788)); + dieListe.einfuegenBei(4, 931); + Tester.pruefeListenInhalt(dieListe, new int[]{86, 991, 145, 788, 931}); + + assertFalse("Fehler: Element 611 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(611)); + dieListe.einfuegenBei(0, 201); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 991, 145, 788, 931}); + + dieListe.einfuegenBei(2, 153); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 991, 145, 788, 931}); + + assertTrue("Fehler: Element 931 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(931)); + assertFalse("Fehler: Element 695 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(695)); + dieListe.anhaengen(69); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 991, 145, 788, 931, 69}); + + dieListe.einfuegenBei(7, 713); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 991, 145, 788, 931, 713, 69}); + + dieListe.anhaengen(297); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 991, 145, 788, 931, 713, 69, 297}); + + dieListe.einfuegenBei(9, 147); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 991, 145, 788, 931, 713, 69, 147, 297}); + + dieListe.anhaengen(963); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 991, 145, 788, 931, 713, 69, 147, 297, 963}); + + dieListe.anhaengen(334); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 991, 145, 788, 931, 713, 69, 147, 297, 963, 334}); + + dieListe.einfuegenBei(3, 972); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 963, 334}); + + dieListe.anhaengen(842); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 963, 334, 842}); + + dieListe.anhaengen(267); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 963, 334, 842, 267}); + + assertFalse("Fehler: Element 682 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(682)); + dieListe.einfuegenBei(12, 275); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 275, 963, 334, 842, 267}); + + dieListe.anhaengen(758); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 275, 963, 334, 842, 267, 758}); + + dieListe.anhaengen(341); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 275, 963, 334, 842, 267, 758, 341}); + + dieListe.anhaengen(233); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 275, 963, 334, 842, 267, 758, 341, 233}); + + dieListe.anhaengen(819); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 275, 963, 334, 842, 267, 758, 341, 233, 819}); + + dieListe.einfuegenBei(14, 702); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 275, 963, 702, 334, 842, 267, 758, 341, 233, 819}); + + dieListe.anhaengen(853); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 275, 963, 702, 334, 842, 267, 758, 341, 233, 819, 853}); + + assertTrue("Fehler: Element 334 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(334)); + assertFalse("Fehler: Element 401 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(401)); + dieListe.einfuegenBei(8, 859); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 267, 758, 341, 233, 819, 853}); + + assertFalse("Fehler: Element 623 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(623)); + assertTrue("Fehler: Element 275 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(275)); + assertFalse("Fehler: Element 645 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(645)); + dieListe.anhaengen(804); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 267, 758, 341, 233, 819, 853, 804}); + + assertTrue("Fehler: Element 233 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(233)); + dieListe.einfuegenBei(23, 59); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 267, 758, 341, 233, 819, 59, 853, 804}); + + dieListe.einfuegenBei(23, 285); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 267, 758, 341, 233, 819, 285, 59, 853, 804}); + + dieListe.einfuegenBei(18, 283); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804}); + + dieListe.anhaengen(305); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305}); + + dieListe.anhaengen(675); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675}); + + dieListe.anhaengen(547); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547}); + + assertFalse("Fehler: Element 589 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(589)); + dieListe.anhaengen(972); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972}); + + assertFalse("Fehler: Element 453 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(453)); + dieListe.anhaengen(991); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 991}); + + dieListe.einfuegenBei(13, 197); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 991}); + + dieListe.einfuegenBei(33, 360); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 360, 991}); + + assertFalse("Fehler: Element 744 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(744)); + dieListe.anhaengen(177); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 360, 991, 177}); + + assertFalse("Fehler: Element 497 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(497)); + dieListe.einfuegenBei(1, 31); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 360, 991, 177}); + + dieListe.einfuegenBei(34, 934); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 934, 360, 991, 177}); + + dieListe.anhaengen(770); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 934, 360, 991, 177, 770}); + + dieListe.anhaengen(339); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 934, 360, 991, 177, 770, 339}); + + dieListe.anhaengen(513); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 934, 360, 991, 177, 770, 339, 513}); + + assertFalse("Fehler: Element 486 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(486)); + dieListe.anhaengen(937); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 934, 360, 991, 177, 770, 339, 513, 937}); + + dieListe.anhaengen(348); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 934, 360, 991, 177, 770, 339, 513, 937, 348}); + + dieListe.einfuegenBei(34, 254); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348}); + + assertFalse("Fehler: Element 402 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(402)); + dieListe.einfuegenBei(14, 211); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 211, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348}); + + dieListe.anhaengen(302); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 211, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 302}); + + dieListe.einfuegenBei(9, 951); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 302}); + + dieListe.einfuegenBei(19, 655); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 302}); + + assertFalse("Fehler: Element 557 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(557)); + dieListe.einfuegenBei(24, 522); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 302}); + + dieListe.einfuegenBei(7, 738); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 302}); + + dieListe.anhaengen(972); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 302, 972}); + + dieListe.einfuegenBei(3, 36); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 302, 972}); + + dieListe.einfuegenBei(50, 922); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972}); + + dieListe.anhaengen(834); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834}); + + dieListe.anhaengen(269); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269}); + + assertFalse("Fehler: Element 784 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(784)); + dieListe.anhaengen(894); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894}); + + assertFalse("Fehler: Element 442 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(442)); + dieListe.anhaengen(226); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226}); + + assertFalse("Fehler: Element 883 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(883)); + dieListe.anhaengen(495); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495}); + + dieListe.einfuegenBei(18, 808); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495}); + + dieListe.einfuegenBei(2, 811); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495}); + + dieListe.anhaengen(462); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462}); + + dieListe.einfuegenBei(30, 809); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462}); + + assertFalse("Fehler: Element 475 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(475)); + dieListe.anhaengen(52); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 52}); + + assertTrue("Fehler: Element 972 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(972)); + dieListe.einfuegenBei(46, 982); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 982, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 52}); + + dieListe.einfuegenBei(5, 117); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 117, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 982, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 52}); + + dieListe.anhaengen(347); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 117, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 982, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 52, 347}); + + dieListe.anhaengen(867); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 117, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 982, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 52, 347, 867}); + + dieListe.einfuegenBei(20, 778); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 117, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 778, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 982, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 52, 347, 867}); + + dieListe.anhaengen(822); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 117, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 778, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 982, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 52, 347, 867, 822}); + + dieListe.einfuegenBei(65, 295); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 117, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 778, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 982, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 295, 52, 347, 867, 822}); + + dieListe.anhaengen(849); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 117, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 778, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 982, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 295, 52, 347, 867, 822, 849}); + + dieListe.anhaengen(447); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 117, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 778, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 982, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 295, 52, 347, 867, 822, 849, 447}); + + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(688); + Tester.pruefeListenInhalt(dieListe, new int[]{688}); + + dieListe.einfuegenBei(1, 958); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 958}); + + dieListe.anhaengen(672); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 958, 672}); + + assertTrue("Fehler: Element 672 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(672)); + dieListe.anhaengen(816); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 958, 672, 816}); + + dieListe.anhaengen(797); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 958, 672, 816, 797}); + + assertTrue("Fehler: Element 797 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(797)); + dieListe.einfuegenBei(0, 316); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 672, 816, 797}); + + dieListe.anhaengen(469); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 672, 816, 797, 469}); + + assertFalse("Fehler: Element 549 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(549)); + dieListe.einfuegenBei(3, 408); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 408, 672, 816, 797, 469}); + + dieListe.anhaengen(271); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 408, 672, 816, 797, 469, 271}); + + dieListe.anhaengen(679); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 408, 672, 816, 797, 469, 271, 679}); + + dieListe.einfuegenBei(8, 18); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 408, 672, 816, 797, 469, 18, 271, 679}); + + dieListe.einfuegenBei(9, 899); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 408, 672, 816, 797, 469, 18, 899, 271, 679}); + + dieListe.einfuegenBei(12, 761); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 408, 672, 816, 797, 469, 18, 899, 271, 679, 761}); + + dieListe.einfuegenBei(8, 183); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 408, 672, 816, 797, 469, 183, 18, 899, 271, 679, 761}); + + dieListe.einfuegenBei(14, 112); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 408, 672, 816, 797, 469, 183, 18, 899, 271, 679, 761, 112}); + + dieListe.einfuegenBei(12, 239); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 408, 672, 816, 797, 469, 183, 18, 899, 271, 239, 679, 761, 112}); + + dieListe.einfuegenBei(2, 952); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 672, 816, 797, 469, 183, 18, 899, 271, 239, 679, 761, 112}); + + assertTrue("Fehler: Element 316 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(316)); + assertFalse("Fehler: Element 136 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(136)); + assertFalse("Fehler: Element 802 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(802)); + dieListe.einfuegenBei(16, 235); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 672, 816, 797, 469, 183, 18, 899, 271, 239, 679, 761, 235, 112}); + + dieListe.anhaengen(411); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 672, 816, 797, 469, 183, 18, 899, 271, 239, 679, 761, 235, 112, 411}); + + dieListe.einfuegenBei(5, 583); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 18, 899, 271, 239, 679, 761, 235, 112, 411}); + + dieListe.einfuegenBei(12, 187); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 18, 187, 899, 271, 239, 679, 761, 235, 112, 411}); + + dieListe.anhaengen(717); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 18, 187, 899, 271, 239, 679, 761, 235, 112, 411, 717}); + + dieListe.einfuegenBei(18, 82); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 18, 187, 899, 271, 239, 679, 761, 82, 235, 112, 411, 717}); + + dieListe.anhaengen(177); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 18, 187, 899, 271, 239, 679, 761, 82, 235, 112, 411, 717, 177}); + + dieListe.anhaengen(814); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 18, 187, 899, 271, 239, 679, 761, 82, 235, 112, 411, 717, 177, 814}); + + assertFalse("Fehler: Element 364 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(364)); + assertFalse("Fehler: Element 714 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(714)); + dieListe.anhaengen(487); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 18, 187, 899, 271, 239, 679, 761, 82, 235, 112, 411, 717, 177, 814, 487}); + + dieListe.einfuegenBei(17, 688); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 18, 187, 899, 271, 239, 679, 688, 761, 82, 235, 112, 411, 717, 177, 814, 487}); + + dieListe.anhaengen(205); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 18, 187, 899, 271, 239, 679, 688, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205}); + + dieListe.einfuegenBei(11, 999); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 999, 18, 187, 899, 271, 239, 679, 688, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205}); + + assertFalse("Fehler: Element 101 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(101)); + dieListe.anhaengen(194); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 999, 18, 187, 899, 271, 239, 679, 688, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205, 194}); + + dieListe.einfuegenBei(19, 690); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 999, 18, 187, 899, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205, 194}); + + dieListe.einfuegenBei(8, 735); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 18, 187, 899, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205, 194}); + + assertFalse("Fehler: Element 68 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(68)); + dieListe.anhaengen(812); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 18, 187, 899, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205, 194, 812}); + + assertFalse("Fehler: Element 957 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(957)); + dieListe.einfuegenBei(16, 204); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205, 194, 812}); + + dieListe.anhaengen(563); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205, 194, 812, 563}); + + dieListe.einfuegenBei(13, 597); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 597, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205, 194, 812, 563}); + + assertFalse("Fehler: Element 242 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(242)); + dieListe.anhaengen(323); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 597, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205, 194, 812, 563, 323}); + + dieListe.einfuegenBei(32, 892); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 597, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 205, 194, 812, 563, 323}); + + assertFalse("Fehler: Element 366 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(366)); + dieListe.anhaengen(77); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 597, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 205, 194, 812, 563, 323, 77}); + + dieListe.anhaengen(237); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 597, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 205, 194, 812, 563, 323, 77, 237}); + + dieListe.anhaengen(781); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 597, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 205, 194, 812, 563, 323, 77, 237, 781}); + + dieListe.einfuegenBei(14, 286); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 205, 194, 812, 563, 323, 77, 237, 781}); + + dieListe.einfuegenBei(9, 290); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 205, 194, 812, 563, 323, 77, 237, 781}); + + dieListe.einfuegenBei(4, 279); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 205, 194, 812, 563, 323, 77, 237, 781}); + + dieListe.anhaengen(18); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 205, 194, 812, 563, 323, 77, 237, 781, 18}); + + assertTrue("Fehler: Element 408 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(408)); + dieListe.einfuegenBei(36, 228); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 228, 205, 194, 812, 563, 323, 77, 237, 781, 18}); + + dieListe.anhaengen(290); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 228, 205, 194, 812, 563, 323, 77, 237, 781, 18, 290}); + + dieListe.anhaengen(576); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 228, 205, 194, 812, 563, 323, 77, 237, 781, 18, 290, 576}); + + dieListe.anhaengen(604); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 228, 205, 194, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604}); + + dieListe.einfuegenBei(39, 920); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604}); + + assertTrue("Fehler: Element 604 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(604)); + dieListe.anhaengen(958); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958}); + + assertFalse("Fehler: Element 842 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(842)); + dieListe.einfuegenBei(10, 320); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958}); + + dieListe.anhaengen(252); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252}); + + dieListe.anhaengen(646); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646}); + + dieListe.einfuegenBei(33, 813); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646}); + + dieListe.anhaengen(767); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767}); + + assertFalse("Fehler: Element 389 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(389)); + dieListe.anhaengen(161); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161}); + + assertTrue("Fehler: Element 767 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(767)); + assertTrue("Fehler: Element 194 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(194)); + dieListe.einfuegenBei(29, 971); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161}); + + dieListe.anhaengen(459); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459}); + + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + dieListe.anhaengen(35); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35}); + + assertFalse("Fehler: Element 501 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(501)); + dieListe.anhaengen(191); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191}); + + dieListe.anhaengen(606); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606}); + + dieListe.anhaengen(556); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556}); + + dieListe.anhaengen(812); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556, 812}); + + dieListe.anhaengen(993); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556, 812, 993}); + + assertTrue("Fehler: Element 812 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(812)); + assertFalse("Fehler: Element 507 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(507)); + dieListe.einfuegenBei(4, 475); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 475, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556, 812, 993}); + + dieListe.anhaengen(619); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 475, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556, 812, 993, 619}); + + assertFalse("Fehler: Element 123 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(123)); + dieListe.einfuegenBei(24, 382); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 475, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 382, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556, 812, 993, 619}); + + dieListe.anhaengen(749); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 475, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 382, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556, 812, 993, 619, 749}); + + assertTrue("Fehler: Element 320 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(320)); + dieListe.einfuegenBei(6, 380); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 475, 279, 380, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 382, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556, 812, 993, 619, 749}); + + dieListe.einfuegenBei(48, 639); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 475, 279, 380, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 382, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 639, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556, 812, 993, 619, 749}); + + assertTrue("Fehler: Element 77 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(77)); + assertFalse("Fehler: Element 392 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(392)); + assertFalse("Fehler: Element 817 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(817)); + dieListe.einfuegenBei(39, 49); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 475, 279, 380, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 382, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 49, 814, 487, 892, 228, 205, 194, 920, 812, 563, 639, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556, 812, 993, 619, 749}); + + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(328); + Tester.pruefeListenInhalt(dieListe, new int[]{328}); + + dieListe.einfuegenBei(1, 224); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 224}); + + dieListe.anhaengen(431); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 224, 431}); + + dieListe.anhaengen(936); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 224, 431, 936}); + + dieListe.einfuegenBei(1, 399); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 431, 936}); + + dieListe.anhaengen(424); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 431, 936, 424}); + + dieListe.einfuegenBei(3, 844); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 431, 936, 424}); + + dieListe.anhaengen(486); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 431, 936, 424, 486}); + + dieListe.anhaengen(60); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 431, 936, 424, 486, 60}); + + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 431, 936, 424, 486, 60, 581}); + + dieListe.anhaengen(664); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 431, 936, 424, 486, 60, 581, 664}); + + dieListe.einfuegenBei(4, 702); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 702, 431, 936, 424, 486, 60, 581, 664}); + + dieListe.einfuegenBei(8, 488); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 702, 431, 936, 424, 488, 486, 60, 581, 664}); + + dieListe.anhaengen(845); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 702, 431, 936, 424, 488, 486, 60, 581, 664, 845}); + + dieListe.anhaengen(725); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 702, 431, 936, 424, 488, 486, 60, 581, 664, 845, 725}); + + dieListe.anhaengen(830); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 702, 431, 936, 424, 488, 486, 60, 581, 664, 845, 725, 830}); + + dieListe.einfuegenBei(5, 728); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 725, 830}); + + assertTrue("Fehler: Element 936 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(936)); + dieListe.einfuegenBei(0, 798); + Tester.pruefeListenInhalt(dieListe, new int[]{798, 328, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 725, 830}); + + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + dieListe.einfuegenBei(0, 786); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 725, 830}); + + dieListe.anhaengen(816); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 725, 830, 816}); + + assertTrue("Fehler: Element 424 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(424)); + dieListe.einfuegenBei(3, 157); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 157, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 725, 830, 816}); + + assertFalse("Fehler: Element 528 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(528)); + assertFalse("Fehler: Element 540 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(540)); + dieListe.einfuegenBei(20, 869); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 157, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 725, 830, 869, 816}); + + dieListe.anhaengen(954); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 157, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 725, 830, 869, 816, 954}); + + dieListe.einfuegenBei(18, 153); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 157, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954}); + + dieListe.anhaengen(633); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 157, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633}); + + assertTrue("Fehler: Element 830 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(830)); + dieListe.einfuegenBei(4, 946); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633}); + + dieListe.einfuegenBei(3, 736); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633}); + + assertTrue("Fehler: Element 60 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(60)); + dieListe.anhaengen(665); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665}); + + dieListe.anhaengen(851); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 851}); + + assertFalse("Fehler: Element 305 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(305)); + dieListe.anhaengen(312); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 851, 312}); + + dieListe.anhaengen(595); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 851, 312, 595}); + + dieListe.einfuegenBei(2, 213); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 851, 312, 595}); + + dieListe.anhaengen(247); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 851, 312, 595, 247}); + + dieListe.einfuegenBei(29, 294); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247}); + + dieListe.anhaengen(536); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536}); + + dieListe.anhaengen(322); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536, 322}); + + dieListe.anhaengen(524); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536, 322, 524}); + + dieListe.anhaengen(852); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536, 322, 524, 852}); + + assertTrue("Fehler: Element 399 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(399)); + dieListe.einfuegenBei(14, 181); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536, 322, 524, 852}); + + dieListe.einfuegenBei(25, 585); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536, 322, 524, 852}); + + assertTrue("Fehler: Element 852 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(852)); + dieListe.anhaengen(121); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536, 322, 524, 852, 121}); + + assertFalse("Fehler: Element 343 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(343)); + dieListe.einfuegenBei(12, 431); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536, 322, 524, 852, 121}); + + dieListe.einfuegenBei(10, 493); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536, 322, 524, 852, 121}); + + dieListe.anhaengen(539); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536, 322, 524, 852, 121, 539}); + + assertFalse("Fehler: Element 532 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(532)); + dieListe.einfuegenBei(33, 563); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 294, 851, 312, 595, 247, 536, 322, 524, 852, 121, 539}); + + dieListe.anhaengen(980); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 294, 851, 312, 595, 247, 536, 322, 524, 852, 121, 539, 980}); + + assertTrue("Fehler: Element 328 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(328)); + dieListe.einfuegenBei(43, 856); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 121, 539, 980}); + + dieListe.anhaengen(167); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 121, 539, 980, 167}); + + dieListe.einfuegenBei(34, 700); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 121, 539, 980, 167}); + + dieListe.einfuegenBei(48, 977); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 121, 539, 980, 977, 167}); + + assertTrue("Fehler: Element 845 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(845)); + dieListe.einfuegenBei(1, 592); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 121, 539, 980, 977, 167}); + + assertTrue("Fehler: Element 830 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(830)); + assertFalse("Fehler: Element 781 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(781)); + dieListe.einfuegenBei(24, 684); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 684, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 121, 539, 980, 977, 167}); + + dieListe.einfuegenBei(19, 401); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 401, 488, 486, 60, 581, 664, 684, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 121, 539, 980, 977, 167}); + + dieListe.einfuegenBei(24, 737); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 121, 539, 980, 977, 167}); + + assertFalse("Fehler: Element 987 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(987)); + dieListe.einfuegenBei(49, 675); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167}); + + dieListe.anhaengen(347); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347}); + + dieListe.einfuegenBei(6, 897); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347}); + + dieListe.anhaengen(517); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517}); + + assertTrue("Fehler: Element 665 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(665)); + dieListe.einfuegenBei(28, 793); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517}); + + dieListe.einfuegenBei(16, 616); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517}); + + assertTrue("Fehler: Element 224 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(224)); + dieListe.einfuegenBei(13, 279); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517}); + + dieListe.anhaengen(785); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785}); + + dieListe.einfuegenBei(37, 104); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785}); + + dieListe.anhaengen(398); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398}); + + assertTrue("Fehler: Element 424 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(424)); + assertFalse("Fehler: Element 602 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(602)); + assertFalse("Fehler: Element 222 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(222)); + dieListe.anhaengen(173); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398, 173}); + + dieListe.einfuegenBei(34, 107); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 107, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398, 173}); + + assertTrue("Fehler: Element 213 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(213)); + dieListe.anhaengen(699); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 107, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398, 173, 699}); + + dieListe.einfuegenBei(51, 209); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 107, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 209, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398, 173, 699}); + + dieListe.einfuegenBei(6, 902); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 902, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 107, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 209, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398, 173, 699}); + + assertTrue("Fehler: Element 539 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(539)); + assertTrue("Fehler: Element 60 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(60)); + assertTrue("Fehler: Element 946 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(946)); + dieListe.anhaengen(119); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 902, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 107, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 209, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398, 173, 699, 119}); + + dieListe.einfuegenBei(15, 870); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 902, 897, 157, 946, 399, 224, 844, 493, 279, 870, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 107, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 209, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398, 173, 699, 119}); + + assertFalse("Fehler: Element 52 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(52)); + dieListe.anhaengen(992); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 902, 897, 157, 946, 399, 224, 844, 493, 279, 870, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 107, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 209, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398, 173, 699, 119, 992}); + + dieListe.anhaengen(514); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 902, 897, 157, 946, 399, 224, 844, 493, 279, 870, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 107, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 209, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398, 173, 699, 119, 992, 514}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 25); + Tester.pruefeListenInhalt(dieListe, new int[]{25}); + + dieListe.anhaengen(550); + Tester.pruefeListenInhalt(dieListe, new int[]{25, 550}); + + dieListe.anhaengen(359); + Tester.pruefeListenInhalt(dieListe, new int[]{25, 550, 359}); + + assertFalse("Fehler: Element 571 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(571)); + assertTrue("Fehler: Element 25 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(25)); + dieListe.einfuegenBei(0, 671); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 25, 550, 359}); + + dieListe.anhaengen(425); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 25, 550, 359, 425}); + + dieListe.einfuegenBei(1, 880); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 880, 25, 550, 359, 425}); + + assertFalse("Fehler: Element 955 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(955)); + dieListe.einfuegenBei(3, 478); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 880, 25, 478, 550, 359, 425}); + + dieListe.einfuegenBei(4, 284); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 880, 25, 478, 284, 550, 359, 425}); + + dieListe.einfuegenBei(1, 776); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 880, 25, 478, 284, 550, 359, 425}); + + dieListe.einfuegenBei(2, 928); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 359, 425}); + + assertFalse("Fehler: Element 174 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(174)); + dieListe.anhaengen(395); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 359, 425, 395}); + + assertFalse("Fehler: Element 830 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(830)); + assertTrue("Fehler: Element 284 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(284)); + dieListe.anhaengen(551); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 359, 425, 395, 551}); + + dieListe.anhaengen(874); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 359, 425, 395, 551, 874}); + + dieListe.anhaengen(819); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 359, 425, 395, 551, 874, 819}); + + dieListe.einfuegenBei(8, 406); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 359, 425, 395, 551, 874, 819}); + + dieListe.einfuegenBei(12, 989); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 359, 425, 395, 989, 551, 874, 819}); + + dieListe.anhaengen(235); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 359, 425, 395, 989, 551, 874, 819, 235}); + + dieListe.einfuegenBei(10, 340); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 359, 340, 425, 395, 989, 551, 874, 819, 235}); + + dieListe.einfuegenBei(9, 422); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 422, 359, 340, 425, 395, 989, 551, 874, 819, 235}); + + assertFalse("Fehler: Element 529 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(529)); + dieListe.anhaengen(140); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 422, 359, 340, 425, 395, 989, 551, 874, 819, 235, 140}); + + dieListe.anhaengen(186); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 422, 359, 340, 425, 395, 989, 551, 874, 819, 235, 140, 186}); + + assertFalse("Fehler: Element 514 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(514)); + dieListe.anhaengen(522); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 422, 359, 340, 425, 395, 989, 551, 874, 819, 235, 140, 186, 522}); + + assertFalse("Fehler: Element 540 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(540)); + dieListe.anhaengen(921); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 422, 359, 340, 425, 395, 989, 551, 874, 819, 235, 140, 186, 522, 921}); + + dieListe.einfuegenBei(10, 396); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 422, 396, 359, 340, 425, 395, 989, 551, 874, 819, 235, 140, 186, 522, 921}); + + assertFalse("Fehler: Element 938 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(938)); + assertTrue("Fehler: Element 396 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(396)); + dieListe.einfuegenBei(19, 10); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 422, 396, 359, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921}); + + dieListe.einfuegenBei(11, 539); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 422, 396, 539, 359, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921}); + + dieListe.einfuegenBei(7, 318); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 318, 550, 406, 422, 396, 539, 359, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921}); + + assertTrue("Fehler: Element 318 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(318)); + dieListe.einfuegenBei(12, 308); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 318, 550, 406, 422, 396, 308, 539, 359, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921}); + + dieListe.anhaengen(411); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 318, 550, 406, 422, 396, 308, 539, 359, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921, 411}); + + dieListe.einfuegenBei(7, 599); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 599, 318, 550, 406, 422, 396, 308, 539, 359, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921, 411}); + + dieListe.einfuegenBei(6, 660); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 318, 550, 406, 422, 396, 308, 539, 359, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921, 411}); + + dieListe.einfuegenBei(17, 568); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921, 411}); + + assertFalse("Fehler: Element 499 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(499)); + assertFalse("Fehler: Element 997 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(997)); + dieListe.einfuegenBei(9, 49); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921, 411}); + + dieListe.anhaengen(507); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921, 411, 507}); + + assertTrue("Fehler: Element 235 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(235)); + assertFalse("Fehler: Element 89 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(89)); + dieListe.einfuegenBei(34, 393); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921, 411, 507, 393}); + + dieListe.anhaengen(836); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921, 411, 507, 393, 836}); + + assertTrue("Fehler: Element 989 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(989)); + assertTrue("Fehler: Element 989 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(989)); + dieListe.anhaengen(23); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921, 411, 507, 393, 836, 23}); + + assertTrue("Fehler: Element 422 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(422)); + dieListe.einfuegenBei(31, 621); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 621, 921, 411, 507, 393, 836, 23}); + + assertFalse("Fehler: Element 771 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(771)); + dieListe.anhaengen(925); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 621, 921, 411, 507, 393, 836, 23, 925}); + + dieListe.einfuegenBei(24, 67); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 186, 522, 621, 921, 411, 507, 393, 836, 23, 925}); + + dieListe.einfuegenBei(38, 832); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 186, 522, 621, 921, 411, 507, 393, 836, 832, 23, 925}); + + assertFalse("Fehler: Element 435 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(435)); + dieListe.anhaengen(162); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 186, 522, 621, 921, 411, 507, 393, 836, 832, 23, 925, 162}); + + dieListe.einfuegenBei(36, 183); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 186, 522, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162}); + + dieListe.einfuegenBei(31, 980); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 186, 980, 522, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162}); + + dieListe.anhaengen(754); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 186, 980, 522, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754}); + + dieListe.anhaengen(439); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 186, 980, 522, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439}); + + dieListe.einfuegenBei(20, 281); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 186, 980, 522, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439}); + + dieListe.anhaengen(597); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 186, 980, 522, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597}); + + dieListe.einfuegenBei(31, 485); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597}); + + dieListe.anhaengen(351); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351}); + + assertTrue("Fehler: Element 874 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(874)); + dieListe.einfuegenBei(35, 779); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351}); + + dieListe.anhaengen(405); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405}); + + dieListe.einfuegenBei(24, 576); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405}); + + assertTrue("Fehler: Element 406 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(406)); + dieListe.anhaengen(575); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575}); + + assertFalse("Fehler: Element 512 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(512)); + assertFalse("Fehler: Element 190 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(190)); + assertTrue("Fehler: Element 340 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(340)); + dieListe.einfuegenBei(23, 857); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575}); + + dieListe.anhaengen(697); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697}); + + assertFalse("Fehler: Element 57 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(57)); + dieListe.anhaengen(354); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354}); + + assertTrue("Fehler: Element 597 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(597)); + assertTrue("Fehler: Element 162 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(162)); + dieListe.einfuegenBei(15, 990); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354}); + + assertFalse("Fehler: Element 139 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(139)); + dieListe.anhaengen(207); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354, 207}); + + assertFalse("Fehler: Element 191 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(191)); + dieListe.einfuegenBei(58, 190); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354, 190, 207}); + + dieListe.einfuegenBei(37, 358); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 358, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354, 190, 207}); + + assertTrue("Fehler: Element 576 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(576)); + dieListe.einfuegenBei(3, 716); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 716, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 358, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354, 190, 207}); + + dieListe.anhaengen(434); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 716, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 358, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354, 190, 207, 434}); + + dieListe.anhaengen(845); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 716, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 358, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354, 190, 207, 434, 845}); + + dieListe.anhaengen(249); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 716, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 358, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354, 190, 207, 434, 845, 249}); + + dieListe.einfuegenBei(44, 874); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 716, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 358, 522, 779, 621, 921, 411, 874, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354, 190, 207, 434, 845, 249}); + + dieListe.anhaengen(557); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 716, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 358, 522, 779, 621, 921, 411, 874, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354, 190, 207, 434, 845, 249, 557}); + + assertTrue("Fehler: Element 67 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(67)); + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(442); + Tester.pruefeListenInhalt(dieListe, new int[]{442}); + + dieListe.einfuegenBei(0, 475); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 442}); + + dieListe.anhaengen(474); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 442, 474}); + + dieListe.anhaengen(8); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 442, 474, 8}); + + dieListe.anhaengen(921); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 442, 474, 8, 921}); + + dieListe.anhaengen(786); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 442, 474, 8, 921, 786}); + + assertFalse("Fehler: Element 885 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(885)); + dieListe.anhaengen(570); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 442, 474, 8, 921, 786, 570}); + + dieListe.anhaengen(263); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 442, 474, 8, 921, 786, 570, 263}); + + dieListe.einfuegenBei(1, 865); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 474, 8, 921, 786, 570, 263}); + + dieListe.anhaengen(315); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 474, 8, 921, 786, 570, 263, 315}); + + dieListe.einfuegenBei(3, 128); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 128, 474, 8, 921, 786, 570, 263, 315}); + + dieListe.einfuegenBei(3, 892); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 8, 921, 786, 570, 263, 315}); + + dieListe.anhaengen(502); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 8, 921, 786, 570, 263, 315, 502}); + + dieListe.anhaengen(626); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 8, 921, 786, 570, 263, 315, 502, 626}); + + assertTrue("Fehler: Element 475 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(475)); + assertFalse("Fehler: Element 312 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(312)); + assertTrue("Fehler: Element 892 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(892)); + assertTrue("Fehler: Element 442 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(442)); + assertTrue("Fehler: Element 8 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(8)); + dieListe.einfuegenBei(6, 68); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 263, 315, 502, 626}); + + dieListe.anhaengen(493); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 263, 315, 502, 626, 493}); + + dieListe.anhaengen(232); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 263, 315, 502, 626, 493, 232}); + + assertTrue("Fehler: Element 263 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(263)); + dieListe.einfuegenBei(11, 923); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 263, 315, 502, 626, 493, 232}); + + dieListe.einfuegenBei(18, 467); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 263, 315, 502, 626, 493, 232, 467}); + + assertTrue("Fehler: Element 570 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(570)); + assertTrue("Fehler: Element 315 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(315)); + dieListe.anhaengen(240); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 263, 315, 502, 626, 493, 232, 467, 240}); + + dieListe.einfuegenBei(12, 218); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 315, 502, 626, 493, 232, 467, 240}); + + dieListe.anhaengen(262); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 315, 502, 626, 493, 232, 467, 240, 262}); + + assertFalse("Fehler: Element 879 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(879)); + assertTrue("Fehler: Element 442 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(442)); + assertFalse("Fehler: Element 488 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(488)); + dieListe.einfuegenBei(18, 54); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 315, 502, 626, 493, 54, 232, 467, 240, 262}); + + dieListe.anhaengen(922); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 315, 502, 626, 493, 54, 232, 467, 240, 262, 922}); + + dieListe.einfuegenBei(14, 895); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 626, 493, 54, 232, 467, 240, 262, 922}); + + dieListe.anhaengen(302); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 626, 493, 54, 232, 467, 240, 262, 922, 302}); + + dieListe.einfuegenBei(20, 651); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302}); + + dieListe.anhaengen(292); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292}); + + dieListe.anhaengen(539); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539}); + + dieListe.einfuegenBei(17, 102); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539}); + + dieListe.einfuegenBei(5, 943); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539}); + + assertFalse("Fehler: Element 72 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(72)); + assertTrue("Fehler: Element 626 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(626)); + assertTrue("Fehler: Element 539 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(539)); + dieListe.anhaengen(603); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 603}); + + dieListe.anhaengen(886); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 603, 886}); + + dieListe.anhaengen(658); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 603, 886, 658}); + + dieListe.anhaengen(72); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 603, 886, 658, 72}); + + dieListe.einfuegenBei(18, 127); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 127, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 603, 886, 658, 72}); + + dieListe.anhaengen(808); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 127, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 603, 886, 658, 72, 808}); + + dieListe.einfuegenBei(19, 704); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 603, 886, 658, 72, 808}); + + dieListe.einfuegenBei(12, 905); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 603, 886, 658, 72, 808}); + + dieListe.einfuegenBei(34, 241); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808}); + + assertFalse("Fehler: Element 801 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(801)); + dieListe.anhaengen(286); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286}); + + dieListe.einfuegenBei(25, 802); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286}); + + dieListe.anhaengen(20); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 20}); + + dieListe.anhaengen(374); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 20, 374}); + + dieListe.anhaengen(579); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 20, 374, 579}); + + dieListe.anhaengen(917); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 20, 374, 579, 917}); + + assertTrue("Fehler: Element 54 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(54)); + assertFalse("Fehler: Element 32 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(32)); + assertTrue("Fehler: Element 241 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(241)); + assertTrue("Fehler: Element 72 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(72)); + dieListe.anhaengen(580); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 20, 374, 579, 917, 580}); + + dieListe.anhaengen(600); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 20, 374, 579, 917, 580, 600}); + + dieListe.einfuegenBei(42, 588); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600}); + + dieListe.einfuegenBei(13, 179); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600}); + + assertFalse("Fehler: Element 277 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(277)); + assertFalse("Fehler: Element 654 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(654)); + dieListe.anhaengen(521); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521}); + + assertTrue("Fehler: Element 603 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(603)); + dieListe.anhaengen(22); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22}); + + dieListe.einfuegenBei(34, 368); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 368, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22}); + + dieListe.anhaengen(799); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 368, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799}); + + assertFalse("Fehler: Element 827 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(827)); + dieListe.einfuegenBei(28, 690); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799}); + + assertTrue("Fehler: Element 128 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(128)); + assertFalse("Fehler: Element 590 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(590)); + dieListe.anhaengen(881); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 881}); + + dieListe.einfuegenBei(18, 821); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 881}); + + dieListe.anhaengen(369); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 881, 369}); + + dieListe.anhaengen(158); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 881, 369, 158}); + + dieListe.anhaengen(228); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 881, 369, 158, 228}); + + dieListe.einfuegenBei(56, 538); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 538, 881, 369, 158, 228}); + + assertTrue("Fehler: Element 179 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(179)); + assertTrue("Fehler: Element 580 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(580)); + dieListe.einfuegenBei(38, 412); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 412, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 538, 881, 369, 158, 228}); + + dieListe.anhaengen(181); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 412, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 538, 881, 369, 158, 228, 181}); + + assertTrue("Fehler: Element 865 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(865)); + assertTrue("Fehler: Element 579 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(579)); + dieListe.anhaengen(854); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 412, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 538, 881, 369, 158, 228, 181, 854}); + + assertTrue("Fehler: Element 475 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(475)); + dieListe.anhaengen(56); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 412, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 538, 881, 369, 158, 228, 181, 854, 56}); + + dieListe.anhaengen(582); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 412, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 538, 881, 369, 158, 228, 181, 854, 56, 582}); + + dieListe.einfuegenBei(41, 677); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 412, 539, 241, 677, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 538, 881, 369, 158, 228, 181, 854, 56, 582}); + + assertTrue("Fehler: Element 228 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(228)); + dieListe.anhaengen(352); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 412, 539, 241, 677, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 538, 881, 369, 158, 228, 181, 854, 56, 582, 352}); + + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(744); + Tester.pruefeListenInhalt(dieListe, new int[]{744}); + + dieListe.einfuegenBei(0, 168); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 744}); + + dieListe.anhaengen(793); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 744, 793}); + + dieListe.anhaengen(957); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 744, 793, 957}); + + dieListe.einfuegenBei(2, 275); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 744, 275, 793, 957}); + + dieListe.anhaengen(529); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 744, 275, 793, 957, 529}); + + dieListe.anhaengen(969); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 744, 275, 793, 957, 529, 969}); + + dieListe.anhaengen(625); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 744, 275, 793, 957, 529, 969, 625}); + + dieListe.einfuegenBei(1, 570); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 625}); + + dieListe.anhaengen(434); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 625, 434}); + + assertFalse("Fehler: Element 82 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(82)); + dieListe.einfuegenBei(9, 634); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 625, 634, 434}); + + dieListe.einfuegenBei(9, 56); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 625, 56, 634, 434}); + + dieListe.einfuegenBei(11, 646); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 625, 56, 634, 646, 434}); + + dieListe.anhaengen(274); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 625, 56, 634, 646, 434, 274}); + + dieListe.einfuegenBei(8, 435); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274}); + + dieListe.anhaengen(396); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 396}); + + assertTrue("Fehler: Element 625 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(625)); + dieListe.anhaengen(32); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 396, 32}); + + dieListe.anhaengen(793); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 396, 32, 793}); + + dieListe.einfuegenBei(18, 413); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 396, 32, 793, 413}); + + dieListe.anhaengen(948); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 396, 32, 793, 413, 948}); + + assertTrue("Fehler: Element 32 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(32)); + dieListe.einfuegenBei(18, 514); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 396, 32, 793, 514, 413, 948}); + + dieListe.anhaengen(85); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 396, 32, 793, 514, 413, 948, 85}); + + dieListe.einfuegenBei(15, 596); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 596, 396, 32, 793, 514, 413, 948, 85}); + + assertFalse("Fehler: Element 142 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(142)); + assertTrue("Fehler: Element 396 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(396)); + assertTrue("Fehler: Element 793 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(793)); + assertFalse("Fehler: Element 517 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(517)); + assertTrue("Fehler: Element 435 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(435)); + dieListe.anhaengen(638); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 596, 396, 32, 793, 514, 413, 948, 85, 638}); + + assertTrue("Fehler: Element 168 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(168)); + dieListe.einfuegenBei(24, 842); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 596, 396, 32, 793, 514, 413, 948, 85, 638, 842}); + + dieListe.einfuegenBei(3, 882); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 596, 396, 32, 793, 514, 413, 948, 85, 638, 842}); + + assertTrue("Fehler: Element 434 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(434)); + assertTrue("Fehler: Element 744 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(744)); + dieListe.einfuegenBei(26, 577); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 596, 396, 32, 793, 514, 413, 948, 85, 638, 842, 577}); + + dieListe.einfuegenBei(7, 174); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 174, 529, 969, 435, 625, 56, 634, 646, 434, 274, 596, 396, 32, 793, 514, 413, 948, 85, 638, 842, 577}); + + dieListe.anhaengen(521); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 174, 529, 969, 435, 625, 56, 634, 646, 434, 274, 596, 396, 32, 793, 514, 413, 948, 85, 638, 842, 577, 521}); + + dieListe.anhaengen(605); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 174, 529, 969, 435, 625, 56, 634, 646, 434, 274, 596, 396, 32, 793, 514, 413, 948, 85, 638, 842, 577, 521, 605}); + + dieListe.einfuegenBei(23, 758); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 174, 529, 969, 435, 625, 56, 634, 646, 434, 274, 596, 396, 32, 793, 514, 413, 758, 948, 85, 638, 842, 577, 521, 605}); + + dieListe.einfuegenBei(16, 768); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 174, 529, 969, 435, 625, 56, 634, 646, 434, 768, 274, 596, 396, 32, 793, 514, 413, 758, 948, 85, 638, 842, 577, 521, 605}); + + dieListe.einfuegenBei(24, 652); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 174, 529, 969, 435, 625, 56, 634, 646, 434, 768, 274, 596, 396, 32, 793, 514, 413, 652, 758, 948, 85, 638, 842, 577, 521, 605}); + + assertFalse("Fehler: Element 363 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(363)); + assertFalse("Fehler: Element 706 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(706)); + assertTrue("Fehler: Element 275 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(275)); + assertTrue("Fehler: Element 744 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(744)); + dieListe.einfuegenBei(7, 802); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 802, 174, 529, 969, 435, 625, 56, 634, 646, 434, 768, 274, 596, 396, 32, 793, 514, 413, 652, 758, 948, 85, 638, 842, 577, 521, 605}); + + dieListe.anhaengen(841); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 802, 174, 529, 969, 435, 625, 56, 634, 646, 434, 768, 274, 596, 396, 32, 793, 514, 413, 652, 758, 948, 85, 638, 842, 577, 521, 605, 841}); + + assertTrue("Fehler: Element 85 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(85)); + dieListe.einfuegenBei(18, 653); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 802, 174, 529, 969, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 396, 32, 793, 514, 413, 652, 758, 948, 85, 638, 842, 577, 521, 605, 841}); + + dieListe.einfuegenBei(28, 758); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 802, 174, 529, 969, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841}); + + dieListe.anhaengen(620); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 802, 174, 529, 969, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620}); + + assertFalse("Fehler: Element 348 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(348)); + assertFalse("Fehler: Element 437 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(437)); + dieListe.anhaengen(829); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 802, 174, 529, 969, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829}); + + assertFalse("Fehler: Element 820 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(820)); + assertTrue("Fehler: Element 842 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(842)); + dieListe.einfuegenBei(5, 427); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829}); + + dieListe.einfuegenBei(12, 21); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829}); + + assertTrue("Fehler: Element 634 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(634)); + dieListe.anhaengen(967); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967}); + + dieListe.anhaengen(50); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50}); + + dieListe.anhaengen(705); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705}); + + dieListe.einfuegenBei(23, 125); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705}); + + dieListe.einfuegenBei(45, 670); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705, 670}); + + dieListe.einfuegenBei(17, 19); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705, 670}); + + dieListe.anhaengen(787); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705, 670, 787}); + + assertTrue("Fehler: Element 435 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(435)); + assertTrue("Fehler: Element 32 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(32)); + assertFalse("Fehler: Element 835 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(835)); + dieListe.anhaengen(686); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705, 670, 787, 686}); + + dieListe.anhaengen(795); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705, 670, 787, 686, 795}); + + dieListe.anhaengen(733); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705, 670, 787, 686, 795, 733}); + + dieListe.einfuegenBei(14, 209); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705, 670, 787, 686, 795, 733}); + + assertTrue("Fehler: Element 829 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(829)); + assertFalse("Fehler: Element 619 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(619)); + dieListe.einfuegenBei(25, 834); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 834, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705, 670, 787, 686, 795, 733}); + + assertFalse("Fehler: Element 294 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(294)); + assertTrue("Fehler: Element 32 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(32)); + dieListe.einfuegenBei(45, 584); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 834, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 584, 967, 50, 705, 670, 787, 686, 795, 733}); + + assertFalse("Fehler: Element 502 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(502)); + dieListe.einfuegenBei(47, 991); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 834, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 584, 967, 991, 50, 705, 670, 787, 686, 795, 733}); + + assertFalse("Fehler: Element 696 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(696)); + assertTrue("Fehler: Element 56 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(56)); + dieListe.einfuegenBei(2, 269); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 269, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 834, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 584, 967, 991, 50, 705, 670, 787, 686, 795, 733}); + + assertFalse("Fehler: Element 388 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(388)); + assertFalse("Fehler: Element 144 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(144)); + assertFalse("Fehler: Element 106 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(106)); + dieListe.einfuegenBei(41, 139); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 269, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 834, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 139, 521, 605, 841, 620, 829, 584, 967, 991, 50, 705, 670, 787, 686, 795, 733}); + + assertTrue("Fehler: Element 396 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(396)); + assertTrue("Fehler: Element 274 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(274)); + assertTrue("Fehler: Element 758 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(758)); + dieListe.einfuegenBei(18, 572); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 269, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 625, 56, 572, 634, 19, 646, 434, 768, 653, 274, 596, 834, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 139, 521, 605, 841, 620, 829, 584, 967, 991, 50, 705, 670, 787, 686, 795, 733}); + + assertTrue("Fehler: Element 758 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(758)); + dieListe.anhaengen(709); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 269, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 625, 56, 572, 634, 19, 646, 434, 768, 653, 274, 596, 834, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 139, 521, 605, 841, 620, 829, 584, 967, 991, 50, 705, 670, 787, 686, 795, 733, 709}); + + dieListe.anhaengen(932); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 269, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 625, 56, 572, 634, 19, 646, 434, 768, 653, 274, 596, 834, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 139, 521, 605, 841, 620, 829, 584, 967, 991, 50, 705, 670, 787, 686, 795, 733, 709, 932}); + + dieListe.einfuegenBei(16, 26); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 269, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 26, 625, 56, 572, 634, 19, 646, 434, 768, 653, 274, 596, 834, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 139, 521, 605, 841, 620, 829, 584, 967, 991, 50, 705, 670, 787, 686, 795, 733, 709, 932}); + + assertFalse("Fehler: Element 911 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(911)); + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 482); + Tester.pruefeListenInhalt(dieListe, new int[]{482}); + + dieListe.einfuegenBei(0, 248); + Tester.pruefeListenInhalt(dieListe, new int[]{248, 482}); + + dieListe.einfuegenBei(1, 151); + Tester.pruefeListenInhalt(dieListe, new int[]{248, 151, 482}); + + assertTrue("Fehler: Element 482 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(482)); + dieListe.einfuegenBei(1, 526); + Tester.pruefeListenInhalt(dieListe, new int[]{248, 526, 151, 482}); + + dieListe.einfuegenBei(1, 669); + Tester.pruefeListenInhalt(dieListe, new int[]{248, 669, 526, 151, 482}); + + dieListe.einfuegenBei(0, 553); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 151, 482}); + + assertTrue("Fehler: Element 151 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(151)); + assertFalse("Fehler: Element 253 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(253)); + assertTrue("Fehler: Element 526 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(526)); + dieListe.einfuegenBei(4, 528); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 528, 151, 482}); + + dieListe.einfuegenBei(7, 694); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 528, 151, 482, 694}); + + dieListe.einfuegenBei(4, 651); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 651, 528, 151, 482, 694}); + + dieListe.einfuegenBei(5, 181); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 651, 181, 528, 151, 482, 694}); + + dieListe.anhaengen(825); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 651, 181, 528, 151, 482, 694, 825}); + + dieListe.einfuegenBei(11, 388); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 651, 181, 528, 151, 482, 694, 825, 388}); + + assertTrue("Fehler: Element 151 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(151)); + assertFalse("Fehler: Element 584 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(584)); + dieListe.einfuegenBei(9, 79); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 651, 181, 528, 151, 482, 79, 694, 825, 388}); + + assertFalse("Fehler: Element 41 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(41)); + dieListe.anhaengen(152); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 651, 181, 528, 151, 482, 79, 694, 825, 388, 152}); + + dieListe.einfuegenBei(11, 360); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 651, 181, 528, 151, 482, 79, 694, 360, 825, 388, 152}); + + dieListe.einfuegenBei(5, 350); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 651, 350, 181, 528, 151, 482, 79, 694, 360, 825, 388, 152}); + + dieListe.einfuegenBei(4, 975); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 975, 651, 350, 181, 528, 151, 482, 79, 694, 360, 825, 388, 152}); + + assertFalse("Fehler: Element 963 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(963)); + dieListe.anhaengen(625); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 975, 651, 350, 181, 528, 151, 482, 79, 694, 360, 825, 388, 152, 625}); + + assertTrue("Fehler: Element 350 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(350)); + dieListe.einfuegenBei(0, 38); + Tester.pruefeListenInhalt(dieListe, new int[]{38, 553, 248, 669, 526, 975, 651, 350, 181, 528, 151, 482, 79, 694, 360, 825, 388, 152, 625}); + + dieListe.anhaengen(548); + Tester.pruefeListenInhalt(dieListe, new int[]{38, 553, 248, 669, 526, 975, 651, 350, 181, 528, 151, 482, 79, 694, 360, 825, 388, 152, 625, 548}); + + dieListe.einfuegenBei(3, 24); + Tester.pruefeListenInhalt(dieListe, new int[]{38, 553, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 79, 694, 360, 825, 388, 152, 625, 548}); + + assertFalse("Fehler: Element 626 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(626)); + assertFalse("Fehler: Element 929 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(929)); + dieListe.einfuegenBei(16, 605); + Tester.pruefeListenInhalt(dieListe, new int[]{38, 553, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 79, 694, 360, 605, 825, 388, 152, 625, 548}); + + dieListe.einfuegenBei(13, 447); + Tester.pruefeListenInhalt(dieListe, new int[]{38, 553, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 605, 825, 388, 152, 625, 548}); + + dieListe.einfuegenBei(17, 75); + Tester.pruefeListenInhalt(dieListe, new int[]{38, 553, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 625, 548}); + + dieListe.anhaengen(868); + Tester.pruefeListenInhalt(dieListe, new int[]{38, 553, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 625, 548, 868}); + + dieListe.anhaengen(797); + Tester.pruefeListenInhalt(dieListe, new int[]{38, 553, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 625, 548, 868, 797}); + + dieListe.einfuegenBei(22, 155); + Tester.pruefeListenInhalt(dieListe, new int[]{38, 553, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 155, 625, 548, 868, 797}); + + dieListe.einfuegenBei(0, 50); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 38, 553, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 155, 625, 548, 868, 797}); + + dieListe.einfuegenBei(3, 92); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 155, 625, 548, 868, 797}); + + assertTrue("Fehler: Element 528 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(528)); + assertFalse("Fehler: Element 839 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(839)); + dieListe.anhaengen(128); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 155, 625, 548, 868, 797, 128}); + + dieListe.anhaengen(185); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 155, 625, 548, 868, 797, 128, 185}); + + assertTrue("Fehler: Element 975 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(975)); + dieListe.einfuegenBei(1, 247); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 155, 625, 548, 868, 797, 128, 185}); + + dieListe.anhaengen(118); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 155, 625, 548, 868, 797, 128, 185, 118}); + + dieListe.einfuegenBei(1, 612); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 155, 625, 548, 868, 797, 128, 185, 118}); + + dieListe.anhaengen(436); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 155, 625, 548, 868, 797, 128, 185, 118, 436}); + + dieListe.einfuegenBei(26, 402); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 185, 118, 436}); + + dieListe.anhaengen(437); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 185, 118, 436, 437}); + + dieListe.anhaengen(462); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 185, 118, 436, 437, 462}); + + assertTrue("Fehler: Element 388 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(388)); + assertFalse("Fehler: Element 772 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(772)); + dieListe.anhaengen(274); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 185, 118, 436, 437, 462, 274}); + + dieListe.anhaengen(722); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 185, 118, 436, 437, 462, 274, 722}); + + dieListe.anhaengen(875); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 185, 118, 436, 437, 462, 274, 722, 875}); + + assertFalse("Fehler: Element 757 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(757)); + assertFalse("Fehler: Element 326 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(326)); + dieListe.einfuegenBei(37, 66); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 185, 118, 436, 437, 66, 462, 274, 722, 875}); + + assertTrue("Fehler: Element 825 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(825)); + dieListe.einfuegenBei(37, 200); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875}); + + assertTrue("Fehler: Element 274 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(274)); + assertFalse("Fehler: Element 817 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(817)); + dieListe.anhaengen(903); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 903}); + + dieListe.einfuegenBei(33, 590); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 590, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 903}); + + assertTrue("Fehler: Element 436 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(436)); + assertFalse("Fehler: Element 208 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(208)); + dieListe.einfuegenBei(44, 36); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 590, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903}); + + assertTrue("Fehler: Element 360 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(360)); + assertTrue("Fehler: Element 360 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(360)); + dieListe.anhaengen(166); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 590, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166}); + + assertTrue("Fehler: Element 360 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(360)); + dieListe.einfuegenBei(6, 228); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 228, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 590, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166}); + + dieListe.einfuegenBei(32, 852); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 228, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166}); + + assertFalse("Fehler: Element 985 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(985)); + assertTrue("Fehler: Element 548 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(548)); + dieListe.anhaengen(340); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 228, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340}); + + dieListe.anhaengen(287); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 228, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287}); + + dieListe.einfuegenBei(36, 817); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 228, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287}); + + dieListe.einfuegenBei(8, 715); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 228, 248, 715, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287}); + + dieListe.einfuegenBei(6, 275); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287}); + + dieListe.anhaengen(354); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354}); + + dieListe.einfuegenBei(11, 210); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354}); + + dieListe.einfuegenBei(25, 234); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354}); + + assertTrue("Fehler: Element 388 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(388)); + dieListe.einfuegenBei(57, 435); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354, 435}); + + dieListe.anhaengen(750); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354, 435, 750}); + + dieListe.einfuegenBei(13, 706); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 706, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354, 435, 750}); + + assertTrue("Fehler: Element 526 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(526)); + dieListe.einfuegenBei(42, 338); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 706, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 338, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354, 435, 750}); + + assertFalse("Fehler: Element 0 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(0)); + dieListe.anhaengen(900); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 706, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 338, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354, 435, 750, 900}); + + assertTrue("Fehler: Element 903 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(903)); + assertFalse("Fehler: Element 190 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(190)); + dieListe.einfuegenBei(23, 730); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 706, 526, 975, 651, 350, 181, 528, 151, 482, 447, 730, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 338, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354, 435, 750, 900}); + + assertTrue("Fehler: Element 210 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(210)); + dieListe.anhaengen(637); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 706, 526, 975, 651, 350, 181, 528, 151, 482, 447, 730, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 338, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354, 435, 750, 900, 637}); + + dieListe.anhaengen(964); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 706, 526, 975, 651, 350, 181, 528, 151, 482, 447, 730, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 338, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354, 435, 750, 900, 637, 964}); + + dieListe.einfuegenBei(23, 697); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 706, 526, 975, 651, 350, 181, 528, 151, 482, 447, 697, 730, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 338, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354, 435, 750, 900, 637, 964}); + + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 126); + Tester.pruefeListenInhalt(dieListe, new int[]{126}); + + dieListe.anhaengen(503); + Tester.pruefeListenInhalt(dieListe, new int[]{126, 503}); + + assertTrue("Fehler: Element 503 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(503)); + dieListe.einfuegenBei(1, 997); + Tester.pruefeListenInhalt(dieListe, new int[]{126, 997, 503}); + + dieListe.einfuegenBei(0, 376); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 997, 503}); + + assertFalse("Fehler: Element 766 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(766)); + assertFalse("Fehler: Element 10 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(10)); + dieListe.anhaengen(687); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 997, 503, 687}); + + assertFalse("Fehler: Element 212 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(212)); + dieListe.einfuegenBei(3, 613); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 997, 613, 503, 687}); + + assertFalse("Fehler: Element 820 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(820)); + dieListe.anhaengen(118); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 997, 613, 503, 687, 118}); + + dieListe.anhaengen(869); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 997, 613, 503, 687, 118, 869}); + + dieListe.einfuegenBei(2, 281); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 281, 997, 613, 503, 687, 118, 869}); + + assertFalse("Fehler: Element 945 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(945)); + dieListe.anhaengen(388); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 281, 997, 613, 503, 687, 118, 869, 388}); + + dieListe.einfuegenBei(2, 323); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 323, 281, 997, 613, 503, 687, 118, 869, 388}); + + assertFalse("Fehler: Element 835 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(835)); + dieListe.einfuegenBei(2, 125); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 125, 323, 281, 997, 613, 503, 687, 118, 869, 388}); + + assertFalse("Fehler: Element 591 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(591)); + dieListe.anhaengen(296); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 125, 323, 281, 997, 613, 503, 687, 118, 869, 388, 296}); + + assertTrue("Fehler: Element 281 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(281)); + dieListe.einfuegenBei(1, 590); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 590, 126, 125, 323, 281, 997, 613, 503, 687, 118, 869, 388, 296}); + + assertTrue("Fehler: Element 281 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(281)); + dieListe.anhaengen(490); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 590, 126, 125, 323, 281, 997, 613, 503, 687, 118, 869, 388, 296, 490}); + + dieListe.einfuegenBei(6, 941); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 590, 126, 125, 323, 281, 941, 997, 613, 503, 687, 118, 869, 388, 296, 490}); + + dieListe.einfuegenBei(7, 380); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 590, 126, 125, 323, 281, 941, 380, 997, 613, 503, 687, 118, 869, 388, 296, 490}); + + dieListe.einfuegenBei(14, 491); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 590, 126, 125, 323, 281, 941, 380, 997, 613, 503, 687, 118, 869, 491, 388, 296, 490}); + + dieListe.einfuegenBei(8, 416); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 590, 126, 125, 323, 281, 941, 380, 416, 997, 613, 503, 687, 118, 869, 491, 388, 296, 490}); + + dieListe.anhaengen(630); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 590, 126, 125, 323, 281, 941, 380, 416, 997, 613, 503, 687, 118, 869, 491, 388, 296, 490, 630}); + + dieListe.einfuegenBei(12, 368); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 590, 126, 125, 323, 281, 941, 380, 416, 997, 613, 503, 368, 687, 118, 869, 491, 388, 296, 490, 630}); + + dieListe.einfuegenBei(15, 341); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 590, 126, 125, 323, 281, 941, 380, 416, 997, 613, 503, 368, 687, 118, 341, 869, 491, 388, 296, 490, 630}); + + assertTrue("Fehler: Element 416 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(416)); + dieListe.einfuegenBei(0, 628); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 416, 997, 613, 503, 368, 687, 118, 341, 869, 491, 388, 296, 490, 630}); + + dieListe.anhaengen(470); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 416, 997, 613, 503, 368, 687, 118, 341, 869, 491, 388, 296, 490, 630, 470}); + + dieListe.einfuegenBei(10, 966); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 416, 966, 997, 613, 503, 368, 687, 118, 341, 869, 491, 388, 296, 490, 630, 470}); + + dieListe.einfuegenBei(9, 778); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 416, 966, 997, 613, 503, 368, 687, 118, 341, 869, 491, 388, 296, 490, 630, 470}); + + assertFalse("Fehler: Element 781 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(781)); + assertTrue("Fehler: Element 388 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(388)); + assertFalse("Fehler: Element 95 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(95)); + dieListe.einfuegenBei(11, 81); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 416, 81, 966, 997, 613, 503, 368, 687, 118, 341, 869, 491, 388, 296, 490, 630, 470}); + + assertTrue("Fehler: Element 503 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(503)); + dieListe.einfuegenBei(10, 81); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 81, 416, 81, 966, 997, 613, 503, 368, 687, 118, 341, 869, 491, 388, 296, 490, 630, 470}); + + dieListe.anhaengen(137); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 81, 416, 81, 966, 997, 613, 503, 368, 687, 118, 341, 869, 491, 388, 296, 490, 630, 470, 137}); + + assertTrue("Fehler: Element 137 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(137)); + assertTrue("Fehler: Element 778 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(778)); + dieListe.einfuegenBei(25, 77); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 81, 416, 81, 966, 997, 613, 503, 368, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 137}); + + assertFalse("Fehler: Element 910 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(910)); + assertTrue("Fehler: Element 126 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(126)); + assertTrue("Fehler: Element 323 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(323)); + dieListe.einfuegenBei(18, 711); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 81, 416, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 137}); + + dieListe.anhaengen(307); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 81, 416, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 137, 307}); + + dieListe.einfuegenBei(30, 362); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 81, 416, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 362, 137, 307}); + + assertTrue("Fehler: Element 997 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(997)); + dieListe.anhaengen(914); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 81, 416, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 362, 137, 307, 914}); + + assertTrue("Fehler: Element 118 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(118)); + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 81, 416, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 362, 137, 307, 914, 189}); + + dieListe.einfuegenBei(10, 719); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 362, 137, 307, 914, 189}); + + assertTrue("Fehler: Element 997 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(997)); + dieListe.einfuegenBei(13, 63); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 362, 137, 307, 914, 189}); + + dieListe.einfuegenBei(35, 390); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 362, 137, 307, 390, 914, 189}); + + assertTrue("Fehler: Element 380 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(380)); + dieListe.anhaengen(851); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 362, 137, 307, 390, 914, 189, 851}); + + assertFalse("Fehler: Element 508 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(508)); + dieListe.anhaengen(100); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 362, 137, 307, 390, 914, 189, 851, 100}); + + assertTrue("Fehler: Element 941 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(941)); + assertTrue("Fehler: Element 491 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(491)); + dieListe.einfuegenBei(14, 274); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 362, 137, 307, 390, 914, 189, 851, 100}); + + assertTrue("Fehler: Element 687 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(687)); + assertTrue("Fehler: Element 590 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(590)); + dieListe.einfuegenBei(30, 91); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 490, 630, 470, 362, 137, 307, 390, 914, 189, 851, 100}); + + assertTrue("Fehler: Element 189 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(189)); + assertTrue("Fehler: Element 719 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(719)); + dieListe.anhaengen(213); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 490, 630, 470, 362, 137, 307, 390, 914, 189, 851, 100, 213}); + + assertFalse("Fehler: Element 847 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(847)); + assertTrue("Fehler: Element 941 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(941)); + dieListe.anhaengen(401); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 490, 630, 470, 362, 137, 307, 390, 914, 189, 851, 100, 213, 401}); + + dieListe.anhaengen(870); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 490, 630, 470, 362, 137, 307, 390, 914, 189, 851, 100, 213, 401, 870}); + + dieListe.einfuegenBei(38, 201); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 490, 630, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870}); + + dieListe.anhaengen(651); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 490, 630, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651}); + + dieListe.anhaengen(508); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 490, 630, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508}); + + dieListe.anhaengen(372); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 490, 630, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372}); + + assertTrue("Fehler: Element 63 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(63)); + dieListe.anhaengen(805); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 490, 630, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805}); + + dieListe.einfuegenBei(31, 26); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805}); + + dieListe.anhaengen(170); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805, 170}); + + assertFalse("Fehler: Element 263 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(263)); + dieListe.anhaengen(490); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805, 170, 490}); + + dieListe.anhaengen(496); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805, 170, 490, 496}); + + dieListe.einfuegenBei(34, 331); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 331, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805, 170, 490, 496}); + + dieListe.einfuegenBei(38, 318); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 331, 470, 362, 137, 318, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805, 170, 490, 496}); + + assertFalse("Fehler: Element 102 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(102)); + dieListe.anhaengen(212); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 331, 470, 362, 137, 318, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805, 170, 490, 496, 212}); + + dieListe.anhaengen(626); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 331, 470, 362, 137, 318, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805, 170, 490, 496, 212, 626}); + + assertFalse("Fehler: Element 927 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(927)); + dieListe.einfuegenBei(34, 666); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 666, 331, 470, 362, 137, 318, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805, 170, 490, 496, 212, 626}); + + assertFalse("Fehler: Element 367 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(367)); + dieListe.einfuegenBei(54, 123); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 666, 331, 470, 362, 137, 318, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805, 123, 170, 490, 496, 212, 626}); + + assertTrue("Fehler: Element 613 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(613)); + assertTrue("Fehler: Element 274 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(274)); + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 766); + Tester.pruefeListenInhalt(dieListe, new int[]{766}); + + dieListe.einfuegenBei(1, 357); + Tester.pruefeListenInhalt(dieListe, new int[]{766, 357}); + + assertFalse("Fehler: Element 702 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(702)); + dieListe.einfuegenBei(1, 250); + Tester.pruefeListenInhalt(dieListe, new int[]{766, 250, 357}); + + dieListe.anhaengen(965); + Tester.pruefeListenInhalt(dieListe, new int[]{766, 250, 357, 965}); + + dieListe.anhaengen(151); + Tester.pruefeListenInhalt(dieListe, new int[]{766, 250, 357, 965, 151}); + + dieListe.einfuegenBei(0, 918); + Tester.pruefeListenInhalt(dieListe, new int[]{918, 766, 250, 357, 965, 151}); + + dieListe.anhaengen(175); + Tester.pruefeListenInhalt(dieListe, new int[]{918, 766, 250, 357, 965, 151, 175}); + + assertTrue("Fehler: Element 250 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(250)); + dieListe.anhaengen(545); + Tester.pruefeListenInhalt(dieListe, new int[]{918, 766, 250, 357, 965, 151, 175, 545}); + + assertTrue("Fehler: Element 151 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(151)); + dieListe.anhaengen(894); + Tester.pruefeListenInhalt(dieListe, new int[]{918, 766, 250, 357, 965, 151, 175, 545, 894}); + + dieListe.einfuegenBei(3, 20); + Tester.pruefeListenInhalt(dieListe, new int[]{918, 766, 250, 20, 357, 965, 151, 175, 545, 894}); + + dieListe.einfuegenBei(4, 365); + Tester.pruefeListenInhalt(dieListe, new int[]{918, 766, 250, 20, 365, 357, 965, 151, 175, 545, 894}); + + dieListe.einfuegenBei(4, 101); + Tester.pruefeListenInhalt(dieListe, new int[]{918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 894}); + + assertTrue("Fehler: Element 766 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(766)); + dieListe.einfuegenBei(0, 430); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 894}); + + dieListe.anhaengen(655); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 894, 655}); + + dieListe.anhaengen(105); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 894, 655, 105}); + + assertTrue("Fehler: Element 766 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(766)); + dieListe.einfuegenBei(12, 798); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 798, 894, 655, 105}); + + assertTrue("Fehler: Element 101 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(101)); + dieListe.einfuegenBei(12, 317); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 317, 798, 894, 655, 105}); + + dieListe.einfuegenBei(14, 16); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 317, 798, 16, 894, 655, 105}); + + assertTrue("Fehler: Element 175 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(175)); + assertFalse("Fehler: Element 752 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(752)); + dieListe.anhaengen(103); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103}); + + dieListe.anhaengen(99); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99}); + + dieListe.anhaengen(51); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51}); + + assertFalse("Fehler: Element 619 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(619)); + dieListe.anhaengen(806); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806}); + + dieListe.anhaengen(96); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96}); + + assertTrue("Fehler: Element 655 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(655)); + assertFalse("Fehler: Element 60 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(60)); + dieListe.anhaengen(52); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52}); + + dieListe.einfuegenBei(6, 436); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 436, 365, 357, 965, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52}); + + assertTrue("Fehler: Element 365 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(365)); + dieListe.einfuegenBei(10, 457); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52}); + + dieListe.anhaengen(991); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 991}); + + dieListe.anhaengen(570); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 991, 570}); + + dieListe.anhaengen(810); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 991, 570, 810}); + + dieListe.anhaengen(761); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 991, 570, 810, 761}); + + dieListe.anhaengen(618); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 991, 570, 810, 761, 618}); + + assertFalse("Fehler: Element 989 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(989)); + dieListe.einfuegenBei(26, 315); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618}); + + dieListe.einfuegenBei(3, 309); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618}); + + assertTrue("Fehler: Element 545 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(545)); + assertTrue("Fehler: Element 20 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(20)); + assertTrue("Fehler: Element 894 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(894)); + dieListe.anhaengen(597); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597}); + + assertFalse("Fehler: Element 328 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(328)); + assertTrue("Fehler: Element 52 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(52)); + assertFalse("Fehler: Element 294 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(294)); + dieListe.anhaengen(283); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283}); + + dieListe.anhaengen(809); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809}); + + assertTrue("Fehler: Element 283 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(283)); + dieListe.anhaengen(487); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487}); + + dieListe.einfuegenBei(7, 951); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 101, 951, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487}); + + assertTrue("Fehler: Element 545 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(545)); + assertFalse("Fehler: Element 816 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(816)); + dieListe.anhaengen(78); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 101, 951, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487, 78}); + + dieListe.einfuegenBei(6, 10); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 10, 101, 951, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487, 78}); + + dieListe.anhaengen(47); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 10, 101, 951, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487, 78, 47}); + + dieListe.anhaengen(62); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 10, 101, 951, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487, 78, 47, 62}); + + assertTrue("Fehler: Element 357 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(357)); + assertTrue("Fehler: Element 78 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(78)); + dieListe.anhaengen(508); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 10, 101, 951, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487, 78, 47, 62, 508}); + + dieListe.einfuegenBei(10, 913); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487, 78, 47, 62, 508}); + + dieListe.einfuegenBei(5, 415); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487, 78, 47, 62, 508}); + + dieListe.anhaengen(199); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487, 78, 47, 62, 508, 199}); + + dieListe.einfuegenBei(35, 505); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 505, 761, 618, 597, 283, 809, 487, 78, 47, 62, 508, 199}); + + dieListe.anhaengen(98); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 505, 761, 618, 597, 283, 809, 487, 78, 47, 62, 508, 199, 98}); + + assertFalse("Fehler: Element 212 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(212)); + assertTrue("Fehler: Element 52 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(52)); + dieListe.einfuegenBei(29, 759); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 597, 283, 809, 487, 78, 47, 62, 508, 199, 98}); + + dieListe.einfuegenBei(48, 366); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 597, 283, 809, 487, 78, 47, 62, 508, 199, 366, 98}); + + dieListe.einfuegenBei(44, 105); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98}); + + dieListe.einfuegenBei(39, 63); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98}); + + assertTrue("Fehler: Element 798 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(798)); + dieListe.anhaengen(391); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98, 391}); + + assertFalse("Fehler: Element 204 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(204)); + assertFalse("Fehler: Element 738 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(738)); + assertTrue("Fehler: Element 913 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(913)); + dieListe.einfuegenBei(17, 613); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 613, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98, 391}); + + dieListe.anhaengen(450); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 613, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98, 391, 450}); + + assertFalse("Fehler: Element 115 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(115)); + assertTrue("Fehler: Element 759 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(759)); + assertTrue("Fehler: Element 457 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(457)); + dieListe.anhaengen(39); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 613, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98, 391, 450, 39}); + + assertFalse("Fehler: Element 507 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(507)); + assertTrue("Fehler: Element 51 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(51)); + dieListe.anhaengen(305); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 613, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98, 391, 450, 39, 305}); + + dieListe.anhaengen(650); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 613, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98, 391, 450, 39, 305, 650}); + + assertFalse("Fehler: Element 602 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(602)); + assertTrue("Fehler: Element 415 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(415)); + assertFalse("Fehler: Element 145 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(145)); + dieListe.anhaengen(191); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 613, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98, 391, 450, 39, 305, 650, 191}); + + dieListe.anhaengen(761); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 613, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98, 391, 450, 39, 305, 650, 191, 761}); + + assertTrue("Fehler: Element 761 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(761)); + dieListe.anhaengen(45); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 613, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98, 391, 450, 39, 305, 650, 191, 761, 45}); + + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 901); + Tester.pruefeListenInhalt(dieListe, new int[]{901}); + + dieListe.anhaengen(308); + Tester.pruefeListenInhalt(dieListe, new int[]{901, 308}); + + dieListe.einfuegenBei(1, 511); + Tester.pruefeListenInhalt(dieListe, new int[]{901, 511, 308}); + + assertFalse("Fehler: Element 954 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(954)); + dieListe.einfuegenBei(0, 633); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 901, 511, 308}); + + dieListe.einfuegenBei(2, 758); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 901, 758, 511, 308}); + + dieListe.einfuegenBei(1, 787); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 901, 758, 511, 308}); + + assertFalse("Fehler: Element 835 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(835)); + assertFalse("Fehler: Element 853 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(853)); + dieListe.anhaengen(302); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 901, 758, 511, 308, 302}); + + dieListe.einfuegenBei(2, 137); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 758, 511, 308, 302}); + + assertTrue("Fehler: Element 137 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(137)); + dieListe.anhaengen(688); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 758, 511, 308, 302, 688}); + + dieListe.anhaengen(946); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 758, 511, 308, 302, 688, 946}); + + dieListe.anhaengen(222); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 758, 511, 308, 302, 688, 946, 222}); + + dieListe.einfuegenBei(4, 688); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222}); + + assertFalse("Fehler: Element 529 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(529)); + assertTrue("Fehler: Element 511 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(511)); + dieListe.anhaengen(168); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168}); + + dieListe.anhaengen(341); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168, 341}); + + dieListe.anhaengen(188); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188}); + + dieListe.anhaengen(334); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334}); + + dieListe.anhaengen(857); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334, 857}); + + assertFalse("Fehler: Element 970 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(970)); + dieListe.anhaengen(288); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334, 857, 288}); + + dieListe.einfuegenBei(0, 42); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334, 857, 288}); + + assertFalse("Fehler: Element 737 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(737)); + dieListe.einfuegenBei(19, 220); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334, 857, 288, 220}); + + dieListe.einfuegenBei(1, 853); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334, 857, 288, 220}); + + dieListe.anhaengen(814); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334, 857, 288, 220, 814}); + + dieListe.einfuegenBei(7, 305); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334, 857, 288, 220, 814}); + + dieListe.anhaengen(767); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334, 857, 288, 220, 814, 767}); + + dieListe.einfuegenBei(9, 229); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334, 857, 288, 220, 814, 767}); + + dieListe.einfuegenBei(19, 35); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 688, 946, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767}); + + dieListe.anhaengen(512); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 688, 946, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512}); + + dieListe.anhaengen(676); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 688, 946, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676}); + + assertFalse("Fehler: Element 916 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(916)); + dieListe.anhaengen(466); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 688, 946, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466}); + + dieListe.einfuegenBei(13, 101); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466}); + + assertTrue("Fehler: Element 302 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(302)); + dieListe.einfuegenBei(16, 381); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466}); + + dieListe.einfuegenBei(31, 434); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466, 434}); + + dieListe.anhaengen(496); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466, 434, 496}); + + dieListe.anhaengen(846); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846}); + + dieListe.anhaengen(66); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 66}); + + assertTrue("Fehler: Element 857 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(857)); + assertTrue("Fehler: Element 633 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(633)); + dieListe.einfuegenBei(34, 945); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66}); + + dieListe.anhaengen(156); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156}); + + dieListe.anhaengen(536); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536}); + + dieListe.anhaengen(852); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852}); + + dieListe.einfuegenBei(24, 65); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852}); + + assertFalse("Fehler: Element 922 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(922)); + dieListe.einfuegenBei(3, 39); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 39, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852}); + + dieListe.einfuegenBei(5, 853); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 39, 787, 853, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852}); + + assertTrue("Fehler: Element 220 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(220)); + dieListe.einfuegenBei(22, 657); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 39, 787, 853, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 657, 188, 35, 334, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852}); + + assertTrue("Fehler: Element 302 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(302)); + dieListe.anhaengen(821); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 39, 787, 853, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 657, 188, 35, 334, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821}); + + dieListe.einfuegenBei(22, 446); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 39, 787, 853, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 446, 657, 188, 35, 334, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821}); + + assertFalse("Fehler: Element 463 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(463)); + assertFalse("Fehler: Element 807 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(807)); + dieListe.einfuegenBei(27, 630); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 39, 787, 853, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821}); + + dieListe.einfuegenBei(13, 557); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 39, 787, 853, 137, 901, 688, 305, 758, 229, 511, 557, 308, 302, 101, 688, 946, 381, 222, 168, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821}); + + dieListe.einfuegenBei(22, 740); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 39, 787, 853, 137, 901, 688, 305, 758, 229, 511, 557, 308, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821}); + + dieListe.einfuegenBei(1, 926); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 853, 137, 901, 688, 305, 758, 229, 511, 557, 308, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821}); + + dieListe.einfuegenBei(6, 524); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 511, 557, 308, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821}); + + dieListe.einfuegenBei(14, 943); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 308, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821}); + + dieListe.anhaengen(459); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 308, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459}); + + dieListe.anhaengen(799); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 308, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 799}); + + dieListe.einfuegenBei(17, 315); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 315, 308, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 799}); + + dieListe.anhaengen(469); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 315, 308, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 799, 469}); + + assertTrue("Fehler: Element 853 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(853)); + assertFalse("Fehler: Element 728 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(728)); + dieListe.einfuegenBei(19, 36); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 799, 469}); + + dieListe.einfuegenBei(17, 37); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 799, 469}); + + dieListe.einfuegenBei(55, 474); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 474, 799, 469}); + + assertFalse("Fehler: Element 947 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(947)); + assertTrue("Fehler: Element 688 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(688)); + dieListe.anhaengen(999); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 474, 799, 469, 999}); + + dieListe.einfuegenBei(29, 549); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 474, 799, 469, 999}); + + dieListe.einfuegenBei(60, 556); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 474, 799, 469, 999, 556}); + + assertTrue("Fehler: Element 536 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(536)); + dieListe.anhaengen(77); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 474, 799, 469, 999, 556, 77}); + + dieListe.einfuegenBei(7, 760); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 760, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 474, 799, 469, 999, 556, 77}); + + dieListe.anhaengen(470); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 760, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 474, 799, 469, 999, 556, 77, 470}); + + dieListe.anhaengen(97); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 760, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 474, 799, 469, 999, 556, 77, 470, 97}); + + dieListe.einfuegenBei(52, 387); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 760, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 387, 156, 536, 852, 821, 459, 474, 799, 469, 999, 556, 77, 470, 97}); + + dieListe.anhaengen(102); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 760, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 387, 156, 536, 852, 821, 459, 474, 799, 469, 999, 556, 77, 470, 97, 102}); + + assertFalse("Fehler: Element 958 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(958)); + dieListe.einfuegenBei(55, 532); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 760, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 387, 156, 536, 532, 852, 821, 459, 474, 799, 469, 999, 556, 77, 470, 97, 102}); + + dieListe.einfuegenBei(37, 76); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 760, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 76, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 387, 156, 536, 532, 852, 821, 459, 474, 799, 469, 999, 556, 77, 470, 97, 102}); + + dieListe.anhaengen(289); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 760, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 76, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 387, 156, 536, 532, 852, 821, 459, 474, 799, 469, 999, 556, 77, 470, 97, 102, 289}); + + assertTrue("Fehler: Element 37 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(37)); + assertTrue("Fehler: Element 229 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(229)); + dieListe.anhaengen(395); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 760, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 76, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 387, 156, 536, 532, 852, 821, 459, 474, 799, 469, 999, 556, 77, 470, 97, 102, 289, 395}); + + assertFalse("Fehler: Element 586 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(586)); + assertFalse("Fehler: Element 68 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(68)); + assertFalse("Fehler: Element 310 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(310)); + assertTrue("Fehler: Element 799 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(799)); + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest6.java b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest6.java new file mode 100644 index 0000000..7ce4637 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest6.java @@ -0,0 +1,2762 @@ +package tests; + +import static org.junit.Assert.*; + +import liste.*; + +/** + * Die Test-Klasse SubTest6. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest6 { + + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(651); + Tester.pruefeListenInhalt(dieListe, new int[]{651}); + + dieListe.einfuegenBei(1, 576); + Tester.pruefeListenInhalt(dieListe, new int[]{651, 576}); + + assertTrue("Fehler: Element 576 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(576)); + assertTrue("Fehler: Element 651 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(651)); + dieListe.anhaengen(763); + Tester.pruefeListenInhalt(dieListe, new int[]{651, 576, 763}); + + assertFalse("Fehler: Element 586 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(586)); + dieListe.anhaengen(920); + Tester.pruefeListenInhalt(dieListe, new int[]{651, 576, 763, 920}); + + dieListe.einfuegenBei(0, 418); + Tester.pruefeListenInhalt(dieListe, new int[]{418, 651, 576, 763, 920}); + + dieListe.anhaengen(781); + Tester.pruefeListenInhalt(dieListe, new int[]{418, 651, 576, 763, 920, 781}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{418, 576, 763, 920, 781}); + + dieListe.anhaengen(304); + Tester.pruefeListenInhalt(dieListe, new int[]{418, 576, 763, 920, 781, 304}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{418, 763, 920, 781, 304}); + + assertTrue("Fehler: Element 304 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(304)); + assertFalse("Fehler: Element 468 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(468)); + assertTrue("Fehler: Element 781 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(781)); + dieListe.einfuegenBei(0, 223); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 418, 763, 920, 781, 304}); + + assertFalse("Fehler: Element 24 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(24)); + dieListe.anhaengen(939); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 418, 763, 920, 781, 304, 939}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 418, 763, 920, 781, 939}); + + dieListe.einfuegenBei(4, 685); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 418, 763, 920, 685, 781, 939}); + + dieListe.anhaengen(475); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 418, 763, 920, 685, 781, 939, 475}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 418, 763, 920, 685, 781, 939}); + + assertTrue("Fehler: Element 418 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(418)); + dieListe.einfuegenBei(7, 598); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 418, 763, 920, 685, 781, 939, 598}); + + assertFalse("Fehler: Element 843 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(843)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{418, 763, 920, 685, 781, 939, 598}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{418, 763, 685, 781, 939, 598}); + + dieListe.anhaengen(402); + Tester.pruefeListenInhalt(dieListe, new int[]{418, 763, 685, 781, 939, 598, 402}); + + dieListe.einfuegenBei(1, 36); + Tester.pruefeListenInhalt(dieListe, new int[]{418, 36, 763, 685, 781, 939, 598, 402}); + + dieListe.einfuegenBei(0, 13); + Tester.pruefeListenInhalt(dieListe, new int[]{13, 418, 36, 763, 685, 781, 939, 598, 402}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(862); + Tester.pruefeListenInhalt(dieListe, new int[]{862}); + + dieListe.einfuegenBei(0, 814); + Tester.pruefeListenInhalt(dieListe, new int[]{814, 862}); + + assertTrue("Fehler: Element 862 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(862)); + dieListe.einfuegenBei(0, 615); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 814, 862}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 862}); + + dieListe.einfuegenBei(2, 963); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 862, 963}); + + dieListe.anhaengen(419); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 862, 963, 419}); + + assertTrue("Fehler: Element 862 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(862)); + dieListe.einfuegenBei(4, 371); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 862, 963, 419, 371}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 963, 419, 371}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 963, 371}); + + assertFalse("Fehler: Element 609 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(609)); + dieListe.anhaengen(641); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 963, 371, 641}); + + assertTrue("Fehler: Element 615 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(615)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 963, 371}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 371}); + + assertTrue("Fehler: Element 615 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(615)); + dieListe.anhaengen(952); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 371, 952}); + + assertFalse("Fehler: Element 187 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(187)); + assertTrue("Fehler: Element 952 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(952)); + dieListe.anhaengen(133); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 371, 952, 133}); + + assertTrue("Fehler: Element 371 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(371)); + dieListe.anhaengen(958); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 371, 952, 133, 958}); + + dieListe.anhaengen(20); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 371, 952, 133, 958, 20}); + + assertFalse("Fehler: Element 422 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(422)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{371, 952, 133, 958, 20}); + + assertTrue("Fehler: Element 958 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(958)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(772); + Tester.pruefeListenInhalt(dieListe, new int[]{772}); + + assertFalse("Fehler: Element 224 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(224)); + dieListe.anhaengen(968); + Tester.pruefeListenInhalt(dieListe, new int[]{772, 968}); + + dieListe.einfuegenBei(1, 105); + Tester.pruefeListenInhalt(dieListe, new int[]{772, 105, 968}); + + dieListe.einfuegenBei(0, 503); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 772, 105, 968}); + + assertTrue("Fehler: Element 968 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(968)); + assertFalse("Fehler: Element 803 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(803)); + assertTrue("Fehler: Element 968 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(968)); + dieListe.anhaengen(74); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 772, 105, 968, 74}); + + dieListe.einfuegenBei(3, 682); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 772, 105, 682, 968, 74}); + + assertTrue("Fehler: Element 772 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(772)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 682, 968, 74}); + + assertTrue("Fehler: Element 105 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(105)); + dieListe.einfuegenBei(2, 614); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 614, 682, 968, 74}); + + dieListe.einfuegenBei(0, 525); + Tester.pruefeListenInhalt(dieListe, new int[]{525, 503, 105, 614, 682, 968, 74}); + + assertTrue("Fehler: Element 503 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(503)); + assertTrue("Fehler: Element 968 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(968)); + dieListe.anhaengen(878); + Tester.pruefeListenInhalt(dieListe, new int[]{525, 503, 105, 614, 682, 968, 74, 878}); + + dieListe.einfuegenBei(8, 185); + Tester.pruefeListenInhalt(dieListe, new int[]{525, 503, 105, 614, 682, 968, 74, 878, 185}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{525, 503, 105, 682, 968, 74, 878, 185}); + + assertTrue("Fehler: Element 878 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(878)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 682, 968, 74, 878, 185}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 682, 968, 74, 185}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 74, 185}); + + assertFalse("Fehler: Element 313 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(313)); + assertTrue("Fehler: Element 968 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(968)); + dieListe.anhaengen(97); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 74, 185, 97}); + + dieListe.einfuegenBei(3, 177); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 74, 185, 97}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 74, 97}); + + dieListe.anhaengen(816); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 74, 97, 816}); + + assertTrue("Fehler: Element 105 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(105)); + dieListe.einfuegenBei(5, 180); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 74, 180, 97, 816}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 74, 180, 816}); + + assertFalse("Fehler: Element 475 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(475)); + dieListe.einfuegenBei(4, 40); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 40, 74, 180, 816}); + + assertFalse("Fehler: Element 849 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(849)); + dieListe.anhaengen(910); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 40, 74, 180, 816, 910}); + + dieListe.anhaengen(679); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 40, 74, 180, 816, 910, 679}); + + assertFalse("Fehler: Element 295 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(295)); + dieListe.einfuegenBei(4, 739); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 739, 40, 74, 180, 816, 910, 679}); + + dieListe.anhaengen(773); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 739, 40, 74, 180, 816, 910, 679, 773}); + + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 810); + Tester.pruefeListenInhalt(dieListe, new int[]{810}); + + dieListe.einfuegenBei(0, 594); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 810}); + + dieListe.anhaengen(914); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 810, 914}); + + assertTrue("Fehler: Element 810 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(810)); + assertFalse("Fehler: Element 84 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(84)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914}); + + dieListe.einfuegenBei(2, 791); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 791}); + + dieListe.anhaengen(92); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 791, 92}); + + dieListe.anhaengen(154); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 791, 92, 154}); + + dieListe.anhaengen(79); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 791, 92, 154, 79}); + + dieListe.anhaengen(266); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 791, 92, 154, 79, 266}); + + dieListe.anhaengen(535); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 791, 92, 154, 79, 266, 535}); + + dieListe.einfuegenBei(6, 522); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 791, 92, 154, 79, 522, 266, 535}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 791, 92, 154, 79, 266, 535}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 92, 154, 79, 266, 535}); + + dieListe.anhaengen(496); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 92, 154, 79, 266, 535, 496}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 92, 154, 79, 266, 496}); + + dieListe.anhaengen(192); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 92, 154, 79, 266, 496, 192}); + + dieListe.anhaengen(723); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 92, 154, 79, 266, 496, 192, 723}); + + dieListe.anhaengen(299); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 92, 154, 79, 266, 496, 192, 723, 299}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 154, 79, 266, 496, 192, 723, 299}); + + assertTrue("Fehler: Element 299 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(299)); + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 154, 79, 266, 496, 192, 299}); + + assertFalse("Fehler: Element 407 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(407)); + dieListe.einfuegenBei(5, 143); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 154, 79, 266, 143, 496, 192, 299}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 154, 79, 266, 143, 496, 192}); + + dieListe.einfuegenBei(4, 126); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 154, 79, 126, 266, 143, 496, 192}); + + dieListe.einfuegenBei(7, 374); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 154, 79, 126, 266, 143, 374, 496, 192}); + + dieListe.einfuegenBei(2, 47); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 47, 154, 79, 126, 266, 143, 374, 496, 192}); + + dieListe.einfuegenBei(8, 686); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 47, 154, 79, 126, 266, 143, 686, 374, 496, 192}); + + dieListe.einfuegenBei(3, 607); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 47, 607, 154, 79, 126, 266, 143, 686, 374, 496, 192}); + + dieListe.einfuegenBei(3, 599); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 47, 599, 607, 154, 79, 126, 266, 143, 686, 374, 496, 192}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 607, 154, 79, 126, 266, 143, 686, 374, 496, 192}); + + assertTrue("Fehler: Element 686 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(686)); + dieListe.einfuegenBei(3, 216); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 79, 126, 266, 143, 686, 374, 496, 192}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 266, 143, 686, 374, 496, 192}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 266, 143, 374, 496, 192}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 143, 374, 496, 192}); + + dieListe.einfuegenBei(10, 865); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 143, 374, 496, 865, 192}); + + assertTrue("Fehler: Element 607 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(607)); + assertTrue("Fehler: Element 914 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(914)); + dieListe.einfuegenBei(8, 444); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 143, 444, 374, 496, 865, 192}); + + dieListe.anhaengen(137); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 143, 444, 374, 496, 865, 192, 137}); + + dieListe.anhaengen(349); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 143, 444, 374, 496, 865, 192, 137, 349}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 143, 444, 374, 496, 865, 137, 349}); + + assertTrue("Fehler: Element 914 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(914)); + assertFalse("Fehler: Element 156 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(156)); + assertTrue("Fehler: Element 349 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(349)); + dieListe.anhaengen(318); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 143, 444, 374, 496, 865, 137, 349, 318}); + + dieListe.anhaengen(700); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 143, 444, 374, 496, 865, 137, 349, 318, 700}); + + assertTrue("Fehler: Element 444 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(444)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 154, 126, 143, 444, 374, 496, 865, 137, 349, 318, 700}); + + assertTrue("Fehler: Element 216 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(216)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 154, 126, 143, 444, 496, 865, 137, 349, 318, 700}); + + assertFalse("Fehler: Element 597 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(597)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 126, 143, 444, 496, 865, 137, 349, 318, 700}); + + dieListe.einfuegenBei(10, 414); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 126, 143, 444, 496, 865, 137, 414, 349, 318, 700}); + + assertFalse("Fehler: Element 188 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(188)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 143, 444, 496, 865, 137, 414, 349, 318, 700}); + + assertFalse("Fehler: Element 175 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(175)); + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 143, 444, 496, 865, 137, 414, 349, 700}); + + dieListe.einfuegenBei(9, 515); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 143, 444, 496, 865, 137, 515, 414, 349, 700}); + + dieListe.einfuegenBei(7, 768); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 143, 444, 496, 768, 865, 137, 515, 414, 349, 700}); + + dieListe.einfuegenBei(7, 82); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 143, 444, 496, 82, 768, 865, 137, 515, 414, 349, 700}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 143, 444, 496, 82, 768, 865, 515, 414, 349, 700}); + + dieListe.einfuegenBei(4, 443); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 443, 143, 444, 496, 82, 768, 865, 515, 414, 349, 700}); + + dieListe.einfuegenBei(8, 713); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 414, 349, 700}); + + dieListe.einfuegenBei(3, 311); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 311, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 414, 349, 700}); + + assertFalse("Fehler: Element 553 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(553)); + dieListe.anhaengen(503); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 311, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 414, 349, 700, 503}); + + dieListe.anhaengen(665); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 311, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 414, 349, 700, 503, 665}); + + dieListe.einfuegenBei(14, 923); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 311, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 923, 414, 349, 700, 503, 665}); + + assertFalse("Fehler: Element 274 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(274)); + assertTrue("Fehler: Element 713 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(713)); + assertFalse("Fehler: Element 138 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(138)); + dieListe.anhaengen(518); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 311, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 923, 414, 349, 700, 503, 665, 518}); + + dieListe.entferneBei(17); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 311, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 923, 414, 349, 503, 665, 518}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 923, 414, 349, 503, 665, 518}); + + dieListe.anhaengen(758); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 923, 414, 349, 503, 665, 518, 758}); + + dieListe.entferneBei(14); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 923, 349, 503, 665, 518, 758}); + + assertFalse("Fehler: Element 662 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(662)); + dieListe.anhaengen(578); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 923, 349, 503, 665, 518, 758, 578}); + + dieListe.einfuegenBei(18, 349); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 923, 349, 503, 665, 518, 349, 758, 578}); + + dieListe.einfuegenBei(11, 961); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 443, 143, 444, 496, 713, 82, 768, 961, 865, 515, 923, 349, 503, 665, 518, 349, 758, 578}); + + dieListe.anhaengen(166); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 443, 143, 444, 496, 713, 82, 768, 961, 865, 515, 923, 349, 503, 665, 518, 349, 758, 578, 166}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 143, 444, 496, 713, 82, 768, 961, 865, 515, 923, 349, 503, 665, 518, 349, 758, 578, 166}); + + assertFalse("Fehler: Element 776 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(776)); + dieListe.einfuegenBei(8, 665); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 143, 444, 496, 713, 665, 82, 768, 961, 865, 515, 923, 349, 503, 665, 518, 349, 758, 578, 166}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 749); + Tester.pruefeListenInhalt(dieListe, new int[]{749}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 588); + Tester.pruefeListenInhalt(dieListe, new int[]{588}); + + assertFalse("Fehler: Element 942 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(942)); + assertTrue("Fehler: Element 588 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(588)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(264); + Tester.pruefeListenInhalt(dieListe, new int[]{264}); + + dieListe.einfuegenBei(1, 842); + Tester.pruefeListenInhalt(dieListe, new int[]{264, 842}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(709); + Tester.pruefeListenInhalt(dieListe, new int[]{709}); + + assertTrue("Fehler: Element 709 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(709)); + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 962); + Tester.pruefeListenInhalt(dieListe, new int[]{962}); + + dieListe.einfuegenBei(0, 257); + Tester.pruefeListenInhalt(dieListe, new int[]{257, 962}); + + dieListe.einfuegenBei(0, 662); + Tester.pruefeListenInhalt(dieListe, new int[]{662, 257, 962}); + + dieListe.einfuegenBei(2, 798); + Tester.pruefeListenInhalt(dieListe, new int[]{662, 257, 798, 962}); + + assertFalse("Fehler: Element 327 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(327)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{662, 257, 798}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 70); + Tester.pruefeListenInhalt(dieListe, new int[]{70}); + + assertTrue("Fehler: Element 70 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(70)); + assertTrue("Fehler: Element 70 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(70)); + assertFalse("Fehler: Element 181 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(181)); + assertFalse("Fehler: Element 741 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(741)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(890); + Tester.pruefeListenInhalt(dieListe, new int[]{890}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(465); + Tester.pruefeListenInhalt(dieListe, new int[]{465}); + + dieListe.anhaengen(118); + Tester.pruefeListenInhalt(dieListe, new int[]{465, 118}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{118}); + + dieListe.einfuegenBei(1, 665); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 665}); + + assertTrue("Fehler: Element 665 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(665)); + dieListe.einfuegenBei(2, 90); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 665, 90}); + + dieListe.anhaengen(998); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 665, 90, 998}); + + dieListe.anhaengen(60); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 665, 90, 998, 60}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 665, 998, 60}); + + dieListe.anhaengen(365); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 665, 998, 60, 365}); + + dieListe.einfuegenBei(1, 45); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 45, 665, 998, 60, 365}); + + dieListe.anhaengen(275); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 45, 665, 998, 60, 365, 275}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 665, 998, 60, 365, 275}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(69); + Tester.pruefeListenInhalt(dieListe, new int[]{69}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(612); + Tester.pruefeListenInhalt(dieListe, new int[]{612}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(417); + Tester.pruefeListenInhalt(dieListe, new int[]{417}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(595); + Tester.pruefeListenInhalt(dieListe, new int[]{595}); + + dieListe.einfuegenBei(0, 939); + Tester.pruefeListenInhalt(dieListe, new int[]{939, 595}); + + assertTrue("Fehler: Element 939 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(939)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 141); + Tester.pruefeListenInhalt(dieListe, new int[]{141}); + + dieListe.anhaengen(570); + Tester.pruefeListenInhalt(dieListe, new int[]{141, 570}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{570}); + + assertFalse("Fehler: Element 263 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(263)); + assertFalse("Fehler: Element 448 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(448)); + assertFalse("Fehler: Element 95 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(95)); + dieListe.einfuegenBei(1, 684); + Tester.pruefeListenInhalt(dieListe, new int[]{570, 684}); + + dieListe.anhaengen(264); + Tester.pruefeListenInhalt(dieListe, new int[]{570, 684, 264}); + + dieListe.einfuegenBei(1, 478); + Tester.pruefeListenInhalt(dieListe, new int[]{570, 478, 684, 264}); + + dieListe.einfuegenBei(1, 300); + Tester.pruefeListenInhalt(dieListe, new int[]{570, 300, 478, 684, 264}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{300, 478, 684, 264}); + + assertTrue("Fehler: Element 300 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(300)); + assertTrue("Fehler: Element 684 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(684)); + assertTrue("Fehler: Element 478 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(478)); + dieListe.anhaengen(308); + Tester.pruefeListenInhalt(dieListe, new int[]{300, 478, 684, 264, 308}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 264, 308}); + + assertTrue("Fehler: Element 684 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(684)); + dieListe.einfuegenBei(4, 743); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 264, 308, 743}); + + assertFalse("Fehler: Element 825 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(825)); + dieListe.einfuegenBei(2, 721); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 721, 264, 308, 743}); + + dieListe.einfuegenBei(2, 688); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 721, 264, 308, 743}); + + dieListe.einfuegenBei(4, 214); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 721, 214, 264, 308, 743}); + + dieListe.einfuegenBei(3, 144); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 214, 264, 308, 743}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 743}); + + dieListe.einfuegenBei(7, 845); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 845, 743}); + + dieListe.anhaengen(371); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 845, 743, 371}); + + dieListe.anhaengen(606); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 845, 743, 371, 606}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 845, 371, 606}); + + assertFalse("Fehler: Element 196 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(196)); + assertTrue("Fehler: Element 845 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(845)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 845, 606}); + + assertTrue("Fehler: Element 721 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(721)); + dieListe.anhaengen(817); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 845, 606, 817}); + + dieListe.einfuegenBei(7, 575); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 575, 845, 606, 817}); + + assertFalse("Fehler: Element 364 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(364)); + assertTrue("Fehler: Element 845 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(845)); + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 575, 845, 606}); + + dieListe.einfuegenBei(9, 704); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 575, 845, 704, 606}); + + dieListe.einfuegenBei(9, 587); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 575, 845, 587, 704, 606}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 688, 144, 721, 264, 308, 575, 845, 587, 704, 606}); + + assertFalse("Fehler: Element 910 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(910)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 688, 144, 264, 308, 575, 845, 587, 704, 606}); + + dieListe.einfuegenBei(10, 871); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 688, 144, 264, 308, 575, 845, 587, 704, 606, 871}); + + assertTrue("Fehler: Element 704 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(704)); + dieListe.einfuegenBei(1, 600); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 600, 688, 144, 264, 308, 575, 845, 587, 704, 606, 871}); + + dieListe.einfuegenBei(1, 910); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 600, 688, 144, 264, 308, 575, 845, 587, 704, 606, 871}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 600, 688, 144, 264, 308, 575, 587, 704, 606, 871}); + + dieListe.einfuegenBei(2, 326); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 326, 600, 688, 144, 264, 308, 575, 587, 704, 606, 871}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 326, 688, 144, 264, 308, 575, 587, 704, 606, 871}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 326, 688, 264, 308, 575, 587, 704, 606, 871}); + + dieListe.anhaengen(866); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 326, 688, 264, 308, 575, 587, 704, 606, 871, 866}); + + dieListe.anhaengen(406); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 326, 688, 264, 308, 575, 587, 704, 606, 871, 866, 406}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 326, 688, 264, 308, 575, 587, 704, 606, 866, 406}); + + dieListe.anhaengen(954); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 326, 688, 264, 308, 575, 587, 704, 606, 866, 406, 954}); + + dieListe.einfuegenBei(2, 916); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 916, 326, 688, 264, 308, 575, 587, 704, 606, 866, 406, 954}); + + dieListe.anhaengen(483); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 916, 326, 688, 264, 308, 575, 587, 704, 606, 866, 406, 954, 483}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 916, 326, 688, 264, 575, 587, 704, 606, 866, 406, 954, 483}); + + assertFalse("Fehler: Element 477 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(477)); + dieListe.anhaengen(280); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 916, 326, 688, 264, 575, 587, 704, 606, 866, 406, 954, 483, 280}); + + assertFalse("Fehler: Element 307 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(307)); + dieListe.anhaengen(424); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 916, 326, 688, 264, 575, 587, 704, 606, 866, 406, 954, 483, 280, 424}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 931); + Tester.pruefeListenInhalt(dieListe, new int[]{931}); + + assertFalse("Fehler: Element 999 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(999)); + dieListe.anhaengen(829); + Tester.pruefeListenInhalt(dieListe, new int[]{931, 829}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{829}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 737); + Tester.pruefeListenInhalt(dieListe, new int[]{737}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 412); + Tester.pruefeListenInhalt(dieListe, new int[]{412}); + + dieListe.anhaengen(455); + Tester.pruefeListenInhalt(dieListe, new int[]{412, 455}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{412}); + + dieListe.einfuegenBei(1, 884); + Tester.pruefeListenInhalt(dieListe, new int[]{412, 884}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{884}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 995); + Tester.pruefeListenInhalt(dieListe, new int[]{995}); + + dieListe.einfuegenBei(1, 304); + Tester.pruefeListenInhalt(dieListe, new int[]{995, 304}); + + dieListe.anhaengen(220); + Tester.pruefeListenInhalt(dieListe, new int[]{995, 304, 220}); + + dieListe.anhaengen(348); + Tester.pruefeListenInhalt(dieListe, new int[]{995, 304, 220, 348}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{995, 304, 348}); + + assertFalse("Fehler: Element 706 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(706)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 348}); + + dieListe.anhaengen(944); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 348, 944}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 944}); + + dieListe.einfuegenBei(1, 372); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 372, 944}); + + assertTrue("Fehler: Element 944 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(944)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 944}); + + dieListe.anhaengen(225); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 944, 225}); + + dieListe.einfuegenBei(1, 496); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 496, 944, 225}); + + assertTrue("Fehler: Element 225 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(225)); + dieListe.anhaengen(693); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 496, 944, 225, 693}); + + dieListe.einfuegenBei(4, 543); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 496, 944, 225, 543, 693}); + + dieListe.anhaengen(718); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 496, 944, 225, 543, 693, 718}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 944, 225, 543, 693, 718}); + + dieListe.anhaengen(896); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 944, 225, 543, 693, 718, 896}); + + assertTrue("Fehler: Element 225 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(225)); + dieListe.einfuegenBei(0, 159); + Tester.pruefeListenInhalt(dieListe, new int[]{159, 304, 944, 225, 543, 693, 718, 896}); + + dieListe.einfuegenBei(4, 199); + Tester.pruefeListenInhalt(dieListe, new int[]{159, 304, 944, 225, 199, 543, 693, 718, 896}); + + assertTrue("Fehler: Element 304 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(304)); + assertTrue("Fehler: Element 896 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(896)); + dieListe.einfuegenBei(0, 317); + Tester.pruefeListenInhalt(dieListe, new int[]{317, 159, 304, 944, 225, 199, 543, 693, 718, 896}); + + dieListe.anhaengen(858); + Tester.pruefeListenInhalt(dieListe, new int[]{317, 159, 304, 944, 225, 199, 543, 693, 718, 896, 858}); + + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{317, 159, 304, 944, 225, 199, 543, 693, 718, 896, 858, 581}); + + dieListe.einfuegenBei(0, 97); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 159, 304, 944, 225, 199, 543, 693, 718, 896, 858, 581}); + + dieListe.einfuegenBei(4, 667); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 159, 304, 667, 944, 225, 199, 543, 693, 718, 896, 858, 581}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 159, 304, 667, 944, 225, 199, 543, 693, 718, 896, 581}); + + dieListe.anhaengen(267); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 159, 304, 667, 944, 225, 199, 543, 693, 718, 896, 581, 267}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 159, 304, 667, 944, 225, 543, 693, 718, 896, 581, 267}); + + dieListe.anhaengen(368); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 159, 304, 667, 944, 225, 543, 693, 718, 896, 581, 267, 368}); + + dieListe.anhaengen(245); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 159, 304, 667, 944, 225, 543, 693, 718, 896, 581, 267, 368, 245}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 159, 304, 667, 944, 225, 543, 693, 896, 581, 267, 368, 245}); + + dieListe.anhaengen(371); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 159, 304, 667, 944, 225, 543, 693, 896, 581, 267, 368, 245, 371}); + + assertFalse("Fehler: Element 828 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(828)); + dieListe.einfuegenBei(2, 919); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 159, 304, 667, 944, 225, 543, 693, 896, 581, 267, 368, 245, 371}); + + dieListe.entferneBei(14); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 159, 304, 667, 944, 225, 543, 693, 896, 581, 267, 368, 371}); + + dieListe.einfuegenBei(3, 272); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 896, 581, 267, 368, 371}); + + dieListe.anhaengen(718); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 896, 581, 267, 368, 371, 718}); + + dieListe.anhaengen(568); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 896, 581, 267, 368, 371, 718, 568}); + + assertFalse("Fehler: Element 287 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(287)); + dieListe.einfuegenBei(3, 874); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 874, 272, 159, 304, 667, 944, 225, 543, 693, 896, 581, 267, 368, 371, 718, 568}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 896, 581, 267, 368, 371, 718, 568}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 581, 267, 368, 371, 718, 568}); + + dieListe.anhaengen(810); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 581, 267, 368, 371, 718, 568, 810}); + + assertTrue("Fehler: Element 267 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(267)); + assertTrue("Fehler: Element 368 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(368)); + dieListe.anhaengen(65); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 581, 267, 368, 371, 718, 568, 810, 65}); + + dieListe.anhaengen(234); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 581, 267, 368, 371, 718, 568, 810, 65, 234}); + + dieListe.anhaengen(285); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 581, 267, 368, 371, 718, 568, 810, 65, 234, 285}); + + dieListe.einfuegenBei(17, 501); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 581, 267, 368, 371, 718, 568, 501, 810, 65, 234, 285}); + + dieListe.einfuegenBei(7, 818); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 818, 944, 225, 543, 693, 581, 267, 368, 371, 718, 568, 501, 810, 65, 234, 285}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 225, 543, 693, 581, 267, 368, 371, 718, 568, 501, 810, 65, 234, 285}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 368, 371, 718, 568, 501, 810, 65, 234, 285}); + + assertTrue("Fehler: Element 718 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(718)); + dieListe.anhaengen(277); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 368, 371, 718, 568, 501, 810, 65, 234, 285, 277}); + + dieListe.anhaengen(319); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 368, 371, 718, 568, 501, 810, 65, 234, 285, 277, 319}); + + dieListe.anhaengen(190); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 368, 371, 718, 568, 501, 810, 65, 234, 285, 277, 319, 190}); + + dieListe.einfuegenBei(2, 631); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 631, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 368, 371, 718, 568, 501, 810, 65, 234, 285, 277, 319, 190}); + + dieListe.einfuegenBei(13, 516); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 631, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 516, 368, 371, 718, 568, 501, 810, 65, 234, 285, 277, 319, 190}); + + assertTrue("Fehler: Element 371 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(371)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 516, 368, 371, 718, 568, 501, 810, 65, 234, 285, 277, 319, 190}); + + dieListe.entferneBei(21); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 516, 368, 371, 718, 568, 501, 810, 65, 234, 277, 319, 190}); + + dieListe.anhaengen(446); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 516, 368, 371, 718, 568, 501, 810, 65, 234, 277, 319, 190, 446}); + + dieListe.anhaengen(922); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 516, 368, 371, 718, 568, 501, 810, 65, 234, 277, 319, 190, 446, 922}); + + dieListe.anhaengen(442); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 516, 368, 371, 718, 568, 501, 810, 65, 234, 277, 319, 190, 446, 922, 442}); + + assertTrue("Fehler: Element 818 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(818)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 667, 818, 944, 543, 693, 581, 267, 516, 368, 371, 718, 568, 501, 810, 65, 234, 277, 319, 190, 446, 922, 442}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 667, 818, 944, 543, 693, 581, 267, 516, 368, 718, 568, 501, 810, 65, 234, 277, 319, 190, 446, 922, 442}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 667, 818, 944, 543, 693, 581, 267, 516, 368, 568, 501, 810, 65, 234, 277, 319, 190, 446, 922, 442}); + + dieListe.anhaengen(351); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 667, 818, 944, 543, 693, 581, 267, 516, 368, 568, 501, 810, 65, 234, 277, 319, 190, 446, 922, 442, 351}); + + assertTrue("Fehler: Element 234 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(234)); + assertTrue("Fehler: Element 922 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(922)); + assertTrue("Fehler: Element 351 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(351)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 157); + Tester.pruefeListenInhalt(dieListe, new int[]{157}); + + dieListe.anhaengen(344); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 344}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{157}); + + assertTrue("Fehler: Element 157 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(157)); + assertTrue("Fehler: Element 157 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(157)); + assertTrue("Fehler: Element 157 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(157)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(897); + Tester.pruefeListenInhalt(dieListe, new int[]{897}); + + assertTrue("Fehler: Element 897 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(897)); + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(186); + Tester.pruefeListenInhalt(dieListe, new int[]{186}); + + dieListe.anhaengen(758); + Tester.pruefeListenInhalt(dieListe, new int[]{186, 758}); + + assertFalse("Fehler: Element 673 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(673)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{186}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(894); + Tester.pruefeListenInhalt(dieListe, new int[]{894}); + + dieListe.einfuegenBei(0, 873); + Tester.pruefeListenInhalt(dieListe, new int[]{873, 894}); + + dieListe.anhaengen(332); + Tester.pruefeListenInhalt(dieListe, new int[]{873, 894, 332}); + + assertTrue("Fehler: Element 873 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(873)); + assertFalse("Fehler: Element 519 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(519)); + dieListe.einfuegenBei(2, 79); + Tester.pruefeListenInhalt(dieListe, new int[]{873, 894, 79, 332}); + + dieListe.anhaengen(482); + Tester.pruefeListenInhalt(dieListe, new int[]{873, 894, 79, 332, 482}); + + assertTrue("Fehler: Element 873 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(873)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(534); + Tester.pruefeListenInhalt(dieListe, new int[]{534}); + + dieListe.anhaengen(923); + Tester.pruefeListenInhalt(dieListe, new int[]{534, 923}); + + dieListe.einfuegenBei(0, 834); + Tester.pruefeListenInhalt(dieListe, new int[]{834, 534, 923}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{834, 923}); + + assertTrue("Fehler: Element 923 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(923)); + dieListe.anhaengen(45); + Tester.pruefeListenInhalt(dieListe, new int[]{834, 923, 45}); + + dieListe.anhaengen(275); + Tester.pruefeListenInhalt(dieListe, new int[]{834, 923, 45, 275}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 993); + Tester.pruefeListenInhalt(dieListe, new int[]{993}); + + dieListe.einfuegenBei(1, 568); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 568}); + + dieListe.einfuegenBei(1, 966); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 966, 568}); + + dieListe.einfuegenBei(1, 131); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 966, 568}); + + dieListe.anhaengen(863); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 966, 568, 863}); + + assertFalse("Fehler: Element 774 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(774)); + dieListe.anhaengen(123); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 966, 568, 863, 123}); + + dieListe.einfuegenBei(2, 480); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 480, 966, 568, 863, 123}); + + assertFalse("Fehler: Element 873 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(873)); + assertFalse("Fehler: Element 528 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(528)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 480, 568, 863, 123}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 480, 863, 123}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 480, 863}); + + dieListe.anhaengen(416); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 480, 863, 416}); + + dieListe.anhaengen(257); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 480, 863, 416, 257}); + + dieListe.anhaengen(823); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 480, 863, 416, 257, 823}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(806); + Tester.pruefeListenInhalt(dieListe, new int[]{806}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(610); + Tester.pruefeListenInhalt(dieListe, new int[]{610}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(288); + Tester.pruefeListenInhalt(dieListe, new int[]{288}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 98); + Tester.pruefeListenInhalt(dieListe, new int[]{98}); + + dieListe.einfuegenBei(0, 255); + Tester.pruefeListenInhalt(dieListe, new int[]{255, 98}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{255}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(742); + Tester.pruefeListenInhalt(dieListe, new int[]{742}); + + dieListe.einfuegenBei(1, 403); + Tester.pruefeListenInhalt(dieListe, new int[]{742, 403}); + + dieListe.einfuegenBei(0, 236); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 742, 403}); + + assertTrue("Fehler: Element 236 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(236)); + dieListe.einfuegenBei(3, 278); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 742, 403, 278}); + + assertTrue("Fehler: Element 278 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(278)); + dieListe.anhaengen(21); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 742, 403, 278, 21}); + + dieListe.anhaengen(154); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 742, 403, 278, 21, 154}); + + dieListe.einfuegenBei(3, 719); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 742, 403, 719, 278, 21, 154}); + + dieListe.einfuegenBei(7, 599); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 742, 403, 719, 278, 21, 154, 599}); + + assertTrue("Fehler: Element 21 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(21)); + assertFalse("Fehler: Element 93 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(93)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 742, 719, 278, 21, 154, 599}); + + dieListe.einfuegenBei(2, 605); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 742, 605, 719, 278, 21, 154, 599}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 278, 21, 154, 599}); + + dieListe.anhaengen(75); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 278, 21, 154, 599, 75}); + + assertFalse("Fehler: Element 155 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(155)); + assertTrue("Fehler: Element 719 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(719)); + dieListe.anhaengen(528); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 278, 21, 154, 599, 75, 528}); + + dieListe.anhaengen(138); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 278, 21, 154, 599, 75, 528, 138}); + + dieListe.anhaengen(340); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 278, 21, 154, 599, 75, 528, 138, 340}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 278, 21, 154, 599, 75, 138, 340}); + + dieListe.anhaengen(744); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 278, 21, 154, 599, 75, 138, 340, 744}); + + assertFalse("Fehler: Element 449 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(449)); + dieListe.anhaengen(719); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 278, 21, 154, 599, 75, 138, 340, 744, 719}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 154, 599, 75, 138, 340, 744, 719}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 154, 599, 75, 138, 340, 719}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 154, 599, 75, 138, 719}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 599, 75, 138, 719}); + + dieListe.einfuegenBei(7, 445); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 599, 75, 138, 445, 719}); + + dieListe.einfuegenBei(5, 845); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 599, 845, 75, 138, 445, 719}); + + dieListe.anhaengen(333); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 599, 845, 75, 138, 445, 719, 333}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 599, 845, 75, 138, 719, 333}); + + dieListe.einfuegenBei(2, 536); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 536, 719, 21, 599, 845, 75, 138, 719, 333}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 599, 845, 75, 138, 719, 333}); + + assertTrue("Fehler: Element 599 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(599)); + dieListe.anhaengen(733); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 599, 845, 75, 138, 719, 333, 733}); + + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 599, 845, 75, 138, 719, 333, 733, 861}); + + dieListe.einfuegenBei(6, 878); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 599, 845, 878, 75, 138, 719, 333, 733, 861}); + + dieListe.einfuegenBei(1, 889); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 605, 719, 21, 599, 845, 878, 75, 138, 719, 333, 733, 861}); + + dieListe.anhaengen(939); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 605, 719, 21, 599, 845, 878, 75, 138, 719, 333, 733, 861, 939}); + + assertFalse("Fehler: Element 667 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(667)); + dieListe.einfuegenBei(2, 741); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 741, 605, 719, 21, 599, 845, 878, 75, 138, 719, 333, 733, 861, 939}); + + dieListe.anhaengen(664); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 741, 605, 719, 21, 599, 845, 878, 75, 138, 719, 333, 733, 861, 939, 664}); + + dieListe.anhaengen(344); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 741, 605, 719, 21, 599, 845, 878, 75, 138, 719, 333, 733, 861, 939, 664, 344}); + + dieListe.einfuegenBei(18, 976); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 741, 605, 719, 21, 599, 845, 878, 75, 138, 719, 333, 733, 861, 939, 664, 344, 976}); + + dieListe.anhaengen(896); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 741, 605, 719, 21, 599, 845, 878, 75, 138, 719, 333, 733, 861, 939, 664, 344, 976, 896}); + + dieListe.einfuegenBei(4, 794); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 741, 605, 794, 719, 21, 599, 845, 878, 75, 138, 719, 333, 733, 861, 939, 664, 344, 976, 896}); + + dieListe.einfuegenBei(8, 209); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 741, 605, 794, 719, 21, 599, 209, 845, 878, 75, 138, 719, 333, 733, 861, 939, 664, 344, 976, 896}); + + dieListe.entferneBei(15); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 741, 605, 794, 719, 21, 599, 209, 845, 878, 75, 138, 719, 333, 861, 939, 664, 344, 976, 896}); + + dieListe.einfuegenBei(2, 35); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 35, 741, 605, 794, 719, 21, 599, 209, 845, 878, 75, 138, 719, 333, 861, 939, 664, 344, 976, 896}); + + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 760); + Tester.pruefeListenInhalt(dieListe, new int[]{760}); + + dieListe.anhaengen(924); + Tester.pruefeListenInhalt(dieListe, new int[]{760, 924}); + + dieListe.anhaengen(276); + Tester.pruefeListenInhalt(dieListe, new int[]{760, 924, 276}); + + dieListe.einfuegenBei(1, 920); + Tester.pruefeListenInhalt(dieListe, new int[]{760, 920, 924, 276}); + + dieListe.einfuegenBei(1, 574); + Tester.pruefeListenInhalt(dieListe, new int[]{760, 574, 920, 924, 276}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{574, 920, 924, 276}); + + dieListe.anhaengen(528); + Tester.pruefeListenInhalt(dieListe, new int[]{574, 920, 924, 276, 528}); + + dieListe.anhaengen(900); + Tester.pruefeListenInhalt(dieListe, new int[]{574, 920, 924, 276, 528, 900}); + + dieListe.anhaengen(211); + Tester.pruefeListenInhalt(dieListe, new int[]{574, 920, 924, 276, 528, 900, 211}); + + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{574, 920, 924, 276, 528, 900, 211, 189}); + + dieListe.anhaengen(328); + Tester.pruefeListenInhalt(dieListe, new int[]{574, 920, 924, 276, 528, 900, 211, 189, 328}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{574, 924, 276, 528, 900, 211, 189, 328}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{574, 924, 276, 900, 211, 189, 328}); + + dieListe.einfuegenBei(1, 457); + Tester.pruefeListenInhalt(dieListe, new int[]{574, 457, 924, 276, 900, 211, 189, 328}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{457, 924, 276, 900, 211, 189, 328}); + + dieListe.einfuegenBei(7, 459); + Tester.pruefeListenInhalt(dieListe, new int[]{457, 924, 276, 900, 211, 189, 328, 459}); + + dieListe.einfuegenBei(1, 777); + Tester.pruefeListenInhalt(dieListe, new int[]{457, 777, 924, 276, 900, 211, 189, 328, 459}); + + assertFalse("Fehler: Element 59 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(59)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{457, 777, 924, 900, 211, 189, 328, 459}); + + assertTrue("Fehler: Element 189 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(189)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{457, 777, 900, 211, 189, 328, 459}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{457, 900, 211, 189, 328, 459}); + + dieListe.einfuegenBei(1, 319); + Tester.pruefeListenInhalt(dieListe, new int[]{457, 319, 900, 211, 189, 328, 459}); + + dieListe.anhaengen(477); + Tester.pruefeListenInhalt(dieListe, new int[]{457, 319, 900, 211, 189, 328, 459, 477}); + + dieListe.einfuegenBei(5, 955); + Tester.pruefeListenInhalt(dieListe, new int[]{457, 319, 900, 211, 189, 955, 328, 459, 477}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 900, 211, 189, 955, 328, 459, 477}); + + assertTrue("Fehler: Element 319 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(319)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 900, 211, 189, 955, 328, 477}); + + assertTrue("Fehler: Element 955 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(955)); + assertFalse("Fehler: Element 839 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(839)); + assertFalse("Fehler: Element 985 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(985)); + dieListe.einfuegenBei(2, 771); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 900, 771, 211, 189, 955, 328, 477}); + + assertFalse("Fehler: Element 848 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(848)); + dieListe.einfuegenBei(2, 421); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 900, 421, 771, 211, 189, 955, 328, 477}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 421, 771, 211, 189, 955, 328, 477}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 771, 211, 189, 955, 328, 477}); + + assertTrue("Fehler: Element 328 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(328)); + dieListe.anhaengen(852); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 771, 211, 189, 955, 328, 477, 852}); + + dieListe.anhaengen(131); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 771, 211, 189, 955, 328, 477, 852, 131}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 771, 211, 189, 955, 328, 477, 131}); + + dieListe.anhaengen(506); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 771, 211, 189, 955, 328, 477, 131, 506}); + + dieListe.einfuegenBei(0, 59); + Tester.pruefeListenInhalt(dieListe, new int[]{59, 319, 771, 211, 189, 955, 328, 477, 131, 506}); + + dieListe.anhaengen(824); + Tester.pruefeListenInhalt(dieListe, new int[]{59, 319, 771, 211, 189, 955, 328, 477, 131, 506, 824}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 16); + Tester.pruefeListenInhalt(dieListe, new int[]{16}); + + assertTrue("Fehler: Element 16 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(16)); + assertTrue("Fehler: Element 16 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(16)); + dieListe.einfuegenBei(1, 714); + Tester.pruefeListenInhalt(dieListe, new int[]{16, 714}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{16}); + + assertTrue("Fehler: Element 16 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(16)); + assertFalse("Fehler: Element 300 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(300)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(470); + Tester.pruefeListenInhalt(dieListe, new int[]{470}); + + assertFalse("Fehler: Element 472 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(472)); + assertFalse("Fehler: Element 603 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(603)); + dieListe.anhaengen(394); + Tester.pruefeListenInhalt(dieListe, new int[]{470, 394}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{470}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(904); + Tester.pruefeListenInhalt(dieListe, new int[]{904}); + + dieListe.anhaengen(504); + Tester.pruefeListenInhalt(dieListe, new int[]{904, 504}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{904}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(774); + Tester.pruefeListenInhalt(dieListe, new int[]{774}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 476); + Tester.pruefeListenInhalt(dieListe, new int[]{476}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 132); + Tester.pruefeListenInhalt(dieListe, new int[]{132}); + + dieListe.anhaengen(507); + Tester.pruefeListenInhalt(dieListe, new int[]{132, 507}); + + assertTrue("Fehler: Element 507 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(507)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 885); + Tester.pruefeListenInhalt(dieListe, new int[]{885}); + + dieListe.anhaengen(526); + Tester.pruefeListenInhalt(dieListe, new int[]{885, 526}); + + assertTrue("Fehler: Element 885 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(885)); + assertFalse("Fehler: Element 436 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(436)); + dieListe.einfuegenBei(2, 174); + Tester.pruefeListenInhalt(dieListe, new int[]{885, 526, 174}); + + assertFalse("Fehler: Element 772 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(772)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{526, 174}); + + dieListe.einfuegenBei(2, 17); + Tester.pruefeListenInhalt(dieListe, new int[]{526, 174, 17}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 17}); + + dieListe.einfuegenBei(1, 828); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 828, 17}); + + dieListe.anhaengen(697); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 828, 17, 697}); + + dieListe.anhaengen(920); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 828, 17, 697, 920}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 828, 17, 920}); + + dieListe.einfuegenBei(1, 518); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 828, 17, 920}); + + dieListe.einfuegenBei(3, 685); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 828, 685, 17, 920}); + + dieListe.anhaengen(396); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 828, 685, 17, 920, 396}); + + dieListe.anhaengen(763); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 828, 685, 17, 920, 396, 763}); + + assertFalse("Fehler: Element 950 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(950)); + dieListe.einfuegenBei(3, 548); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 828, 548, 685, 17, 920, 396, 763}); + + assertFalse("Fehler: Element 275 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(275)); + dieListe.anhaengen(604); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 828, 548, 685, 17, 920, 396, 763, 604}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 828, 548, 685, 920, 396, 763, 604}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 828, 685, 920, 396, 763, 604}); + + dieListe.einfuegenBei(2, 345); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 345, 828, 685, 920, 396, 763, 604}); + + dieListe.anhaengen(751); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 345, 828, 685, 920, 396, 763, 604, 751}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 345, 828, 920, 396, 763, 604, 751}); + + assertTrue("Fehler: Element 604 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(604)); + assertFalse("Fehler: Element 953 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(953)); + assertFalse("Fehler: Element 812 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(812)); + dieListe.anhaengen(136); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 345, 828, 920, 396, 763, 604, 751, 136}); + + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(342); + Tester.pruefeListenInhalt(dieListe, new int[]{342}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 771); + Tester.pruefeListenInhalt(dieListe, new int[]{771}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 553); + Tester.pruefeListenInhalt(dieListe, new int[]{553}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(585); + Tester.pruefeListenInhalt(dieListe, new int[]{585}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 455); + Tester.pruefeListenInhalt(dieListe, new int[]{455}); + + assertFalse("Fehler: Element 286 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(286)); + dieListe.anhaengen(286); + Tester.pruefeListenInhalt(dieListe, new int[]{455, 286}); + + dieListe.einfuegenBei(1, 58); + Tester.pruefeListenInhalt(dieListe, new int[]{455, 58, 286}); + + dieListe.einfuegenBei(0, 438); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 455, 58, 286}); + + dieListe.einfuegenBei(4, 496); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 455, 58, 286, 496}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 58, 286, 496}); + + assertTrue("Fehler: Element 496 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(496)); + dieListe.einfuegenBei(1, 162); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 58, 286, 496}); + + dieListe.einfuegenBei(2, 195); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 58, 286, 496}); + + assertTrue("Fehler: Element 496 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(496)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 286, 496}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 496}); + + dieListe.anhaengen(911); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 496, 911}); + + dieListe.anhaengen(986); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 496, 911, 986}); + + dieListe.einfuegenBei(3, 102); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 496, 911, 986}); + + assertFalse("Fehler: Element 979 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(979)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 496, 911}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 911}); + + dieListe.anhaengen(858); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 911, 858}); + + dieListe.einfuegenBei(4, 413); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 911, 858}); + + dieListe.anhaengen(102); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 911, 858, 102}); + + dieListe.einfuegenBei(5, 998); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 998, 911, 858, 102}); + + dieListe.einfuegenBei(5, 323); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 323, 998, 911, 858, 102}); + + assertTrue("Fehler: Element 413 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(413)); + dieListe.einfuegenBei(8, 721); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 323, 998, 911, 721, 858, 102}); + + dieListe.anhaengen(272); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 323, 998, 911, 721, 858, 102, 272}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 323, 998, 911, 721, 102, 272}); + + dieListe.anhaengen(868); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 323, 998, 911, 721, 102, 272, 868}); + + assertFalse("Fehler: Element 20 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(20)); + dieListe.einfuegenBei(7, 8); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 323, 998, 8, 911, 721, 102, 272, 868}); + + dieListe.einfuegenBei(10, 757); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 323, 998, 8, 911, 721, 757, 102, 272, 868}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 102, 413, 323, 998, 8, 911, 721, 757, 102, 272, 868}); + + dieListe.einfuegenBei(1, 375); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 8, 911, 721, 757, 102, 272, 868}); + + dieListe.einfuegenBei(9, 216); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 8, 911, 216, 721, 757, 102, 272, 868}); + + dieListe.anhaengen(692); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 8, 911, 216, 721, 757, 102, 272, 868, 692}); + + dieListe.anhaengen(875); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 8, 911, 216, 721, 757, 102, 272, 868, 692, 875}); + + dieListe.einfuegenBei(7, 132); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 132, 8, 911, 216, 721, 757, 102, 272, 868, 692, 875}); + + assertFalse("Fehler: Element 297 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(297)); + assertTrue("Fehler: Element 911 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(911)); + dieListe.einfuegenBei(18, 702); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 132, 8, 911, 216, 721, 757, 102, 272, 868, 692, 875, 702}); + + assertTrue("Fehler: Element 692 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(692)); + dieListe.einfuegenBei(19, 707); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 132, 8, 911, 216, 721, 757, 102, 272, 868, 692, 875, 702, 707}); + + dieListe.anhaengen(57); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 132, 8, 911, 216, 721, 757, 102, 272, 868, 692, 875, 702, 707, 57}); + + dieListe.anhaengen(896); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 132, 8, 911, 216, 721, 757, 102, 272, 868, 692, 875, 702, 707, 57, 896}); + + assertFalse("Fehler: Element 198 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(198)); + assertFalse("Fehler: Element 770 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(770)); + dieListe.einfuegenBei(18, 643); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 132, 8, 911, 216, 721, 757, 102, 272, 868, 692, 875, 643, 702, 707, 57, 896}); + + assertTrue("Fehler: Element 102 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(102)); + dieListe.anhaengen(397); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 132, 8, 911, 216, 721, 757, 102, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 102, 413, 323, 998, 132, 8, 911, 216, 721, 757, 102, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 102, 413, 323, 998, 132, 8, 911, 721, 757, 102, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 102, 413, 323, 998, 132, 8, 911, 721, 757, 102, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397}); + + assertTrue("Fehler: Element 643 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(643)); + dieListe.anhaengen(85); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 102, 413, 323, 998, 132, 8, 911, 721, 757, 102, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397, 85}); + + dieListe.einfuegenBei(5, 794); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 102, 413, 323, 998, 794, 132, 8, 911, 721, 757, 102, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397, 85}); + + dieListe.einfuegenBei(2, 647); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 102, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397, 85}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397, 85}); + + dieListe.einfuegenBei(1, 70); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397, 85}); + + assertTrue("Fehler: Element 102 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(102)); + dieListe.anhaengen(397); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397, 85, 397}); + + dieListe.entferneBei(15); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 702, 707, 57, 896, 397, 85, 397}); + + dieListe.anhaengen(491); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 702, 707, 57, 896, 397, 85, 397, 491}); + + dieListe.anhaengen(418); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 702, 707, 57, 896, 397, 85, 397, 491, 418}); + + dieListe.entferneBei(19); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 702, 707, 896, 397, 85, 397, 491, 418}); + + assertFalse("Fehler: Element 177 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(177)); + assertFalse("Fehler: Element 45 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(45)); + assertFalse("Fehler: Element 310 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(310)); + dieListe.entferneBei(21); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 702, 707, 896, 397, 397, 491, 418}); + + assertFalse("Fehler: Element 73 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(73)); + dieListe.anhaengen(30); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 702, 707, 896, 397, 397, 491, 418, 30}); + + dieListe.einfuegenBei(7, 226); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 226, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 702, 707, 896, 397, 397, 491, 418, 30}); + + assertFalse("Fehler: Element 155 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(155)); + assertFalse("Fehler: Element 395 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(395)); + dieListe.anhaengen(913); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 226, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 702, 707, 896, 397, 397, 491, 418, 30, 913}); + + dieListe.anhaengen(885); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 226, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 702, 707, 896, 397, 397, 491, 418, 30, 913, 885}); + + dieListe.einfuegenBei(18, 647); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 226, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 647, 702, 707, 896, 397, 397, 491, 418, 30, 913, 885}); + + dieListe.entferneBei(23); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 226, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 647, 702, 707, 896, 397, 491, 418, 30, 913, 885}); + + dieListe.einfuegenBei(11, 448); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 226, 794, 132, 8, 448, 911, 721, 757, 272, 868, 875, 643, 647, 702, 707, 896, 397, 491, 418, 30, 913, 885}); + + dieListe.anhaengen(2); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 226, 794, 132, 8, 448, 911, 721, 757, 272, 868, 875, 643, 647, 702, 707, 896, 397, 491, 418, 30, 913, 885, 2}); + + dieListe.entferneBei(25); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 226, 794, 132, 8, 448, 911, 721, 757, 272, 868, 875, 643, 647, 702, 707, 896, 397, 491, 30, 913, 885, 2}); + + dieListe.einfuegenBei(12, 390); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 226, 794, 132, 8, 448, 390, 911, 721, 757, 272, 868, 875, 643, 647, 702, 707, 896, 397, 491, 30, 913, 885, 2}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 647, 413, 323, 998, 226, 794, 132, 8, 448, 390, 911, 721, 757, 272, 868, 875, 643, 647, 702, 707, 896, 397, 491, 30, 913, 885, 2}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 647, 413, 323, 998, 226, 794, 132, 448, 390, 911, 721, 757, 272, 868, 875, 643, 647, 702, 707, 896, 397, 491, 30, 913, 885, 2}); + + dieListe.einfuegenBei(19, 133); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 647, 413, 323, 998, 226, 794, 132, 448, 390, 911, 721, 757, 272, 868, 875, 643, 647, 133, 702, 707, 896, 397, 491, 30, 913, 885, 2}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 647, 413, 323, 998, 226, 794, 132, 448, 390, 721, 757, 272, 868, 875, 643, 647, 133, 702, 707, 896, 397, 491, 30, 913, 885, 2}); + + dieListe.einfuegenBei(15, 611); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 647, 413, 323, 998, 226, 794, 132, 448, 390, 721, 757, 272, 868, 611, 875, 643, 647, 133, 702, 707, 896, 397, 491, 30, 913, 885, 2}); + + assertFalse("Fehler: Element 902 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(902)); + dieListe.einfuegenBei(2, 327); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 327, 647, 413, 323, 998, 226, 794, 132, 448, 390, 721, 757, 272, 868, 611, 875, 643, 647, 133, 702, 707, 896, 397, 491, 30, 913, 885, 2}); + + assertFalse("Fehler: Element 366 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(366)); + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 327, 647, 413, 323, 998, 794, 132, 448, 390, 721, 757, 272, 868, 611, 875, 643, 647, 133, 702, 707, 896, 397, 491, 30, 913, 885, 2}); + + assertFalse("Fehler: Element 319 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(319)); + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 139); + Tester.pruefeListenInhalt(dieListe, new int[]{139}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(364); + Tester.pruefeListenInhalt(dieListe, new int[]{364}); + + assertFalse("Fehler: Element 166 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(166)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 280); + Tester.pruefeListenInhalt(dieListe, new int[]{280}); + + dieListe.einfuegenBei(1, 996); + Tester.pruefeListenInhalt(dieListe, new int[]{280, 996}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{996}); + + assertTrue("Fehler: Element 996 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(996)); + dieListe.einfuegenBei(0, 894); + Tester.pruefeListenInhalt(dieListe, new int[]{894, 996}); + + assertTrue("Fehler: Element 996 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(996)); + dieListe.einfuegenBei(2, 557); + Tester.pruefeListenInhalt(dieListe, new int[]{894, 996, 557}); + + assertFalse("Fehler: Element 980 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(980)); + dieListe.einfuegenBei(0, 472); + Tester.pruefeListenInhalt(dieListe, new int[]{472, 894, 996, 557}); + + dieListe.einfuegenBei(1, 546); + Tester.pruefeListenInhalt(dieListe, new int[]{472, 546, 894, 996, 557}); + + assertFalse("Fehler: Element 788 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(788)); + assertTrue("Fehler: Element 557 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(557)); + dieListe.einfuegenBei(0, 31); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 472, 546, 894, 996, 557}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 472, 546, 894, 996}); + + assertTrue("Fehler: Element 894 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(894)); + assertFalse("Fehler: Element 978 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(978)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 546, 894, 996}); + + assertTrue("Fehler: Element 996 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(996)); + dieListe.einfuegenBei(2, 518); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 546, 518, 894, 996}); + + dieListe.einfuegenBei(1, 555); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 546, 518, 894, 996}); + + dieListe.anhaengen(276); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 546, 518, 894, 996, 276}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 546, 518, 996, 276}); + + dieListe.einfuegenBei(2, 388); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 518, 996, 276}); + + dieListe.anhaengen(897); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 518, 996, 276, 897}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 518, 276, 897}); + + dieListe.anhaengen(626); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 518, 276, 897, 626}); + + assertTrue("Fehler: Element 897 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(897)); + assertTrue("Fehler: Element 388 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(388)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 276, 897, 626}); + + assertFalse("Fehler: Element 92 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(92)); + dieListe.anhaengen(45); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 276, 897, 626, 45}); + + dieListe.anhaengen(307); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 276, 897, 626, 45, 307}); + + dieListe.anhaengen(479); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 276, 897, 626, 45, 307, 479}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 897, 626, 45, 307, 479}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 897, 45, 307, 479}); + + dieListe.anhaengen(712); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 897, 45, 307, 479, 712}); + + dieListe.einfuegenBei(8, 766); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 897, 45, 307, 479, 766, 712}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 897, 45, 479, 766, 712}); + + assertTrue("Fehler: Element 555 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(555)); + dieListe.einfuegenBei(3, 878); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 878, 546, 897, 45, 479, 766, 712}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(419); + Tester.pruefeListenInhalt(dieListe, new int[]{419}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 966); + Tester.pruefeListenInhalt(dieListe, new int[]{966}); + + dieListe.einfuegenBei(1, 116); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 116}); + + dieListe.einfuegenBei(0, 856); + Tester.pruefeListenInhalt(dieListe, new int[]{856, 966, 116}); + + dieListe.anhaengen(942); + Tester.pruefeListenInhalt(dieListe, new int[]{856, 966, 116, 942}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 116, 942}); + + assertTrue("Fehler: Element 966 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(966)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 116}); + + dieListe.anhaengen(247); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 116, 247}); + + assertFalse("Fehler: Element 803 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(803)); + dieListe.einfuegenBei(1, 747); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 747, 116, 247}); + + dieListe.anhaengen(338); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 747, 116, 247, 338}); + + dieListe.anhaengen(251); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 747, 116, 247, 338, 251}); + + assertFalse("Fehler: Element 67 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(67)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 747, 247, 338, 251}); + + dieListe.einfuegenBei(1, 686); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 686, 747, 247, 338, 251}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 686, 747, 247, 338}); + + assertTrue("Fehler: Element 966 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(966)); + dieListe.anhaengen(740); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 686, 747, 247, 338, 740}); + + dieListe.einfuegenBei(2, 423); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 686, 423, 747, 247, 338, 740}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 686, 423, 247, 338, 740}); + + assertFalse("Fehler: Element 272 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(272)); + assertTrue("Fehler: Element 740 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(740)); + dieListe.anhaengen(308); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 686, 423, 247, 338, 740, 308}); + + assertTrue("Fehler: Element 338 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(338)); + assertFalse("Fehler: Element 607 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(607)); + assertTrue("Fehler: Element 247 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(247)); + assertFalse("Fehler: Element 109 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(109)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 125); + Tester.pruefeListenInhalt(dieListe, new int[]{125}); + + dieListe.einfuegenBei(0, 887); + Tester.pruefeListenInhalt(dieListe, new int[]{887, 125}); + + assertTrue("Fehler: Element 887 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(887)); + assertTrue("Fehler: Element 887 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(887)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{125}); + + assertTrue("Fehler: Element 125 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(125)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(259); + Tester.pruefeListenInhalt(dieListe, new int[]{259}); + + dieListe.anhaengen(750); + Tester.pruefeListenInhalt(dieListe, new int[]{259, 750}); + + assertFalse("Fehler: Element 268 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(268)); + assertTrue("Fehler: Element 259 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(259)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{259}); + + dieListe.einfuegenBei(1, 456); + Tester.pruefeListenInhalt(dieListe, new int[]{259, 456}); + + dieListe.einfuegenBei(0, 415); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 259, 456}); + + assertFalse("Fehler: Element 797 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(797)); + assertTrue("Fehler: Element 456 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(456)); + dieListe.einfuegenBei(0, 729); + Tester.pruefeListenInhalt(dieListe, new int[]{729, 415, 259, 456}); + + dieListe.einfuegenBei(1, 985); + Tester.pruefeListenInhalt(dieListe, new int[]{729, 985, 415, 259, 456}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{729, 985, 415, 456}); + + dieListe.einfuegenBei(1, 233); + Tester.pruefeListenInhalt(dieListe, new int[]{729, 233, 985, 415, 456}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{729, 233, 415, 456}); + + dieListe.einfuegenBei(4, 825); + Tester.pruefeListenInhalt(dieListe, new int[]{729, 233, 415, 456, 825}); + + dieListe.einfuegenBei(4, 651); + Tester.pruefeListenInhalt(dieListe, new int[]{729, 233, 415, 456, 651, 825}); + + dieListe.einfuegenBei(1, 733); + Tester.pruefeListenInhalt(dieListe, new int[]{729, 733, 233, 415, 456, 651, 825}); + + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(235); + Tester.pruefeListenInhalt(dieListe, new int[]{235}); + + assertTrue("Fehler: Element 235 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(235)); +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(84); + Tester.pruefeListenInhalt(dieListe, new int[]{84}); + + dieListe.anhaengen(913); + Tester.pruefeListenInhalt(dieListe, new int[]{84, 913}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{84}); + + dieListe.anhaengen(60); + Tester.pruefeListenInhalt(dieListe, new int[]{84, 60}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{84}); + + dieListe.anhaengen(949); + Tester.pruefeListenInhalt(dieListe, new int[]{84, 949}); + + assertFalse("Fehler: Element 745 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(745)); + dieListe.einfuegenBei(2, 633); + Tester.pruefeListenInhalt(dieListe, new int[]{84, 949, 633}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(619); + Tester.pruefeListenInhalt(dieListe, new int[]{619}); + + assertTrue("Fehler: Element 619 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(619)); + dieListe.einfuegenBei(0, 589); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 619}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{589}); + + assertTrue("Fehler: Element 589 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(589)); + dieListe.einfuegenBei(1, 407); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 407}); + + dieListe.anhaengen(959); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 407, 959}); + + dieListe.einfuegenBei(3, 823); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 407, 959, 823}); + + assertTrue("Fehler: Element 823 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(823)); + assertFalse("Fehler: Element 975 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(975)); + dieListe.anhaengen(945); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 407, 959, 823, 945}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(529); + Tester.pruefeListenInhalt(dieListe, new int[]{529}); + + dieListe.anhaengen(258); + Tester.pruefeListenInhalt(dieListe, new int[]{529, 258}); + + assertTrue("Fehler: Element 258 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(258)); + assertFalse("Fehler: Element 384 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(384)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{529}); + + assertTrue("Fehler: Element 529 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(529)); + dieListe.einfuegenBei(1, 770); + Tester.pruefeListenInhalt(dieListe, new int[]{529, 770}); + + assertFalse("Fehler: Element 16 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(16)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{529}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 381); + Tester.pruefeListenInhalt(dieListe, new int[]{381}); + + dieListe.einfuegenBei(1, 342); + Tester.pruefeListenInhalt(dieListe, new int[]{381, 342}); + + dieListe.anhaengen(167); + Tester.pruefeListenInhalt(dieListe, new int[]{381, 342, 167}); + + dieListe.einfuegenBei(2, 5); + Tester.pruefeListenInhalt(dieListe, new int[]{381, 342, 5, 167}); + + assertFalse("Fehler: Element 252 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(252)); + assertTrue("Fehler: Element 381 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(381)); + dieListe.einfuegenBei(2, 484); + Tester.pruefeListenInhalt(dieListe, new int[]{381, 342, 484, 5, 167}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{381, 342, 484, 5}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{381, 484, 5}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{484, 5}); + + dieListe.einfuegenBei(2, 724); + Tester.pruefeListenInhalt(dieListe, new int[]{484, 5, 724}); + + dieListe.einfuegenBei(1, 719); + Tester.pruefeListenInhalt(dieListe, new int[]{484, 719, 5, 724}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{484, 719, 5}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{484, 719}); + + dieListe.einfuegenBei(1, 32); + Tester.pruefeListenInhalt(dieListe, new int[]{484, 32, 719}); + + assertTrue("Fehler: Element 719 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(719)); + assertTrue("Fehler: Element 32 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(32)); + dieListe.anhaengen(482); + Tester.pruefeListenInhalt(dieListe, new int[]{484, 32, 719, 482}); + + dieListe.anhaengen(262); + Tester.pruefeListenInhalt(dieListe, new int[]{484, 32, 719, 482, 262}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(952); + Tester.pruefeListenInhalt(dieListe, new int[]{952}); + + dieListe.anhaengen(369); + Tester.pruefeListenInhalt(dieListe, new int[]{952, 369}); + + dieListe.anhaengen(182); + Tester.pruefeListenInhalt(dieListe, new int[]{952, 369, 182}); + + dieListe.anhaengen(516); + Tester.pruefeListenInhalt(dieListe, new int[]{952, 369, 182, 516}); + + assertFalse("Fehler: Element 386 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(386)); + dieListe.anhaengen(992); + Tester.pruefeListenInhalt(dieListe, new int[]{952, 369, 182, 516, 992}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 689); + Tester.pruefeListenInhalt(dieListe, new int[]{689}); + + dieListe.anhaengen(449); + Tester.pruefeListenInhalt(dieListe, new int[]{689, 449}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{449}); + + dieListe.einfuegenBei(1, 757); + Tester.pruefeListenInhalt(dieListe, new int[]{449, 757}); + + assertFalse("Fehler: Element 884 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(884)); + assertTrue("Fehler: Element 449 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(449)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{757}); + + dieListe.anhaengen(521); + Tester.pruefeListenInhalt(dieListe, new int[]{757, 521}); + + dieListe.einfuegenBei(2, 517); + Tester.pruefeListenInhalt(dieListe, new int[]{757, 521, 517}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{757, 517}); + + dieListe.einfuegenBei(1, 179); + Tester.pruefeListenInhalt(dieListe, new int[]{757, 179, 517}); + + assertTrue("Fehler: Element 517 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(517)); + assertTrue("Fehler: Element 757 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(757)); + dieListe.einfuegenBei(1, 129); + Tester.pruefeListenInhalt(dieListe, new int[]{757, 129, 179, 517}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{757, 129, 179}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{757, 179}); + + dieListe.anhaengen(628); + Tester.pruefeListenInhalt(dieListe, new int[]{757, 179, 628}); + + dieListe.anhaengen(552); + Tester.pruefeListenInhalt(dieListe, new int[]{757, 179, 628, 552}); + + assertTrue("Fehler: Element 628 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(628)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(955); + Tester.pruefeListenInhalt(dieListe, new int[]{955}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(454); + Tester.pruefeListenInhalt(dieListe, new int[]{454}); + + dieListe.anhaengen(116); + Tester.pruefeListenInhalt(dieListe, new int[]{454, 116}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{454}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 652); + Tester.pruefeListenInhalt(dieListe, new int[]{652}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 158); + Tester.pruefeListenInhalt(dieListe, new int[]{158}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(938); + Tester.pruefeListenInhalt(dieListe, new int[]{938}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 713); + Tester.pruefeListenInhalt(dieListe, new int[]{713}); + + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{713, 189}); + + assertTrue("Fehler: Element 189 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(189)); + dieListe.einfuegenBei(2, 699); + Tester.pruefeListenInhalt(dieListe, new int[]{713, 189, 699}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{713, 189}); + + dieListe.einfuegenBei(2, 880); + Tester.pruefeListenInhalt(dieListe, new int[]{713, 189, 880}); + + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(819); + Tester.pruefeListenInhalt(dieListe, new int[]{819}); + + dieListe.anhaengen(743); + Tester.pruefeListenInhalt(dieListe, new int[]{819, 743}); + + dieListe.einfuegenBei(0, 432); + Tester.pruefeListenInhalt(dieListe, new int[]{432, 819, 743}); + + assertTrue("Fehler: Element 432 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(432)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{432, 819}); + + dieListe.einfuegenBei(2, 91); + Tester.pruefeListenInhalt(dieListe, new int[]{432, 819, 91}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{819, 91}); + + assertFalse("Fehler: Element 612 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(612)); + dieListe.einfuegenBei(2, 346); + Tester.pruefeListenInhalt(dieListe, new int[]{819, 91, 346}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{91, 346}); + + dieListe.anhaengen(697); + Tester.pruefeListenInhalt(dieListe, new int[]{91, 346, 697}); + + assertTrue("Fehler: Element 346 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(346)); + assertTrue("Fehler: Element 91 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(91)); + dieListe.einfuegenBei(0, 249); + Tester.pruefeListenInhalt(dieListe, new int[]{249, 91, 346, 697}); + + dieListe.einfuegenBei(3, 230); + Tester.pruefeListenInhalt(dieListe, new int[]{249, 91, 346, 230, 697}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{249, 91, 346, 230}); + + assertTrue("Fehler: Element 346 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(346)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{91, 346, 230}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 230}); + + dieListe.einfuegenBei(1, 15); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 15, 230}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 15}); + + dieListe.anhaengen(230); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 15, 230}); + + dieListe.einfuegenBei(2, 405); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 15, 405, 230}); + + dieListe.anhaengen(497); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 15, 405, 230, 497}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 15, 405, 497}); + + dieListe.anhaengen(919); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 15, 405, 497, 919}); + + dieListe.anhaengen(108); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 15, 405, 497, 919, 108}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 405, 497, 919, 108}); + + dieListe.einfuegenBei(1, 197); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 197, 405, 497, 919, 108}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 197, 405, 497, 108}); + + dieListe.einfuegenBei(3, 538); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 197, 405, 538, 497, 108}); + + dieListe.einfuegenBei(1, 875); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 875, 197, 405, 538, 497, 108}); + + assertFalse("Fehler: Element 486 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(486)); + dieListe.anhaengen(896); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 875, 197, 405, 538, 497, 108, 896}); + + assertTrue("Fehler: Element 15 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(15)); + dieListe.anhaengen(786); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 875, 197, 405, 538, 497, 108, 896, 786}); + + assertFalse("Fehler: Element 816 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(816)); + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 875, 197, 405, 538, 108, 896, 786}); + + assertFalse("Fehler: Element 622 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(622)); + assertTrue("Fehler: Element 15 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(15)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 875, 405, 538, 108, 896, 786}); + + dieListe.anhaengen(512); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 875, 405, 538, 108, 896, 786, 512}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 875, 538, 108, 896, 786, 512}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(181); + Tester.pruefeListenInhalt(dieListe, new int[]{181}); + + assertFalse("Fehler: Element 506 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(506)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 42); + Tester.pruefeListenInhalt(dieListe, new int[]{42}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 438); + Tester.pruefeListenInhalt(dieListe, new int[]{438}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 749); + Tester.pruefeListenInhalt(dieListe, new int[]{749}); + + dieListe.anhaengen(970); + Tester.pruefeListenInhalt(dieListe, new int[]{749, 970}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{749}); + + dieListe.einfuegenBei(1, 948); + Tester.pruefeListenInhalt(dieListe, new int[]{749, 948}); + + dieListe.anhaengen(149); + Tester.pruefeListenInhalt(dieListe, new int[]{749, 948, 149}); + + dieListe.einfuegenBei(1, 167); + Tester.pruefeListenInhalt(dieListe, new int[]{749, 167, 948, 149}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(785); + Tester.pruefeListenInhalt(dieListe, new int[]{785}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(126); + Tester.pruefeListenInhalt(dieListe, new int[]{126}); + + assertFalse("Fehler: Element 519 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(519)); + dieListe.anhaengen(864); + Tester.pruefeListenInhalt(dieListe, new int[]{126, 864}); + + dieListe.anhaengen(168); + Tester.pruefeListenInhalt(dieListe, new int[]{126, 864, 168}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{126, 168}); + + dieListe.anhaengen(194); + Tester.pruefeListenInhalt(dieListe, new int[]{126, 168, 194}); + + assertTrue("Fehler: Element 194 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(194)); + dieListe.einfuegenBei(3, 113); + Tester.pruefeListenInhalt(dieListe, new int[]{126, 168, 194, 113}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{126, 194, 113}); + + dieListe.anhaengen(110); + Tester.pruefeListenInhalt(dieListe, new int[]{126, 194, 113, 110}); + + assertFalse("Fehler: Element 131 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(131)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{194, 113, 110}); + + dieListe.anhaengen(927); + Tester.pruefeListenInhalt(dieListe, new int[]{194, 113, 110, 927}); + + dieListe.einfuegenBei(3, 730); + Tester.pruefeListenInhalt(dieListe, new int[]{194, 113, 110, 730, 927}); + + assertFalse("Fehler: Element 103 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(103)); + dieListe.anhaengen(355); + Tester.pruefeListenInhalt(dieListe, new int[]{194, 113, 110, 730, 927, 355}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{113, 110, 730, 927, 355}); + + assertTrue("Fehler: Element 730 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(730)); + dieListe.anhaengen(365); + Tester.pruefeListenInhalt(dieListe, new int[]{113, 110, 730, 927, 355, 365}); + + dieListe.anhaengen(29); + Tester.pruefeListenInhalt(dieListe, new int[]{113, 110, 730, 927, 355, 365, 29}); + + dieListe.anhaengen(869); + Tester.pruefeListenInhalt(dieListe, new int[]{113, 110, 730, 927, 355, 365, 29, 869}); + + dieListe.anhaengen(246); + Tester.pruefeListenInhalt(dieListe, new int[]{113, 110, 730, 927, 355, 365, 29, 869, 246}); + + dieListe.einfuegenBei(4, 508); + Tester.pruefeListenInhalt(dieListe, new int[]{113, 110, 730, 927, 508, 355, 365, 29, 869, 246}); + + dieListe.einfuegenBei(0, 415); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 113, 110, 730, 927, 508, 355, 365, 29, 869, 246}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 113, 730, 927, 508, 355, 365, 29, 869, 246}); + + dieListe.einfuegenBei(8, 506); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 113, 730, 927, 508, 355, 365, 29, 506, 869, 246}); + + dieListe.anhaengen(862); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 113, 730, 927, 508, 355, 365, 29, 506, 869, 246, 862}); + + dieListe.einfuegenBei(11, 299); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 113, 730, 927, 508, 355, 365, 29, 506, 869, 246, 299, 862}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 113, 730, 927, 355, 365, 29, 506, 869, 246, 299, 862}); + + assertFalse("Fehler: Element 559 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(559)); + dieListe.einfuegenBei(4, 59); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 113, 730, 927, 59, 355, 365, 29, 506, 869, 246, 299, 862}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 113, 730, 927, 59, 355, 365, 29, 506, 246, 299, 862}); + + assertFalse("Fehler: Element 419 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(419)); + dieListe.einfuegenBei(1, 531); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 531, 113, 730, 927, 59, 355, 365, 29, 506, 246, 299, 862}); + + dieListe.einfuegenBei(5, 499); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 531, 113, 730, 927, 499, 59, 355, 365, 29, 506, 246, 299, 862}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 531, 113, 730, 927, 59, 355, 365, 29, 506, 246, 299, 862}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 531, 730, 927, 59, 355, 365, 29, 506, 246, 299, 862}); + + assertTrue("Fehler: Element 927 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(927)); + assertFalse("Fehler: Element 221 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(221)); + assertTrue("Fehler: Element 29 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(29)); + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest7.java b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest7.java new file mode 100644 index 0000000..dce19ea --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest7.java @@ -0,0 +1,2841 @@ +package tests; + +import static org.junit.Assert.*; + +import liste.*; + +/** + * Die Test-Klasse SubTest7. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest7 { + + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(92); + Tester.pruefeListenInhalt(dieListe, new int[]{92}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 0); + Tester.pruefeListenInhalt(dieListe, new int[]{0}); + + dieListe.einfuegenBei(1, 922); + Tester.pruefeListenInhalt(dieListe, new int[]{0, 922}); + + dieListe.einfuegenBei(2, 956); + Tester.pruefeListenInhalt(dieListe, new int[]{0, 922, 956}); + + dieListe.einfuegenBei(0, 607); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 0, 922, 956}); + + dieListe.einfuegenBei(2, 114); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 0, 114, 922, 956}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 0, 114, 956}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 114, 956}); + + assertFalse("Fehler: Element 371 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(371)); + dieListe.anhaengen(215); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 114, 956, 215}); + + dieListe.anhaengen(718); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 114, 956, 215, 718}); + + dieListe.anhaengen(276); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 114, 956, 215, 718, 276}); + + dieListe.einfuegenBei(4, 788); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 114, 956, 215, 788, 718, 276}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 114, 956, 788, 718, 276}); + + assertTrue("Fehler: Element 788 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(788)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 114, 956, 788, 276}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 956, 788, 276}); + + dieListe.anhaengen(832); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 956, 788, 276, 832}); + + dieListe.anhaengen(102); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 956, 788, 276, 832, 102}); + + dieListe.anhaengen(7); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 956, 788, 276, 832, 102, 7}); + + assertFalse("Fehler: Element 240 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(240)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 956, 788, 276, 832, 102}); + + dieListe.einfuegenBei(0, 393); + Tester.pruefeListenInhalt(dieListe, new int[]{393, 607, 956, 788, 276, 832, 102}); + + dieListe.einfuegenBei(1, 691); + Tester.pruefeListenInhalt(dieListe, new int[]{393, 691, 607, 956, 788, 276, 832, 102}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{393, 691, 607, 788, 276, 832, 102}); + + assertFalse("Fehler: Element 886 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(886)); + dieListe.anhaengen(344); + Tester.pruefeListenInhalt(dieListe, new int[]{393, 691, 607, 788, 276, 832, 102, 344}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{393, 691, 607, 788, 832, 102, 344}); + + dieListe.einfuegenBei(5, 109); + Tester.pruefeListenInhalt(dieListe, new int[]{393, 691, 607, 788, 832, 109, 102, 344}); + + assertFalse("Fehler: Element 190 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(190)); + dieListe.anhaengen(970); + Tester.pruefeListenInhalt(dieListe, new int[]{393, 691, 607, 788, 832, 109, 102, 344, 970}); + + assertFalse("Fehler: Element 766 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(766)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 832, 109, 102, 344, 970}); + + dieListe.einfuegenBei(6, 497); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 832, 109, 102, 497, 344, 970}); + + assertFalse("Fehler: Element 230 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(230)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 832, 109, 102, 497, 344}); + + assertTrue("Fehler: Element 691 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(691)); + dieListe.einfuegenBei(7, 665); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 832, 109, 102, 497, 665, 344}); + + assertFalse("Fehler: Element 212 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(212)); + dieListe.einfuegenBei(4, 659); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 832, 659, 109, 102, 497, 665, 344}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 832, 659, 109, 497, 665, 344}); + + dieListe.einfuegenBei(5, 493); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 832, 659, 493, 109, 497, 665, 344}); + + assertTrue("Fehler: Element 344 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(344)); + assertTrue("Fehler: Element 691 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(691)); + assertFalse("Fehler: Element 539 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(539)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 832, 659, 493, 109, 497, 344}); + + dieListe.einfuegenBei(3, 819); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 819, 832, 659, 493, 109, 497, 344}); + + assertFalse("Fehler: Element 672 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(672)); + dieListe.einfuegenBei(10, 387); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 819, 832, 659, 493, 109, 497, 344, 387}); + + dieListe.einfuegenBei(3, 805); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 805, 819, 832, 659, 493, 109, 497, 344, 387}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 805, 819, 832, 659, 493, 109, 497, 344, 387}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 805, 819, 832, 659, 493, 109, 344, 387}); + + assertTrue("Fehler: Element 819 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(819)); + dieListe.einfuegenBei(10, 722); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 805, 819, 832, 659, 493, 109, 344, 387, 722}); + + assertFalse("Fehler: Element 39 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(39)); + assertFalse("Fehler: Element 739 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(739)); + dieListe.einfuegenBei(2, 757); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 757, 805, 819, 832, 659, 493, 109, 344, 387, 722}); + + dieListe.einfuegenBei(10, 857); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 757, 805, 819, 832, 659, 493, 109, 344, 857, 387, 722}); + + dieListe.anhaengen(96); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 757, 805, 819, 832, 659, 493, 109, 344, 857, 387, 722, 96}); + + dieListe.einfuegenBei(10, 37); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 757, 805, 819, 832, 659, 493, 109, 344, 37, 857, 387, 722, 96}); + + dieListe.anhaengen(426); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 757, 805, 819, 832, 659, 493, 109, 344, 37, 857, 387, 722, 96, 426}); + + dieListe.einfuegenBei(13, 503); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 757, 805, 819, 832, 659, 493, 109, 344, 37, 857, 387, 503, 722, 96, 426}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 757, 805, 819, 832, 659, 493, 109, 344, 37, 857, 503, 722, 96, 426}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 825); + Tester.pruefeListenInhalt(dieListe, new int[]{825}); + + assertTrue("Fehler: Element 825 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(825)); + dieListe.anhaengen(627); + Tester.pruefeListenInhalt(dieListe, new int[]{825, 627}); + + dieListe.einfuegenBei(0, 945); + Tester.pruefeListenInhalt(dieListe, new int[]{945, 825, 627}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{825, 627}); + + dieListe.anhaengen(213); + Tester.pruefeListenInhalt(dieListe, new int[]{825, 627, 213}); + + dieListe.anhaengen(566); + Tester.pruefeListenInhalt(dieListe, new int[]{825, 627, 213, 566}); + + assertFalse("Fehler: Element 97 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(97)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{627, 213, 566}); + + dieListe.anhaengen(280); + Tester.pruefeListenInhalt(dieListe, new int[]{627, 213, 566, 280}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{627, 566, 280}); + + assertTrue("Fehler: Element 627 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(627)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{566, 280}); + + dieListe.anhaengen(117); + Tester.pruefeListenInhalt(dieListe, new int[]{566, 280, 117}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{280, 117}); + + dieListe.anhaengen(755); + Tester.pruefeListenInhalt(dieListe, new int[]{280, 117, 755}); + + dieListe.einfuegenBei(1, 32); + Tester.pruefeListenInhalt(dieListe, new int[]{280, 32, 117, 755}); + + dieListe.anhaengen(695); + Tester.pruefeListenInhalt(dieListe, new int[]{280, 32, 117, 755, 695}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{280, 32, 117, 695}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{280, 117, 695}); + + dieListe.einfuegenBei(1, 53); + Tester.pruefeListenInhalt(dieListe, new int[]{280, 53, 117, 695}); + + dieListe.einfuegenBei(4, 846); + Tester.pruefeListenInhalt(dieListe, new int[]{280, 53, 117, 695, 846}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 695, 846}); + + dieListe.anhaengen(242); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 695, 846, 242}); + + dieListe.anhaengen(515); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 695, 846, 242, 515}); + + dieListe.einfuegenBei(6, 471); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 695, 846, 242, 515, 471}); + + dieListe.anhaengen(73); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 695, 846, 242, 515, 471, 73}); + + assertTrue("Fehler: Element 846 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(846)); + assertFalse("Fehler: Element 65 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(65)); + dieListe.einfuegenBei(7, 273); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 695, 846, 242, 515, 471, 273, 73}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 695, 846, 242, 515, 471, 73}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 695, 846, 242, 515, 73}); + + dieListe.anhaengen(99); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 695, 846, 242, 515, 73, 99}); + + dieListe.einfuegenBei(2, 644); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 644, 695, 846, 242, 515, 73, 99}); + + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 265); + Tester.pruefeListenInhalt(dieListe, new int[]{265}); + + assertFalse("Fehler: Element 478 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(478)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(357); + Tester.pruefeListenInhalt(dieListe, new int[]{357}); + + dieListe.anhaengen(214); + Tester.pruefeListenInhalt(dieListe, new int[]{357, 214}); + + dieListe.einfuegenBei(2, 277); + Tester.pruefeListenInhalt(dieListe, new int[]{357, 214, 277}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{357, 214}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{357}); + + assertFalse("Fehler: Element 291 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(291)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 771); + Tester.pruefeListenInhalt(dieListe, new int[]{771}); + + dieListe.anhaengen(619); + Tester.pruefeListenInhalt(dieListe, new int[]{771, 619}); + + dieListe.einfuegenBei(2, 245); + Tester.pruefeListenInhalt(dieListe, new int[]{771, 619, 245}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(689); + Tester.pruefeListenInhalt(dieListe, new int[]{689}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(977); + Tester.pruefeListenInhalt(dieListe, new int[]{977}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(318); + Tester.pruefeListenInhalt(dieListe, new int[]{318}); + + dieListe.anhaengen(413); + Tester.pruefeListenInhalt(dieListe, new int[]{318, 413}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{413}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(149); + Tester.pruefeListenInhalt(dieListe, new int[]{149}); + + dieListe.anhaengen(114); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 114}); + + dieListe.einfuegenBei(0, 476); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 114}); + + dieListe.anhaengen(323); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 114, 323}); + + assertTrue("Fehler: Element 114 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(114)); + assertTrue("Fehler: Element 114 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(114)); + dieListe.anhaengen(940); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 114, 323, 940}); + + assertFalse("Fehler: Element 641 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(641)); + dieListe.einfuegenBei(4, 59); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 114, 323, 59, 940}); + + assertTrue("Fehler: Element 149 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(149)); + dieListe.anhaengen(488); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 114, 323, 59, 940, 488}); + + assertTrue("Fehler: Element 149 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(149)); + assertFalse("Fehler: Element 390 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(390)); + dieListe.einfuegenBei(3, 614); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 114, 614, 323, 59, 940, 488}); + + dieListe.einfuegenBei(2, 557); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 557, 114, 614, 323, 59, 940, 488}); + + dieListe.anhaengen(908); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 557, 114, 614, 323, 59, 940, 488, 908}); + + dieListe.anhaengen(155); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 557, 114, 614, 323, 59, 940, 488, 908, 155}); + + dieListe.anhaengen(596); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 557, 114, 614, 323, 59, 940, 488, 908, 155, 596}); + + dieListe.einfuegenBei(5, 416); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 557, 114, 614, 416, 323, 59, 940, 488, 908, 155, 596}); + + dieListe.einfuegenBei(2, 832); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 614, 416, 323, 59, 940, 488, 908, 155, 596}); + + dieListe.einfuegenBei(10, 600); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 614, 416, 323, 59, 940, 600, 488, 908, 155, 596}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 614, 416, 323, 59, 940, 600, 908, 155, 596}); + + dieListe.einfuegenBei(9, 466); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 614, 416, 323, 59, 466, 940, 600, 908, 155, 596}); + + dieListe.anhaengen(670); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 614, 416, 323, 59, 466, 940, 600, 908, 155, 596, 670}); + + dieListe.anhaengen(762); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 614, 416, 323, 59, 466, 940, 600, 908, 155, 596, 670, 762}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 614, 416, 59, 466, 940, 600, 908, 155, 596, 670, 762}); + + dieListe.einfuegenBei(16, 813); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 614, 416, 59, 466, 940, 600, 908, 155, 596, 670, 762, 813}); + + dieListe.anhaengen(759); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 614, 416, 59, 466, 940, 600, 908, 155, 596, 670, 762, 813, 759}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 416, 59, 466, 940, 600, 908, 155, 596, 670, 762, 813, 759}); + + assertFalse("Fehler: Element 783 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(783)); + dieListe.einfuegenBei(15, 961); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 416, 59, 466, 940, 600, 908, 155, 596, 670, 762, 961, 813, 759}); + + dieListe.anhaengen(732); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 416, 59, 466, 940, 600, 908, 155, 596, 670, 762, 961, 813, 759, 732}); + + dieListe.einfuegenBei(4, 414); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 114, 416, 59, 466, 940, 600, 908, 155, 596, 670, 762, 961, 813, 759, 732}); + + assertTrue("Fehler: Element 832 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(832)); + dieListe.einfuegenBei(14, 879); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 114, 416, 59, 466, 940, 600, 908, 155, 596, 879, 670, 762, 961, 813, 759, 732}); + + dieListe.einfuegenBei(8, 971); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 114, 416, 59, 971, 466, 940, 600, 908, 155, 596, 879, 670, 762, 961, 813, 759, 732}); + + dieListe.einfuegenBei(9, 743); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 114, 416, 59, 971, 743, 466, 940, 600, 908, 155, 596, 879, 670, 762, 961, 813, 759, 732}); + + dieListe.einfuegenBei(5, 836); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 155, 596, 879, 670, 762, 961, 813, 759, 732}); + + dieListe.entferneBei(16); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 155, 879, 670, 762, 961, 813, 759, 732}); + + assertTrue("Fehler: Element 961 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(961)); + dieListe.entferneBei(22); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 155, 879, 670, 762, 961, 813, 759}); + + dieListe.einfuegenBei(17, 173); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 155, 879, 173, 670, 762, 961, 813, 759}); + + dieListe.entferneBei(15); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 879, 173, 670, 762, 961, 813, 759}); + + dieListe.einfuegenBei(5, 97); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 97, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 879, 173, 670, 762, 961, 813, 759}); + + assertTrue("Fehler: Element 59 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(59)); + dieListe.einfuegenBei(1, 301); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 301, 149, 832, 557, 414, 97, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 879, 173, 670, 762, 961, 813, 759}); + + assertTrue("Fehler: Element 114 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(114)); + dieListe.einfuegenBei(21, 884); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 301, 149, 832, 557, 414, 97, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 879, 173, 670, 762, 884, 961, 813, 759}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 301, 832, 557, 414, 97, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 879, 173, 670, 762, 884, 961, 813, 759}); + + dieListe.anhaengen(974); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 301, 832, 557, 414, 97, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 879, 173, 670, 762, 884, 961, 813, 759, 974}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 301, 832, 557, 414, 97, 836, 114, 416, 59, 971, 743, 466, 600, 908, 879, 173, 670, 762, 884, 961, 813, 759, 974}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(812); + Tester.pruefeListenInhalt(dieListe, new int[]{812}); + + dieListe.anhaengen(57); + Tester.pruefeListenInhalt(dieListe, new int[]{812, 57}); + + dieListe.anhaengen(944); + Tester.pruefeListenInhalt(dieListe, new int[]{812, 57, 944}); + + dieListe.anhaengen(400); + Tester.pruefeListenInhalt(dieListe, new int[]{812, 57, 944, 400}); + + assertTrue("Fehler: Element 57 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(57)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{57, 944, 400}); + + assertFalse("Fehler: Element 854 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(854)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{944, 400}); + + dieListe.einfuegenBei(1, 930); + Tester.pruefeListenInhalt(dieListe, new int[]{944, 930, 400}); + + dieListe.anhaengen(626); + Tester.pruefeListenInhalt(dieListe, new int[]{944, 930, 400, 626}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{930, 400, 626}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{930, 626}); + + dieListe.anhaengen(857); + Tester.pruefeListenInhalt(dieListe, new int[]{930, 626, 857}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{930, 626}); + + dieListe.anhaengen(321); + Tester.pruefeListenInhalt(dieListe, new int[]{930, 626, 321}); + + assertTrue("Fehler: Element 930 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(930)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{930, 321}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{930}); + + dieListe.einfuegenBei(1, 583); + Tester.pruefeListenInhalt(dieListe, new int[]{930, 583}); + + dieListe.anhaengen(118); + Tester.pruefeListenInhalt(dieListe, new int[]{930, 583, 118}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{930, 118}); + + assertFalse("Fehler: Element 152 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(152)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{118}); + + dieListe.einfuegenBei(1, 746); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 746}); + + assertFalse("Fehler: Element 978 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(978)); + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(486); + Tester.pruefeListenInhalt(dieListe, new int[]{486}); + + dieListe.anhaengen(44); + Tester.pruefeListenInhalt(dieListe, new int[]{486, 44}); + + assertTrue("Fehler: Element 486 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(486)); + assertTrue("Fehler: Element 44 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(44)); + dieListe.einfuegenBei(1, 973); + Tester.pruefeListenInhalt(dieListe, new int[]{486, 973, 44}); + + dieListe.anhaengen(17); + Tester.pruefeListenInhalt(dieListe, new int[]{486, 973, 44, 17}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 44, 17}); + + dieListe.anhaengen(126); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 44, 17, 126}); + + dieListe.einfuegenBei(4, 515); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 44, 17, 126, 515}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 44, 17, 515}); + + dieListe.anhaengen(239); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 44, 17, 515, 239}); + + dieListe.einfuegenBei(1, 845); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 845, 44, 17, 515, 239}); + + dieListe.einfuegenBei(3, 462); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 845, 44, 462, 17, 515, 239}); + + dieListe.einfuegenBei(3, 247); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 845, 44, 247, 462, 17, 515, 239}); + + assertFalse("Fehler: Element 759 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(759)); + dieListe.einfuegenBei(3, 118); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 845, 44, 118, 247, 462, 17, 515, 239}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 845, 44, 118, 247, 462, 17, 239}); + + dieListe.einfuegenBei(4, 201); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 845, 44, 118, 201, 247, 462, 17, 239}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 44, 118, 201, 247, 462, 17, 239}); + + dieListe.anhaengen(51); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 44, 118, 201, 247, 462, 17, 239, 51}); + + assertFalse("Fehler: Element 161 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(161)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 44, 201, 247, 462, 17, 239, 51}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 44, 201, 247, 462, 239, 51}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 201, 247, 462, 239, 51}); + + dieListe.anhaengen(694); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 201, 247, 462, 239, 51, 694}); + + dieListe.anhaengen(700); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 201, 247, 462, 239, 51, 694, 700}); + + assertFalse("Fehler: Element 497 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(497)); + assertFalse("Fehler: Element 475 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(475)); + dieListe.einfuegenBei(5, 264); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 201, 247, 462, 239, 264, 51, 694, 700}); + + dieListe.einfuegenBei(1, 353); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 353, 201, 247, 462, 239, 264, 51, 694, 700}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 353, 201, 247, 462, 239, 264, 694, 700}); + + dieListe.einfuegenBei(1, 974); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 247, 462, 239, 264, 694, 700}); + + dieListe.einfuegenBei(5, 874); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 247, 874, 462, 239, 264, 694, 700}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 247, 874, 239, 264, 694, 700}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 247, 239, 264, 694, 700}); + + dieListe.einfuegenBei(6, 26); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 247, 239, 26, 264, 694, 700}); + + assertTrue("Fehler: Element 264 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(264)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 247, 239, 26, 264, 700}); + + assertFalse("Fehler: Element 993 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(993)); + dieListe.anhaengen(882); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 247, 239, 26, 264, 700, 882}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 247, 239, 26, 264, 882}); + + assertFalse("Fehler: Element 680 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(680)); + dieListe.einfuegenBei(2, 340); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 340, 353, 201, 247, 239, 26, 264, 882}); + + assertFalse("Fehler: Element 896 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(896)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 247, 239, 26, 264, 882}); + + dieListe.einfuegenBei(4, 389); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 26, 264, 882}); + + dieListe.anhaengen(299); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 26, 264, 882, 299}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 264, 882, 299}); + + dieListe.einfuegenBei(3, 195); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 195, 201, 389, 247, 239, 264, 882, 299}); + + assertTrue("Fehler: Element 195 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(195)); + dieListe.anhaengen(613); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 195, 201, 389, 247, 239, 264, 882, 299, 613}); + + dieListe.einfuegenBei(5, 611); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 195, 201, 611, 389, 247, 239, 264, 882, 299, 613}); + + assertTrue("Fehler: Element 264 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(264)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 611, 389, 247, 239, 264, 882, 299, 613}); + + dieListe.anhaengen(242); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 611, 389, 247, 239, 264, 882, 299, 613, 242}); + + assertFalse("Fehler: Element 75 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(75)); + assertTrue("Fehler: Element 389 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(389)); + dieListe.einfuegenBei(13, 140); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 611, 389, 247, 239, 264, 882, 299, 613, 242, 140}); + + assertFalse("Fehler: Element 388 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(388)); + dieListe.anhaengen(288); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 611, 389, 247, 239, 264, 882, 299, 613, 242, 140, 288}); + + assertFalse("Fehler: Element 759 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(759)); + dieListe.entferneBei(14); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 611, 389, 247, 239, 264, 882, 299, 613, 242, 140}); + + dieListe.anhaengen(352); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 611, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352}); + + dieListe.anhaengen(363); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 611, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352, 363}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352, 363}); + + assertTrue("Fehler: Element 264 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(264)); + dieListe.anhaengen(218); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352, 363, 218}); + + dieListe.anhaengen(644); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352, 363, 218, 644}); + + dieListe.einfuegenBei(16, 756); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352, 363, 218, 756, 644}); + + dieListe.anhaengen(900); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352, 363, 218, 756, 644, 900}); + + dieListe.einfuegenBei(15, 183); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352, 363, 183, 218, 756, 644, 900}); + + assertTrue("Fehler: Element 644 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(644)); + dieListe.entferneBei(15); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352, 363, 218, 756, 644, 900}); + + dieListe.einfuegenBei(14, 348); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352, 348, 363, 218, 756, 644, 900}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(43); + Tester.pruefeListenInhalt(dieListe, new int[]{43}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 504); + Tester.pruefeListenInhalt(dieListe, new int[]{504}); + + dieListe.einfuegenBei(1, 667); + Tester.pruefeListenInhalt(dieListe, new int[]{504, 667}); + + assertFalse("Fehler: Element 187 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(187)); + dieListe.anhaengen(452); + Tester.pruefeListenInhalt(dieListe, new int[]{504, 667, 452}); + + dieListe.anhaengen(647); + Tester.pruefeListenInhalt(dieListe, new int[]{504, 667, 452, 647}); + + dieListe.einfuegenBei(3, 463); + Tester.pruefeListenInhalt(dieListe, new int[]{504, 667, 452, 463, 647}); + + dieListe.einfuegenBei(3, 826); + Tester.pruefeListenInhalt(dieListe, new int[]{504, 667, 452, 826, 463, 647}); + + dieListe.einfuegenBei(1, 532); + Tester.pruefeListenInhalt(dieListe, new int[]{504, 532, 667, 452, 826, 463, 647}); + + dieListe.einfuegenBei(5, 90); + Tester.pruefeListenInhalt(dieListe, new int[]{504, 532, 667, 452, 826, 90, 463, 647}); + + assertTrue("Fehler: Element 647 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(647)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{504, 532, 452, 826, 90, 463, 647}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{504, 532, 452, 826, 90, 647}); + + assertFalse("Fehler: Element 265 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(265)); + dieListe.einfuegenBei(0, 669); + Tester.pruefeListenInhalt(dieListe, new int[]{669, 504, 532, 452, 826, 90, 647}); + + assertFalse("Fehler: Element 687 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(687)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 454); + Tester.pruefeListenInhalt(dieListe, new int[]{454}); + + dieListe.einfuegenBei(0, 620); + Tester.pruefeListenInhalt(dieListe, new int[]{620, 454}); + + dieListe.anhaengen(450); + Tester.pruefeListenInhalt(dieListe, new int[]{620, 454, 450}); + + dieListe.anhaengen(955); + Tester.pruefeListenInhalt(dieListe, new int[]{620, 454, 450, 955}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{620, 450, 955}); + + dieListe.anhaengen(292); + Tester.pruefeListenInhalt(dieListe, new int[]{620, 450, 955, 292}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 753); + Tester.pruefeListenInhalt(dieListe, new int[]{753}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 61); + Tester.pruefeListenInhalt(dieListe, new int[]{61}); + + assertFalse("Fehler: Element 938 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(938)); + dieListe.anhaengen(705); + Tester.pruefeListenInhalt(dieListe, new int[]{61, 705}); + + dieListe.einfuegenBei(2, 124); + Tester.pruefeListenInhalt(dieListe, new int[]{61, 705, 124}); + + assertFalse("Fehler: Element 306 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(306)); + dieListe.anhaengen(920); + Tester.pruefeListenInhalt(dieListe, new int[]{61, 705, 124, 920}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{705, 124, 920}); + + dieListe.einfuegenBei(0, 569); + Tester.pruefeListenInhalt(dieListe, new int[]{569, 705, 124, 920}); + + dieListe.anhaengen(963); + Tester.pruefeListenInhalt(dieListe, new int[]{569, 705, 124, 920, 963}); + + dieListe.anhaengen(6); + Tester.pruefeListenInhalt(dieListe, new int[]{569, 705, 124, 920, 963, 6}); + + dieListe.anhaengen(749); + Tester.pruefeListenInhalt(dieListe, new int[]{569, 705, 124, 920, 963, 6, 749}); + + dieListe.anhaengen(883); + Tester.pruefeListenInhalt(dieListe, new int[]{569, 705, 124, 920, 963, 6, 749, 883}); + + dieListe.einfuegenBei(0, 875); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 124, 920, 963, 6, 749, 883}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 124, 920, 6, 749, 883}); + + dieListe.einfuegenBei(5, 554); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 124, 920, 554, 6, 749, 883}); + + assertFalse("Fehler: Element 165 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(165)); + assertFalse("Fehler: Element 444 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(444)); + dieListe.einfuegenBei(6, 313); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 124, 920, 554, 313, 6, 749, 883}); + + dieListe.einfuegenBei(3, 949); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 949, 124, 920, 554, 313, 6, 749, 883}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 949, 124, 920, 554, 313, 6, 883}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 949, 124, 920, 554, 313, 883}); + + dieListe.einfuegenBei(3, 449); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 449, 949, 124, 920, 554, 313, 883}); + + assertFalse("Fehler: Element 486 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(486)); + assertTrue("Fehler: Element 705 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(705)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 449, 949, 124, 554, 313, 883}); + + dieListe.einfuegenBei(9, 788); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 449, 949, 124, 554, 313, 883, 788}); + + assertFalse("Fehler: Element 335 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(335)); + dieListe.anhaengen(170); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 449, 949, 124, 554, 313, 883, 788, 170}); + + dieListe.einfuegenBei(4, 10); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 449, 10, 949, 124, 554, 313, 883, 788, 170}); + + dieListe.anhaengen(431); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 449, 10, 949, 124, 554, 313, 883, 788, 170, 431}); + + assertFalse("Fehler: Element 161 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(161)); + assertFalse("Fehler: Element 542 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(542)); + assertFalse("Fehler: Element 726 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(726)); + assertTrue("Fehler: Element 875 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(875)); + assertTrue("Fehler: Element 569 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(569)); + dieListe.einfuegenBei(7, 949); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 449, 10, 949, 124, 949, 554, 313, 883, 788, 170, 431}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 449, 10, 949, 124, 949, 554, 313, 883, 788, 431}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 449, 10, 949, 124, 949, 313, 883, 788, 431}); + + assertTrue("Fehler: Element 875 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(875)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 949, 313, 883, 788, 431}); + + dieListe.einfuegenBei(9, 600); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 949, 313, 883, 600, 788, 431}); + + assertFalse("Fehler: Element 93 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(93)); + assertFalse("Fehler: Element 368 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(368)); + dieListe.anhaengen(212); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 949, 313, 883, 600, 788, 431, 212}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 949, 313, 883, 600, 788, 431}); + + dieListe.anhaengen(575); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 949, 313, 883, 600, 788, 431, 575}); + + dieListe.anhaengen(157); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 949, 313, 883, 600, 788, 431, 575, 157}); + + dieListe.anhaengen(838); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 949, 313, 883, 600, 788, 431, 575, 157, 838}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 788, 431, 575, 157, 838}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 788, 431, 575, 157}); + + dieListe.einfuegenBei(12, 980); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 788, 431, 575, 980, 157}); + + dieListe.anhaengen(677); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 788, 431, 575, 980, 157, 677}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 788, 575, 980, 157, 677}); + + dieListe.einfuegenBei(9, 693); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 693, 788, 575, 980, 157, 677}); + + dieListe.anhaengen(37); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 693, 788, 575, 980, 157, 677, 37}); + + dieListe.anhaengen(212); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 693, 788, 575, 980, 157, 677, 37, 212}); + + dieListe.anhaengen(838); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 693, 788, 575, 980, 157, 677, 37, 212, 838}); + + dieListe.einfuegenBei(9, 427); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 427, 693, 788, 575, 980, 157, 677, 37, 212, 838}); + + dieListe.anhaengen(971); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 427, 693, 788, 575, 980, 157, 677, 37, 212, 838, 971}); + + dieListe.einfuegenBei(13, 708); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 427, 693, 788, 575, 708, 980, 157, 677, 37, 212, 838, 971}); + + dieListe.entferneBei(16); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 427, 693, 788, 575, 708, 980, 157, 37, 212, 838, 971}); + + dieListe.einfuegenBei(16, 67); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 427, 693, 788, 575, 708, 980, 157, 67, 37, 212, 838, 971}); + + dieListe.einfuegenBei(15, 133); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 427, 693, 788, 575, 708, 980, 133, 157, 67, 37, 212, 838, 971}); + + dieListe.einfuegenBei(6, 525); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 525, 313, 883, 600, 427, 693, 788, 575, 708, 980, 133, 157, 67, 37, 212, 838, 971}); + + dieListe.einfuegenBei(4, 977); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 977, 949, 124, 525, 313, 883, 600, 427, 693, 788, 575, 708, 980, 133, 157, 67, 37, 212, 838, 971}); + + assertTrue("Fehler: Element 600 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(600)); + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 977, 124, 525, 313, 883, 600, 427, 693, 788, 575, 708, 980, 133, 157, 67, 37, 212, 838, 971}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(834); + Tester.pruefeListenInhalt(dieListe, new int[]{834}); + + assertTrue("Fehler: Element 834 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(834)); + dieListe.einfuegenBei(0, 657); + Tester.pruefeListenInhalt(dieListe, new int[]{657, 834}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{657}); + + assertTrue("Fehler: Element 657 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(657)); + dieListe.einfuegenBei(1, 884); + Tester.pruefeListenInhalt(dieListe, new int[]{657, 884}); + + dieListe.anhaengen(45); + Tester.pruefeListenInhalt(dieListe, new int[]{657, 884, 45}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 45}); + + dieListe.anhaengen(644); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 45, 644}); + + assertTrue("Fehler: Element 884 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(884)); + dieListe.anhaengen(413); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 45, 644, 413}); + + assertTrue("Fehler: Element 644 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(644)); + dieListe.anhaengen(686); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 45, 644, 413, 686}); + + assertFalse("Fehler: Element 804 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(804)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 45, 644, 413}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 644, 413}); + + dieListe.anhaengen(881); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 644, 413, 881}); + + dieListe.einfuegenBei(4, 685); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 644, 413, 881, 685}); + + assertFalse("Fehler: Element 87 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(87)); + assertTrue("Fehler: Element 884 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(884)); + assertTrue("Fehler: Element 413 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(413)); + assertTrue("Fehler: Element 413 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(413)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 644, 413, 881}); + + dieListe.anhaengen(897); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 644, 413, 881, 897}); + + dieListe.anhaengen(300); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 644, 413, 881, 897, 300}); + + dieListe.einfuegenBei(1, 396); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 396, 644, 413, 881, 897, 300}); + + assertTrue("Fehler: Element 300 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(300)); + assertTrue("Fehler: Element 413 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(413)); + assertTrue("Fehler: Element 884 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(884)); + dieListe.einfuegenBei(6, 568); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 396, 644, 413, 881, 897, 568, 300}); + + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 173); + Tester.pruefeListenInhalt(dieListe, new int[]{173}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 843); + Tester.pruefeListenInhalt(dieListe, new int[]{843}); + + assertFalse("Fehler: Element 602 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(602)); + assertTrue("Fehler: Element 843 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(843)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(914); + Tester.pruefeListenInhalt(dieListe, new int[]{914}); + + dieListe.einfuegenBei(0, 814); + Tester.pruefeListenInhalt(dieListe, new int[]{814, 914}); + + dieListe.einfuegenBei(1, 74); + Tester.pruefeListenInhalt(dieListe, new int[]{814, 74, 914}); + + assertFalse("Fehler: Element 787 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(787)); + dieListe.anhaengen(846); + Tester.pruefeListenInhalt(dieListe, new int[]{814, 74, 914, 846}); + + dieListe.anhaengen(95); + Tester.pruefeListenInhalt(dieListe, new int[]{814, 74, 914, 846, 95}); + + dieListe.einfuegenBei(0, 562); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 814, 74, 914, 846, 95}); + + dieListe.einfuegenBei(6, 84); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 814, 74, 914, 846, 95, 84}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 814, 74, 914, 95, 84}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 74, 914, 95, 84}); + + assertFalse("Fehler: Element 182 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(182)); + assertFalse("Fehler: Element 495 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(495)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 74, 914, 84}); + + dieListe.einfuegenBei(1, 556); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 74, 914, 84}); + + dieListe.einfuegenBei(1, 813); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 813, 556, 74, 914, 84}); + + dieListe.anhaengen(640); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 813, 556, 74, 914, 84, 640}); + + assertFalse("Fehler: Element 601 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(601)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 74, 914, 84, 640}); + + dieListe.einfuegenBei(1, 365); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 365, 556, 74, 914, 84, 640}); + + dieListe.anhaengen(126); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 365, 556, 74, 914, 84, 640, 126}); + + dieListe.einfuegenBei(7, 955); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 365, 556, 74, 914, 84, 640, 955, 126}); + + dieListe.anhaengen(309); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 365, 556, 74, 914, 84, 640, 955, 126, 309}); + + assertFalse("Fehler: Element 638 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(638)); + assertFalse("Fehler: Element 765 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(765)); + dieListe.anhaengen(551); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 365, 556, 74, 914, 84, 640, 955, 126, 309, 551}); + + dieListe.anhaengen(347); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 365, 556, 74, 914, 84, 640, 955, 126, 309, 551, 347}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 365, 556, 74, 914, 84, 640, 955, 309, 551, 347}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 365, 556, 74, 914, 84, 640, 955, 551, 347}); + + dieListe.anhaengen(995); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 365, 556, 74, 914, 84, 640, 955, 551, 347, 995}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 74, 914, 84, 640, 955, 551, 347, 995}); + + assertTrue("Fehler: Element 640 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(640)); + assertFalse("Fehler: Element 864 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(864)); + dieListe.einfuegenBei(7, 115); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 74, 914, 84, 640, 955, 115, 551, 347, 995}); + + dieListe.anhaengen(568); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 74, 914, 84, 640, 955, 115, 551, 347, 995, 568}); + + dieListe.einfuegenBei(2, 54); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 74, 914, 84, 640, 955, 115, 551, 347, 995, 568}); + + dieListe.einfuegenBei(5, 939); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 74, 914, 939, 84, 640, 955, 115, 551, 347, 995, 568}); + + assertTrue("Fehler: Element 84 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(84)); + dieListe.einfuegenBei(8, 790); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 74, 914, 939, 84, 640, 790, 955, 115, 551, 347, 995, 568}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 74, 939, 84, 640, 790, 955, 115, 551, 347, 995, 568}); + + assertTrue("Fehler: Element 84 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(84)); + dieListe.anhaengen(589); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 74, 939, 84, 640, 790, 955, 115, 551, 347, 995, 568, 589}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 939, 84, 640, 790, 955, 115, 551, 347, 995, 568, 589}); + + dieListe.anhaengen(83); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 939, 84, 640, 790, 955, 115, 551, 347, 995, 568, 589, 83}); + + dieListe.einfuegenBei(9, 267); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 939, 84, 640, 790, 955, 115, 267, 551, 347, 995, 568, 589, 83}); + + dieListe.anhaengen(131); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 939, 84, 640, 790, 955, 115, 267, 551, 347, 995, 568, 589, 83, 131}); + + dieListe.einfuegenBei(6, 602); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 939, 84, 640, 602, 790, 955, 115, 267, 551, 347, 995, 568, 589, 83, 131}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 939, 84, 640, 602, 790, 115, 267, 551, 347, 995, 568, 589, 83, 131}); + + dieListe.einfuegenBei(6, 397); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 939, 84, 640, 397, 602, 790, 115, 267, 551, 347, 995, 568, 589, 83, 131}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 781); + Tester.pruefeListenInhalt(dieListe, new int[]{781}); + + dieListe.einfuegenBei(0, 964); + Tester.pruefeListenInhalt(dieListe, new int[]{964, 781}); + + dieListe.einfuegenBei(0, 380); + Tester.pruefeListenInhalt(dieListe, new int[]{380, 964, 781}); + + dieListe.einfuegenBei(0, 991); + Tester.pruefeListenInhalt(dieListe, new int[]{991, 380, 964, 781}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 92); + Tester.pruefeListenInhalt(dieListe, new int[]{92}); + + dieListe.anhaengen(854); + Tester.pruefeListenInhalt(dieListe, new int[]{92, 854}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{854}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(24); + Tester.pruefeListenInhalt(dieListe, new int[]{24}); + + assertFalse("Fehler: Element 994 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(994)); + assertFalse("Fehler: Element 769 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(769)); +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 85); + Tester.pruefeListenInhalt(dieListe, new int[]{85}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 739); + Tester.pruefeListenInhalt(dieListe, new int[]{739}); + + assertTrue("Fehler: Element 739 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(739)); + assertTrue("Fehler: Element 739 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(739)); + dieListe.einfuegenBei(1, 609); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 609}); + + dieListe.anhaengen(646); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 609, 646}); + + assertFalse("Fehler: Element 697 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(697)); + dieListe.anhaengen(611); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 609, 646, 611}); + + dieListe.anhaengen(159); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 609, 646, 611, 159}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 646, 611, 159}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 611, 159}); + + dieListe.einfuegenBei(3, 86); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 611, 159, 86}); + + assertTrue("Fehler: Element 159 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(159)); + dieListe.anhaengen(535); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 611, 159, 86, 535}); + + dieListe.einfuegenBei(2, 607); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 611, 607, 159, 86, 535}); + + dieListe.anhaengen(445); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 611, 607, 159, 86, 535, 445}); + + assertFalse("Fehler: Element 794 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(794)); + dieListe.anhaengen(153); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 611, 607, 159, 86, 535, 445, 153}); + + dieListe.einfuegenBei(1, 866); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 866, 611, 607, 159, 86, 535, 445, 153}); + + dieListe.anhaengen(574); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 866, 611, 607, 159, 86, 535, 445, 153, 574}); + + dieListe.einfuegenBei(7, 169); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 866, 611, 607, 159, 86, 535, 169, 445, 153, 574}); + + dieListe.anhaengen(707); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 866, 611, 607, 159, 86, 535, 169, 445, 153, 574, 707}); + + dieListe.einfuegenBei(0, 911); + Tester.pruefeListenInhalt(dieListe, new int[]{911, 739, 866, 611, 607, 159, 86, 535, 169, 445, 153, 574, 707}); + + assertFalse("Fehler: Element 476 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(476)); + dieListe.anhaengen(353); + Tester.pruefeListenInhalt(dieListe, new int[]{911, 739, 866, 611, 607, 159, 86, 535, 169, 445, 153, 574, 707, 353}); + + dieListe.einfuegenBei(1, 459); + Tester.pruefeListenInhalt(dieListe, new int[]{911, 459, 739, 866, 611, 607, 159, 86, 535, 169, 445, 153, 574, 707, 353}); + + dieListe.einfuegenBei(6, 431); + Tester.pruefeListenInhalt(dieListe, new int[]{911, 459, 739, 866, 611, 607, 431, 159, 86, 535, 169, 445, 153, 574, 707, 353}); + + assertFalse("Fehler: Element 672 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(672)); + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{911, 459, 739, 866, 611, 607, 431, 159, 86, 535, 169, 445, 153, 707, 353}); + + dieListe.einfuegenBei(0, 87); + Tester.pruefeListenInhalt(dieListe, new int[]{87, 911, 459, 739, 866, 611, 607, 431, 159, 86, 535, 169, 445, 153, 707, 353}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{87, 911, 459, 739, 866, 611, 607, 431, 159, 86, 535, 169, 445, 707, 353}); + + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(83); + Tester.pruefeListenInhalt(dieListe, new int[]{83}); + + assertFalse("Fehler: Element 893 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(893)); + dieListe.einfuegenBei(0, 421); + Tester.pruefeListenInhalt(dieListe, new int[]{421, 83}); + + assertFalse("Fehler: Element 714 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(714)); + dieListe.einfuegenBei(0, 175); + Tester.pruefeListenInhalt(dieListe, new int[]{175, 421, 83}); + + assertFalse("Fehler: Element 736 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(736)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{175, 421}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{421}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 639); + Tester.pruefeListenInhalt(dieListe, new int[]{639}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 311); + Tester.pruefeListenInhalt(dieListe, new int[]{311}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 175); + Tester.pruefeListenInhalt(dieListe, new int[]{175}); + + assertFalse("Fehler: Element 352 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(352)); + dieListe.anhaengen(759); + Tester.pruefeListenInhalt(dieListe, new int[]{175, 759}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{175}); + + assertTrue("Fehler: Element 175 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(175)); + assertFalse("Fehler: Element 203 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(203)); + assertTrue("Fehler: Element 175 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(175)); + dieListe.anhaengen(117); + Tester.pruefeListenInhalt(dieListe, new int[]{175, 117}); + + dieListe.anhaengen(664); + Tester.pruefeListenInhalt(dieListe, new int[]{175, 117, 664}); + + dieListe.einfuegenBei(3, 1); + Tester.pruefeListenInhalt(dieListe, new int[]{175, 117, 664, 1}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 661); + Tester.pruefeListenInhalt(dieListe, new int[]{661}); + + assertFalse("Fehler: Element 752 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(752)); + dieListe.anhaengen(285); + Tester.pruefeListenInhalt(dieListe, new int[]{661, 285}); + + dieListe.einfuegenBei(2, 234); + Tester.pruefeListenInhalt(dieListe, new int[]{661, 285, 234}); + + assertTrue("Fehler: Element 234 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(234)); + dieListe.anhaengen(249); + Tester.pruefeListenInhalt(dieListe, new int[]{661, 285, 234, 249}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{285, 234, 249}); + + assertFalse("Fehler: Element 227 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(227)); + assertFalse("Fehler: Element 735 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(735)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{285, 234}); + + dieListe.anhaengen(769); + Tester.pruefeListenInhalt(dieListe, new int[]{285, 234, 769}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{234, 769}); + + dieListe.einfuegenBei(1, 617); + Tester.pruefeListenInhalt(dieListe, new int[]{234, 617, 769}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{234, 617}); + + assertTrue("Fehler: Element 234 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(234)); + dieListe.anhaengen(998); + Tester.pruefeListenInhalt(dieListe, new int[]{234, 617, 998}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{234, 998}); + + assertFalse("Fehler: Element 591 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(591)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{998}); + + dieListe.einfuegenBei(1, 976); + Tester.pruefeListenInhalt(dieListe, new int[]{998, 976}); + + assertTrue("Fehler: Element 976 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(976)); + dieListe.anhaengen(474); + Tester.pruefeListenInhalt(dieListe, new int[]{998, 976, 474}); + + assertFalse("Fehler: Element 806 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(806)); + assertTrue("Fehler: Element 976 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(976)); + dieListe.anhaengen(666); + Tester.pruefeListenInhalt(dieListe, new int[]{998, 976, 474, 666}); + + dieListe.anhaengen(983); + Tester.pruefeListenInhalt(dieListe, new int[]{998, 976, 474, 666, 983}); + + dieListe.anhaengen(428); + Tester.pruefeListenInhalt(dieListe, new int[]{998, 976, 474, 666, 983, 428}); + + assertTrue("Fehler: Element 428 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(428)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 474, 666, 983, 428}); + + assertFalse("Fehler: Element 517 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(517)); + dieListe.anhaengen(778); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 474, 666, 983, 428, 778}); + + dieListe.einfuegenBei(2, 424); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 474, 424, 666, 983, 428, 778}); + + assertTrue("Fehler: Element 424 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(424)); + assertFalse("Fehler: Element 891 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(891)); + assertFalse("Fehler: Element 81 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(81)); + dieListe.einfuegenBei(1, 208); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 666, 983, 428, 778}); + + assertFalse("Fehler: Element 809 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(809)); + dieListe.anhaengen(623); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 666, 983, 428, 778, 623}); + + dieListe.einfuegenBei(4, 412); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 666, 983, 428, 778, 623}); + + dieListe.anhaengen(321); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 666, 983, 428, 778, 623, 321}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 666, 983, 428, 623, 321}); + + dieListe.einfuegenBei(10, 658); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 666, 983, 428, 623, 321, 658}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 983, 428, 623, 321, 658}); + + assertFalse("Fehler: Element 924 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(924)); + dieListe.anhaengen(719); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 983, 428, 623, 321, 658, 719}); + + dieListe.einfuegenBei(8, 367); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 983, 428, 623, 367, 321, 658, 719}); + + dieListe.einfuegenBei(12, 35); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 983, 428, 623, 367, 321, 658, 719, 35}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 983, 428, 623, 367, 321, 658, 35}); + + dieListe.einfuegenBei(7, 973); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 983, 428, 973, 623, 367, 321, 658, 35}); + + assertTrue("Fehler: Element 412 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(412)); + dieListe.anhaengen(840); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 983, 428, 973, 623, 367, 321, 658, 35, 840}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 623, 367, 321, 658, 35, 840}); + + dieListe.anhaengen(95); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 623, 367, 321, 658, 35, 840, 95}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 623, 367, 321, 35, 840, 95}); + + dieListe.einfuegenBei(7, 499); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 499, 623, 367, 321, 35, 840, 95}); + + assertFalse("Fehler: Element 599 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(599)); + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 499, 623, 367, 321, 35, 95}); + + dieListe.anhaengen(448); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 499, 623, 367, 321, 35, 95, 448}); + + assertFalse("Fehler: Element 296 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(296)); + dieListe.anhaengen(105); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 499, 623, 367, 321, 35, 95, 448, 105}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 499, 623, 321, 35, 95, 448, 105}); + + assertFalse("Fehler: Element 903 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(903)); + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 499, 623, 321, 95, 448, 105}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 499, 623, 95, 448, 105}); + + dieListe.einfuegenBei(12, 42); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 499, 623, 95, 448, 105, 42}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 983, 428, 973, 499, 623, 95, 448, 105, 42}); + + assertFalse("Fehler: Element 317 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(317)); + assertTrue("Fehler: Element 42 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(42)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 983, 428, 973, 499, 623, 448, 105, 42}); + + dieListe.anhaengen(874); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 983, 428, 973, 499, 623, 448, 105, 42, 874}); + + assertFalse("Fehler: Element 95 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(95)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 983, 428, 973, 623, 448, 105, 42, 874}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 424, 983, 428, 973, 623, 448, 105, 42, 874}); + + dieListe.einfuegenBei(2, 120); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 424, 120, 983, 428, 973, 623, 448, 105, 42, 874}); + + dieListe.einfuegenBei(4, 683); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 424, 120, 983, 683, 428, 973, 623, 448, 105, 42, 874}); + + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(388); + Tester.pruefeListenInhalt(dieListe, new int[]{388}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 417); + Tester.pruefeListenInhalt(dieListe, new int[]{417}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 85); + Tester.pruefeListenInhalt(dieListe, new int[]{85}); + + dieListe.einfuegenBei(0, 3); + Tester.pruefeListenInhalt(dieListe, new int[]{3, 85}); + + dieListe.anhaengen(725); + Tester.pruefeListenInhalt(dieListe, new int[]{3, 85, 725}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{3, 725}); + + dieListe.anhaengen(707); + Tester.pruefeListenInhalt(dieListe, new int[]{3, 725, 707}); + + assertFalse("Fehler: Element 523 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(523)); + assertTrue("Fehler: Element 707 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(707)); + dieListe.anhaengen(455); + Tester.pruefeListenInhalt(dieListe, new int[]{3, 725, 707, 455}); + + dieListe.anhaengen(196); + Tester.pruefeListenInhalt(dieListe, new int[]{3, 725, 707, 455, 196}); + + assertFalse("Fehler: Element 290 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(290)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 707, 455, 196}); + + dieListe.einfuegenBei(3, 454); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 707, 455, 454, 196}); + + dieListe.anhaengen(489); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 707, 455, 454, 196, 489}); + + assertTrue("Fehler: Element 707 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(707)); + assertTrue("Fehler: Element 196 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(196)); + dieListe.einfuegenBei(3, 772); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 707, 455, 772, 454, 196, 489}); + + dieListe.anhaengen(672); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 707, 455, 772, 454, 196, 489, 672}); + + assertFalse("Fehler: Element 368 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(368)); + assertTrue("Fehler: Element 489 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(489)); + assertTrue("Fehler: Element 672 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(672)); + dieListe.anhaengen(79); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 707, 455, 772, 454, 196, 489, 672, 79}); + + dieListe.anhaengen(219); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 707, 455, 772, 454, 196, 489, 672, 79, 219}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(354); + Tester.pruefeListenInhalt(dieListe, new int[]{354}); + + dieListe.einfuegenBei(1, 780); + Tester.pruefeListenInhalt(dieListe, new int[]{354, 780}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{780}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(221); + Tester.pruefeListenInhalt(dieListe, new int[]{221}); + + dieListe.einfuegenBei(0, 92); + Tester.pruefeListenInhalt(dieListe, new int[]{92, 221}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{92}); + + dieListe.einfuegenBei(0, 799); + Tester.pruefeListenInhalt(dieListe, new int[]{799, 92}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{92}); + + dieListe.einfuegenBei(1, 588); + Tester.pruefeListenInhalt(dieListe, new int[]{92, 588}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(879); + Tester.pruefeListenInhalt(dieListe, new int[]{879}); + + dieListe.anhaengen(409); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 409}); + + assertFalse("Fehler: Element 982 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(982)); + dieListe.anhaengen(688); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 409, 688}); + + dieListe.anhaengen(377); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 409, 688, 377}); + + dieListe.einfuegenBei(3, 763); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 409, 688, 763, 377}); + + assertFalse("Fehler: Element 206 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(206)); + assertFalse("Fehler: Element 461 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(461)); + dieListe.einfuegenBei(4, 306); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 409, 688, 763, 306, 377}); + + dieListe.einfuegenBei(1, 175); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 175, 409, 688, 763, 306, 377}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 175, 688, 763, 306, 377}); + + dieListe.einfuegenBei(4, 148); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 175, 688, 763, 148, 306, 377}); + + dieListe.anhaengen(675); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 175, 688, 763, 148, 306, 377, 675}); + + dieListe.einfuegenBei(7, 893); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 175, 688, 763, 148, 306, 377, 893, 675}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{175, 688, 763, 148, 306, 377, 893, 675}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{175, 688, 763, 306, 377, 893, 675}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 763, 306, 377, 893, 675}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 763, 306, 893, 675}); + + assertFalse("Fehler: Element 68 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(68)); + dieListe.einfuegenBei(4, 97); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 763, 306, 893, 97, 675}); + + assertFalse("Fehler: Element 348 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(348)); + dieListe.anhaengen(868); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 763, 306, 893, 97, 675, 868}); + + dieListe.anhaengen(688); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 763, 306, 893, 97, 675, 868, 688}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 306, 893, 97, 675, 868, 688}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 692); + Tester.pruefeListenInhalt(dieListe, new int[]{692}); + + dieListe.einfuegenBei(0, 130); + Tester.pruefeListenInhalt(dieListe, new int[]{130, 692}); + + dieListe.einfuegenBei(0, 541); + Tester.pruefeListenInhalt(dieListe, new int[]{541, 130, 692}); + + dieListe.anhaengen(92); + Tester.pruefeListenInhalt(dieListe, new int[]{541, 130, 692, 92}); + + dieListe.einfuegenBei(4, 695); + Tester.pruefeListenInhalt(dieListe, new int[]{541, 130, 692, 92, 695}); + + dieListe.einfuegenBei(4, 157); + Tester.pruefeListenInhalt(dieListe, new int[]{541, 130, 692, 92, 157, 695}); + + assertTrue("Fehler: Element 692 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(692)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{541, 130, 692, 92, 695}); + + assertTrue("Fehler: Element 541 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(541)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{130, 692, 92, 695}); + + dieListe.anhaengen(170); + Tester.pruefeListenInhalt(dieListe, new int[]{130, 692, 92, 695, 170}); + + dieListe.einfuegenBei(3, 159); + Tester.pruefeListenInhalt(dieListe, new int[]{130, 692, 92, 159, 695, 170}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{130, 692, 92, 159, 170}); + + dieListe.einfuegenBei(1, 7); + Tester.pruefeListenInhalt(dieListe, new int[]{130, 7, 692, 92, 159, 170}); + + assertFalse("Fehler: Element 216 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(216)); + dieListe.einfuegenBei(0, 828); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 130, 7, 692, 92, 159, 170}); + + assertFalse("Fehler: Element 913 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(913)); + dieListe.anhaengen(526); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 130, 7, 692, 92, 159, 170, 526}); + + dieListe.anhaengen(634); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 130, 7, 692, 92, 159, 170, 526, 634}); + + dieListe.anhaengen(576); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 130, 7, 692, 92, 159, 170, 526, 634, 576}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 130, 692, 92, 159, 170, 526, 634, 576}); + + dieListe.einfuegenBei(2, 967); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 130, 967, 692, 92, 159, 170, 526, 634, 576}); + + dieListe.anhaengen(530); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 130, 967, 692, 92, 159, 170, 526, 634, 576, 530}); + + dieListe.anhaengen(612); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 130, 967, 692, 92, 159, 170, 526, 634, 576, 530, 612}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 130, 967, 692, 92, 159, 170, 526, 634, 576, 530}); + + dieListe.einfuegenBei(1, 941); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 941, 130, 967, 692, 92, 159, 170, 526, 634, 576, 530}); + + assertTrue("Fehler: Element 828 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(828)); + assertTrue("Fehler: Element 941 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(941)); + dieListe.anhaengen(220); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 941, 130, 967, 692, 92, 159, 170, 526, 634, 576, 530, 220}); + + dieListe.anhaengen(11); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 941, 130, 967, 692, 92, 159, 170, 526, 634, 576, 530, 220, 11}); + + assertFalse("Fehler: Element 734 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(734)); + dieListe.einfuegenBei(5, 335); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 941, 130, 967, 692, 335, 92, 159, 170, 526, 634, 576, 530, 220, 11}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 941, 130, 967, 692, 335, 159, 170, 526, 634, 576, 530, 220, 11}); + + assertTrue("Fehler: Element 130 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(130)); + dieListe.einfuegenBei(1, 469); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 469, 941, 130, 967, 692, 335, 159, 170, 526, 634, 576, 530, 220, 11}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 469, 941, 130, 967, 692, 335, 159, 170, 526, 634, 530, 220, 11}); + + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 151); + Tester.pruefeListenInhalt(dieListe, new int[]{151}); + + dieListe.einfuegenBei(0, 709); + Tester.pruefeListenInhalt(dieListe, new int[]{709, 151}); + + assertTrue("Fehler: Element 151 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(151)); + dieListe.anhaengen(262); + Tester.pruefeListenInhalt(dieListe, new int[]{709, 151, 262}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{709, 262}); + + assertTrue("Fehler: Element 262 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(262)); + dieListe.anhaengen(21); + Tester.pruefeListenInhalt(dieListe, new int[]{709, 262, 21}); + + dieListe.anhaengen(502); + Tester.pruefeListenInhalt(dieListe, new int[]{709, 262, 21, 502}); + + dieListe.anhaengen(527); + Tester.pruefeListenInhalt(dieListe, new int[]{709, 262, 21, 502, 527}); + + dieListe.anhaengen(850); + Tester.pruefeListenInhalt(dieListe, new int[]{709, 262, 21, 502, 527, 850}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{709, 21, 502, 527, 850}); + + assertTrue("Fehler: Element 21 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(21)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{709, 502, 527, 850}); + + assertFalse("Fehler: Element 584 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(584)); + dieListe.einfuegenBei(0, 364); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 850}); + + dieListe.anhaengen(89); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 850, 89}); + + dieListe.anhaengen(710); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 850, 89, 710}); + + assertTrue("Fehler: Element 710 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(710)); + dieListe.einfuegenBei(5, 185); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 850, 185, 89, 710}); + + dieListe.einfuegenBei(4, 862); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 185, 89, 710}); + + dieListe.anhaengen(24); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 185, 89, 710, 24}); + + assertTrue("Fehler: Element 364 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(364)); + dieListe.anhaengen(391); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 185, 89, 710, 24, 391}); + + assertTrue("Fehler: Element 850 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(850)); + assertTrue("Fehler: Element 185 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(185)); + dieListe.anhaengen(355); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 185, 89, 710, 24, 391, 355}); + + dieListe.anhaengen(174); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 185, 89, 710, 24, 391, 355, 174}); + + dieListe.einfuegenBei(9, 732); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 185, 89, 710, 732, 24, 391, 355, 174}); + + dieListe.anhaengen(137); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 185, 89, 710, 732, 24, 391, 355, 174, 137}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 185, 89, 710, 732, 24, 391, 355, 137}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 89, 710, 732, 24, 391, 355, 137}); + + dieListe.anhaengen(326); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 89, 710, 732, 24, 391, 355, 137, 326}); + + dieListe.anhaengen(883); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 89, 710, 732, 24, 391, 355, 137, 326, 883}); + + dieListe.einfuegenBei(4, 60); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 60, 862, 850, 89, 710, 732, 24, 391, 355, 137, 326, 883}); + + dieListe.anhaengen(140); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 60, 862, 850, 89, 710, 732, 24, 391, 355, 137, 326, 883, 140}); + + assertFalse("Fehler: Element 792 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(792)); + dieListe.einfuegenBei(5, 368); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 60, 368, 862, 850, 89, 710, 732, 24, 391, 355, 137, 326, 883, 140}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 60, 862, 850, 89, 710, 732, 24, 391, 355, 137, 326, 883, 140}); + + dieListe.einfuegenBei(11, 236); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 60, 862, 850, 89, 710, 732, 24, 236, 391, 355, 137, 326, 883, 140}); + + assertTrue("Fehler: Element 326 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(326)); + dieListe.einfuegenBei(8, 78); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 60, 862, 850, 89, 78, 710, 732, 24, 236, 391, 355, 137, 326, 883, 140}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 60, 862, 850, 78, 710, 732, 24, 236, 391, 355, 137, 326, 883, 140}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 502, 527, 60, 862, 850, 78, 710, 732, 24, 236, 391, 355, 137, 326, 883, 140}); + + dieListe.einfuegenBei(6, 120); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 502, 527, 60, 862, 850, 120, 78, 710, 732, 24, 236, 391, 355, 137, 326, 883, 140}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 502, 527, 60, 862, 850, 120, 78, 732, 24, 236, 391, 355, 137, 326, 883, 140}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 502, 527, 60, 862, 850, 120, 78, 732, 24, 236, 391, 355, 326, 883, 140}); + + dieListe.anhaengen(234); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 502, 527, 60, 862, 850, 120, 78, 732, 24, 236, 391, 355, 326, 883, 140, 234}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(931); + Tester.pruefeListenInhalt(dieListe, new int[]{931}); + + dieListe.einfuegenBei(0, 103); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 931}); + + dieListe.anhaengen(707); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 931, 707}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 931}); + + dieListe.einfuegenBei(0, 77); + Tester.pruefeListenInhalt(dieListe, new int[]{77, 103, 931}); + + dieListe.anhaengen(428); + Tester.pruefeListenInhalt(dieListe, new int[]{77, 103, 931, 428}); + + dieListe.anhaengen(463); + Tester.pruefeListenInhalt(dieListe, new int[]{77, 103, 931, 428, 463}); + + dieListe.einfuegenBei(0, 128); + Tester.pruefeListenInhalt(dieListe, new int[]{128, 77, 103, 931, 428, 463}); + + dieListe.anhaengen(689); + Tester.pruefeListenInhalt(dieListe, new int[]{128, 77, 103, 931, 428, 463, 689}); + + assertTrue("Fehler: Element 77 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(77)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{128, 77, 931, 428, 463, 689}); + + dieListe.anhaengen(135); + Tester.pruefeListenInhalt(dieListe, new int[]{128, 77, 931, 428, 463, 689, 135}); + + dieListe.anhaengen(99); + Tester.pruefeListenInhalt(dieListe, new int[]{128, 77, 931, 428, 463, 689, 135, 99}); + + dieListe.anhaengen(192); + Tester.pruefeListenInhalt(dieListe, new int[]{128, 77, 931, 428, 463, 689, 135, 99, 192}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{128, 77, 931, 428, 463, 135, 99, 192}); + + dieListe.einfuegenBei(7, 905); + Tester.pruefeListenInhalt(dieListe, new int[]{128, 77, 931, 428, 463, 135, 99, 905, 192}); + + dieListe.einfuegenBei(1, 44); + Tester.pruefeListenInhalt(dieListe, new int[]{128, 44, 77, 931, 428, 463, 135, 99, 905, 192}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 77, 931, 428, 463, 135, 99, 905, 192}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 77, 931, 428, 463, 135, 905, 192}); + + assertFalse("Fehler: Element 580 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(580)); + dieListe.einfuegenBei(8, 815); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 77, 931, 428, 463, 135, 905, 192, 815}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 77, 931, 428, 463, 905, 192, 815}); + + dieListe.einfuegenBei(6, 300); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 77, 931, 428, 463, 905, 300, 192, 815}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 77, 931, 428, 905, 300, 192, 815}); + + dieListe.einfuegenBei(1, 607); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 905, 300, 192, 815}); + + dieListe.anhaengen(672); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 905, 300, 192, 815, 672}); + + dieListe.anhaengen(575); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 905, 300, 192, 815, 672, 575}); + + assertFalse("Fehler: Element 670 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(670)); + dieListe.anhaengen(133); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 905, 300, 192, 815, 672, 575, 133}); + + dieListe.anhaengen(967); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 905, 300, 192, 815, 672, 575, 133, 967}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 905, 300, 192, 815, 672, 575, 133}); + + assertTrue("Fehler: Element 300 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(300)); + assertTrue("Fehler: Element 44 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(44)); + assertFalse("Fehler: Element 985 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(985)); + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 905, 300, 192, 815, 575, 133}); + + assertTrue("Fehler: Element 428 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(428)); + dieListe.anhaengen(906); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 905, 300, 192, 815, 575, 133, 906}); + + assertTrue("Fehler: Element 77 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(77)); + assertFalse("Fehler: Element 793 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(793)); + dieListe.einfuegenBei(5, 789); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 789, 905, 300, 192, 815, 575, 133, 906}); + + assertTrue("Fehler: Element 906 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(906)); + dieListe.anhaengen(548); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 789, 905, 300, 192, 815, 575, 133, 906, 548}); + + dieListe.anhaengen(471); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 789, 905, 300, 192, 815, 575, 133, 906, 548, 471}); + + assertTrue("Fehler: Element 300 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(300)); + dieListe.einfuegenBei(15, 540); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 789, 905, 300, 192, 815, 575, 133, 906, 548, 471, 540}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 789, 905, 300, 815, 575, 133, 906, 548, 471, 540}); + + assertFalse("Fehler: Element 541 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(541)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 789, 905, 300, 575, 133, 906, 548, 471, 540}); + + dieListe.anhaengen(999); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 789, 905, 300, 575, 133, 906, 548, 471, 540, 999}); + + assertTrue("Fehler: Element 931 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(931)); + dieListe.anhaengen(382); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 789, 905, 300, 575, 133, 906, 548, 471, 540, 999, 382}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 77, 931, 428, 789, 905, 300, 575, 133, 906, 548, 471, 540, 999, 382}); + + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(449); + Tester.pruefeListenInhalt(dieListe, new int[]{449}); + + assertFalse("Fehler: Element 884 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(884)); +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(948); + Tester.pruefeListenInhalt(dieListe, new int[]{948}); + + dieListe.einfuegenBei(1, 728); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 728}); + + assertTrue("Fehler: Element 948 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(948)); + dieListe.anhaengen(890); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 728, 890}); + + dieListe.einfuegenBei(3, 382); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 728, 890, 382}); + + dieListe.einfuegenBei(4, 168); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 728, 890, 382, 168}); + + assertTrue("Fehler: Element 890 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(890)); + dieListe.anhaengen(849); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 728, 890, 382, 168, 849}); + + assertTrue("Fehler: Element 948 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(948)); + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 728, 890, 382, 168}); + + dieListe.anhaengen(225); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 728, 890, 382, 168, 225}); + + dieListe.einfuegenBei(6, 56); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 728, 890, 382, 168, 225, 56}); + + dieListe.einfuegenBei(6, 256); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 728, 890, 382, 168, 225, 256, 56}); + + dieListe.einfuegenBei(0, 47); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 948, 728, 890, 382, 168, 225, 256, 56}); + + dieListe.einfuegenBei(5, 723); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 948, 728, 890, 382, 723, 168, 225, 256, 56}); + + dieListe.anhaengen(867); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 948, 728, 890, 382, 723, 168, 225, 256, 56, 867}); + + dieListe.anhaengen(497); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 948, 728, 890, 382, 723, 168, 225, 256, 56, 867, 497}); + + dieListe.einfuegenBei(8, 780); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 948, 728, 890, 382, 723, 168, 225, 780, 256, 56, 867, 497}); + + dieListe.anhaengen(11); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 948, 728, 890, 382, 723, 168, 225, 780, 256, 56, 867, 497, 11}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 382, 723, 168, 225, 780, 256, 56, 867, 497, 11}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 382, 723, 168, 225, 256, 56, 867, 497, 11}); + + dieListe.anhaengen(832); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 382, 723, 168, 225, 256, 56, 867, 497, 11, 832}); + + dieListe.einfuegenBei(4, 283); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 382, 283, 723, 168, 225, 256, 56, 867, 497, 11, 832}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 168, 225, 256, 56, 867, 497, 11, 832}); + + dieListe.anhaengen(453); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 168, 225, 256, 56, 867, 497, 11, 832, 453}); + + dieListe.einfuegenBei(5, 598); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 598, 168, 225, 256, 56, 867, 497, 11, 832, 453}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 598, 168, 225, 256, 56, 867, 497, 832, 453}); + + dieListe.anhaengen(859); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 598, 168, 225, 256, 56, 867, 497, 832, 453, 859}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 598, 168, 225, 256, 56, 867, 497, 832, 859}); + + assertFalse("Fehler: Element 802 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(802)); + dieListe.anhaengen(793); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 598, 168, 225, 256, 56, 867, 497, 832, 859, 793}); + + assertTrue("Fehler: Element 598 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(598)); + dieListe.anhaengen(180); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 598, 168, 225, 256, 56, 867, 497, 832, 859, 793, 180}); + + dieListe.einfuegenBei(1, 420); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 420, 728, 890, 283, 723, 598, 168, 225, 256, 56, 867, 497, 832, 859, 793, 180}); + + dieListe.anhaengen(392); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 420, 728, 890, 283, 723, 598, 168, 225, 256, 56, 867, 497, 832, 859, 793, 180, 392}); + + dieListe.entferneBei(17); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 420, 728, 890, 283, 723, 598, 168, 225, 256, 56, 867, 497, 832, 859, 793, 180}); + + assertFalse("Fehler: Element 239 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(239)); + dieListe.einfuegenBei(7, 593); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 420, 728, 890, 283, 723, 598, 593, 168, 225, 256, 56, 867, 497, 832, 859, 793, 180}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 598, 593, 168, 225, 256, 56, 867, 497, 832, 859, 793, 180}); + + dieListe.einfuegenBei(17, 832); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 598, 593, 168, 225, 256, 56, 867, 497, 832, 859, 793, 180, 832}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 598, 593, 168, 225, 256, 56, 867, 497, 832, 859, 793, 180, 832}); + + assertTrue("Fehler: Element 832 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(832)); + dieListe.einfuegenBei(4, 505); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 505, 598, 593, 168, 225, 256, 56, 867, 497, 832, 859, 793, 180, 832}); + + dieListe.einfuegenBei(14, 19); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 505, 598, 593, 168, 225, 256, 56, 867, 497, 832, 19, 859, 793, 180, 832}); + + dieListe.anhaengen(631); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 505, 598, 593, 168, 225, 256, 56, 867, 497, 832, 19, 859, 793, 180, 832, 631}); + + dieListe.anhaengen(534); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 505, 598, 593, 168, 225, 256, 56, 867, 497, 832, 19, 859, 793, 180, 832, 631, 534}); + + dieListe.einfuegenBei(5, 395); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 505, 395, 598, 593, 168, 225, 256, 56, 867, 497, 832, 19, 859, 793, 180, 832, 631, 534}); + + dieListe.anhaengen(718); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 505, 395, 598, 593, 168, 225, 256, 56, 867, 497, 832, 19, 859, 793, 180, 832, 631, 534, 718}); + + dieListe.anhaengen(144); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 505, 395, 598, 593, 168, 225, 256, 56, 867, 497, 832, 19, 859, 793, 180, 832, 631, 534, 718, 144}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(752); + Tester.pruefeListenInhalt(dieListe, new int[]{752}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 885); + Tester.pruefeListenInhalt(dieListe, new int[]{885}); + + assertFalse("Fehler: Element 533 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(533)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(868); + Tester.pruefeListenInhalt(dieListe, new int[]{868}); + + dieListe.anhaengen(490); + Tester.pruefeListenInhalt(dieListe, new int[]{868, 490}); + + dieListe.einfuegenBei(1, 276); + Tester.pruefeListenInhalt(dieListe, new int[]{868, 276, 490}); + + dieListe.einfuegenBei(2, 339); + Tester.pruefeListenInhalt(dieListe, new int[]{868, 276, 339, 490}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{868, 339, 490}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{868, 339}); + + dieListe.einfuegenBei(2, 990); + Tester.pruefeListenInhalt(dieListe, new int[]{868, 339, 990}); + + assertTrue("Fehler: Element 868 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(868)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{868, 990}); + + dieListe.einfuegenBei(0, 185); + Tester.pruefeListenInhalt(dieListe, new int[]{185, 868, 990}); + + assertFalse("Fehler: Element 725 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(725)); + dieListe.einfuegenBei(2, 738); + Tester.pruefeListenInhalt(dieListe, new int[]{185, 868, 738, 990}); + + assertFalse("Fehler: Element 615 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(615)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{185, 868, 990}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{185, 868}); + + assertTrue("Fehler: Element 868 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(868)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{185}); + + assertTrue("Fehler: Element 185 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(185)); + dieListe.einfuegenBei(0, 622); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 185}); + + assertFalse("Fehler: Element 668 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(668)); + dieListe.anhaengen(637); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 185, 637}); + + dieListe.anhaengen(718); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 185, 637, 718}); + + assertTrue("Fehler: Element 637 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(637)); + assertTrue("Fehler: Element 718 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(718)); + assertFalse("Fehler: Element 442 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(442)); + assertFalse("Fehler: Element 419 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(419)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{185, 637, 718}); + + dieListe.einfuegenBei(3, 92); + Tester.pruefeListenInhalt(dieListe, new int[]{185, 637, 718, 92}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{185, 718, 92}); + + assertFalse("Fehler: Element 590 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(590)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{718, 92}); + + dieListe.anhaengen(597); + Tester.pruefeListenInhalt(dieListe, new int[]{718, 92, 597}); + + dieListe.einfuegenBei(1, 401); + Tester.pruefeListenInhalt(dieListe, new int[]{718, 401, 92, 597}); + + dieListe.einfuegenBei(3, 937); + Tester.pruefeListenInhalt(dieListe, new int[]{718, 401, 92, 937, 597}); + + dieListe.einfuegenBei(0, 239); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 718, 401, 92, 937, 597}); + + assertTrue("Fehler: Element 597 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(597)); + dieListe.anhaengen(251); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 718, 401, 92, 937, 597, 251}); + + dieListe.einfuegenBei(2, 492); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 718, 492, 401, 92, 937, 597, 251}); + + dieListe.anhaengen(704); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 718, 492, 401, 92, 937, 597, 251, 704}); + + assertTrue("Fehler: Element 401 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(401)); + assertFalse("Fehler: Element 681 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(681)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 718, 492, 401, 92, 937, 597, 251}); + + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(799); + Tester.pruefeListenInhalt(dieListe, new int[]{799}); + + dieListe.anhaengen(137); + Tester.pruefeListenInhalt(dieListe, new int[]{799, 137}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{799}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(262); + Tester.pruefeListenInhalt(dieListe, new int[]{262}); + + dieListe.einfuegenBei(1, 403); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 403}); + + dieListe.einfuegenBei(2, 118); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 403, 118}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{403, 118}); + + dieListe.anhaengen(905); + Tester.pruefeListenInhalt(dieListe, new int[]{403, 118, 905}); + + dieListe.einfuegenBei(3, 135); + Tester.pruefeListenInhalt(dieListe, new int[]{403, 118, 905, 135}); + + assertTrue("Fehler: Element 118 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(118)); + dieListe.anhaengen(391); + Tester.pruefeListenInhalt(dieListe, new int[]{403, 118, 905, 135, 391}); + + dieListe.anhaengen(452); + Tester.pruefeListenInhalt(dieListe, new int[]{403, 118, 905, 135, 391, 452}); + + assertTrue("Fehler: Element 118 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(118)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 905, 135, 391, 452}); + + dieListe.anhaengen(508); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 905, 135, 391, 452, 508}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 135, 391, 452, 508}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 391, 452, 508}); + + assertTrue("Fehler: Element 135 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(135)); + dieListe.einfuegenBei(3, 68); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 391, 452, 68, 508}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(108); + Tester.pruefeListenInhalt(dieListe, new int[]{108}); + + dieListe.einfuegenBei(1, 989); + Tester.pruefeListenInhalt(dieListe, new int[]{108, 989}); + + assertTrue("Fehler: Element 989 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(989)); + dieListe.anhaengen(912); + Tester.pruefeListenInhalt(dieListe, new int[]{108, 989, 912}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(81); + Tester.pruefeListenInhalt(dieListe, new int[]{81}); + + dieListe.anhaengen(928); + Tester.pruefeListenInhalt(dieListe, new int[]{81, 928}); + + assertFalse("Fehler: Element 400 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(400)); + assertFalse("Fehler: Element 600 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(600)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{81}); + + dieListe.einfuegenBei(0, 700); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 81}); + + dieListe.anhaengen(991); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 81, 991}); + + assertFalse("Fehler: Element 407 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(407)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 81}); + + dieListe.einfuegenBei(2, 292); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 81, 292}); + + dieListe.einfuegenBei(1, 379); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 379, 81, 292}); + + dieListe.anhaengen(634); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 379, 81, 292, 634}); + + dieListe.einfuegenBei(5, 319); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 379, 81, 292, 634, 319}); + + assertTrue("Fehler: Element 700 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(700)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 379, 81, 292, 319}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 379, 81, 292}); + + dieListe.anhaengen(4); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 379, 81, 292, 4}); + + dieListe.anhaengen(274); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 379, 81, 292, 4, 274}); + + assertTrue("Fehler: Element 274 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(274)); + assertTrue("Fehler: Element 4 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(4)); + dieListe.anhaengen(822); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 379, 81, 292, 4, 274, 822}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 379, 292, 4, 274, 822}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 292, 4, 274, 822}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 292, 4, 822}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 292, 822}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 292}); + + assertFalse("Fehler: Element 367 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(367)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{292}); + + dieListe.einfuegenBei(1, 203); + Tester.pruefeListenInhalt(dieListe, new int[]{292, 203}); + + assertFalse("Fehler: Element 847 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(847)); + dieListe.einfuegenBei(0, 366); + Tester.pruefeListenInhalt(dieListe, new int[]{366, 292, 203}); + + dieListe.anhaengen(400); + Tester.pruefeListenInhalt(dieListe, new int[]{366, 292, 203, 400}); + + assertTrue("Fehler: Element 400 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(400)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{366, 203, 400}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{366, 400}); + + dieListe.einfuegenBei(0, 963); + Tester.pruefeListenInhalt(dieListe, new int[]{963, 366, 400}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{366, 400}); + + dieListe.einfuegenBei(0, 778); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 366, 400}); + + dieListe.einfuegenBei(3, 813); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 366, 400, 813}); + + dieListe.anhaengen(881); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 366, 400, 813, 881}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 366, 813, 881}); + + dieListe.anhaengen(172); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 366, 813, 881, 172}); + + dieListe.einfuegenBei(1, 509); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 509, 366, 813, 881, 172}); + + assertFalse("Fehler: Element 772 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(772)); + dieListe.einfuegenBei(6, 355); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 509, 366, 813, 881, 172, 355}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 509, 813, 881, 172, 355}); + + dieListe.anhaengen(247); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 509, 813, 881, 172, 355, 247}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 509, 881, 172, 355, 247}); + + dieListe.einfuegenBei(1, 543); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 543, 509, 881, 172, 355, 247}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 543, 509, 172, 355, 247}); + + dieListe.einfuegenBei(6, 59); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 543, 509, 172, 355, 247, 59}); + + assertFalse("Fehler: Element 705 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(705)); + dieListe.einfuegenBei(0, 334); + Tester.pruefeListenInhalt(dieListe, new int[]{334, 778, 543, 509, 172, 355, 247, 59}); + + dieListe.einfuegenBei(0, 137); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 778, 543, 509, 172, 355, 247, 59}); + + dieListe.einfuegenBei(8, 339); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 778, 543, 509, 172, 355, 247, 339, 59}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 778, 543, 172, 355, 247, 339, 59}); + + dieListe.einfuegenBei(4, 754); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 778, 543, 754, 172, 355, 247, 339, 59}); + + dieListe.anhaengen(61); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 778, 543, 754, 172, 355, 247, 339, 59, 61}); + + dieListe.anhaengen(447); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 778, 543, 754, 172, 355, 247, 339, 59, 61, 447}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 778, 543, 754, 172, 355, 339, 59, 61, 447}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 778, 754, 172, 355, 339, 59, 61, 447}); + + assertFalse("Fehler: Element 138 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(138)); + dieListe.einfuegenBei(2, 18); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 18, 778, 754, 172, 355, 339, 59, 61, 447}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 18, 778, 754, 172, 355, 339, 59, 447}); + + dieListe.einfuegenBei(7, 355); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 18, 778, 754, 172, 355, 355, 339, 59, 447}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 18, 778, 754, 172, 355, 339, 59, 447}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 18, 778, 754, 355, 339, 59, 447}); + + dieListe.einfuegenBei(1, 666); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 666, 334, 18, 778, 754, 355, 339, 59, 447}); + + dieListe.einfuegenBei(4, 343); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 666, 334, 18, 343, 778, 754, 355, 339, 59, 447}); + + dieListe.einfuegenBei(10, 268); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 666, 334, 18, 343, 778, 754, 355, 339, 59, 268, 447}); + + dieListe.einfuegenBei(10, 539); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 666, 334, 18, 343, 778, 754, 355, 339, 59, 539, 268, 447}); + + dieListe.anhaengen(968); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 666, 334, 18, 343, 778, 754, 355, 339, 59, 539, 268, 447, 968}); + + dieListe.anhaengen(186); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 666, 334, 18, 343, 778, 754, 355, 339, 59, 539, 268, 447, 968, 186}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest8.java b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest8.java new file mode 100644 index 0000000..d8dc5a3 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest8.java @@ -0,0 +1,2821 @@ +package tests; + +import static org.junit.Assert.*; + +import liste.*; + +/** + * Die Test-Klasse SubTest8. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest8 { + + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(801); + Tester.pruefeListenInhalt(dieListe, new int[]{801}); + + dieListe.einfuegenBei(0, 658); + Tester.pruefeListenInhalt(dieListe, new int[]{658, 801}); + + dieListe.anhaengen(896); + Tester.pruefeListenInhalt(dieListe, new int[]{658, 801, 896}); + + dieListe.einfuegenBei(0, 618); + Tester.pruefeListenInhalt(dieListe, new int[]{618, 658, 801, 896}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{618, 658, 801}); + + assertTrue("Fehler: Element 658 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(658)); + dieListe.einfuegenBei(1, 715); + Tester.pruefeListenInhalt(dieListe, new int[]{618, 715, 658, 801}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{618, 715, 658}); + + dieListe.anhaengen(888); + Tester.pruefeListenInhalt(dieListe, new int[]{618, 715, 658, 888}); + + dieListe.einfuegenBei(0, 224); + Tester.pruefeListenInhalt(dieListe, new int[]{224, 618, 715, 658, 888}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{224, 618, 715, 888}); + + dieListe.einfuegenBei(3, 550); + Tester.pruefeListenInhalt(dieListe, new int[]{224, 618, 715, 550, 888}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{224, 618, 715, 550}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{224, 715, 550}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{715, 550}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{715}); + + dieListe.einfuegenBei(0, 109); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715}); + + dieListe.anhaengen(687); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687}); + + dieListe.anhaengen(939); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 939}); + + dieListe.anhaengen(967); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 939, 967}); + + dieListe.anhaengen(40); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 939, 967, 40}); + + assertFalse("Fehler: Element 879 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(879)); + dieListe.einfuegenBei(6, 55); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 939, 967, 40, 55}); + + dieListe.anhaengen(80); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 939, 967, 40, 55, 80}); + + assertTrue("Fehler: Element 939 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(939)); + dieListe.einfuegenBei(4, 357); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 939, 357, 967, 40, 55, 80}); + + dieListe.anhaengen(245); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 939, 357, 967, 40, 55, 80, 245}); + + assertFalse("Fehler: Element 311 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(311)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 967, 40, 55, 80, 245}); + + dieListe.anhaengen(395); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 967, 40, 55, 80, 245, 395}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 967, 40, 80, 245, 395}); + + dieListe.anhaengen(437); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 967, 40, 80, 245, 395, 437}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 245, 395, 437}); + + dieListe.anhaengen(494); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 245, 395, 437, 494}); + + assertFalse("Fehler: Element 762 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(762)); + dieListe.einfuegenBei(8, 282); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 245, 395, 282, 437, 494}); + + assertTrue("Fehler: Element 40 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(40)); + assertFalse("Fehler: Element 855 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(855)); + assertTrue("Fehler: Element 40 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(40)); + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 245, 395, 282, 437}); + + assertTrue("Fehler: Element 395 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(395)); + dieListe.einfuegenBei(8, 123); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 245, 395, 123, 282, 437}); + + dieListe.anhaengen(82); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 245, 395, 123, 282, 437, 82}); + + dieListe.anhaengen(437); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 245, 395, 123, 282, 437, 82, 437}); + + dieListe.anhaengen(77); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 245, 395, 123, 282, 437, 82, 437, 77}); + + assertTrue("Fehler: Element 77 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(77)); + dieListe.einfuegenBei(6, 155); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 155, 245, 395, 123, 282, 437, 82, 437, 77}); + + dieListe.anhaengen(570); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 155, 245, 395, 123, 282, 437, 82, 437, 77, 570}); + + assertFalse("Fehler: Element 456 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(456)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 357, 40, 80, 155, 245, 395, 123, 282, 437, 82, 437, 77, 570}); + + assertFalse("Fehler: Element 379 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(379)); + assertTrue("Fehler: Element 40 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(40)); + dieListe.einfuegenBei(11, 585); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 357, 40, 80, 155, 245, 395, 123, 282, 437, 585, 82, 437, 77, 570}); + + assertFalse("Fehler: Element 303 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(303)); + assertTrue("Fehler: Element 40 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(40)); + assertFalse("Fehler: Element 306 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(306)); + dieListe.entferneBei(15); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 357, 40, 80, 155, 245, 395, 123, 282, 437, 585, 82, 437, 77}); + + assertFalse("Fehler: Element 560 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(560)); + dieListe.einfuegenBei(12, 53); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 357, 40, 80, 155, 245, 395, 123, 282, 437, 585, 53, 82, 437, 77}); + + dieListe.einfuegenBei(0, 512); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 357, 40, 80, 155, 245, 395, 123, 282, 437, 585, 53, 82, 437, 77}); + + assertTrue("Fehler: Element 715 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(715)); + dieListe.einfuegenBei(1, 142); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 142, 109, 715, 357, 40, 80, 155, 245, 395, 123, 282, 437, 585, 53, 82, 437, 77}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 357, 40, 80, 155, 245, 395, 123, 282, 437, 585, 53, 82, 437, 77}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 357, 40, 80, 245, 395, 123, 282, 437, 585, 53, 82, 437, 77}); + + dieListe.anhaengen(877); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 357, 40, 80, 245, 395, 123, 282, 437, 585, 53, 82, 437, 77, 877}); + + dieListe.anhaengen(853); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 357, 40, 80, 245, 395, 123, 282, 437, 585, 53, 82, 437, 77, 877, 853}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 357, 40, 80, 395, 123, 282, 437, 585, 53, 82, 437, 77, 877, 853}); + + assertTrue("Fehler: Element 437 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(437)); + dieListe.anhaengen(797); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 357, 40, 80, 395, 123, 282, 437, 585, 53, 82, 437, 77, 877, 853, 797}); + + assertTrue("Fehler: Element 877 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(877)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 40, 80, 395, 123, 282, 437, 585, 53, 82, 437, 77, 877, 853, 797}); + + assertTrue("Fehler: Element 40 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(40)); + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 40, 80, 395, 123, 282, 437, 585, 53, 82, 437, 877, 853, 797}); + + dieListe.anhaengen(405); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 40, 80, 395, 123, 282, 437, 585, 53, 82, 437, 877, 853, 797, 405}); + + dieListe.einfuegenBei(3, 454); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 80, 395, 123, 282, 437, 585, 53, 82, 437, 877, 853, 797, 405}); + + dieListe.anhaengen(642); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 80, 395, 123, 282, 437, 585, 53, 82, 437, 877, 853, 797, 405, 642}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 80, 123, 282, 437, 585, 53, 82, 437, 877, 853, 797, 405, 642}); + + dieListe.anhaengen(438); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 80, 123, 282, 437, 585, 53, 82, 437, 877, 853, 797, 405, 642, 438}); + + dieListe.entferneBei(14); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 80, 123, 282, 437, 585, 53, 82, 437, 877, 797, 405, 642, 438}); + + assertTrue("Fehler: Element 282 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(282)); + dieListe.entferneBei(17); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 80, 123, 282, 437, 585, 53, 82, 437, 877, 797, 405, 642}); + + dieListe.einfuegenBei(15, 425); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 80, 123, 282, 437, 585, 53, 82, 437, 877, 797, 425, 405, 642}); + + assertFalse("Fehler: Element 61 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(61)); + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 80, 123, 437, 585, 53, 82, 437, 877, 797, 425, 405, 642}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 123, 437, 585, 53, 82, 437, 877, 797, 425, 405, 642}); + + dieListe.einfuegenBei(15, 75); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 123, 437, 585, 53, 82, 437, 877, 797, 425, 405, 75, 642}); + + dieListe.anhaengen(22); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 123, 437, 585, 53, 82, 437, 877, 797, 425, 405, 75, 642, 22}); + + dieListe.anhaengen(25); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 123, 437, 585, 53, 82, 437, 877, 797, 425, 405, 75, 642, 22, 25}); + + assertFalse("Fehler: Element 752 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(752)); + assertTrue("Fehler: Element 405 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(405)); + dieListe.anhaengen(591); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 123, 437, 585, 53, 82, 437, 877, 797, 425, 405, 75, 642, 22, 25, 591}); + + assertFalse("Fehler: Element 161 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(161)); + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 123, 437, 585, 53, 82, 877, 797, 425, 405, 75, 642, 22, 25, 591}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 454, 40, 123, 437, 585, 53, 82, 877, 797, 425, 405, 75, 642, 22, 25, 591}); + + dieListe.einfuegenBei(0, 181); + Tester.pruefeListenInhalt(dieListe, new int[]{181, 109, 715, 454, 40, 123, 437, 585, 53, 82, 877, 797, 425, 405, 75, 642, 22, 25, 591}); + + dieListe.anhaengen(145); + Tester.pruefeListenInhalt(dieListe, new int[]{181, 109, 715, 454, 40, 123, 437, 585, 53, 82, 877, 797, 425, 405, 75, 642, 22, 25, 591, 145}); + + dieListe.einfuegenBei(6, 117); + Tester.pruefeListenInhalt(dieListe, new int[]{181, 109, 715, 454, 40, 123, 117, 437, 585, 53, 82, 877, 797, 425, 405, 75, 642, 22, 25, 591, 145}); + + dieListe.einfuegenBei(6, 495); + Tester.pruefeListenInhalt(dieListe, new int[]{181, 109, 715, 454, 40, 123, 495, 117, 437, 585, 53, 82, 877, 797, 425, 405, 75, 642, 22, 25, 591, 145}); + + dieListe.einfuegenBei(15, 918); + Tester.pruefeListenInhalt(dieListe, new int[]{181, 109, 715, 454, 40, 123, 495, 117, 437, 585, 53, 82, 877, 797, 425, 918, 405, 75, 642, 22, 25, 591, 145}); + + assertFalse("Fehler: Element 39 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(39)); + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(449); + Tester.pruefeListenInhalt(dieListe, new int[]{449}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(136); + Tester.pruefeListenInhalt(dieListe, new int[]{136}); + + assertTrue("Fehler: Element 136 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(136)); + dieListe.einfuegenBei(0, 783); + Tester.pruefeListenInhalt(dieListe, new int[]{783, 136}); + + dieListe.anhaengen(630); + Tester.pruefeListenInhalt(dieListe, new int[]{783, 136, 630}); + + assertTrue("Fehler: Element 783 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(783)); + dieListe.einfuegenBei(2, 107); + Tester.pruefeListenInhalt(dieListe, new int[]{783, 136, 107, 630}); + + assertFalse("Fehler: Element 697 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(697)); + dieListe.einfuegenBei(0, 986); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 783, 136, 107, 630}); + + dieListe.anhaengen(441); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 783, 136, 107, 630, 441}); + + dieListe.einfuegenBei(1, 403); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 403, 783, 136, 107, 630, 441}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 403, 783, 136, 107, 441}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 403, 783, 107, 441}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 403, 107, 441}); + + dieListe.anhaengen(758); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 403, 107, 441, 758}); + + assertTrue("Fehler: Element 986 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(986)); + dieListe.einfuegenBei(1, 70); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 70, 403, 107, 441, 758}); + + dieListe.anhaengen(19); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 70, 403, 107, 441, 758, 19}); + + dieListe.anhaengen(465); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 70, 403, 107, 441, 758, 19, 465}); + + dieListe.einfuegenBei(3, 602); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 70, 403, 602, 107, 441, 758, 19, 465}); + + assertFalse("Fehler: Element 230 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(230)); + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 70, 403, 602, 107, 441, 758, 465}); + + assertTrue("Fehler: Element 758 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(758)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 623); + Tester.pruefeListenInhalt(dieListe, new int[]{623}); + + assertFalse("Fehler: Element 98 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(98)); + dieListe.einfuegenBei(0, 96); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 623}); + + assertTrue("Fehler: Element 623 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(623)); + dieListe.einfuegenBei(2, 146); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 623, 146}); + + dieListe.einfuegenBei(3, 268); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 623, 146, 268}); + + dieListe.einfuegenBei(1, 195); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 195, 623, 146, 268}); + + assertFalse("Fehler: Element 619 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(619)); + assertFalse("Fehler: Element 835 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(835)); + assertTrue("Fehler: Element 96 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(96)); + assertTrue("Fehler: Element 195 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(195)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 195, 146, 268}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 195, 146}); + + dieListe.einfuegenBei(2, 115); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 195, 115, 146}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 115, 146}); + + dieListe.einfuegenBei(3, 850); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 115, 146, 850}); + + assertFalse("Fehler: Element 944 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(944)); + dieListe.einfuegenBei(4, 532); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 115, 146, 850, 532}); + + dieListe.einfuegenBei(1, 95); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 95, 115, 146, 850, 532}); + + dieListe.anhaengen(6); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 95, 115, 146, 850, 532, 6}); + + dieListe.anhaengen(631); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 95, 115, 146, 850, 532, 6, 631}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 95, 146, 850, 532, 6, 631}); + + assertFalse("Fehler: Element 695 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(695)); + dieListe.anhaengen(257); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 95, 146, 850, 532, 6, 631, 257}); + + assertFalse("Fehler: Element 772 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(772)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 95, 146, 850, 532, 6, 257}); + + assertFalse("Fehler: Element 833 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(833)); + assertTrue("Fehler: Element 146 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(146)); + dieListe.einfuegenBei(3, 655); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 95, 146, 655, 850, 532, 6, 257}); + + dieListe.anhaengen(358); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 95, 146, 655, 850, 532, 6, 257, 358}); + + assertFalse("Fehler: Element 249 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(249)); + dieListe.anhaengen(154); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 95, 146, 655, 850, 532, 6, 257, 358, 154}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 584); + Tester.pruefeListenInhalt(dieListe, new int[]{584}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(557); + Tester.pruefeListenInhalt(dieListe, new int[]{557}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 520); + Tester.pruefeListenInhalt(dieListe, new int[]{520}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 26); + Tester.pruefeListenInhalt(dieListe, new int[]{26}); + + assertTrue("Fehler: Element 26 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(26)); + dieListe.einfuegenBei(0, 791); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 26}); + + dieListe.einfuegenBei(2, 198); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 26, 198}); + + assertFalse("Fehler: Element 29 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(29)); + assertFalse("Fehler: Element 876 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(876)); + dieListe.einfuegenBei(1, 78); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 78, 26, 198}); + + dieListe.anhaengen(925); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 78, 26, 198, 925}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 26, 198, 925}); + + dieListe.anhaengen(568); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 26, 198, 925, 568}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 26, 198, 568}); + + assertFalse("Fehler: Element 847 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(847)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 198, 568}); + + dieListe.einfuegenBei(3, 436); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 198, 568, 436}); + + dieListe.anhaengen(137); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 198, 568, 436, 137}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 623); + Tester.pruefeListenInhalt(dieListe, new int[]{623}); + + dieListe.anhaengen(731); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 731}); + + dieListe.einfuegenBei(1, 808); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 808, 731}); + + dieListe.anhaengen(329); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 808, 731, 329}); + + dieListe.anhaengen(33); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 808, 731, 329, 33}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 808, 329, 33}); + + assertFalse("Fehler: Element 617 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(617)); + assertTrue("Fehler: Element 623 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(623)); + dieListe.anhaengen(620); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 808, 329, 33, 620}); + + dieListe.einfuegenBei(0, 425); + Tester.pruefeListenInhalt(dieListe, new int[]{425, 623, 808, 329, 33, 620}); + + dieListe.anhaengen(718); + Tester.pruefeListenInhalt(dieListe, new int[]{425, 623, 808, 329, 33, 620, 718}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 808, 329, 33, 620, 718}); + + dieListe.anhaengen(951); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 808, 329, 33, 620, 718, 951}); + + dieListe.einfuegenBei(5, 928); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 808, 329, 33, 620, 928, 718, 951}); + + assertFalse("Fehler: Element 390 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(390)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{808, 329, 33, 620, 928, 718, 951}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{329, 33, 620, 928, 718, 951}); + + dieListe.einfuegenBei(2, 897); + Tester.pruefeListenInhalt(dieListe, new int[]{329, 33, 897, 620, 928, 718, 951}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{329, 33, 897, 620, 718, 951}); + + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(414); + Tester.pruefeListenInhalt(dieListe, new int[]{414}); + + dieListe.anhaengen(521); + Tester.pruefeListenInhalt(dieListe, new int[]{414, 521}); + + dieListe.anhaengen(63); + Tester.pruefeListenInhalt(dieListe, new int[]{414, 521, 63}); + + assertFalse("Fehler: Element 265 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(265)); + dieListe.einfuegenBei(1, 736); + Tester.pruefeListenInhalt(dieListe, new int[]{414, 736, 521, 63}); + + dieListe.anhaengen(724); + Tester.pruefeListenInhalt(dieListe, new int[]{414, 736, 521, 63, 724}); + + assertFalse("Fehler: Element 316 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(316)); + dieListe.einfuegenBei(5, 890); + Tester.pruefeListenInhalt(dieListe, new int[]{414, 736, 521, 63, 724, 890}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{414, 736, 521, 63, 724}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{414, 521, 63, 724}); + + assertTrue("Fehler: Element 724 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(724)); + assertFalse("Fehler: Element 93 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(93)); + dieListe.anhaengen(157); + Tester.pruefeListenInhalt(dieListe, new int[]{414, 521, 63, 724, 157}); + + assertTrue("Fehler: Element 521 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(521)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{414, 63, 724, 157}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{63, 724, 157}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{63, 157}); + + dieListe.einfuegenBei(0, 533); + Tester.pruefeListenInhalt(dieListe, new int[]{533, 63, 157}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{63, 157}); + + dieListe.einfuegenBei(2, 647); + Tester.pruefeListenInhalt(dieListe, new int[]{63, 157, 647}); + + assertFalse("Fehler: Element 781 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(781)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 647}); + + dieListe.anhaengen(386); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 647, 386}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 647}); + + dieListe.einfuegenBei(2, 247); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 647, 247}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 629); + Tester.pruefeListenInhalt(dieListe, new int[]{629}); + + dieListe.einfuegenBei(1, 5); + Tester.pruefeListenInhalt(dieListe, new int[]{629, 5}); + + dieListe.einfuegenBei(2, 290); + Tester.pruefeListenInhalt(dieListe, new int[]{629, 5, 290}); + + dieListe.einfuegenBei(1, 167); + Tester.pruefeListenInhalt(dieListe, new int[]{629, 167, 5, 290}); + + assertTrue("Fehler: Element 629 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(629)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{167, 5, 290}); + + assertTrue("Fehler: Element 167 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(167)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{167, 290}); + + assertTrue("Fehler: Element 290 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(290)); + assertFalse("Fehler: Element 762 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(762)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{290}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(748); + Tester.pruefeListenInhalt(dieListe, new int[]{748}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(967); + Tester.pruefeListenInhalt(dieListe, new int[]{967}); + + assertTrue("Fehler: Element 967 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(967)); + dieListe.einfuegenBei(1, 797); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797}); + + dieListe.anhaengen(445); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797, 445}); + + assertFalse("Fehler: Element 996 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(996)); + assertFalse("Fehler: Element 708 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(708)); + dieListe.anhaengen(328); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797, 445, 328}); + + dieListe.anhaengen(434); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797, 445, 328, 434}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797, 328, 434}); + + dieListe.einfuegenBei(3, 183); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797, 328, 183, 434}); + + assertTrue("Fehler: Element 434 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(434)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797, 328, 183}); + + dieListe.einfuegenBei(2, 154); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797, 154, 328, 183}); + + dieListe.einfuegenBei(1, 361); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 361, 797, 154, 328, 183}); + + dieListe.anhaengen(171); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 361, 797, 154, 328, 183, 171}); + + dieListe.einfuegenBei(1, 153); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 153, 361, 797, 154, 328, 183, 171}); + + assertFalse("Fehler: Element 966 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(966)); + assertTrue("Fehler: Element 967 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(967)); + dieListe.einfuegenBei(0, 842); + Tester.pruefeListenInhalt(dieListe, new int[]{842, 967, 153, 361, 797, 154, 328, 183, 171}); + + assertTrue("Fehler: Element 154 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(154)); + dieListe.anhaengen(86); + Tester.pruefeListenInhalt(dieListe, new int[]{842, 967, 153, 361, 797, 154, 328, 183, 171, 86}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 153, 361, 797, 154, 328, 183, 171, 86}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 153, 361, 797, 328, 183, 171, 86}); + + dieListe.anhaengen(745); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 153, 361, 797, 328, 183, 171, 86, 745}); + + assertFalse("Fehler: Element 283 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(283)); + dieListe.einfuegenBei(7, 945); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 153, 361, 797, 328, 183, 171, 945, 86, 745}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 153, 797, 328, 183, 171, 945, 86, 745}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797, 328, 183, 171, 945, 86, 745}); + + assertTrue("Fehler: Element 171 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(171)); + assertTrue("Fehler: Element 171 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(171)); + assertTrue("Fehler: Element 171 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(171)); + assertFalse("Fehler: Element 772 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(772)); + assertTrue("Fehler: Element 745 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(745)); + dieListe.einfuegenBei(5, 926); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797, 328, 183, 171, 926, 945, 86, 745}); + + dieListe.einfuegenBei(0, 374); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 967, 797, 328, 183, 171, 926, 945, 86, 745}); + + dieListe.einfuegenBei(7, 68); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 967, 797, 328, 183, 171, 926, 68, 945, 86, 745}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 967, 328, 183, 171, 926, 68, 945, 86, 745}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 967, 183, 171, 926, 68, 945, 86, 745}); + + assertFalse("Fehler: Element 695 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(695)); + assertTrue("Fehler: Element 86 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(86)); + assertFalse("Fehler: Element 378 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(378)); + dieListe.anhaengen(71); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 967, 183, 171, 926, 68, 945, 86, 745, 71}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 171, 926, 68, 945, 86, 745, 71}); + + dieListe.anhaengen(615); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 171, 926, 68, 945, 86, 745, 71, 615}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 171, 926, 68, 945, 745, 71, 615}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 171, 926, 945, 745, 71, 615}); + + dieListe.einfuegenBei(2, 529); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 529, 171, 926, 945, 745, 71, 615}); + + assertFalse("Fehler: Element 617 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(617)); + assertTrue("Fehler: Element 926 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(926)); + dieListe.anhaengen(335); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 529, 171, 926, 945, 745, 71, 615, 335}); + + assertTrue("Fehler: Element 945 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(945)); + dieListe.anhaengen(857); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 529, 171, 926, 945, 745, 71, 615, 335, 857}); + + dieListe.anhaengen(784); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 529, 171, 926, 945, 745, 71, 615, 335, 857, 784}); + + dieListe.anhaengen(248); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 529, 171, 926, 945, 745, 71, 615, 335, 857, 784, 248}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 529, 171, 926, 945, 745, 71, 615, 335, 857, 784}); + + assertTrue("Fehler: Element 857 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(857)); + dieListe.anhaengen(717); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 529, 171, 926, 945, 745, 71, 615, 335, 857, 784, 717}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 529, 171, 926, 945, 745, 71, 615, 335, 784, 717}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 529, 171, 926, 945, 745, 71, 615, 335, 784, 717}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 481); + Tester.pruefeListenInhalt(dieListe, new int[]{481}); + + dieListe.einfuegenBei(0, 263); + Tester.pruefeListenInhalt(dieListe, new int[]{263, 481}); + + dieListe.einfuegenBei(0, 85); + Tester.pruefeListenInhalt(dieListe, new int[]{85, 263, 481}); + + dieListe.einfuegenBei(0, 424); + Tester.pruefeListenInhalt(dieListe, new int[]{424, 85, 263, 481}); + + dieListe.einfuegenBei(0, 565); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 424, 85, 263, 481}); + + assertTrue("Fehler: Element 481 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(481)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 424, 263, 481}); + + dieListe.einfuegenBei(4, 272); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 424, 263, 481, 272}); + + dieListe.anhaengen(3); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 424, 263, 481, 272, 3}); + + dieListe.einfuegenBei(3, 803); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 424, 263, 803, 481, 272, 3}); + + dieListe.einfuegenBei(2, 980); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 424, 980, 263, 803, 481, 272, 3}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 424, 980, 803, 481, 272, 3}); + + dieListe.anhaengen(658); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 424, 980, 803, 481, 272, 3, 658}); + + dieListe.einfuegenBei(0, 893); + Tester.pruefeListenInhalt(dieListe, new int[]{893, 565, 424, 980, 803, 481, 272, 3, 658}); + + dieListe.anhaengen(572); + Tester.pruefeListenInhalt(dieListe, new int[]{893, 565, 424, 980, 803, 481, 272, 3, 658, 572}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{893, 565, 424, 803, 481, 272, 3, 658, 572}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{893, 565, 803, 481, 272, 3, 658, 572}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{893, 565, 803, 481, 272, 3, 658}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(388); + Tester.pruefeListenInhalt(dieListe, new int[]{388}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(204); + Tester.pruefeListenInhalt(dieListe, new int[]{204}); + + dieListe.anhaengen(935); + Tester.pruefeListenInhalt(dieListe, new int[]{204, 935}); + + assertFalse("Fehler: Element 524 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(524)); + dieListe.anhaengen(19); + Tester.pruefeListenInhalt(dieListe, new int[]{204, 935, 19}); + + dieListe.anhaengen(458); + Tester.pruefeListenInhalt(dieListe, new int[]{204, 935, 19, 458}); + + dieListe.anhaengen(379); + Tester.pruefeListenInhalt(dieListe, new int[]{204, 935, 19, 458, 379}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{935, 19, 458, 379}); + + assertTrue("Fehler: Element 935 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(935)); + dieListe.einfuegenBei(0, 127); + Tester.pruefeListenInhalt(dieListe, new int[]{127, 935, 19, 458, 379}); + + assertTrue("Fehler: Element 935 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(935)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 828); + Tester.pruefeListenInhalt(dieListe, new int[]{828}); + + dieListe.einfuegenBei(1, 714); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 714}); + + dieListe.anhaengen(863); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 714, 863}); + + dieListe.einfuegenBei(2, 333); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 714, 333, 863}); + + dieListe.einfuegenBei(0, 203); + Tester.pruefeListenInhalt(dieListe, new int[]{203, 828, 714, 333, 863}); + + dieListe.anhaengen(266); + Tester.pruefeListenInhalt(dieListe, new int[]{203, 828, 714, 333, 863, 266}); + + assertTrue("Fehler: Element 203 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(203)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 714, 333, 863, 266}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 333, 863, 266}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 333, 266}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 333}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 876); + Tester.pruefeListenInhalt(dieListe, new int[]{876}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(484); + Tester.pruefeListenInhalt(dieListe, new int[]{484}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 24); + Tester.pruefeListenInhalt(dieListe, new int[]{24}); + + dieListe.einfuegenBei(1, 810); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 810}); + + assertFalse("Fehler: Element 303 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(303)); + dieListe.einfuegenBei(1, 723); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 723, 810}); + + assertFalse("Fehler: Element 727 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(727)); + dieListe.anhaengen(693); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 723, 810, 693}); + + dieListe.anhaengen(340); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 723, 810, 693, 340}); + + dieListe.anhaengen(86); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 723, 810, 693, 340, 86}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 810, 693, 340, 86}); + + dieListe.anhaengen(796); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 810, 693, 340, 86, 796}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 810, 693, 340, 796}); + + assertTrue("Fehler: Element 340 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(340)); + dieListe.einfuegenBei(5, 218); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 810, 693, 340, 796, 218}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 810, 693, 340, 218}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 810, 340, 218}); + + assertFalse("Fehler: Element 732 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(732)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 340, 218}); + + dieListe.einfuegenBei(0, 395); + Tester.pruefeListenInhalt(dieListe, new int[]{395, 24, 340, 218}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{395, 24, 218}); + + dieListe.einfuegenBei(0, 279); + Tester.pruefeListenInhalt(dieListe, new int[]{279, 395, 24, 218}); + + dieListe.einfuegenBei(0, 604); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 279, 395, 24, 218}); + + dieListe.einfuegenBei(4, 798); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 279, 395, 24, 798, 218}); + + assertFalse("Fehler: Element 836 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(836)); + dieListe.einfuegenBei(0, 85); + Tester.pruefeListenInhalt(dieListe, new int[]{85, 604, 279, 395, 24, 798, 218}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{85, 604, 395, 24, 798, 218}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{85, 604, 395, 24, 798}); + + dieListe.anhaengen(217); + Tester.pruefeListenInhalt(dieListe, new int[]{85, 604, 395, 24, 798, 217}); + + assertFalse("Fehler: Element 597 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(597)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{85, 604, 395, 24, 217}); + + assertTrue("Fehler: Element 85 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(85)); + assertFalse("Fehler: Element 16 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(16)); + dieListe.einfuegenBei(3, 553); + Tester.pruefeListenInhalt(dieListe, new int[]{85, 604, 395, 553, 24, 217}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 553, 24, 217}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 217}); + + dieListe.anhaengen(429); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 217, 429}); + + dieListe.anhaengen(956); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 217, 429, 956}); + + dieListe.anhaengen(334); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 217, 429, 956, 334}); + + assertTrue("Fehler: Element 334 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(334)); + dieListe.anhaengen(461); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 217, 429, 956, 334, 461}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 217, 429, 334, 461}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 429, 334, 461}); + + dieListe.anhaengen(635); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 429, 334, 461, 635}); + + dieListe.anhaengen(718); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 429, 334, 461, 635, 718}); + + assertTrue("Fehler: Element 461 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(461)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 334, 461, 635, 718}); + + dieListe.anhaengen(651); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 334, 461, 635, 718, 651}); + + dieListe.einfuegenBei(1, 482); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 482, 395, 24, 334, 461, 635, 718, 651}); + + dieListe.anhaengen(108); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 482, 395, 24, 334, 461, 635, 718, 651, 108}); + + dieListe.einfuegenBei(8, 568); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 482, 395, 24, 334, 461, 635, 718, 568, 651, 108}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 482, 395, 24, 334, 461, 718, 568, 651, 108}); + + dieListe.anhaengen(563); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 482, 395, 24, 334, 461, 718, 568, 651, 108, 563}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 482, 395, 24, 334, 461, 568, 651, 108, 563}); + + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 665); + Tester.pruefeListenInhalt(dieListe, new int[]{665}); + + dieListe.anhaengen(262); + Tester.pruefeListenInhalt(dieListe, new int[]{665, 262}); + + dieListe.einfuegenBei(0, 41); + Tester.pruefeListenInhalt(dieListe, new int[]{41, 665, 262}); + + dieListe.einfuegenBei(2, 78); + Tester.pruefeListenInhalt(dieListe, new int[]{41, 665, 78, 262}); + + dieListe.einfuegenBei(0, 647); + Tester.pruefeListenInhalt(dieListe, new int[]{647, 41, 665, 78, 262}); + + assertTrue("Fehler: Element 262 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(262)); + dieListe.anhaengen(340); + Tester.pruefeListenInhalt(dieListe, new int[]{647, 41, 665, 78, 262, 340}); + + dieListe.einfuegenBei(5, 648); + Tester.pruefeListenInhalt(dieListe, new int[]{647, 41, 665, 78, 262, 648, 340}); + + dieListe.einfuegenBei(3, 421); + Tester.pruefeListenInhalt(dieListe, new int[]{647, 41, 665, 421, 78, 262, 648, 340}); + + dieListe.einfuegenBei(4, 829); + Tester.pruefeListenInhalt(dieListe, new int[]{647, 41, 665, 421, 829, 78, 262, 648, 340}); + + dieListe.einfuegenBei(5, 757); + Tester.pruefeListenInhalt(dieListe, new int[]{647, 41, 665, 421, 829, 757, 78, 262, 648, 340}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{41, 665, 421, 829, 757, 78, 262, 648, 340}); + + assertTrue("Fehler: Element 829 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(829)); + dieListe.anhaengen(870); + Tester.pruefeListenInhalt(dieListe, new int[]{41, 665, 421, 829, 757, 78, 262, 648, 340, 870}); + + dieListe.einfuegenBei(0, 720); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 262, 648, 340, 870}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 648, 340, 870}); + + dieListe.einfuegenBei(10, 995); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 648, 340, 870, 995}); + + dieListe.anhaengen(736); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 648, 340, 870, 995, 736}); + + assertTrue("Fehler: Element 648 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(648)); + dieListe.anhaengen(119); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 648, 340, 870, 995, 736, 119}); + + assertTrue("Fehler: Element 41 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(41)); + dieListe.anhaengen(291); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 648, 340, 870, 995, 736, 119, 291}); + + assertFalse("Fehler: Element 394 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(394)); + dieListe.anhaengen(196); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 648, 340, 870, 995, 736, 119, 291, 196}); + + assertTrue("Fehler: Element 119 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(119)); + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 648, 340, 870, 995, 736, 119, 196}); + + dieListe.anhaengen(135); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 648, 340, 870, 995, 736, 119, 196, 135}); + + dieListe.einfuegenBei(7, 712); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 712, 648, 340, 870, 995, 736, 119, 196, 135}); + + dieListe.einfuegenBei(12, 137); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 712, 648, 340, 870, 995, 137, 736, 119, 196, 135}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 712, 648, 340, 870, 995, 736, 119, 196, 135}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 421, 829, 757, 78, 712, 648, 340, 870, 995, 736, 119, 196, 135}); + + dieListe.einfuegenBei(4, 867); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 421, 829, 867, 757, 78, 712, 648, 340, 870, 995, 736, 119, 196, 135}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 829, 867, 757, 78, 712, 648, 340, 870, 995, 736, 119, 196, 135}); + + dieListe.anhaengen(335); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 829, 867, 757, 78, 712, 648, 340, 870, 995, 736, 119, 196, 135, 335}); + + dieListe.einfuegenBei(5, 757); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 829, 867, 757, 757, 78, 712, 648, 340, 870, 995, 736, 119, 196, 135, 335}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 829, 867, 757, 757, 78, 712, 648, 870, 995, 736, 119, 196, 135, 335}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 829, 867, 757, 78, 712, 648, 870, 995, 736, 119, 196, 135, 335}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 829, 867, 757, 78, 712, 648, 870, 995, 736, 119, 135, 335}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 829, 867, 757, 78, 648, 870, 995, 736, 119, 135, 335}); + + dieListe.einfuegenBei(13, 42); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 829, 867, 757, 78, 648, 870, 995, 736, 119, 135, 335, 42}); + + dieListe.anhaengen(461); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 829, 867, 757, 78, 648, 870, 995, 736, 119, 135, 335, 42, 461}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 829, 867, 757, 78, 648, 870, 995, 736, 119, 135, 335, 42, 461}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 829, 867, 757, 78, 648, 995, 736, 119, 135, 335, 42, 461}); + + assertTrue("Fehler: Element 135 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(135)); + dieListe.anhaengen(408); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 829, 867, 757, 78, 648, 995, 736, 119, 135, 335, 42, 461, 408}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 867, 757, 78, 648, 995, 736, 119, 135, 335, 42, 461, 408}); + + dieListe.einfuegenBei(3, 984); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 867, 757, 984, 78, 648, 995, 736, 119, 135, 335, 42, 461, 408}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 867, 757, 984, 78, 995, 736, 119, 135, 335, 42, 461, 408}); + + assertFalse("Fehler: Element 449 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(449)); + assertTrue("Fehler: Element 984 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(984)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 867, 757, 984, 78, 995, 119, 135, 335, 42, 461, 408}); + + assertFalse("Fehler: Element 239 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(239)); + dieListe.einfuegenBei(7, 790); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 867, 757, 984, 78, 995, 119, 790, 135, 335, 42, 461, 408}); + + assertFalse("Fehler: Element 131 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(131)); + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 867, 757, 984, 78, 995, 119, 790, 135, 335, 42, 461}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 896); + Tester.pruefeListenInhalt(dieListe, new int[]{896}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(146); + Tester.pruefeListenInhalt(dieListe, new int[]{146}); + + assertTrue("Fehler: Element 146 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(146)); + dieListe.anhaengen(380); + Tester.pruefeListenInhalt(dieListe, new int[]{146, 380}); + + assertFalse("Fehler: Element 852 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(852)); + dieListe.einfuegenBei(0, 510); + Tester.pruefeListenInhalt(dieListe, new int[]{510, 146, 380}); + + assertFalse("Fehler: Element 996 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(996)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{510, 146}); + + dieListe.einfuegenBei(2, 535); + Tester.pruefeListenInhalt(dieListe, new int[]{510, 146, 535}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 749); + Tester.pruefeListenInhalt(dieListe, new int[]{749}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(826); + Tester.pruefeListenInhalt(dieListe, new int[]{826}); + + dieListe.anhaengen(923); + Tester.pruefeListenInhalt(dieListe, new int[]{826, 923}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{826}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 702); + Tester.pruefeListenInhalt(dieListe, new int[]{702}); + + dieListe.einfuegenBei(0, 754); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 702}); + + dieListe.anhaengen(539); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 702, 539}); + + dieListe.einfuegenBei(0, 638); + Tester.pruefeListenInhalt(dieListe, new int[]{638, 754, 702, 539}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 702, 539}); + + assertTrue("Fehler: Element 702 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(702)); + dieListe.anhaengen(411); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 702, 539, 411}); + + dieListe.einfuegenBei(3, 911); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 702, 539, 911, 411}); + + dieListe.einfuegenBei(5, 138); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 702, 539, 911, 411, 138}); + + dieListe.einfuegenBei(1, 485); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 485, 702, 539, 911, 411, 138}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(869); + Tester.pruefeListenInhalt(dieListe, new int[]{869}); + + dieListe.einfuegenBei(0, 281); + Tester.pruefeListenInhalt(dieListe, new int[]{281, 869}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{869}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 436); + Tester.pruefeListenInhalt(dieListe, new int[]{436}); + + assertTrue("Fehler: Element 436 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(436)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 938); + Tester.pruefeListenInhalt(dieListe, new int[]{938}); + + dieListe.einfuegenBei(1, 397); + Tester.pruefeListenInhalt(dieListe, new int[]{938, 397}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{397}); + + assertFalse("Fehler: Element 274 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(274)); + dieListe.einfuegenBei(0, 502); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 397}); + + dieListe.anhaengen(315); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 397, 315}); + + assertFalse("Fehler: Element 140 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(140)); + dieListe.anhaengen(383); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 397, 315, 383}); + + assertTrue("Fehler: Element 315 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(315)); + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(429); + Tester.pruefeListenInhalt(dieListe, new int[]{429}); + + dieListe.einfuegenBei(1, 324); + Tester.pruefeListenInhalt(dieListe, new int[]{429, 324}); + + assertFalse("Fehler: Element 24 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(24)); + dieListe.einfuegenBei(2, 840); + Tester.pruefeListenInhalt(dieListe, new int[]{429, 324, 840}); + + dieListe.einfuegenBei(0, 173); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 324, 840}); + + assertTrue("Fehler: Element 840 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(840)); + assertFalse("Fehler: Element 984 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(984)); + assertFalse("Fehler: Element 641 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(641)); + assertTrue("Fehler: Element 324 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(324)); + dieListe.einfuegenBei(4, 457); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 324, 840, 457}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 324, 840}); + + dieListe.einfuegenBei(4, 95); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 324, 840, 95}); + + assertFalse("Fehler: Element 52 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(52)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 840, 95}); + + assertFalse("Fehler: Element 669 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(669)); + dieListe.anhaengen(708); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 840, 95, 708}); + + dieListe.einfuegenBei(4, 707); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 840, 95, 707, 708}); + + dieListe.einfuegenBei(3, 33); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 840, 33, 95, 707, 708}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 840, 33, 95, 708}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 840, 33, 95}); + + dieListe.einfuegenBei(2, 128); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 128, 840, 33, 95}); + + dieListe.einfuegenBei(1, 920); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 429, 128, 840, 33, 95}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 33, 95}); + + dieListe.anhaengen(154); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 33, 95, 154}); + + dieListe.anhaengen(640); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 33, 95, 154, 640}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 33, 154, 640}); + + assertTrue("Fehler: Element 128 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(128)); + assertTrue("Fehler: Element 920 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(920)); + assertTrue("Fehler: Element 920 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(920)); + dieListe.anhaengen(738); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 33, 154, 640, 738}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 154, 640, 738}); + + dieListe.einfuegenBei(7, 637); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 154, 640, 738, 637}); + + dieListe.einfuegenBei(8, 532); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 154, 640, 738, 637, 532}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 154, 640, 738, 637}); + + assertFalse("Fehler: Element 511 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(511)); + dieListe.einfuegenBei(7, 742); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 154, 640, 738, 742, 637}); + + dieListe.einfuegenBei(4, 500); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 500, 154, 640, 738, 742, 637}); + + dieListe.anhaengen(392); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 500, 154, 640, 738, 742, 637, 392}); + + dieListe.anhaengen(550); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 500, 154, 640, 738, 742, 637, 392, 550}); + + assertFalse("Fehler: Element 847 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(847)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(426); + Tester.pruefeListenInhalt(dieListe, new int[]{426}); + + dieListe.einfuegenBei(1, 255); + Tester.pruefeListenInhalt(dieListe, new int[]{426, 255}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{426}); + + dieListe.anhaengen(149); + Tester.pruefeListenInhalt(dieListe, new int[]{426, 149}); + + dieListe.anhaengen(387); + Tester.pruefeListenInhalt(dieListe, new int[]{426, 149, 387}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{426, 149}); + + dieListe.einfuegenBei(2, 716); + Tester.pruefeListenInhalt(dieListe, new int[]{426, 149, 716}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{426, 149}); + + dieListe.anhaengen(446); + Tester.pruefeListenInhalt(dieListe, new int[]{426, 149, 446}); + + dieListe.einfuegenBei(0, 349); + Tester.pruefeListenInhalt(dieListe, new int[]{349, 426, 149, 446}); + + dieListe.einfuegenBei(3, 271); + Tester.pruefeListenInhalt(dieListe, new int[]{349, 426, 149, 271, 446}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{426, 149, 271, 446}); + + dieListe.einfuegenBei(0, 838); + Tester.pruefeListenInhalt(dieListe, new int[]{838, 426, 149, 271, 446}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{838, 149, 271, 446}); + + assertTrue("Fehler: Element 271 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(271)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 271, 446}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 271}); + + dieListe.einfuegenBei(1, 496); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 496, 271}); + + dieListe.einfuegenBei(2, 921); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 496, 921, 271}); + + dieListe.einfuegenBei(1, 488); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 488, 496, 921, 271}); + + dieListe.anhaengen(871); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 488, 496, 921, 271, 871}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 496, 921, 271, 871}); + + assertTrue("Fehler: Element 871 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(871)); + assertTrue("Fehler: Element 871 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(871)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 496, 921, 871}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 921, 871}); + + dieListe.anhaengen(105); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 921, 871, 105}); + + dieListe.einfuegenBei(0, 588); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 149, 921, 871, 105}); + + dieListe.einfuegenBei(0, 733); + Tester.pruefeListenInhalt(dieListe, new int[]{733, 588, 149, 921, 871, 105}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 149, 921, 871, 105}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 921, 871, 105}); + + dieListe.einfuegenBei(0, 971); + Tester.pruefeListenInhalt(dieListe, new int[]{971, 588, 921, 871, 105}); + + dieListe.einfuegenBei(2, 738); + Tester.pruefeListenInhalt(dieListe, new int[]{971, 588, 738, 921, 871, 105}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{971, 588, 921, 871, 105}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{971, 921, 871, 105}); + + dieListe.einfuegenBei(0, 959); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 921, 871, 105}); + + assertTrue("Fehler: Element 921 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(921)); + assertTrue("Fehler: Element 871 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(871)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 871, 105}); + + dieListe.einfuegenBei(3, 313); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 871, 313, 105}); + + dieListe.einfuegenBei(3, 611); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 871, 611, 313, 105}); + + dieListe.einfuegenBei(5, 970); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 871, 611, 313, 970, 105}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 871, 611, 313, 105}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 871, 611, 313}); + + dieListe.anhaengen(628); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 871, 611, 313, 628}); + + dieListe.einfuegenBei(0, 214); + Tester.pruefeListenInhalt(dieListe, new int[]{214, 959, 971, 871, 611, 313, 628}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{214, 959, 971, 871, 611, 313}); + + dieListe.anhaengen(860); + Tester.pruefeListenInhalt(dieListe, new int[]{214, 959, 971, 871, 611, 313, 860}); + + assertFalse("Fehler: Element 242 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(242)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 871, 611, 313, 860}); + + dieListe.einfuegenBei(3, 508); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 871, 508, 611, 313, 860}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 871, 508, 611, 313, 860}); + + dieListe.anhaengen(446); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 871, 508, 611, 313, 860, 446}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 871, 611, 313, 860, 446}); + + dieListe.einfuegenBei(6, 546); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 871, 611, 313, 860, 446, 546}); + + dieListe.einfuegenBei(4, 44); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 871, 611, 313, 44, 860, 446, 546}); + + assertTrue("Fehler: Element 871 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(871)); + dieListe.anhaengen(120); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 871, 611, 313, 44, 860, 446, 546, 120}); + + dieListe.anhaengen(43); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 871, 611, 313, 44, 860, 446, 546, 120, 43}); + + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(555); + Tester.pruefeListenInhalt(dieListe, new int[]{555}); + + dieListe.anhaengen(450); + Tester.pruefeListenInhalt(dieListe, new int[]{555, 450}); + + assertTrue("Fehler: Element 450 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(450)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(608); + Tester.pruefeListenInhalt(dieListe, new int[]{608}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(409); + Tester.pruefeListenInhalt(dieListe, new int[]{409}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 884); + Tester.pruefeListenInhalt(dieListe, new int[]{884}); + + dieListe.anhaengen(559); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 559}); + + dieListe.anhaengen(329); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 559, 329}); + + dieListe.anhaengen(65); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 559, 329, 65}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 559, 329}); + + dieListe.einfuegenBei(2, 218); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 559, 218, 329}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 559, 329}); + + assertFalse("Fehler: Element 326 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(326)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 559}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{559}); + + dieListe.einfuegenBei(0, 651); + Tester.pruefeListenInhalt(dieListe, new int[]{651, 559}); + + assertTrue("Fehler: Element 651 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(651)); + dieListe.anhaengen(399); + Tester.pruefeListenInhalt(dieListe, new int[]{651, 559, 399}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{559, 399}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(757); + Tester.pruefeListenInhalt(dieListe, new int[]{757}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(105); + Tester.pruefeListenInhalt(dieListe, new int[]{105}); + + dieListe.einfuegenBei(0, 16); + Tester.pruefeListenInhalt(dieListe, new int[]{16, 105}); + + dieListe.anhaengen(121); + Tester.pruefeListenInhalt(dieListe, new int[]{16, 105, 121}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{16, 105}); + + dieListe.einfuegenBei(1, 245); + Tester.pruefeListenInhalt(dieListe, new int[]{16, 245, 105}); + + dieListe.anhaengen(950); + Tester.pruefeListenInhalt(dieListe, new int[]{16, 245, 105, 950}); + + dieListe.anhaengen(161); + Tester.pruefeListenInhalt(dieListe, new int[]{16, 245, 105, 950, 161}); + + assertFalse("Fehler: Element 130 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(130)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{16, 245, 950, 161}); + + dieListe.einfuegenBei(1, 562); + Tester.pruefeListenInhalt(dieListe, new int[]{16, 562, 245, 950, 161}); + + dieListe.einfuegenBei(0, 352); + Tester.pruefeListenInhalt(dieListe, new int[]{352, 16, 562, 245, 950, 161}); + + assertTrue("Fehler: Element 16 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(16)); + assertFalse("Fehler: Element 466 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(466)); + assertTrue("Fehler: Element 245 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(245)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 77); + Tester.pruefeListenInhalt(dieListe, new int[]{77}); + + dieListe.anhaengen(312); + Tester.pruefeListenInhalt(dieListe, new int[]{77, 312}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{77}); + + assertFalse("Fehler: Element 940 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(940)); + assertTrue("Fehler: Element 77 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(77)); + dieListe.einfuegenBei(1, 806); + Tester.pruefeListenInhalt(dieListe, new int[]{77, 806}); + + dieListe.einfuegenBei(2, 398); + Tester.pruefeListenInhalt(dieListe, new int[]{77, 806, 398}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 398}); + + dieListe.anhaengen(285); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 398, 285}); + + dieListe.anhaengen(565); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 398, 285, 565}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 398, 285}); + + assertFalse("Fehler: Element 446 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(446)); + dieListe.anhaengen(297); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 398, 285, 297}); + + assertTrue("Fehler: Element 806 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(806)); + assertFalse("Fehler: Element 328 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(328)); + dieListe.anhaengen(171); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 398, 285, 297, 171}); + + dieListe.einfuegenBei(0, 39); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 285, 297, 171}); + + dieListe.einfuegenBei(3, 77); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 77, 285, 297, 171}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 77, 297, 171}); + + dieListe.anhaengen(675); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 77, 297, 171, 675}); + + assertFalse("Fehler: Element 301 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(301)); + dieListe.anhaengen(871); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 77, 297, 171, 675, 871}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 77, 297, 171, 675}); + + dieListe.anhaengen(474); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 77, 297, 171, 675, 474}); + + dieListe.anhaengen(351); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 77, 297, 171, 675, 474, 351}); + + dieListe.einfuegenBei(9, 773); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 77, 297, 171, 675, 474, 351, 773}); + + dieListe.anhaengen(780); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 77, 297, 171, 675, 474, 351, 773, 780}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 398, 77, 297, 171, 675, 474, 351, 773, 780}); + + dieListe.einfuegenBei(2, 353); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 398, 353, 77, 297, 171, 675, 474, 351, 773, 780}); + + dieListe.anhaengen(152); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 398, 353, 77, 297, 171, 675, 474, 351, 773, 780, 152}); + + assertFalse("Fehler: Element 824 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(824)); + dieListe.einfuegenBei(1, 133); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 133, 398, 353, 77, 297, 171, 675, 474, 351, 773, 780, 152}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 133, 398, 353, 77, 297, 171, 675, 474, 773, 780, 152}); + + dieListe.einfuegenBei(11, 82); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 133, 398, 353, 77, 297, 171, 675, 474, 773, 780, 82, 152}); + + dieListe.anhaengen(879); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 133, 398, 353, 77, 297, 171, 675, 474, 773, 780, 82, 152, 879}); + + dieListe.anhaengen(526); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 133, 398, 353, 77, 297, 171, 675, 474, 773, 780, 82, 152, 879, 526}); + + dieListe.einfuegenBei(6, 174); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 133, 398, 353, 77, 297, 174, 171, 675, 474, 773, 780, 82, 152, 879, 526}); + + dieListe.anhaengen(586); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 133, 398, 353, 77, 297, 174, 171, 675, 474, 773, 780, 82, 152, 879, 526, 586}); + + dieListe.anhaengen(919); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 133, 398, 353, 77, 297, 174, 171, 675, 474, 773, 780, 82, 152, 879, 526, 586, 919}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 133, 398, 353, 77, 297, 174, 171, 675, 773, 780, 82, 152, 879, 526, 586, 919}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(602); + Tester.pruefeListenInhalt(dieListe, new int[]{602}); + + dieListe.einfuegenBei(0, 135); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 602}); + + assertTrue("Fehler: Element 135 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(135)); + assertTrue("Fehler: Element 602 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(602)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{135}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 43); + Tester.pruefeListenInhalt(dieListe, new int[]{43}); + + assertTrue("Fehler: Element 43 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(43)); + dieListe.anhaengen(440); + Tester.pruefeListenInhalt(dieListe, new int[]{43, 440}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{440}); + + dieListe.einfuegenBei(1, 512); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 512}); + + dieListe.einfuegenBei(0, 483); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 440, 512}); + + assertFalse("Fehler: Element 68 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(68)); + dieListe.anhaengen(80); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 440, 512, 80}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 512, 80}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 512}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{512}); + + assertFalse("Fehler: Element 965 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(965)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(796); + Tester.pruefeListenInhalt(dieListe, new int[]{796}); + + dieListe.anhaengen(55); + Tester.pruefeListenInhalt(dieListe, new int[]{796, 55}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{796}); + + dieListe.anhaengen(499); + Tester.pruefeListenInhalt(dieListe, new int[]{796, 499}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{499}); + + assertTrue("Fehler: Element 499 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(499)); + dieListe.anhaengen(263); + Tester.pruefeListenInhalt(dieListe, new int[]{499, 263}); + + assertTrue("Fehler: Element 263 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(263)); + dieListe.anhaengen(539); + Tester.pruefeListenInhalt(dieListe, new int[]{499, 263, 539}); + + assertFalse("Fehler: Element 212 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(212)); + assertFalse("Fehler: Element 722 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(722)); + assertTrue("Fehler: Element 539 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(539)); + assertTrue("Fehler: Element 499 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(499)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{499, 263}); + + dieListe.anhaengen(368); + Tester.pruefeListenInhalt(dieListe, new int[]{499, 263, 368}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{499, 263}); + + dieListe.einfuegenBei(1, 166); + Tester.pruefeListenInhalt(dieListe, new int[]{499, 166, 263}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 686); + Tester.pruefeListenInhalt(dieListe, new int[]{686}); + + dieListe.anhaengen(998); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998}); + + dieListe.einfuegenBei(0, 506); + Tester.pruefeListenInhalt(dieListe, new int[]{506, 686, 998}); + + dieListe.anhaengen(562); + Tester.pruefeListenInhalt(dieListe, new int[]{506, 686, 998, 562}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998, 562}); + + dieListe.anhaengen(57); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998, 562, 57}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998, 57}); + + assertFalse("Fehler: Element 22 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(22)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998}); + + dieListe.anhaengen(7); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998, 7}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998}); + + dieListe.anhaengen(994); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998, 994}); + + dieListe.anhaengen(699); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998, 994, 699}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998, 699}); + + dieListe.anhaengen(653); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998, 699, 653}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 699, 653}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 653}); + + assertFalse("Fehler: Element 740 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(740)); + dieListe.einfuegenBei(0, 307); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 653}); + + dieListe.einfuegenBei(3, 633); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 653, 633}); + + dieListe.anhaengen(163); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 653, 633, 163}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 653, 633}); + + dieListe.einfuegenBei(3, 695); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 653, 695, 633}); + + assertTrue("Fehler: Element 653 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(653)); + assertFalse("Fehler: Element 358 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(358)); + dieListe.einfuegenBei(2, 985); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 653, 695, 633}); + + dieListe.anhaengen(243); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 653, 695, 633, 243}); + + dieListe.anhaengen(912); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 653, 695, 633, 243, 912}); + + dieListe.anhaengen(923); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 653, 695, 633, 243, 912, 923}); + + dieListe.einfuegenBei(2, 527); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 527, 985, 653, 695, 633, 243, 912, 923}); + + dieListe.anhaengen(305); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 527, 985, 653, 695, 633, 243, 912, 923, 305}); + + dieListe.einfuegenBei(4, 364); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 527, 985, 364, 653, 695, 633, 243, 912, 923, 305}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 912, 923, 305}); + + dieListe.anhaengen(110); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 912, 923, 305, 110}); + + dieListe.anhaengen(896); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 912, 923, 305, 110, 896}); + + dieListe.einfuegenBei(8, 554); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 912, 923, 305, 110, 896}); + + assertTrue("Fehler: Element 110 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(110)); + dieListe.anhaengen(615); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 912, 923, 305, 110, 896, 615}); + + dieListe.einfuegenBei(14, 220); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 912, 923, 305, 110, 896, 220, 615}); + + dieListe.einfuegenBei(9, 537); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 305, 110, 896, 220, 615}); + + dieListe.anhaengen(360); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 305, 110, 896, 220, 615, 360}); + + dieListe.einfuegenBei(18, 447); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 305, 110, 896, 220, 615, 360, 447}); + + dieListe.anhaengen(326); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 305, 110, 896, 220, 615, 360, 447, 326}); + + assertTrue("Fehler: Element 360 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(360)); + dieListe.einfuegenBei(17, 17); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 305, 110, 896, 220, 615, 17, 360, 447, 326}); + + assertTrue("Fehler: Element 985 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(985)); + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 110, 896, 220, 615, 17, 360, 447, 326}); + + dieListe.anhaengen(593); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 110, 896, 220, 615, 17, 360, 447, 326, 593}); + + dieListe.einfuegenBei(0, 716); + Tester.pruefeListenInhalt(dieListe, new int[]{716, 307, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 110, 896, 220, 615, 17, 360, 447, 326, 593}); + + dieListe.anhaengen(679); + Tester.pruefeListenInhalt(dieListe, new int[]{716, 307, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 110, 896, 220, 615, 17, 360, 447, 326, 593, 679}); + + dieListe.einfuegenBei(2, 243); + Tester.pruefeListenInhalt(dieListe, new int[]{716, 307, 243, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 110, 896, 220, 615, 17, 360, 447, 326, 593, 679}); + + dieListe.anhaengen(84); + Tester.pruefeListenInhalt(dieListe, new int[]{716, 307, 243, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 110, 896, 220, 615, 17, 360, 447, 326, 593, 679, 84}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 70); + Tester.pruefeListenInhalt(dieListe, new int[]{70}); + + dieListe.einfuegenBei(0, 364); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 70}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{70}); + + dieListe.einfuegenBei(1, 998); + Tester.pruefeListenInhalt(dieListe, new int[]{70, 998}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{70}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(143); + Tester.pruefeListenInhalt(dieListe, new int[]{143}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 468); + Tester.pruefeListenInhalt(dieListe, new int[]{468}); + + dieListe.anhaengen(565); + Tester.pruefeListenInhalt(dieListe, new int[]{468, 565}); + + dieListe.einfuegenBei(2, 740); + Tester.pruefeListenInhalt(dieListe, new int[]{468, 565, 740}); + + assertTrue("Fehler: Element 740 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(740)); + assertFalse("Fehler: Element 951 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(951)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 740}); + + assertTrue("Fehler: Element 565 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(565)); + assertFalse("Fehler: Element 793 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(793)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{565}); + + dieListe.einfuegenBei(1, 477); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 477}); + + assertFalse("Fehler: Element 117 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(117)); + assertTrue("Fehler: Element 477 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(477)); + dieListe.einfuegenBei(2, 666); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 477, 666}); + + dieListe.einfuegenBei(0, 255); + Tester.pruefeListenInhalt(dieListe, new int[]{255, 565, 477, 666}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{255, 565, 477}); + + dieListe.anhaengen(965); + Tester.pruefeListenInhalt(dieListe, new int[]{255, 565, 477, 965}); + + dieListe.anhaengen(503); + Tester.pruefeListenInhalt(dieListe, new int[]{255, 565, 477, 965, 503}); + + assertTrue("Fehler: Element 255 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(255)); + assertTrue("Fehler: Element 965 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(965)); + dieListe.einfuegenBei(5, 614); + Tester.pruefeListenInhalt(dieListe, new int[]{255, 565, 477, 965, 503, 614}); + + dieListe.einfuegenBei(3, 105); + Tester.pruefeListenInhalt(dieListe, new int[]{255, 565, 477, 105, 965, 503, 614}); + + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(435); + Tester.pruefeListenInhalt(dieListe, new int[]{435}); + + dieListe.einfuegenBei(1, 445); + Tester.pruefeListenInhalt(dieListe, new int[]{435, 445}); + + assertFalse("Fehler: Element 996 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(996)); + dieListe.anhaengen(728); + Tester.pruefeListenInhalt(dieListe, new int[]{435, 445, 728}); + + dieListe.anhaengen(47); + Tester.pruefeListenInhalt(dieListe, new int[]{435, 445, 728, 47}); + + dieListe.einfuegenBei(0, 416); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47}); + + assertTrue("Fehler: Element 47 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(47)); + dieListe.anhaengen(191); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 191}); + + dieListe.anhaengen(774); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 191, 774}); + + dieListe.anhaengen(779); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 191, 774, 779}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 779}); + + dieListe.anhaengen(838); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 779, 838}); + + dieListe.anhaengen(223); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 779, 838, 223}); + + dieListe.anhaengen(96); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 779, 838, 223, 96}); + + dieListe.einfuegenBei(8, 159); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 779, 838, 159, 223, 96}); + + dieListe.anhaengen(815); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 779, 838, 159, 223, 96, 815}); + + dieListe.einfuegenBei(7, 816); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 779, 816, 838, 159, 223, 96, 815}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 779, 816, 838, 159, 223, 815}); + + dieListe.anhaengen(305); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 779, 816, 838, 159, 223, 815, 305}); + + assertFalse("Fehler: Element 300 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(300)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 816, 838, 159, 223, 815, 305}); + + assertFalse("Fehler: Element 297 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(297)); + dieListe.anhaengen(932); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 816, 838, 159, 223, 815, 305, 932}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 816, 838, 159, 223, 815, 305, 932}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 305, 932}); + + dieListe.anhaengen(396); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 305, 932, 396}); + + dieListe.anhaengen(351); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 305, 932, 396, 351}); + + dieListe.anhaengen(267); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 305, 932, 396, 351, 267}); + + dieListe.anhaengen(722); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 305, 932, 396, 351, 267, 722}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 305, 396, 351, 267, 722}); + + dieListe.einfuegenBei(9, 129); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 129, 305, 396, 351, 267, 722}); + + assertTrue("Fehler: Element 267 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(267)); + dieListe.anhaengen(743); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 129, 305, 396, 351, 267, 722, 743}); + + dieListe.anhaengen(737); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 129, 305, 396, 351, 267, 722, 743, 737}); + + dieListe.anhaengen(579); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 129, 305, 396, 351, 267, 722, 743, 737, 579}); + + dieListe.entferneBei(16); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 129, 305, 396, 351, 267, 722, 743, 579}); + + assertTrue("Fehler: Element 815 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(815)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(993); + Tester.pruefeListenInhalt(dieListe, new int[]{993}); + + assertFalse("Fehler: Element 89 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(89)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(604); + Tester.pruefeListenInhalt(dieListe, new int[]{604}); + + dieListe.anhaengen(228); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 228}); + + dieListe.anhaengen(344); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 228, 344}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{228, 344}); + + assertFalse("Fehler: Element 380 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(380)); + dieListe.anhaengen(146); + Tester.pruefeListenInhalt(dieListe, new int[]{228, 344, 146}); + + dieListe.anhaengen(232); + Tester.pruefeListenInhalt(dieListe, new int[]{228, 344, 146, 232}); + + dieListe.einfuegenBei(0, 956); + Tester.pruefeListenInhalt(dieListe, new int[]{956, 228, 344, 146, 232}); + + dieListe.anhaengen(446); + Tester.pruefeListenInhalt(dieListe, new int[]{956, 228, 344, 146, 232, 446}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{956, 228, 146, 232, 446}); + + dieListe.anhaengen(646); + Tester.pruefeListenInhalt(dieListe, new int[]{956, 228, 146, 232, 446, 646}); + + assertTrue("Fehler: Element 232 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(232)); + dieListe.anhaengen(226); + Tester.pruefeListenInhalt(dieListe, new int[]{956, 228, 146, 232, 446, 646, 226}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{956, 228, 232, 446, 646, 226}); + + assertFalse("Fehler: Element 658 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(658)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{228, 232, 446, 646, 226}); + + dieListe.anhaengen(670); + Tester.pruefeListenInhalt(dieListe, new int[]{228, 232, 446, 646, 226, 670}); + + dieListe.einfuegenBei(0, 294); + Tester.pruefeListenInhalt(dieListe, new int[]{294, 228, 232, 446, 646, 226, 670}); + + dieListe.einfuegenBei(0, 633); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 294, 228, 232, 446, 646, 226, 670}); + + assertTrue("Fehler: Element 646 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(646)); + dieListe.einfuegenBei(3, 927); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 294, 228, 927, 232, 446, 646, 226, 670}); + + assertFalse("Fehler: Element 815 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(815)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 294, 927, 232, 446, 646, 226, 670}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 294, 927, 232, 446, 226, 670}); + + dieListe.einfuegenBei(0, 389); + Tester.pruefeListenInhalt(dieListe, new int[]{389, 633, 294, 927, 232, 446, 226, 670}); + + dieListe.anhaengen(736); + Tester.pruefeListenInhalt(dieListe, new int[]{389, 633, 294, 927, 232, 446, 226, 670, 736}); + + assertTrue("Fehler: Element 389 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(389)); + dieListe.anhaengen(369); + Tester.pruefeListenInhalt(dieListe, new int[]{389, 633, 294, 927, 232, 446, 226, 670, 736, 369}); + + dieListe.einfuegenBei(8, 292); + Tester.pruefeListenInhalt(dieListe, new int[]{389, 633, 294, 927, 232, 446, 226, 670, 292, 736, 369}); + + dieListe.einfuegenBei(1, 445); + Tester.pruefeListenInhalt(dieListe, new int[]{389, 445, 633, 294, 927, 232, 446, 226, 670, 292, 736, 369}); + + dieListe.anhaengen(554); + Tester.pruefeListenInhalt(dieListe, new int[]{389, 445, 633, 294, 927, 232, 446, 226, 670, 292, 736, 369, 554}); + + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{389, 445, 633, 294, 927, 232, 446, 226, 670, 292, 736, 369, 554, 861}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{389, 445, 633, 294, 927, 232, 446, 226, 670, 292, 736, 369, 554}); + + assertFalse("Fehler: Element 91 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(91)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(153); + Tester.pruefeListenInhalt(dieListe, new int[]{153}); + + dieListe.anhaengen(145); + Tester.pruefeListenInhalt(dieListe, new int[]{153, 145}); + + dieListe.anhaengen(309); + Tester.pruefeListenInhalt(dieListe, new int[]{153, 145, 309}); + + dieListe.einfuegenBei(2, 106); + Tester.pruefeListenInhalt(dieListe, new int[]{153, 145, 106, 309}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{153, 106, 309}); + + assertFalse("Fehler: Element 140 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(140)); + assertTrue("Fehler: Element 309 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(309)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{153, 106}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{153}); + + assertTrue("Fehler: Element 153 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(153)); + assertFalse("Fehler: Element 316 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(316)); + dieListe.einfuegenBei(1, 462); + Tester.pruefeListenInhalt(dieListe, new int[]{153, 462}); + + dieListe.anhaengen(988); + Tester.pruefeListenInhalt(dieListe, new int[]{153, 462, 988}); + + dieListe.einfuegenBei(1, 123); + Tester.pruefeListenInhalt(dieListe, new int[]{153, 123, 462, 988}); + + dieListe.einfuegenBei(2, 704); + Tester.pruefeListenInhalt(dieListe, new int[]{153, 123, 704, 462, 988}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 736); + Tester.pruefeListenInhalt(dieListe, new int[]{736}); + + dieListe.anhaengen(100); + Tester.pruefeListenInhalt(dieListe, new int[]{736, 100}); + + dieListe.einfuegenBei(1, 169); + Tester.pruefeListenInhalt(dieListe, new int[]{736, 169, 100}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{736, 100}); + + dieListe.anhaengen(540); + Tester.pruefeListenInhalt(dieListe, new int[]{736, 100, 540}); + + dieListe.anhaengen(486); + Tester.pruefeListenInhalt(dieListe, new int[]{736, 100, 540, 486}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{736, 100, 486}); + + dieListe.einfuegenBei(0, 866); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 736, 100, 486}); + + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 482); + Tester.pruefeListenInhalt(dieListe, new int[]{482}); + + assertTrue("Fehler: Element 482 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(482)); + dieListe.anhaengen(651); + Tester.pruefeListenInhalt(dieListe, new int[]{482, 651}); + + assertFalse("Fehler: Element 459 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(459)); + assertTrue("Fehler: Element 482 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(482)); + dieListe.einfuegenBei(2, 842); + Tester.pruefeListenInhalt(dieListe, new int[]{482, 651, 842}); + + dieListe.einfuegenBei(0, 447); + Tester.pruefeListenInhalt(dieListe, new int[]{447, 482, 651, 842}); + + dieListe.anhaengen(414); + Tester.pruefeListenInhalt(dieListe, new int[]{447, 482, 651, 842, 414}); + + dieListe.einfuegenBei(1, 310); + Tester.pruefeListenInhalt(dieListe, new int[]{447, 310, 482, 651, 842, 414}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{447, 310, 482, 651, 414}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{447, 310, 482, 414}); + + assertFalse("Fehler: Element 415 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(415)); + assertTrue("Fehler: Element 310 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(310)); + dieListe.einfuegenBei(1, 33); + Tester.pruefeListenInhalt(dieListe, new int[]{447, 33, 310, 482, 414}); + + assertFalse("Fehler: Element 439 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(439)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{33, 310, 482, 414}); + + assertTrue("Fehler: Element 414 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(414)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{310, 482, 414}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{310, 414}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{414}); + + dieListe.einfuegenBei(0, 474); + Tester.pruefeListenInhalt(dieListe, new int[]{474, 414}); + + assertFalse("Fehler: Element 644 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(644)); + dieListe.anhaengen(545); + Tester.pruefeListenInhalt(dieListe, new int[]{474, 414, 545}); + + dieListe.anhaengen(510); + Tester.pruefeListenInhalt(dieListe, new int[]{474, 414, 545, 510}); + + dieListe.einfuegenBei(0, 5); + Tester.pruefeListenInhalt(dieListe, new int[]{5, 474, 414, 545, 510}); + + dieListe.einfuegenBei(0, 745); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 5, 474, 414, 545, 510}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 5, 414, 545, 510}); + + dieListe.anhaengen(962); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 5, 414, 545, 510, 962}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 414, 545, 510, 962}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 510, 962}); + + dieListe.einfuegenBei(2, 700); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 700, 510, 962}); + + dieListe.anhaengen(440); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 700, 510, 962, 440}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 700, 510, 962}); + + dieListe.anhaengen(127); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 700, 510, 962, 127}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 700, 962, 127}); + + dieListe.einfuegenBei(2, 569); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 127}); + + dieListe.anhaengen(217); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 127, 217}); + + assertFalse("Fehler: Element 357 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(357)); + assertFalse("Fehler: Element 166 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(166)); + dieListe.einfuegenBei(5, 503); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 503, 127, 217}); + + dieListe.anhaengen(22); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 503, 127, 217, 22}); + + dieListe.einfuegenBei(9, 435); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 503, 127, 217, 22, 435}); + + dieListe.anhaengen(85); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 503, 127, 217, 22, 435, 85}); + + dieListe.einfuegenBei(11, 870); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 503, 127, 217, 22, 435, 85, 870}); + + assertFalse("Fehler: Element 49 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(49)); + assertFalse("Fehler: Element 425 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(425)); + dieListe.anhaengen(878); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 503, 127, 217, 22, 435, 85, 870, 878}); + + dieListe.anhaengen(49); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 503, 127, 217, 22, 435, 85, 870, 878, 49}); + + assertTrue("Fehler: Element 569 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(569)); + assertTrue("Fehler: Element 569 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(569)); + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 503, 127, 217, 22, 435, 870, 878, 49}); + + assertFalse("Fehler: Element 493 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(493)); + dieListe.anhaengen(421); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 503, 127, 217, 22, 435, 870, 878, 49, 421}); + + assertTrue("Fehler: Element 421 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(421)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(659); + Tester.pruefeListenInhalt(dieListe, new int[]{659}); + + assertFalse("Fehler: Element 32 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(32)); + assertFalse("Fehler: Element 899 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(899)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(155); + Tester.pruefeListenInhalt(dieListe, new int[]{155}); + + dieListe.einfuegenBei(0, 205); + Tester.pruefeListenInhalt(dieListe, new int[]{205, 155}); + + assertFalse("Fehler: Element 994 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(994)); + assertFalse("Fehler: Element 146 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(146)); + dieListe.anhaengen(31); + Tester.pruefeListenInhalt(dieListe, new int[]{205, 155, 31}); + + dieListe.anhaengen(557); + Tester.pruefeListenInhalt(dieListe, new int[]{205, 155, 31, 557}); + + assertFalse("Fehler: Element 980 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(980)); + assertTrue("Fehler: Element 205 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(205)); + assertFalse("Fehler: Element 438 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(438)); + dieListe.anhaengen(55); + Tester.pruefeListenInhalt(dieListe, new int[]{205, 155, 31, 557, 55}); + + dieListe.anhaengen(463); + Tester.pruefeListenInhalt(dieListe, new int[]{205, 155, 31, 557, 55, 463}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{205, 155, 557, 55, 463}); + + assertFalse("Fehler: Element 750 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(750)); + dieListe.anhaengen(709); + Tester.pruefeListenInhalt(dieListe, new int[]{205, 155, 557, 55, 463, 709}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{205, 155, 557, 55, 463}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{155, 557, 55, 463}); + + dieListe.anhaengen(624); + Tester.pruefeListenInhalt(dieListe, new int[]{155, 557, 55, 463, 624}); + + assertFalse("Fehler: Element 842 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(842)); + dieListe.anhaengen(518); + Tester.pruefeListenInhalt(dieListe, new int[]{155, 557, 55, 463, 624, 518}); + + assertTrue("Fehler: Element 463 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(463)); + assertTrue("Fehler: Element 557 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(557)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{155, 557, 55, 624, 518}); + + assertTrue("Fehler: Element 624 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(624)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{155, 557, 55, 624}); + + dieListe.anhaengen(217); + Tester.pruefeListenInhalt(dieListe, new int[]{155, 557, 55, 624, 217}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{155, 557, 55, 624}); + + assertTrue("Fehler: Element 557 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(557)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{155, 55, 624}); + + dieListe.einfuegenBei(0, 363); + Tester.pruefeListenInhalt(dieListe, new int[]{363, 155, 55, 624}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{363, 155, 624}); + + dieListe.anhaengen(719); + Tester.pruefeListenInhalt(dieListe, new int[]{363, 155, 624, 719}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 73); + Tester.pruefeListenInhalt(dieListe, new int[]{73}); + + dieListe.anhaengen(957); + Tester.pruefeListenInhalt(dieListe, new int[]{73, 957}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{957}); + + dieListe.anhaengen(854); + Tester.pruefeListenInhalt(dieListe, new int[]{957, 854}); + + dieListe.einfuegenBei(2, 741); + Tester.pruefeListenInhalt(dieListe, new int[]{957, 854, 741}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 741}); + + dieListe.einfuegenBei(0, 598); + Tester.pruefeListenInhalt(dieListe, new int[]{598, 854, 741}); + + dieListe.einfuegenBei(0, 607); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 598, 854, 741}); + + dieListe.anhaengen(874); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 598, 854, 741, 874}); + + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest9.java b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest9.java new file mode 100644 index 0000000..6b3a2a8 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/SubTest9.java @@ -0,0 +1,2773 @@ +package tests; + +import static org.junit.Assert.*; + +import liste.*; + +/** + * Die Test-Klasse SubTest9. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest9 { + + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 21); + Tester.pruefeListenInhalt(dieListe, new int[]{21}); + + dieListe.anhaengen(515); + Tester.pruefeListenInhalt(dieListe, new int[]{21, 515}); + + dieListe.einfuegenBei(2, 49); + Tester.pruefeListenInhalt(dieListe, new int[]{21, 515, 49}); + + assertFalse("Fehler: Element 949 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(949)); + assertTrue("Fehler: Element 21 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(21)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{21, 49}); + + dieListe.anhaengen(476); + Tester.pruefeListenInhalt(dieListe, new int[]{21, 49, 476}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{49, 476}); + + dieListe.einfuegenBei(0, 927); + Tester.pruefeListenInhalt(dieListe, new int[]{927, 49, 476}); + + dieListe.einfuegenBei(1, 132); + Tester.pruefeListenInhalt(dieListe, new int[]{927, 132, 49, 476}); + + dieListe.einfuegenBei(2, 854); + Tester.pruefeListenInhalt(dieListe, new int[]{927, 132, 854, 49, 476}); + + dieListe.einfuegenBei(2, 624); + Tester.pruefeListenInhalt(dieListe, new int[]{927, 132, 624, 854, 49, 476}); + + dieListe.anhaengen(470); + Tester.pruefeListenInhalt(dieListe, new int[]{927, 132, 624, 854, 49, 476, 470}); + + dieListe.einfuegenBei(1, 558); + Tester.pruefeListenInhalt(dieListe, new int[]{927, 558, 132, 624, 854, 49, 476, 470}); + + assertFalse("Fehler: Element 578 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(578)); + dieListe.einfuegenBei(0, 213); + Tester.pruefeListenInhalt(dieListe, new int[]{213, 927, 558, 132, 624, 854, 49, 476, 470}); + + assertFalse("Fehler: Element 701 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(701)); + dieListe.anhaengen(257); + Tester.pruefeListenInhalt(dieListe, new int[]{213, 927, 558, 132, 624, 854, 49, 476, 470, 257}); + + dieListe.einfuegenBei(4, 742); + Tester.pruefeListenInhalt(dieListe, new int[]{213, 927, 558, 132, 742, 624, 854, 49, 476, 470, 257}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{213, 927, 558, 132, 742, 624, 854, 49, 476, 257}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 984); + Tester.pruefeListenInhalt(dieListe, new int[]{984}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(720); + Tester.pruefeListenInhalt(dieListe, new int[]{720}); + + dieListe.anhaengen(854); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 854}); + + dieListe.anhaengen(821); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 854, 821}); + + dieListe.anhaengen(799); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 854, 821, 799}); + + dieListe.einfuegenBei(3, 240); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 854, 821, 240, 799}); + + dieListe.einfuegenBei(2, 490); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 854, 490, 821, 240, 799}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 854, 490, 821, 799}); + + dieListe.einfuegenBei(0, 880); + Tester.pruefeListenInhalt(dieListe, new int[]{880, 720, 854, 490, 821, 799}); + + dieListe.anhaengen(975); + Tester.pruefeListenInhalt(dieListe, new int[]{880, 720, 854, 490, 821, 799, 975}); + + dieListe.anhaengen(458); + Tester.pruefeListenInhalt(dieListe, new int[]{880, 720, 854, 490, 821, 799, 975, 458}); + + assertTrue("Fehler: Element 854 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(854)); + assertTrue("Fehler: Element 799 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(799)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{880, 720, 490, 821, 799, 975, 458}); + + dieListe.anhaengen(44); + Tester.pruefeListenInhalt(dieListe, new int[]{880, 720, 490, 821, 799, 975, 458, 44}); + + dieListe.einfuegenBei(8, 748); + Tester.pruefeListenInhalt(dieListe, new int[]{880, 720, 490, 821, 799, 975, 458, 44, 748}); + + assertTrue("Fehler: Element 44 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(44)); + dieListe.einfuegenBei(6, 942); + Tester.pruefeListenInhalt(dieListe, new int[]{880, 720, 490, 821, 799, 975, 942, 458, 44, 748}); + + dieListe.einfuegenBei(2, 844); + Tester.pruefeListenInhalt(dieListe, new int[]{880, 720, 844, 490, 821, 799, 975, 942, 458, 44, 748}); + + dieListe.einfuegenBei(4, 89); + Tester.pruefeListenInhalt(dieListe, new int[]{880, 720, 844, 490, 89, 821, 799, 975, 942, 458, 44, 748}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 844, 490, 89, 821, 799, 975, 942, 458, 44, 748}); + + dieListe.anhaengen(907); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 844, 490, 89, 821, 799, 975, 942, 458, 44, 748, 907}); + + dieListe.einfuegenBei(4, 510); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 844, 490, 89, 510, 821, 799, 975, 942, 458, 44, 748, 907}); + + dieListe.anhaengen(496); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 844, 490, 89, 510, 821, 799, 975, 942, 458, 44, 748, 907, 496}); + + assertTrue("Fehler: Element 844 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(844)); + dieListe.einfuegenBei(11, 780); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 844, 490, 89, 510, 821, 799, 975, 942, 458, 44, 780, 748, 907, 496}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{844, 490, 89, 510, 821, 799, 975, 942, 458, 44, 780, 748, 907, 496}); + + assertTrue("Fehler: Element 496 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(496)); + dieListe.anhaengen(142); + Tester.pruefeListenInhalt(dieListe, new int[]{844, 490, 89, 510, 821, 799, 975, 942, 458, 44, 780, 748, 907, 496, 142}); + + dieListe.einfuegenBei(5, 374); + Tester.pruefeListenInhalt(dieListe, new int[]{844, 490, 89, 510, 821, 374, 799, 975, 942, 458, 44, 780, 748, 907, 496, 142}); + + dieListe.einfuegenBei(2, 887); + Tester.pruefeListenInhalt(dieListe, new int[]{844, 490, 887, 89, 510, 821, 374, 799, 975, 942, 458, 44, 780, 748, 907, 496, 142}); + + assertFalse("Fehler: Element 704 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(704)); + dieListe.einfuegenBei(0, 534); + Tester.pruefeListenInhalt(dieListe, new int[]{534, 844, 490, 887, 89, 510, 821, 374, 799, 975, 942, 458, 44, 780, 748, 907, 496, 142}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(746); + Tester.pruefeListenInhalt(dieListe, new int[]{746}); + + dieListe.anhaengen(941); + Tester.pruefeListenInhalt(dieListe, new int[]{746, 941}); + + dieListe.anhaengen(828); + Tester.pruefeListenInhalt(dieListe, new int[]{746, 941, 828}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{941, 828}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{828}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 590); + Tester.pruefeListenInhalt(dieListe, new int[]{590}); + + dieListe.einfuegenBei(1, 562); + Tester.pruefeListenInhalt(dieListe, new int[]{590, 562}); + + dieListe.anhaengen(895); + Tester.pruefeListenInhalt(dieListe, new int[]{590, 562, 895}); + + dieListe.anhaengen(165); + Tester.pruefeListenInhalt(dieListe, new int[]{590, 562, 895, 165}); + + dieListe.einfuegenBei(4, 574); + Tester.pruefeListenInhalt(dieListe, new int[]{590, 562, 895, 165, 574}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{590, 562, 165, 574}); + + dieListe.einfuegenBei(0, 368); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 562, 165, 574}); + + dieListe.einfuegenBei(2, 190); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 190, 562, 165, 574}); + + assertTrue("Fehler: Element 368 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(368)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 562, 165, 574}); + + dieListe.anhaengen(624); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 562, 165, 574, 624}); + + dieListe.einfuegenBei(2, 494); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 494, 562, 165, 574, 624}); + + dieListe.anhaengen(330); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 494, 562, 165, 574, 624, 330}); + + dieListe.einfuegenBei(2, 409); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 409, 494, 562, 165, 574, 624, 330}); + + assertFalse("Fehler: Element 18 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(18)); + assertTrue("Fehler: Element 574 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(574)); + dieListe.einfuegenBei(8, 678); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 409, 494, 562, 165, 574, 624, 678, 330}); + + dieListe.anhaengen(979); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 409, 494, 562, 165, 574, 624, 678, 330, 979}); + + dieListe.anhaengen(19); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 409, 494, 562, 165, 574, 624, 678, 330, 979, 19}); + + assertFalse("Fehler: Element 380 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(380)); + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 409, 494, 562, 165, 574, 624, 678, 330, 979}); + + dieListe.anhaengen(21); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 409, 494, 562, 165, 574, 624, 678, 330, 979, 21}); + + dieListe.anhaengen(499); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 409, 494, 562, 165, 574, 624, 678, 330, 979, 21, 499}); + + dieListe.anhaengen(387); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 409, 494, 562, 165, 574, 624, 678, 330, 979, 21, 499, 387}); + + dieListe.einfuegenBei(1, 42); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 42, 590, 409, 494, 562, 165, 574, 624, 678, 330, 979, 21, 499, 387}); + + assertTrue("Fehler: Element 330 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(330)); + dieListe.einfuegenBei(13, 91); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 42, 590, 409, 494, 562, 165, 574, 624, 678, 330, 979, 21, 91, 499, 387}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 42, 590, 409, 494, 165, 574, 624, 678, 330, 979, 21, 91, 499, 387}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 42, 409, 494, 165, 574, 624, 678, 330, 979, 21, 91, 499, 387}); + + assertFalse("Fehler: Element 210 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(210)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 42, 409, 165, 574, 624, 678, 330, 979, 21, 91, 499, 387}); + + dieListe.anhaengen(967); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 42, 409, 165, 574, 624, 678, 330, 979, 21, 91, 499, 387, 967}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 42, 409, 165, 574, 624, 678, 330, 979, 21, 91, 387, 967}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(287); + Tester.pruefeListenInhalt(dieListe, new int[]{287}); + + dieListe.einfuegenBei(0, 593); + Tester.pruefeListenInhalt(dieListe, new int[]{593, 287}); + + dieListe.anhaengen(196); + Tester.pruefeListenInhalt(dieListe, new int[]{593, 287, 196}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{593, 196}); + + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(765); + Tester.pruefeListenInhalt(dieListe, new int[]{765}); + + assertFalse("Fehler: Element 335 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(335)); + dieListe.anhaengen(575); + Tester.pruefeListenInhalt(dieListe, new int[]{765, 575}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{575}); + + dieListe.einfuegenBei(0, 273); + Tester.pruefeListenInhalt(dieListe, new int[]{273, 575}); + + dieListe.einfuegenBei(2, 39); + Tester.pruefeListenInhalt(dieListe, new int[]{273, 575, 39}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{273, 39}); + + dieListe.anhaengen(989); + Tester.pruefeListenInhalt(dieListe, new int[]{273, 39, 989}); + + assertFalse("Fehler: Element 897 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(897)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{273, 989}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{989}); + + dieListe.anhaengen(23); + Tester.pruefeListenInhalt(dieListe, new int[]{989, 23}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{23}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 792); + Tester.pruefeListenInhalt(dieListe, new int[]{792}); + + dieListe.einfuegenBei(1, 615); + Tester.pruefeListenInhalt(dieListe, new int[]{792, 615}); + + assertTrue("Fehler: Element 615 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(615)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{792}); + + assertFalse("Fehler: Element 220 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(220)); + dieListe.einfuegenBei(0, 803); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 792}); + + dieListe.einfuegenBei(2, 398); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 792, 398}); + + assertFalse("Fehler: Element 986 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(986)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 792}); + + dieListe.einfuegenBei(1, 42); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 42, 792}); + + assertTrue("Fehler: Element 42 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(42)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 792}); + + dieListe.einfuegenBei(2, 757); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 792, 757}); + + dieListe.anhaengen(35); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 792, 757, 35}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 757, 35}); + + dieListe.anhaengen(213); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 757, 35, 213}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 35, 213}); + + dieListe.anhaengen(632); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 35, 213, 632}); + + dieListe.einfuegenBei(3, 559); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 35, 213, 559, 632}); + + assertTrue("Fehler: Element 213 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(213)); + dieListe.anhaengen(141); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 35, 213, 559, 632, 141}); + + dieListe.anhaengen(388); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 35, 213, 559, 632, 141, 388}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 35, 213, 632, 141, 388}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 213, 632, 141, 388}); + + dieListe.anhaengen(961); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 213, 632, 141, 388, 961}); + + assertTrue("Fehler: Element 35 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(35)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 213, 632, 388, 961}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 632, 388, 961}); + + dieListe.anhaengen(349); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 632, 388, 961, 349}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 632, 961, 349}); + + dieListe.anhaengen(175); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 632, 961, 349, 175}); + + dieListe.anhaengen(488); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 632, 961, 349, 175, 488}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 632, 961, 175, 488}); + + dieListe.anhaengen(466); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 632, 961, 175, 488, 466}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 175, 488, 466}); + + dieListe.einfuegenBei(2, 689); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 689, 175, 488, 466}); + + dieListe.einfuegenBei(2, 482); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 175, 488, 466}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466}); + + dieListe.anhaengen(119); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466, 119}); + + assertFalse("Fehler: Element 878 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(878)); + dieListe.anhaengen(715); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466, 119, 715}); + + assertTrue("Fehler: Element 961 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(961)); + dieListe.anhaengen(375); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466, 119, 715, 375}); + + dieListe.anhaengen(152); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466, 119, 715, 375, 152}); + + assertTrue("Fehler: Element 961 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(961)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466, 119, 715, 152}); + + dieListe.anhaengen(43); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466, 119, 715, 152, 43}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466, 715, 152, 43}); + + dieListe.einfuegenBei(6, 136); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466, 136, 715, 152, 43}); + + dieListe.einfuegenBei(6, 16); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466, 16, 136, 715, 152, 43}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 136, 715, 152, 43}); + + dieListe.einfuegenBei(6, 956); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 956, 136, 715, 152, 43}); + + dieListe.einfuegenBei(10, 160); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 956, 136, 715, 152, 160, 43}); + + dieListe.einfuegenBei(6, 482); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 956, 136, 715, 152, 160, 43}); + + dieListe.anhaengen(632); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 956, 136, 715, 152, 160, 43, 632}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 956, 715, 152, 160, 43, 632}); + + dieListe.anhaengen(809); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 956, 715, 152, 160, 43, 632, 809}); + + dieListe.anhaengen(578); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 956, 715, 152, 160, 43, 632, 809, 578}); + + dieListe.anhaengen(604); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 956, 715, 152, 160, 43, 632, 809, 578, 604}); + + dieListe.anhaengen(726); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 956, 715, 152, 160, 43, 632, 809, 578, 604, 726}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 715, 152, 160, 43, 632, 809, 578, 604, 726}); + + dieListe.anhaengen(273); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 715, 152, 160, 43, 632, 809, 578, 604, 726, 273}); + + dieListe.einfuegenBei(14, 238); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 715, 152, 160, 43, 632, 809, 578, 238, 604, 726, 273}); + + dieListe.einfuegenBei(18, 435); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 715, 152, 160, 43, 632, 809, 578, 238, 604, 726, 273, 435}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 715, 152, 160, 43, 632, 578, 238, 604, 726, 273, 435}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 715, 152, 160, 43, 632, 578, 238, 604, 726, 273, 435}); + + dieListe.anhaengen(359); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 715, 152, 160, 43, 632, 578, 238, 604, 726, 273, 435, 359}); + + assertFalse("Fehler: Element 521 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(521)); + dieListe.anhaengen(443); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 715, 152, 160, 43, 632, 578, 238, 604, 726, 273, 435, 359, 443}); + + dieListe.einfuegenBei(17, 423); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 715, 152, 160, 43, 632, 578, 238, 604, 726, 273, 435, 423, 359, 443}); + + dieListe.entferneBei(15); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 715, 152, 160, 43, 632, 578, 238, 604, 726, 435, 423, 359, 443}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 43, 632, 578, 238, 604, 726, 435, 423, 359, 443}); + + assertTrue("Fehler: Element 632 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(632)); + dieListe.anhaengen(769); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 43, 632, 578, 238, 604, 726, 435, 423, 359, 443, 769}); + + dieListe.anhaengen(482); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 43, 632, 578, 238, 604, 726, 435, 423, 359, 443, 769, 482}); + + dieListe.einfuegenBei(11, 239); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 43, 632, 578, 239, 238, 604, 726, 435, 423, 359, 443, 769, 482}); + + assertTrue("Fehler: Element 769 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(769)); + dieListe.entferneBei(16); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 43, 632, 578, 239, 238, 604, 726, 435, 359, 443, 769, 482}); + + dieListe.einfuegenBei(10, 504); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 43, 632, 504, 578, 239, 238, 604, 726, 435, 359, 443, 769, 482}); + + dieListe.entferneBei(16); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 43, 632, 504, 578, 239, 238, 604, 726, 359, 443, 769, 482}); + + assertFalse("Fehler: Element 529 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(529)); + assertTrue("Fehler: Element 466 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(466)); + assertFalse("Fehler: Element 281 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(281)); + dieListe.einfuegenBei(10, 525); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 43, 632, 525, 504, 578, 239, 238, 604, 726, 359, 443, 769, 482}); + + dieListe.entferneBei(20); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 43, 632, 525, 504, 578, 239, 238, 604, 726, 359, 443, 769}); + + dieListe.einfuegenBei(8, 301); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 301, 43, 632, 525, 504, 578, 239, 238, 604, 726, 359, 443, 769}); + + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(397); + Tester.pruefeListenInhalt(dieListe, new int[]{397}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 67); + Tester.pruefeListenInhalt(dieListe, new int[]{67}); + + assertTrue("Fehler: Element 67 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(67)); + assertFalse("Fehler: Element 748 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(748)); + dieListe.einfuegenBei(0, 304); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 67}); + + dieListe.einfuegenBei(2, 69); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 67, 69}); + + dieListe.anhaengen(577); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 67, 69, 577}); + + dieListe.anhaengen(436); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 67, 69, 577, 436}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 577, 436}); + + dieListe.anhaengen(260); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 577, 436, 260}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 436, 260}); + + dieListe.anhaengen(541); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 436, 260, 541}); + + dieListe.anhaengen(943); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 436, 260, 541, 943}); + + assertTrue("Fehler: Element 943 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(943)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 436, 541, 943}); + + dieListe.anhaengen(372); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 436, 541, 943, 372}); + + dieListe.anhaengen(846); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 436, 541, 943, 372, 846}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 436, 943, 372, 846}); + + dieListe.anhaengen(689); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 436, 943, 372, 846, 689}); + + dieListe.einfuegenBei(4, 57); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 436, 943, 57, 372, 846, 689}); + + dieListe.einfuegenBei(0, 262); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 846, 689}); + + assertTrue("Fehler: Element 943 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(943)); + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 689}); + + dieListe.anhaengen(129); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 689, 129}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 689}); + + dieListe.anhaengen(437); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 689, 437}); + + dieListe.anhaengen(952); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 689, 437, 952}); + + dieListe.anhaengen(807); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 689, 437, 952, 807}); + + dieListe.einfuegenBei(7, 72); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 72, 689, 437, 952, 807}); + + assertFalse("Fehler: Element 886 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(886)); + assertFalse("Fehler: Element 772 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(772)); + assertTrue("Fehler: Element 72 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(72)); + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 72, 689, 437, 952}); + + dieListe.anhaengen(709); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 72, 689, 437, 952, 709}); + + assertTrue("Fehler: Element 262 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(262)); + dieListe.einfuegenBei(10, 821); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 72, 689, 437, 821, 952, 709}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 372, 72, 689, 437, 821, 952, 709}); + + dieListe.anhaengen(898); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 372, 72, 689, 437, 821, 952, 709, 898}); + + assertTrue("Fehler: Element 72 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(72)); + dieListe.einfuegenBei(5, 139); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 139, 372, 72, 689, 437, 821, 952, 709, 898}); + + dieListe.einfuegenBei(2, 886); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 886, 69, 436, 943, 139, 372, 72, 689, 437, 821, 952, 709, 898}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 886, 69, 436, 943, 139, 372, 72, 689, 821, 952, 709, 898}); + + dieListe.einfuegenBei(9, 836); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 886, 69, 436, 943, 139, 372, 72, 836, 689, 821, 952, 709, 898}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 886, 436, 943, 139, 372, 72, 836, 689, 821, 952, 709, 898}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 886, 436, 943, 139, 372, 72, 836, 689, 821, 952, 709}); + + assertTrue("Fehler: Element 943 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(943)); + assertFalse("Fehler: Element 237 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(237)); + dieListe.einfuegenBei(13, 803); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 886, 436, 943, 139, 372, 72, 836, 689, 821, 952, 709, 803}); + + dieListe.anhaengen(918); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 886, 436, 943, 139, 372, 72, 836, 689, 821, 952, 709, 803, 918}); + + assertFalse("Fehler: Element 799 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(799)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 436, 943, 139, 372, 72, 836, 689, 821, 952, 709, 803, 918}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 436, 943, 139, 372, 72, 836, 689, 821, 709, 803, 918}); + + assertTrue("Fehler: Element 918 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(918)); + assertFalse("Fehler: Element 652 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(652)); + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 436, 943, 139, 372, 72, 836, 689, 709, 803, 918}); + + dieListe.anhaengen(578); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 436, 943, 139, 372, 72, 836, 689, 709, 803, 918, 578}); + + dieListe.anhaengen(954); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 436, 943, 139, 372, 72, 836, 689, 709, 803, 918, 578, 954}); + + dieListe.einfuegenBei(10, 961); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 436, 943, 139, 372, 72, 836, 689, 709, 961, 803, 918, 578, 954}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 436, 943, 139, 372, 72, 836, 689, 709, 961, 803, 918, 578, 954}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 436, 943, 139, 372, 72, 836, 689, 709, 803, 918, 578, 954}); + + dieListe.anhaengen(178); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 436, 943, 139, 372, 72, 836, 689, 709, 803, 918, 578, 954, 178}); + + dieListe.anhaengen(733); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 436, 943, 139, 372, 72, 836, 689, 709, 803, 918, 578, 954, 178, 733}); + + assertTrue("Fehler: Element 803 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(803)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 436, 943, 372, 72, 836, 689, 709, 803, 918, 578, 954, 178, 733}); + + assertFalse("Fehler: Element 325 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(325)); + assertFalse("Fehler: Element 50 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(50)); + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 436, 943, 372, 72, 836, 689, 709, 803, 918, 954, 178, 733}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 467); + Tester.pruefeListenInhalt(dieListe, new int[]{467}); + + dieListe.einfuegenBei(1, 927); + Tester.pruefeListenInhalt(dieListe, new int[]{467, 927}); + + dieListe.einfuegenBei(0, 242); + Tester.pruefeListenInhalt(dieListe, new int[]{242, 467, 927}); + + dieListe.anhaengen(474); + Tester.pruefeListenInhalt(dieListe, new int[]{242, 467, 927, 474}); + + assertFalse("Fehler: Element 72 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(72)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{242, 467, 927}); + + assertFalse("Fehler: Element 342 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(342)); + assertFalse("Fehler: Element 210 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(210)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{242, 927}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{242}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 111); + Tester.pruefeListenInhalt(dieListe, new int[]{111}); + + assertFalse("Fehler: Element 34 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(34)); + dieListe.einfuegenBei(1, 591); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 591}); + + dieListe.einfuegenBei(1, 308); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 308, 591}); + + dieListe.einfuegenBei(1, 819); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 819, 308, 591}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 819, 308}); + + assertTrue("Fehler: Element 819 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(819)); + dieListe.einfuegenBei(1, 225); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 225, 819, 308}); + + assertTrue("Fehler: Element 111 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(111)); + dieListe.einfuegenBei(1, 680); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 680, 225, 819, 308}); + + assertTrue("Fehler: Element 680 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(680)); + dieListe.einfuegenBei(1, 686); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 686, 680, 225, 819, 308}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 680, 225, 819, 308}); + + dieListe.einfuegenBei(4, 816); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 680, 225, 819, 816, 308}); + + dieListe.anhaengen(124); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 680, 225, 819, 816, 308, 124}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{680, 225, 819, 816, 308, 124}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{680, 819, 816, 308, 124}); + + dieListe.einfuegenBei(4, 19); + Tester.pruefeListenInhalt(dieListe, new int[]{680, 819, 816, 308, 19, 124}); + + dieListe.einfuegenBei(4, 569); + Tester.pruefeListenInhalt(dieListe, new int[]{680, 819, 816, 308, 569, 19, 124}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 298); + Tester.pruefeListenInhalt(dieListe, new int[]{298}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(735); + Tester.pruefeListenInhalt(dieListe, new int[]{735}); + + dieListe.einfuegenBei(0, 474); + Tester.pruefeListenInhalt(dieListe, new int[]{474, 735}); + + dieListe.einfuegenBei(0, 562); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 474, 735}); + + dieListe.anhaengen(201); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 474, 735, 201}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 474, 735}); + + dieListe.einfuegenBei(0, 103); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 474, 735}); + + dieListe.anhaengen(54); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 474, 735, 54}); + + assertTrue("Fehler: Element 735 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(735)); + assertTrue("Fehler: Element 474 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(474)); + dieListe.anhaengen(940); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 474, 735, 54, 940}); + + assertTrue("Fehler: Element 562 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(562)); + dieListe.einfuegenBei(5, 631); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 474, 735, 54, 631, 940}); + + assertFalse("Fehler: Element 250 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(250)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 735, 54, 631, 940}); + + dieListe.einfuegenBei(6, 30); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 735, 54, 631, 940, 30}); + + dieListe.anhaengen(966); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 735, 54, 631, 940, 30, 966}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 735, 54, 631, 940, 966}); + + dieListe.anhaengen(931); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 735, 54, 631, 940, 966, 931}); + + dieListe.anhaengen(748); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 735, 54, 631, 940, 966, 931, 748}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 735, 54, 940, 966, 931, 748}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 735, 54, 940, 966, 931, 748}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 54, 940, 966, 931, 748}); + + dieListe.einfuegenBei(5, 214); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 54, 940, 966, 931, 214, 748}); + + dieListe.einfuegenBei(2, 28); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 54, 28, 940, 966, 931, 214, 748}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 54, 28, 940, 966, 214, 748}); + + dieListe.anhaengen(397); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 54, 28, 940, 966, 214, 748, 397}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(413); + Tester.pruefeListenInhalt(dieListe, new int[]{413}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(950); + Tester.pruefeListenInhalt(dieListe, new int[]{950}); + + dieListe.einfuegenBei(0, 480); + Tester.pruefeListenInhalt(dieListe, new int[]{480, 950}); + + dieListe.anhaengen(962); + Tester.pruefeListenInhalt(dieListe, new int[]{480, 950, 962}); + + assertFalse("Fehler: Element 287 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(287)); + assertTrue("Fehler: Element 962 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(962)); + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{480, 950, 962, 581}); + + dieListe.einfuegenBei(2, 163); + Tester.pruefeListenInhalt(dieListe, new int[]{480, 950, 163, 962, 581}); + + dieListe.einfuegenBei(1, 678); + Tester.pruefeListenInhalt(dieListe, new int[]{480, 678, 950, 163, 962, 581}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 267); + Tester.pruefeListenInhalt(dieListe, new int[]{267}); + + dieListe.einfuegenBei(1, 595); + Tester.pruefeListenInhalt(dieListe, new int[]{267, 595}); + + assertTrue("Fehler: Element 595 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(595)); + dieListe.anhaengen(812); + Tester.pruefeListenInhalt(dieListe, new int[]{267, 595, 812}); + + assertTrue("Fehler: Element 267 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(267)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{267, 812}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{267}); + + assertFalse("Fehler: Element 82 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(82)); + assertFalse("Fehler: Element 256 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(256)); + dieListe.einfuegenBei(0, 968); + Tester.pruefeListenInhalt(dieListe, new int[]{968, 267}); + + assertTrue("Fehler: Element 968 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(968)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 715); + Tester.pruefeListenInhalt(dieListe, new int[]{715}); + + dieListe.einfuegenBei(0, 56); + Tester.pruefeListenInhalt(dieListe, new int[]{56, 715}); + + dieListe.einfuegenBei(0, 332); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 715}); + + dieListe.anhaengen(757); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 715, 757}); + + dieListe.anhaengen(844); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 715, 757, 844}); + + dieListe.einfuegenBei(1, 771); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 771, 56, 715, 757, 844}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 715, 757, 844}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 757, 844}); + + assertTrue("Fehler: Element 332 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(332)); + assertFalse("Fehler: Element 905 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(905)); + dieListe.einfuegenBei(4, 175); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 757, 844, 175}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 757, 175}); + + dieListe.einfuegenBei(2, 774); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 774, 757, 175}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 757, 175}); + + assertTrue("Fehler: Element 56 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(56)); + dieListe.anhaengen(711); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 757, 175, 711}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 757, 711}); + + dieListe.anhaengen(980); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 757, 711, 980}); + + dieListe.einfuegenBei(1, 238); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 56, 757, 711, 980}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 757, 711, 980}); + + dieListe.anhaengen(778); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 757, 711, 980, 778}); + + assertTrue("Fehler: Element 980 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(980)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 757, 711, 778}); + + dieListe.anhaengen(241); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 757, 711, 778, 241}); + + dieListe.einfuegenBei(4, 142); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 757, 711, 142, 778, 241}); + + assertFalse("Fehler: Element 727 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(727)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 711, 142, 778, 241}); + + dieListe.anhaengen(689); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 711, 142, 778, 241, 689}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 711, 778, 241, 689}); + + assertTrue("Fehler: Element 238 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(238)); + dieListe.einfuegenBei(2, 843); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 843, 711, 778, 241, 689}); + + dieListe.anhaengen(267); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 843, 711, 778, 241, 689, 267}); + + assertTrue("Fehler: Element 241 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(241)); + assertFalse("Fehler: Element 412 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(412)); + assertFalse("Fehler: Element 925 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(925)); + dieListe.anhaengen(316); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 843, 711, 778, 241, 689, 267, 316}); + + assertTrue("Fehler: Element 241 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(241)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{238, 843, 711, 778, 241, 689, 267, 316}); + + assertFalse("Fehler: Element 460 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(460)); + assertFalse("Fehler: Element 950 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(950)); + assertTrue("Fehler: Element 241 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(241)); + dieListe.einfuegenBei(5, 368); + Tester.pruefeListenInhalt(dieListe, new int[]{238, 843, 711, 778, 241, 368, 689, 267, 316}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{238, 843, 711, 241, 368, 689, 267, 316}); + + assertFalse("Fehler: Element 335 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(335)); + dieListe.einfuegenBei(2, 902); + Tester.pruefeListenInhalt(dieListe, new int[]{238, 843, 902, 711, 241, 368, 689, 267, 316}); + + dieListe.anhaengen(905); + Tester.pruefeListenInhalt(dieListe, new int[]{238, 843, 902, 711, 241, 368, 689, 267, 316, 905}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 321); + Tester.pruefeListenInhalt(dieListe, new int[]{321}); + + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(194); + Tester.pruefeListenInhalt(dieListe, new int[]{194}); + + dieListe.einfuegenBei(0, 694); + Tester.pruefeListenInhalt(dieListe, new int[]{694, 194}); + + assertFalse("Fehler: Element 927 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(927)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{194}); + + assertFalse("Fehler: Element 555 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(555)); +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(411); + Tester.pruefeListenInhalt(dieListe, new int[]{411}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 598); + Tester.pruefeListenInhalt(dieListe, new int[]{598}); + + assertFalse("Fehler: Element 360 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(360)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 413); + Tester.pruefeListenInhalt(dieListe, new int[]{413}); + + assertFalse("Fehler: Element 340 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(340)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 163); + Tester.pruefeListenInhalt(dieListe, new int[]{163}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 766); + Tester.pruefeListenInhalt(dieListe, new int[]{766}); + + assertTrue("Fehler: Element 766 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(766)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 496); + Tester.pruefeListenInhalt(dieListe, new int[]{496}); + + dieListe.anhaengen(347); + Tester.pruefeListenInhalt(dieListe, new int[]{496, 347}); + + assertFalse("Fehler: Element 196 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(196)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{347}); + + dieListe.einfuegenBei(1, 247); + Tester.pruefeListenInhalt(dieListe, new int[]{347, 247}); + + assertTrue("Fehler: Element 347 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(347)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{347}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(316); + Tester.pruefeListenInhalt(dieListe, new int[]{316}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(210); + Tester.pruefeListenInhalt(dieListe, new int[]{210}); + + assertFalse("Fehler: Element 326 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(326)); + dieListe.einfuegenBei(1, 349); + Tester.pruefeListenInhalt(dieListe, new int[]{210, 349}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{210}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(277); + Tester.pruefeListenInhalt(dieListe, new int[]{277}); + + assertTrue("Fehler: Element 277 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(277)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(594); + Tester.pruefeListenInhalt(dieListe, new int[]{594}); + + dieListe.anhaengen(154); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 154}); + + dieListe.einfuegenBei(1, 586); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 586, 154}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 154}); + + dieListe.einfuegenBei(1, 390); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 390, 154}); + + assertFalse("Fehler: Element 637 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(637)); + dieListe.einfuegenBei(0, 179); + Tester.pruefeListenInhalt(dieListe, new int[]{179, 594, 390, 154}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{179, 594, 154}); + + dieListe.anhaengen(564); + Tester.pruefeListenInhalt(dieListe, new int[]{179, 594, 154, 564}); + + dieListe.einfuegenBei(4, 249); + Tester.pruefeListenInhalt(dieListe, new int[]{179, 594, 154, 564, 249}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{179, 594, 154, 564}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 154, 564}); + + dieListe.einfuegenBei(2, 9); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 154, 9, 564}); + + dieListe.anhaengen(772); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 154, 9, 564, 772}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 154, 9, 564}); + + dieListe.anhaengen(601); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 154, 9, 564, 601}); + + assertFalse("Fehler: Element 178 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(178)); + assertTrue("Fehler: Element 594 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(594)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{154, 9, 564, 601}); + + dieListe.anhaengen(438); + Tester.pruefeListenInhalt(dieListe, new int[]{154, 9, 564, 601, 438}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{154, 9, 564, 438}); + + dieListe.anhaengen(116); + Tester.pruefeListenInhalt(dieListe, new int[]{154, 9, 564, 438, 116}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 564, 438, 116}); + + dieListe.anhaengen(732); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 564, 438, 116, 732}); + + dieListe.anhaengen(748); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 564, 438, 116, 732, 748}); + + dieListe.anhaengen(412); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 564, 438, 116, 732, 748, 412}); + + assertTrue("Fehler: Element 748 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(748)); + dieListe.einfuegenBei(5, 736); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 564, 438, 116, 732, 736, 748, 412}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 438, 116, 732, 736, 748, 412}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 732, 736, 748, 412}); + + assertFalse("Fehler: Element 445 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(445)); + assertFalse("Fehler: Element 52 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(52)); + dieListe.anhaengen(394); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 732, 736, 748, 412, 394}); + + dieListe.einfuegenBei(5, 352); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 732, 736, 748, 352, 412, 394}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 732, 736, 748, 352, 394}); + + dieListe.anhaengen(421); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 732, 736, 748, 352, 394, 421}); + + assertFalse("Fehler: Element 179 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(179)); + assertTrue("Fehler: Element 421 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(421)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 748, 352, 394, 421}); + + assertFalse("Fehler: Element 629 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(629)); + dieListe.anhaengen(377); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 748, 352, 394, 421, 377}); + + dieListe.anhaengen(282); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 748, 352, 394, 421, 377, 282}); + + dieListe.anhaengen(735); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 748, 352, 394, 421, 377, 282, 735}); + + assertTrue("Fehler: Element 9 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(9)); + dieListe.einfuegenBei(3, 170); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 170, 748, 352, 394, 421, 377, 282, 735}); + + assertTrue("Fehler: Element 116 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(116)); + dieListe.anhaengen(737); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 170, 748, 352, 394, 421, 377, 282, 735, 737}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 170, 748, 352, 394, 421, 377, 282, 737}); + + dieListe.anhaengen(78); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 170, 748, 352, 394, 421, 377, 282, 737, 78}); + + dieListe.anhaengen(71); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 170, 748, 352, 394, 421, 377, 282, 737, 78, 71}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 170, 748, 352, 421, 377, 282, 737, 78, 71}); + + dieListe.einfuegenBei(6, 369); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 170, 748, 352, 369, 421, 377, 282, 737, 78, 71}); + + dieListe.einfuegenBei(10, 758); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 170, 748, 352, 369, 421, 377, 282, 758, 737, 78, 71}); + + dieListe.anhaengen(364); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 170, 748, 352, 369, 421, 377, 282, 758, 737, 78, 71, 364}); + + assertFalse("Fehler: Element 275 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(275)); + dieListe.einfuegenBei(3, 727); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 727, 170, 748, 352, 369, 421, 377, 282, 758, 737, 78, 71, 364}); + + dieListe.anhaengen(958); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 727, 170, 748, 352, 369, 421, 377, 282, 758, 737, 78, 71, 364, 958}); + + dieListe.einfuegenBei(16, 555); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 727, 170, 748, 352, 369, 421, 377, 282, 758, 737, 78, 71, 364, 555, 958}); + + dieListe.anhaengen(147); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 727, 170, 748, 352, 369, 421, 377, 282, 758, 737, 78, 71, 364, 555, 958, 147}); + + dieListe.anhaengen(382); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 727, 170, 748, 352, 369, 421, 377, 282, 758, 737, 78, 71, 364, 555, 958, 147, 382}); + + dieListe.entferneBei(17); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 727, 170, 748, 352, 369, 421, 377, 282, 758, 737, 78, 71, 364, 555, 147, 382}); + + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(981); + Tester.pruefeListenInhalt(dieListe, new int[]{981}); + + assertFalse("Fehler: Element 802 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(802)); + dieListe.einfuegenBei(0, 672); + Tester.pruefeListenInhalt(dieListe, new int[]{672, 981}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{981}); + + dieListe.anhaengen(633); + Tester.pruefeListenInhalt(dieListe, new int[]{981, 633}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{981}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(26); + Tester.pruefeListenInhalt(dieListe, new int[]{26}); + + dieListe.einfuegenBei(1, 55); + Tester.pruefeListenInhalt(dieListe, new int[]{26, 55}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 184); + Tester.pruefeListenInhalt(dieListe, new int[]{184}); + + dieListe.einfuegenBei(0, 717); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 184}); + + dieListe.einfuegenBei(2, 994); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 184, 994}); + + assertFalse("Fehler: Element 700 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(700)); + assertFalse("Fehler: Element 574 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(574)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 184}); + + dieListe.einfuegenBei(2, 641); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 184, 641}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 184}); + + dieListe.anhaengen(97); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 184, 97}); + + dieListe.anhaengen(166); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 184, 97, 166}); + + assertFalse("Fehler: Element 178 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(178)); + dieListe.einfuegenBei(1, 362); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 362, 184, 97, 166}); + + assertFalse("Fehler: Element 765 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(765)); + dieListe.einfuegenBei(1, 106); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 106, 362, 184, 97, 166}); + + dieListe.einfuegenBei(6, 495); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 106, 362, 184, 97, 166, 495}); + + dieListe.einfuegenBei(4, 360); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 106, 362, 184, 360, 97, 166, 495}); + + dieListe.einfuegenBei(4, 440); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 106, 362, 184, 440, 360, 97, 166, 495}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 362, 184, 440, 360, 97, 166, 495}); + + assertFalse("Fehler: Element 195 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(195)); + dieListe.einfuegenBei(2, 652); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 362, 652, 184, 440, 360, 97, 166, 495}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 362, 184, 440, 360, 97, 166, 495}); + + dieListe.einfuegenBei(1, 824); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 362, 184, 440, 360, 97, 166, 495}); + + assertTrue("Fehler: Element 360 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(360)); + assertFalse("Fehler: Element 315 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(315)); + assertFalse("Fehler: Element 496 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(496)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 362, 440, 360, 97, 166, 495}); + + dieListe.anhaengen(717); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 362, 440, 360, 97, 166, 495, 717}); + + dieListe.anhaengen(805); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 362, 440, 360, 97, 166, 495, 717, 805}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 362, 360, 97, 166, 495, 717, 805}); + + dieListe.anhaengen(968); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 362, 360, 97, 166, 495, 717, 805, 968}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 362, 360, 97, 166, 495, 717, 968}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 362, 360, 97, 495, 717, 968}); + + dieListe.einfuegenBei(6, 723); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 362, 360, 97, 495, 723, 717, 968}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 360, 97, 495, 723, 717, 968}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 360, 97, 495, 723, 968}); + + dieListe.einfuegenBei(2, 46); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 46, 360, 97, 495, 723, 968}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 46, 360, 97, 723, 968}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 360, 97, 723, 968}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 97, 723, 968}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 97, 723, 968}); + + assertTrue("Fehler: Element 723 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(723)); + assertTrue("Fehler: Element 717 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(717)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 723, 968}); + + assertTrue("Fehler: Element 97 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(97)); + dieListe.einfuegenBei(2, 236); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 723, 236, 968}); + + dieListe.einfuegenBei(0, 103); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 97, 723, 236, 968}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 97, 723, 236}); + + dieListe.anhaengen(990); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 97, 723, 236, 990}); + + dieListe.einfuegenBei(1, 574); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 574, 97, 723, 236, 990}); + + dieListe.einfuegenBei(6, 626); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 574, 97, 723, 236, 990, 626}); + + dieListe.einfuegenBei(6, 19); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 574, 97, 723, 236, 990, 19, 626}); + + assertTrue("Fehler: Element 626 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(626)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(116); + Tester.pruefeListenInhalt(dieListe, new int[]{116}); + + assertFalse("Fehler: Element 306 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(306)); + dieListe.einfuegenBei(1, 512); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 512}); + + dieListe.einfuegenBei(0, 830); + Tester.pruefeListenInhalt(dieListe, new int[]{830, 116, 512}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{830, 512}); + + dieListe.anhaengen(455); + Tester.pruefeListenInhalt(dieListe, new int[]{830, 512, 455}); + + dieListe.einfuegenBei(3, 682); + Tester.pruefeListenInhalt(dieListe, new int[]{830, 512, 455, 682}); + + assertFalse("Fehler: Element 602 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(602)); + dieListe.einfuegenBei(1, 931); + Tester.pruefeListenInhalt(dieListe, new int[]{830, 931, 512, 455, 682}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{830, 931, 512, 682}); + + dieListe.einfuegenBei(1, 566); + Tester.pruefeListenInhalt(dieListe, new int[]{830, 566, 931, 512, 682}); + + dieListe.anhaengen(349); + Tester.pruefeListenInhalt(dieListe, new int[]{830, 566, 931, 512, 682, 349}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{566, 931, 512, 682, 349}); + + dieListe.einfuegenBei(3, 388); + Tester.pruefeListenInhalt(dieListe, new int[]{566, 931, 512, 388, 682, 349}); + + dieListe.einfuegenBei(0, 618); + Tester.pruefeListenInhalt(dieListe, new int[]{618, 566, 931, 512, 388, 682, 349}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{618, 566, 931, 512, 388, 682}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 104); + Tester.pruefeListenInhalt(dieListe, new int[]{104}); + + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 189}); + + dieListe.anhaengen(922); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 189, 922}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 922}); + + assertFalse("Fehler: Element 490 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(490)); + assertFalse("Fehler: Element 507 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(507)); + dieListe.einfuegenBei(1, 910); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 910, 922}); + + dieListe.einfuegenBei(2, 662); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 910, 662, 922}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 910, 662}); + + dieListe.einfuegenBei(1, 820); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 820, 910, 662}); + + assertTrue("Fehler: Element 910 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(910)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 910, 662}); + + dieListe.anhaengen(358); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 910, 662, 358}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 910, 662}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 662}); + + assertFalse("Fehler: Element 846 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(846)); + assertFalse("Fehler: Element 77 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(77)); + dieListe.anhaengen(473); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 662, 473}); + + dieListe.anhaengen(802); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 662, 473, 802}); + + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 278); + Tester.pruefeListenInhalt(dieListe, new int[]{278}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(664); + Tester.pruefeListenInhalt(dieListe, new int[]{664}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 274); + Tester.pruefeListenInhalt(dieListe, new int[]{274}); + + dieListe.einfuegenBei(1, 839); + Tester.pruefeListenInhalt(dieListe, new int[]{274, 839}); + + dieListe.einfuegenBei(1, 565); + Tester.pruefeListenInhalt(dieListe, new int[]{274, 565, 839}); + + dieListe.einfuegenBei(0, 136); + Tester.pruefeListenInhalt(dieListe, new int[]{136, 274, 565, 839}); + + dieListe.einfuegenBei(1, 93); + Tester.pruefeListenInhalt(dieListe, new int[]{136, 93, 274, 565, 839}); + + dieListe.einfuegenBei(3, 208); + Tester.pruefeListenInhalt(dieListe, new int[]{136, 93, 274, 208, 565, 839}); + + dieListe.einfuegenBei(1, 320); + Tester.pruefeListenInhalt(dieListe, new int[]{136, 320, 93, 274, 208, 565, 839}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{136, 320, 93, 274, 208, 565}); + + assertTrue("Fehler: Element 320 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(320)); + assertTrue("Fehler: Element 320 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(320)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{136, 93, 274, 208, 565}); + + dieListe.einfuegenBei(1, 976); + Tester.pruefeListenInhalt(dieListe, new int[]{136, 976, 93, 274, 208, 565}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(134); + Tester.pruefeListenInhalt(dieListe, new int[]{134}); + + dieListe.einfuegenBei(0, 851); + Tester.pruefeListenInhalt(dieListe, new int[]{851, 134}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{134}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(502); + Tester.pruefeListenInhalt(dieListe, new int[]{502}); + + dieListe.anhaengen(763); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 763}); + + dieListe.einfuegenBei(2, 154); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 763, 154}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 154}); + + dieListe.anhaengen(38); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 154, 38}); + + assertFalse("Fehler: Element 975 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(975)); + dieListe.anhaengen(608); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 154, 38, 608}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 154, 608}); + + dieListe.einfuegenBei(3, 467); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 154, 608, 467}); + + assertFalse("Fehler: Element 715 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(715)); + assertTrue("Fehler: Element 154 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(154)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 154, 467}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 154}); + + dieListe.anhaengen(837); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 154, 837}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 837}); + + dieListe.einfuegenBei(1, 144); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 144, 837}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 144}); + + dieListe.einfuegenBei(0, 957); + Tester.pruefeListenInhalt(dieListe, new int[]{957, 502, 144}); + + assertTrue("Fehler: Element 144 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(144)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 144}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{144}); + + assertTrue("Fehler: Element 144 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(144)); + assertTrue("Fehler: Element 144 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(144)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(216); + Tester.pruefeListenInhalt(dieListe, new int[]{216}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(754); + Tester.pruefeListenInhalt(dieListe, new int[]{754}); + + dieListe.einfuegenBei(1, 375); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 375}); + + assertTrue("Fehler: Element 375 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(375)); + dieListe.anhaengen(922); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 375, 922}); + + dieListe.anhaengen(288); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 375, 922, 288}); + + dieListe.anhaengen(18); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 375, 922, 288, 18}); + + dieListe.anhaengen(490); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 375, 922, 288, 18, 490}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 922, 288, 18, 490}); + + dieListe.anhaengen(841); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 922, 288, 18, 490, 841}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 922, 288, 490, 841}); + + dieListe.anhaengen(23); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 922, 288, 490, 841, 23}); + + dieListe.einfuegenBei(3, 595); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 922, 288, 595, 490, 841, 23}); + + assertTrue("Fehler: Element 490 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(490)); + dieListe.anhaengen(314); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 922, 288, 595, 490, 841, 23, 314}); + + dieListe.einfuegenBei(5, 674); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 922, 288, 595, 490, 674, 841, 23, 314}); + + assertTrue("Fehler: Element 490 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(490)); + assertTrue("Fehler: Element 314 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(314)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 288, 595, 490, 674, 841, 23, 314}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 288, 595, 490, 841, 23, 314}); + + assertTrue("Fehler: Element 490 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(490)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 288, 595, 490, 23, 314}); + + assertFalse("Fehler: Element 107 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(107)); + dieListe.anhaengen(858); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 288, 595, 490, 23, 314, 858}); + + dieListe.anhaengen(892); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 288, 595, 490, 23, 314, 858, 892}); + + dieListe.einfuegenBei(1, 539); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 490, 23, 314, 858, 892}); + + dieListe.anhaengen(875); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 490, 23, 314, 858, 892, 875}); + + dieListe.einfuegenBei(4, 64); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 875}); + + dieListe.anhaengen(588); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 875, 588}); + + dieListe.einfuegenBei(12, 567); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 875, 588, 567}); + + dieListe.anhaengen(261); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 875, 588, 567, 261}); + + dieListe.einfuegenBei(10, 75); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 75, 875, 588, 567, 261}); + + dieListe.anhaengen(528); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 75, 875, 588, 567, 261, 528}); + + dieListe.einfuegenBei(12, 88); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 75, 875, 88, 588, 567, 261, 528}); + + assertFalse("Fehler: Element 433 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(433)); + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 75, 88, 588, 567, 261, 528}); + + dieListe.anhaengen(630); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630}); + + assertTrue("Fehler: Element 490 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(490)); + dieListe.anhaengen(683); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630, 683}); + + dieListe.anhaengen(211); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630, 683, 211}); + + assertTrue("Fehler: Element 375 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(375)); + assertTrue("Fehler: Element 588 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(588)); + assertFalse("Fehler: Element 25 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(25)); + dieListe.einfuegenBei(5, 332); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 332, 490, 23, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630, 683, 211}); + + dieListe.anhaengen(414); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 332, 490, 23, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630, 683, 211, 414}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 332, 490, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630, 683, 211, 414}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 595, 64, 332, 490, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630, 683, 211, 414}); + + assertTrue("Fehler: Element 211 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(211)); + dieListe.anhaengen(449); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 595, 64, 332, 490, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630, 683, 211, 414, 449}); + + dieListe.einfuegenBei(16, 77); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 595, 64, 332, 490, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630, 77, 683, 211, 414, 449}); + + dieListe.einfuegenBei(1, 278); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 278, 539, 595, 64, 332, 490, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630, 77, 683, 211, 414, 449}); + + dieListe.entferneBei(15); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 278, 539, 595, 64, 332, 490, 314, 858, 892, 75, 88, 588, 567, 261, 630, 77, 683, 211, 414, 449}); + + dieListe.anhaengen(34); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 278, 539, 595, 64, 332, 490, 314, 858, 892, 75, 88, 588, 567, 261, 630, 77, 683, 211, 414, 449, 34}); + + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(491); + Tester.pruefeListenInhalt(dieListe, new int[]{491}); + + dieListe.einfuegenBei(1, 958); + Tester.pruefeListenInhalt(dieListe, new int[]{491, 958}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{491}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 73); + Tester.pruefeListenInhalt(dieListe, new int[]{73}); + + dieListe.anhaengen(235); + Tester.pruefeListenInhalt(dieListe, new int[]{73, 235}); + + dieListe.einfuegenBei(0, 723); + Tester.pruefeListenInhalt(dieListe, new int[]{723, 73, 235}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 665); + Tester.pruefeListenInhalt(dieListe, new int[]{665}); + + assertFalse("Fehler: Element 695 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(695)); +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(257); + Tester.pruefeListenInhalt(dieListe, new int[]{257}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(341); + Tester.pruefeListenInhalt(dieListe, new int[]{341}); + + dieListe.anhaengen(341); + Tester.pruefeListenInhalt(dieListe, new int[]{341, 341}); + + assertTrue("Fehler: Element 341 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(341)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(566); + Tester.pruefeListenInhalt(dieListe, new int[]{566}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(121); + Tester.pruefeListenInhalt(dieListe, new int[]{121}); + + dieListe.anhaengen(574); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574}); + + dieListe.anhaengen(935); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 935}); + + dieListe.einfuegenBei(3, 473); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 935, 473}); + + dieListe.anhaengen(655); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 935, 473, 655}); + + assertTrue("Fehler: Element 655 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(655)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 935, 473}); + + dieListe.anhaengen(646); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 935, 473, 646}); + + dieListe.anhaengen(337); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 935, 473, 646, 337}); + + dieListe.einfuegenBei(5, 490); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 935, 473, 646, 490, 337}); + + assertTrue("Fehler: Element 490 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(490)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 935, 646, 490, 337}); + + dieListe.einfuegenBei(2, 72); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 72, 935, 646, 490, 337}); + + assertTrue("Fehler: Element 490 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(490)); + assertFalse("Fehler: Element 628 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(628)); + dieListe.anhaengen(313); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 72, 935, 646, 490, 337, 313}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 72, 646, 490, 337, 313}); + + dieListe.anhaengen(909); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 72, 646, 490, 337, 313, 909}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 72, 646, 490, 337, 313}); + + dieListe.einfuegenBei(5, 331); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 72, 646, 490, 331, 337, 313}); + + assertFalse("Fehler: Element 485 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(485)); + dieListe.anhaengen(86); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 72, 646, 490, 331, 337, 313, 86}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 72, 646, 490, 331, 337, 313, 86}); + + assertTrue("Fehler: Element 121 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(121)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 646, 490, 331, 337, 313, 86}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 646, 331, 337, 313, 86}); + + dieListe.anhaengen(600); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 646, 331, 337, 313, 86, 600}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 646, 331, 313, 86, 600}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 437); + Tester.pruefeListenInhalt(dieListe, new int[]{437}); + + assertFalse("Fehler: Element 412 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(412)); + dieListe.anhaengen(788); + Tester.pruefeListenInhalt(dieListe, new int[]{437, 788}); + + assertFalse("Fehler: Element 304 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(304)); + dieListe.anhaengen(286); + Tester.pruefeListenInhalt(dieListe, new int[]{437, 788, 286}); + + assertFalse("Fehler: Element 526 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(526)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{788, 286}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{286}); + + dieListe.anhaengen(618); + Tester.pruefeListenInhalt(dieListe, new int[]{286, 618}); + + dieListe.anhaengen(352); + Tester.pruefeListenInhalt(dieListe, new int[]{286, 618, 352}); + + assertFalse("Fehler: Element 237 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(237)); + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{286, 618, 352, 581}); + + dieListe.anhaengen(931); + Tester.pruefeListenInhalt(dieListe, new int[]{286, 618, 352, 581, 931}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{286, 618, 352, 931}); + + assertTrue("Fehler: Element 618 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(618)); + dieListe.einfuegenBei(1, 861); + Tester.pruefeListenInhalt(dieListe, new int[]{286, 861, 618, 352, 931}); + + assertTrue("Fehler: Element 931 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(931)); + dieListe.einfuegenBei(3, 190); + Tester.pruefeListenInhalt(dieListe, new int[]{286, 861, 618, 190, 352, 931}); + + assertTrue("Fehler: Element 861 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(861)); + assertTrue("Fehler: Element 618 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(618)); + dieListe.einfuegenBei(1, 699); + Tester.pruefeListenInhalt(dieListe, new int[]{286, 699, 861, 618, 190, 352, 931}); + + dieListe.einfuegenBei(2, 935); + Tester.pruefeListenInhalt(dieListe, new int[]{286, 699, 935, 861, 618, 190, 352, 931}); + + dieListe.einfuegenBei(0, 653); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 699, 935, 861, 618, 190, 352, 931}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 699, 935, 861, 618, 352, 931}); + + assertTrue("Fehler: Element 286 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(286)); + assertFalse("Fehler: Element 781 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(781)); + dieListe.einfuegenBei(8, 959); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 699, 935, 861, 618, 352, 931, 959}); + + dieListe.anhaengen(337); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 699, 935, 861, 618, 352, 931, 959, 337}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 618, 352, 931, 959, 337}); + + dieListe.einfuegenBei(4, 698); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 698, 618, 352, 931, 959, 337}); + + dieListe.anhaengen(333); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 698, 618, 352, 931, 959, 337, 333}); + + assertFalse("Fehler: Element 180 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(180)); + assertFalse("Fehler: Element 702 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(702)); + assertFalse("Fehler: Element 226 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(226)); + dieListe.anhaengen(623); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 698, 618, 352, 931, 959, 337, 333, 623}); + + assertFalse("Fehler: Element 939 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(939)); + dieListe.anhaengen(25); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 698, 618, 352, 931, 959, 337, 333, 623, 25}); + + assertTrue("Fehler: Element 623 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(623)); + dieListe.anhaengen(595); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 698, 618, 352, 931, 959, 337, 333, 623, 25, 595}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 698, 618, 352, 959, 337, 333, 623, 25, 595}); + + dieListe.anhaengen(494); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 698, 618, 352, 959, 337, 333, 623, 25, 595, 494}); + + assertTrue("Fehler: Element 618 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(618)); + dieListe.anhaengen(440); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 698, 618, 352, 959, 337, 333, 623, 25, 595, 494, 440}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 618, 352, 959, 337, 333, 623, 25, 595, 494, 440}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 618, 352, 337, 333, 623, 25, 595, 494, 440}); + + assertTrue("Fehler: Element 337 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(337)); + dieListe.anhaengen(838); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 618, 352, 337, 333, 623, 25, 595, 494, 440, 838}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 935, 861, 618, 352, 337, 333, 623, 25, 595, 494, 440, 838}); + + assertFalse("Fehler: Element 421 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(421)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{935, 861, 618, 352, 337, 333, 623, 25, 595, 494, 440, 838}); + + assertFalse("Fehler: Element 153 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(153)); + assertTrue("Fehler: Element 623 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(623)); + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(202); + Tester.pruefeListenInhalt(dieListe, new int[]{202}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 422); + Tester.pruefeListenInhalt(dieListe, new int[]{422}); + + assertFalse("Fehler: Element 558 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(558)); + assertTrue("Fehler: Element 422 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(422)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(707); + Tester.pruefeListenInhalt(dieListe, new int[]{707}); + + dieListe.einfuegenBei(1, 942); + Tester.pruefeListenInhalt(dieListe, new int[]{707, 942}); + + dieListe.einfuegenBei(0, 116); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 707, 942}); + + dieListe.einfuegenBei(3, 536); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 707, 942, 536}); + + assertTrue("Fehler: Element 942 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(942)); + dieListe.einfuegenBei(2, 339); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 707, 339, 942, 536}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 707, 339, 536}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 707, 339}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 707}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{116}); + + assertFalse("Fehler: Element 465 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(465)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 134); + Tester.pruefeListenInhalt(dieListe, new int[]{134}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(336); + Tester.pruefeListenInhalt(dieListe, new int[]{336}); + + dieListe.anhaengen(417); + Tester.pruefeListenInhalt(dieListe, new int[]{336, 417}); + + dieListe.anhaengen(592); + Tester.pruefeListenInhalt(dieListe, new int[]{336, 417, 592}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{417, 592}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{592}); + + dieListe.einfuegenBei(0, 901); + Tester.pruefeListenInhalt(dieListe, new int[]{901, 592}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{592}); + + assertFalse("Fehler: Element 351 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(351)); + assertTrue("Fehler: Element 592 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(592)); + assertFalse("Fehler: Element 169 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(169)); + dieListe.einfuegenBei(1, 634); + Tester.pruefeListenInhalt(dieListe, new int[]{592, 634}); + + assertTrue("Fehler: Element 592 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(592)); + dieListe.einfuegenBei(2, 862); + Tester.pruefeListenInhalt(dieListe, new int[]{592, 634, 862}); + + assertFalse("Fehler: Element 574 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(574)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{592, 634}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{592}); + + dieListe.anhaengen(866); + Tester.pruefeListenInhalt(dieListe, new int[]{592, 866}); + + dieListe.anhaengen(785); + Tester.pruefeListenInhalt(dieListe, new int[]{592, 866, 785}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 785}); + + dieListe.einfuegenBei(0, 427); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 866, 785}); + + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 866, 785, 189}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 866, 785}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 785}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{866}); + + dieListe.anhaengen(923); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 923}); + + dieListe.einfuegenBei(1, 904); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 904, 923}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{904, 923}); + + dieListe.einfuegenBei(2, 884); + Tester.pruefeListenInhalt(dieListe, new int[]{904, 923, 884}); + + dieListe.anhaengen(778); + Tester.pruefeListenInhalt(dieListe, new int[]{904, 923, 884, 778}); + + assertTrue("Fehler: Element 778 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(778)); + assertFalse("Fehler: Element 394 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(394)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{904, 923, 884}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{904, 884}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{904}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 956); + Tester.pruefeListenInhalt(dieListe, new int[]{956}); + + assertTrue("Fehler: Element 956 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(956)); + dieListe.einfuegenBei(1, 140); + Tester.pruefeListenInhalt(dieListe, new int[]{956, 140}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{140}); + + assertFalse("Fehler: Element 797 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(797)); + dieListe.einfuegenBei(1, 174); + Tester.pruefeListenInhalt(dieListe, new int[]{140, 174}); + + dieListe.anhaengen(893); + Tester.pruefeListenInhalt(dieListe, new int[]{140, 174, 893}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 893}); + + dieListe.anhaengen(892); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 893, 892}); + + dieListe.einfuegenBei(3, 769); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 893, 892, 769}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{893, 892, 769}); + + assertFalse("Fehler: Element 429 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(429)); + dieListe.anhaengen(193); + Tester.pruefeListenInhalt(dieListe, new int[]{893, 892, 769, 193}); + + dieListe.anhaengen(676); + Tester.pruefeListenInhalt(dieListe, new int[]{893, 892, 769, 193, 676}); + + dieListe.einfuegenBei(0, 723); + Tester.pruefeListenInhalt(dieListe, new int[]{723, 893, 892, 769, 193, 676}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{723, 893, 892, 769, 676}); + + dieListe.einfuegenBei(1, 481); + Tester.pruefeListenInhalt(dieListe, new int[]{723, 481, 893, 892, 769, 676}); + + assertTrue("Fehler: Element 481 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(481)); + assertTrue("Fehler: Element 892 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(892)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{481, 893, 892, 769, 676}); + + dieListe.einfuegenBei(3, 637); + Tester.pruefeListenInhalt(dieListe, new int[]{481, 893, 892, 637, 769, 676}); + + assertFalse("Fehler: Element 870 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(870)); + dieListe.anhaengen(477); + Tester.pruefeListenInhalt(dieListe, new int[]{481, 893, 892, 637, 769, 676, 477}); + + dieListe.einfuegenBei(5, 59); + Tester.pruefeListenInhalt(dieListe, new int[]{481, 893, 892, 637, 769, 59, 676, 477}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{481, 892, 637, 769, 59, 676, 477}); + + assertTrue("Fehler: Element 676 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(676)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 769, 59, 676, 477}); + + dieListe.einfuegenBei(2, 540); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 769, 59, 676, 477}); + + assertFalse("Fehler: Element 861 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(861)); + dieListe.einfuegenBei(7, 857); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 769, 59, 676, 477, 857}); + + dieListe.einfuegenBei(3, 674); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 674, 769, 59, 676, 477, 857}); + + assertTrue("Fehler: Element 59 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(59)); + dieListe.einfuegenBei(5, 382); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 674, 769, 382, 59, 676, 477, 857}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 674, 769, 382, 59, 676, 477}); + + assertTrue("Fehler: Element 674 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(674)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 674, 769, 382, 59, 676}); + + dieListe.einfuegenBei(3, 921); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 921, 674, 769, 382, 59, 676}); + + assertTrue("Fehler: Element 637 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(637)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 674, 769, 382, 59, 676}); + + dieListe.einfuegenBei(8, 77); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 674, 769, 382, 59, 676, 77}); + + assertTrue("Fehler: Element 769 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(769)); + dieListe.anhaengen(791); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 674, 769, 382, 59, 676, 77, 791}); + + dieListe.einfuegenBei(10, 702); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 674, 769, 382, 59, 676, 77, 791, 702}); + + assertFalse("Fehler: Element 553 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(553)); + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 674, 769, 382, 59, 676, 77, 702}); + + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(957); + Tester.pruefeListenInhalt(dieListe, new int[]{957}); + + dieListe.anhaengen(306); + Tester.pruefeListenInhalt(dieListe, new int[]{957, 306}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{306}); + + dieListe.anhaengen(72); + Tester.pruefeListenInhalt(dieListe, new int[]{306, 72}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{306}); + + assertFalse("Fehler: Element 550 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(550)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 149); + Tester.pruefeListenInhalt(dieListe, new int[]{149}); + + dieListe.anhaengen(61); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 61}); + + dieListe.anhaengen(671); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 61, 671}); + + assertTrue("Fehler: Element 61 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(61)); + assertTrue("Fehler: Element 149 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(149)); + dieListe.anhaengen(674); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 61, 671, 674}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 61, 671}); + + dieListe.anhaengen(510); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 61, 671, 510}); + + dieListe.einfuegenBei(1, 519); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 671, 510}); + + dieListe.anhaengen(460); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 671, 510, 460}); + + assertTrue("Fehler: Element 149 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(149)); + dieListe.einfuegenBei(3, 676); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 676, 671, 510, 460}); + + dieListe.einfuegenBei(3, 717); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 676, 671, 510, 460}); + + dieListe.einfuegenBei(6, 941); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 676, 671, 941, 510, 460}); + + assertFalse("Fehler: Element 836 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(836)); + dieListe.anhaengen(470); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 676, 671, 941, 510, 460, 470}); + + dieListe.anhaengen(852); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 676, 671, 941, 510, 460, 470, 852}); + + assertFalse("Fehler: Element 894 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(894)); + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 676, 671, 941, 510, 460, 470}); + + dieListe.einfuegenBei(4, 126); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 126, 676, 671, 941, 510, 460, 470}); + + dieListe.einfuegenBei(7, 396); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 126, 676, 671, 396, 941, 510, 460, 470}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 126, 676, 396, 941, 510, 460, 470}); + + dieListe.anhaengen(659); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 126, 676, 396, 941, 510, 460, 470, 659}); + + assertFalse("Fehler: Element 588 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(588)); + dieListe.einfuegenBei(10, 398); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 126, 676, 396, 941, 510, 460, 398, 470, 659}); + + assertTrue("Fehler: Element 398 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(398)); + dieListe.einfuegenBei(12, 366); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 126, 676, 396, 941, 510, 460, 398, 470, 366, 659}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(795); + Tester.pruefeListenInhalt(dieListe, new int[]{795}); + + assertTrue("Fehler: Element 795 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(795)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(526); + Tester.pruefeListenInhalt(dieListe, new int[]{526}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 661); + Tester.pruefeListenInhalt(dieListe, new int[]{661}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 893); + Tester.pruefeListenInhalt(dieListe, new int[]{893}); + + dieListe.einfuegenBei(0, 502); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 893}); + + dieListe.anhaengen(854); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 893, 854}); + + dieListe.anhaengen(99); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 893, 854, 99}); + + dieListe.anhaengen(808); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 893, 854, 99, 808}); + + dieListe.einfuegenBei(5, 21); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 893, 854, 99, 808, 21}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 893, 854, 99, 21}); + + dieListe.einfuegenBei(2, 211); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 893, 211, 854, 99, 21}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 893, 211, 854, 99}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 893, 211, 854}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{893, 211, 854}); + + assertTrue("Fehler: Element 854 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(854)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{211, 854}); + + dieListe.einfuegenBei(2, 922); + Tester.pruefeListenInhalt(dieListe, new int[]{211, 854, 922}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 922}); + + assertFalse("Fehler: Element 386 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(386)); + dieListe.einfuegenBei(0, 831); + Tester.pruefeListenInhalt(dieListe, new int[]{831, 854, 922}); + + dieListe.einfuegenBei(1, 252); + Tester.pruefeListenInhalt(dieListe, new int[]{831, 252, 854, 922}); + + dieListe.einfuegenBei(0, 370); + Tester.pruefeListenInhalt(dieListe, new int[]{370, 831, 252, 854, 922}); + + assertFalse("Fehler: Element 492 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(492)); + assertTrue("Fehler: Element 831 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(831)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{370, 252, 854, 922}); + + assertFalse("Fehler: Element 718 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(718)); + dieListe.anhaengen(395); + Tester.pruefeListenInhalt(dieListe, new int[]{370, 252, 854, 922, 395}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 395}); + + dieListe.einfuegenBei(4, 207); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 395, 207}); + + dieListe.anhaengen(974); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 395, 207, 974}); + + dieListe.anhaengen(290); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 395, 207, 974, 290}); + + dieListe.einfuegenBei(3, 915); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 915, 395, 207, 974, 290}); + + dieListe.einfuegenBei(7, 784); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 915, 395, 207, 974, 784, 290}); + + assertFalse("Fehler: Element 870 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(870)); + assertTrue("Fehler: Element 290 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(290)); + dieListe.anhaengen(708); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 915, 395, 207, 974, 784, 290, 708}); + + assertTrue("Fehler: Element 854 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(854)); + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 915, 395, 207, 974, 290, 708}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 915, 395, 207, 974, 290}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 395, 207, 974, 290}); + + dieListe.anhaengen(722); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 395, 207, 974, 290, 722}); + + dieListe.anhaengen(663); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 395, 207, 974, 290, 722, 663}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 395, 207, 974, 290, 722, 663}); + + dieListe.anhaengen(746); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 395, 207, 974, 290, 722, 663, 746}); + + dieListe.einfuegenBei(6, 377); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 395, 207, 974, 290, 377, 722, 663, 746}); + + assertTrue("Fehler: Element 974 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(974)); + dieListe.anhaengen(271); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 395, 207, 974, 290, 377, 722, 663, 746, 271}); + + dieListe.anhaengen(708); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 395, 207, 974, 290, 377, 722, 663, 746, 271, 708}); + + assertTrue("Fehler: Element 271 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(271)); + dieListe.einfuegenBei(11, 974); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 395, 207, 974, 290, 377, 722, 663, 746, 271, 974, 708}); + + dieListe.einfuegenBei(8, 426); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 395, 207, 974, 290, 377, 722, 426, 663, 746, 271, 974, 708}); + + assertTrue("Fehler: Element 395 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(395)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 207, 974, 290, 377, 722, 426, 663, 746, 271, 974, 708}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 207, 974, 290, 377, 722, 426, 663, 271, 974, 708}); + + dieListe.einfuegenBei(9, 132); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 207, 974, 290, 377, 722, 426, 663, 132, 271, 974, 708}); + + dieListe.einfuegenBei(13, 666); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 207, 974, 290, 377, 722, 426, 663, 132, 271, 974, 708, 666}); + + assertTrue("Fehler: Element 252 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(252)); + dieListe.einfuegenBei(0, 717); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 252, 922, 207, 974, 290, 377, 722, 426, 663, 132, 271, 974, 708, 666}); + + assertTrue("Fehler: Element 426 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(426)); + assertTrue("Fehler: Element 974 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(974)); + dieListe.anhaengen(659); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 252, 922, 207, 974, 290, 377, 722, 426, 663, 132, 271, 974, 708, 666, 659}); + + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/Tester.java b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/Tester.java new file mode 100644 index 0000000..eeebb1f --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/Tester.java @@ -0,0 +1,530 @@ +package tests; + +import liste.*; +import tests.*; + +import static org.junit.Assert.*; + +import org.junit.Test; + +/** + * Die Test-Klasse Tester. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public abstract class Tester { + protected Liste dieListe; + + protected static void pruefeListenInhalt(Liste dieListe, int[] erwartet) { + if (erwartet.length == 0) + assertTrue(dieListe.istLeer()); + else + assertFalse(dieListe.istLeer()); + assertEquals("Fehler: Länge stimmt nicht.", erwartet.length, dieListe.laenge()); + for (int i = 0; i < erwartet.length; i++) { + assertEquals("Fehler: Element an Index " + i + " stimmt nicht.", erwartet[i], dieListe.getNtenWert(i).intValue()); + } + } + + @Test + public void test001() { + SubTest1.test1Durchfuehren(dieListe); + } + + @Test + public void test002() { + SubTest1.test2Durchfuehren(dieListe); + } + + @Test + public void test003() { + SubTest1.test3Durchfuehren(dieListe); + } + + @Test + public void test004() { + SubTest1.test4Durchfuehren(dieListe); + } + + @Test + public void test005() { + SubTest1.test5Durchfuehren(dieListe); + } + + @Test + public void test006() { + SubTest1.test6Durchfuehren(dieListe); + } + + @Test + public void test007() { + SubTest1.test7Durchfuehren(dieListe); + } + + @Test + public void test008() { + SubTest1.test8Durchfuehren(dieListe); + } + + @Test + public void test009() { + SubTest1.test9Durchfuehren(dieListe); + } + + @Test + public void test010() { + SubTest1.test10Durchfuehren(dieListe); + } + + @Test + public void test011() { + SubTest2.test1Durchfuehren(dieListe); + } + + @Test + public void test012() { + SubTest2.test2Durchfuehren(dieListe); + } + + @Test + public void test013() { + SubTest2.test3Durchfuehren(dieListe); + } + + @Test + public void test014() { + SubTest2.test4Durchfuehren(dieListe); + } + + @Test + public void test015() { + SubTest2.test5Durchfuehren(dieListe); + } + + @Test + public void test016() { + SubTest2.test6Durchfuehren(dieListe); + } + + @Test + public void test017() { + SubTest2.test7Durchfuehren(dieListe); + } + + @Test + public void test018() { + SubTest2.test8Durchfuehren(dieListe); + } + + @Test + public void test019() { + SubTest2.test9Durchfuehren(dieListe); + } + + @Test + public void test020() { + SubTest2.test10Durchfuehren(dieListe); + } + + @Test + public void test021() { + SubTest3.test1Durchfuehren(dieListe); + } + + @Test + public void test022() { + SubTest3.test2Durchfuehren(dieListe); + } + + @Test + public void test023() { + SubTest3.test3Durchfuehren(dieListe); + } + + @Test + public void test024() { + SubTest3.test4Durchfuehren(dieListe); + } + + @Test + public void test025() { + SubTest3.test5Durchfuehren(dieListe); + } + + @Test + public void test026() { + SubTest3.test6Durchfuehren(dieListe); + } + + @Test + public void test027() { + SubTest3.test7Durchfuehren(dieListe); + } + + @Test + public void test028() { + SubTest3.test8Durchfuehren(dieListe); + } + + @Test + public void test029() { + SubTest3.test9Durchfuehren(dieListe); + } + + @Test + public void test030() { + SubTest3.test10Durchfuehren(dieListe); + } + + @Test + public void test031() { + SubTest4.test1Durchfuehren(dieListe); + } + + @Test + public void test032() { + SubTest4.test2Durchfuehren(dieListe); + } + + @Test + public void test033() { + SubTest4.test3Durchfuehren(dieListe); + } + + @Test + public void test034() { + SubTest4.test4Durchfuehren(dieListe); + } + + @Test + public void test035() { + SubTest4.test5Durchfuehren(dieListe); + } + + @Test + public void test036() { + SubTest4.test6Durchfuehren(dieListe); + } + + @Test + public void test037() { + SubTest4.test7Durchfuehren(dieListe); + } + + @Test + public void test038() { + SubTest4.test8Durchfuehren(dieListe); + } + + @Test + public void test039() { + SubTest4.test9Durchfuehren(dieListe); + } + + @Test + public void test040() { + SubTest4.test10Durchfuehren(dieListe); + } + + @Test + public void test041() { + SubTest5.test1Durchfuehren(dieListe); + } + + @Test + public void test042() { + SubTest5.test2Durchfuehren(dieListe); + } + + @Test + public void test043() { + SubTest5.test3Durchfuehren(dieListe); + } + + @Test + public void test044() { + SubTest5.test4Durchfuehren(dieListe); + } + + @Test + public void test045() { + SubTest5.test5Durchfuehren(dieListe); + } + + @Test + public void test046() { + SubTest5.test6Durchfuehren(dieListe); + } + + @Test + public void test047() { + SubTest5.test7Durchfuehren(dieListe); + } + + @Test + public void test048() { + SubTest5.test8Durchfuehren(dieListe); + } + + @Test + public void test049() { + SubTest5.test9Durchfuehren(dieListe); + } + + @Test + public void test050() { + SubTest5.test10Durchfuehren(dieListe); + } + + @Test + public void test051() { + SubTest6.test1Durchfuehren(dieListe); + } + + @Test + public void test052() { + SubTest6.test2Durchfuehren(dieListe); + } + + @Test + public void test053() { + SubTest6.test3Durchfuehren(dieListe); + } + + @Test + public void test054() { + SubTest6.test4Durchfuehren(dieListe); + } + + @Test + public void test055() { + SubTest6.test5Durchfuehren(dieListe); + } + + @Test + public void test056() { + SubTest6.test6Durchfuehren(dieListe); + } + + @Test + public void test057() { + SubTest6.test7Durchfuehren(dieListe); + } + + @Test + public void test058() { + SubTest6.test8Durchfuehren(dieListe); + } + + @Test + public void test059() { + SubTest6.test9Durchfuehren(dieListe); + } + + @Test + public void test060() { + SubTest6.test10Durchfuehren(dieListe); + } + + @Test + public void test061() { + SubTest7.test1Durchfuehren(dieListe); + } + + @Test + public void test062() { + SubTest7.test2Durchfuehren(dieListe); + } + + @Test + public void test063() { + SubTest7.test3Durchfuehren(dieListe); + } + + @Test + public void test064() { + SubTest7.test4Durchfuehren(dieListe); + } + + @Test + public void test065() { + SubTest7.test5Durchfuehren(dieListe); + } + + @Test + public void test066() { + SubTest7.test6Durchfuehren(dieListe); + } + + @Test + public void test067() { + SubTest7.test7Durchfuehren(dieListe); + } + + @Test + public void test068() { + SubTest7.test8Durchfuehren(dieListe); + } + + @Test + public void test069() { + SubTest7.test9Durchfuehren(dieListe); + } + + @Test + public void test070() { + SubTest7.test10Durchfuehren(dieListe); + } + + @Test + public void test071() { + SubTest8.test1Durchfuehren(dieListe); + } + + @Test + public void test072() { + SubTest8.test2Durchfuehren(dieListe); + } + + @Test + public void test073() { + SubTest8.test3Durchfuehren(dieListe); + } + + @Test + public void test074() { + SubTest8.test4Durchfuehren(dieListe); + } + + @Test + public void test075() { + SubTest8.test5Durchfuehren(dieListe); + } + + @Test + public void test076() { + SubTest8.test6Durchfuehren(dieListe); + } + + @Test + public void test077() { + SubTest8.test7Durchfuehren(dieListe); + } + + @Test + public void test078() { + SubTest8.test8Durchfuehren(dieListe); + } + + @Test + public void test079() { + SubTest8.test9Durchfuehren(dieListe); + } + + @Test + public void test080() { + SubTest8.test10Durchfuehren(dieListe); + } + + @Test + public void test081() { + SubTest9.test1Durchfuehren(dieListe); + } + + @Test + public void test082() { + SubTest9.test2Durchfuehren(dieListe); + } + + @Test + public void test083() { + SubTest9.test3Durchfuehren(dieListe); + } + + @Test + public void test084() { + SubTest9.test4Durchfuehren(dieListe); + } + + @Test + public void test085() { + SubTest9.test5Durchfuehren(dieListe); + } + + @Test + public void test086() { + SubTest9.test6Durchfuehren(dieListe); + } + + @Test + public void test087() { + SubTest9.test7Durchfuehren(dieListe); + } + + @Test + public void test088() { + SubTest9.test8Durchfuehren(dieListe); + } + + @Test + public void test089() { + SubTest9.test9Durchfuehren(dieListe); + } + + @Test + public void test090() { + SubTest9.test10Durchfuehren(dieListe); + } + + @Test + public void test091() { + SubTest10.test1Durchfuehren(dieListe); + } + + @Test + public void test092() { + SubTest10.test2Durchfuehren(dieListe); + } + + @Test + public void test093() { + SubTest10.test3Durchfuehren(dieListe); + } + + @Test + public void test094() { + SubTest10.test4Durchfuehren(dieListe); + } + + @Test + public void test095() { + SubTest10.test5Durchfuehren(dieListe); + } + + @Test + public void test096() { + SubTest10.test6Durchfuehren(dieListe); + } + + @Test + public void test097() { + SubTest10.test7Durchfuehren(dieListe); + } + + @Test + public void test098() { + SubTest10.test8Durchfuehren(dieListe); + } + + @Test + public void test099() { + SubTest10.test9Durchfuehren(dieListe); + } + + @Test + public void test100() { + SubTest10.test10Durchfuehren(dieListe); + } + +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/package.bluej b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/package.bluej new file mode 100644 index 0000000..fc31d31 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/01_verkettete_liste_roh/tests/package.bluej @@ -0,0 +1,157 @@ +#BlueJ package file +dependency1.from=SubTest6 +dependency1.to=Tester +dependency1.type=UsesDependency +dependency10.from=SubTest1 +dependency10.to=Tester +dependency10.type=UsesDependency +dependency11.from=Tester +dependency11.to=SubTest1 +dependency11.type=UsesDependency +dependency12.from=Tester +dependency12.to=SubTest2 +dependency12.type=UsesDependency +dependency13.from=Tester +dependency13.to=SubTest3 +dependency13.type=UsesDependency +dependency14.from=Tester +dependency14.to=SubTest4 +dependency14.type=UsesDependency +dependency15.from=Tester +dependency15.to=SubTest5 +dependency15.type=UsesDependency +dependency16.from=Tester +dependency16.to=SubTest6 +dependency16.type=UsesDependency +dependency17.from=Tester +dependency17.to=SubTest7 +dependency17.type=UsesDependency +dependency18.from=Tester +dependency18.to=SubTest8 +dependency18.type=UsesDependency +dependency19.from=Tester +dependency19.to=SubTest9 +dependency19.type=UsesDependency +dependency2.from=SubTest7 +dependency2.to=Tester +dependency2.type=UsesDependency +dependency20.from=Tester +dependency20.to=SubTest10 +dependency20.type=UsesDependency +dependency3.from=SubTest8 +dependency3.to=Tester +dependency3.type=UsesDependency +dependency4.from=SubTest9 +dependency4.to=Tester +dependency4.type=UsesDependency +dependency5.from=SubTest2 +dependency5.to=Tester +dependency5.type=UsesDependency +dependency6.from=SubTest3 +dependency6.to=Tester +dependency6.type=UsesDependency +dependency7.from=SubTest4 +dependency7.to=Tester +dependency7.type=UsesDependency +dependency8.from=SubTest5 +dependency8.to=Tester +dependency8.type=UsesDependency +dependency9.from=SubTest10 +dependency9.to=Tester +dependency9.type=UsesDependency +objectbench.height=114 +objectbench.width=1487 +package.divider.horizontal=0.6 +package.divider.vertical=0.8476070528967254 +package.editor.height=666 +package.editor.width=1376 +package.editor.x=157 +package.editor.y=40 +package.frame.height=894 +package.frame.width=1527 +package.numDependencies=20 +package.numTargets=11 +package.showExtends=true +package.showUses=true +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=SubTest6 +target1.showInterface=false +target1.type=ClassTarget +target1.width=80 +target1.x=330 +target1.y=340 +target10.height=50 +target10.name=SubTest10 +target10.showInterface=false +target10.type=ClassTarget +target10.width=90 +target10.x=690 +target10.y=340 +target11.height=50 +target11.name=SubTest1 +target11.showInterface=false +target11.type=ClassTarget +target11.width=80 +target11.x=330 +target11.y=280 +target2.height=50 +target2.name=SubTest7 +target2.showInterface=false +target2.type=ClassTarget +target2.width=80 +target2.x=420 +target2.y=340 +target3.height=50 +target3.name=SubTest8 +target3.showInterface=false +target3.type=ClassTarget +target3.width=80 +target3.x=510 +target3.y=340 +target4.height=50 +target4.name=SubTest9 +target4.showInterface=false +target4.type=ClassTarget +target4.width=80 +target4.x=600 +target4.y=340 +target5.height=50 +target5.name=Tester +target5.showInterface=false +target5.type=AbstractTarget +target5.width=80 +target5.x=510 +target5.y=150 +target6.height=50 +target6.name=SubTest2 +target6.showInterface=false +target6.type=ClassTarget +target6.width=80 +target6.x=420 +target6.y=280 +target7.height=50 +target7.name=SubTest3 +target7.showInterface=false +target7.type=ClassTarget +target7.width=80 +target7.x=510 +target7.y=280 +target8.height=50 +target8.name=SubTest4 +target8.showInterface=false +target8.type=ClassTarget +target8.width=80 +target8.x=600 +target8.y=280 +target9.height=50 +target9.name=SubTest5 +target9.showInterface=false +target9.type=ClassTarget +target9.width=80 +target9.x=690 +target9.y=280 diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/README.TXT b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/README.TXT new file mode 100644 index 0000000..6be5ca6 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/README.TXT @@ -0,0 +1,5 @@ +PROJEKTBEZEICHNUNG: Verkettete Liste +PROJEKTZWECK: Implementation einer einfach verketteten Liste +VERSION oder DATUM: 3.10.2020 +WIE IST DAS PROJEKT ZU STARTEN: Testfälle in TesterIterativ bzw. TesterRekursiv ausführen +AUTOR(EN): Rainer Helfrich, ZPG Informatik \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/TesterIterativ.java b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/TesterIterativ.java new file mode 100644 index 0000000..3c7aaee --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/TesterIterativ.java @@ -0,0 +1,24 @@ +import liste.*; +import tests.*; + +import org.junit.Before; + +/** + * Die Test-Klasse TesterIterativ. + * + * @author Rainer Helfrich + * @version 3.10.2020 + */ +public class TesterIterativ extends Tester +{ + /** + * Setzt das Testgerüst fuer den Test. + * + * Wird vor jeder Testfall-Methode aufgerufen. + */ + @Before + public void setUp() + { + dieListe = new ListeIterativ(); + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/TesterRekursiv.java b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/TesterRekursiv.java new file mode 100644 index 0000000..c22462b --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/TesterRekursiv.java @@ -0,0 +1,24 @@ +import liste.*; +import tests.*; + +import org.junit.Before; + +/** + * Die Test-Klasse TesterIterativ. + * + * @author Rainer Helfrich + * @version 3.10.2020 + */ +public class TesterRekursiv extends Tester +{ + /** + * Setzt das Testgerüst fuer den Test. + * + * Wird vor jeder Testfall-Methode aufgerufen. + */ + @Before + public void setUp() + { + dieListe = new ListeRekursiv(); + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/Liste.java b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/Liste.java new file mode 100644 index 0000000..ddf7963 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/Liste.java @@ -0,0 +1,71 @@ +package liste; + +/** + * Abstrakte Klasse Liste + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public abstract class Liste +{ + /** + * Der erste Knoten der Liste + */ + protected Listenknoten anfang; + + /** + * Gibt zurück, ob die Liste leer ist. + * @return true, wenn die Liste keine Elemente enthält; false sonst + */ + public boolean istLeer() + { + return anfang == null; + } + + /** + * Gibt die Anzahl der Elemente der Liste zurück + */ + public abstract int laenge(); + + /** + * Gibt den n-ten Wert (0-basierte Zählweise) der Liste zurück. + * @param n Der Index des gewünschten Elements + * @return Den n-ten Wert + */ + public abstract T getNtenWert(int n); + + /** + * Hängt einen neuen Wert hinten an die Liste an. + * @param val Der anzuhängende Wert + */ + public abstract void anhaengen(T val); + + /** + * Fügt einen neuen Wert an einer gewünschten Stelle in der Liste ein. + * @param index Die Stelle, an der der neue Wert stehen soll (0 <= index <= laenge()) + * @param val Der einzufügende Wert + */ + public abstract void einfuegenBei(int index, T val); + + /** + * Gibt die Listenelemente hintereinander auf der Konsole aus. + */ + public void ausgeben() + { + System.out.println(this); + } + + /** + * Gibt zurück, ob ein Wert sich in der Liste befindet + * @param val Der zu suchende Wert + * @return true, wenn der Wert enthalten ist; false sonst + */ + public abstract boolean enthaelt(T val); + + /** + * Entfernt das Element, das am gegebenen Index steht, aus der Liste. + * @param index Die Stelle, von der der Wert entfernt werden soll. + */ + public abstract void entferneBei(int index); + +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/ListeIterativ.java b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/ListeIterativ.java new file mode 100644 index 0000000..13e732b --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/ListeIterativ.java @@ -0,0 +1,172 @@ +package liste; + +/** + * Klasse ListeIterativ + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ListeIterativ extends Liste +{ + /** + * Erzeugt eine neue Liste + */ + public ListeIterativ() + { + anfang = null; + } + + /** + * Gibt die Anzahl der Elemente der Liste zurück + */ + public int laenge() + { + int len = 0; + Listenknoten k = anfang; + while (k != null) { + k = k.nachfolger; + len++; + } + return len; + } + + /** + * Gibt den n-ten Wert (0-basierte Zählweise) der Liste zurück. + * @param n Der Index des gewünschten Elements + * @return Den n-ten Wert + */ + public T getNtenWert(int n) + { + Listenknoten k = anfang; + while (k != null) { + if (n == 0) + { + return k.daten; + } + k = k.nachfolger; + n--; + } + return null; + } + + /** + * Hängt einen neuen Wert hinten an die Liste an. + * @param val Der anzuhängende Wert + */ + public void anhaengen(T val) + { + Listenknoten neu = new Listenknoten(val, null); + if (anfang == null) + { + anfang = neu; + } + else + { + Listenknoten k = anfang; + while (k.nachfolger != null) + { + k = k.nachfolger; + } + k.nachfolger = neu; + } + } + + /** + * Fügt einen neuen Wert an einer gewünschten Stelle in der Liste ein. + * @param index Die Stelle, an der der neue Wert stehen soll (0 <= index <= laenge()) + * @param val Der einzufügende Wert + */ + public void einfuegenBei(int index, T val) + { + if (index == 0) + { + anfang = new Listenknoten(val, anfang); + } + else + { + Listenknoten k = anfang; + while (index > 1) + { + if (k == null) + { + return; + } + k = k.nachfolger; + index--; + } + if (k == null) + { + return; + } + k.nachfolger = new Listenknoten(val, k.nachfolger); + } + } + + /** + * Gibt zurück, ob ein Wert sich in der Liste befindet + * @param val Der zu suchende Wert + * @return true, wenn der Wert enthalten ist; false sonst + */ + public boolean enthaelt(T val) + { + Listenknoten k = anfang; + while (k != null) + { + if (k.daten.equals(val)) + { + return true; + } + k = k.nachfolger; + } + return false; + } + + /** + * Entfernt das Element, das am gegebenen Index steht, aus der Liste. + * @param index Die Stelle, von der der Wert entfernt werden soll. + */ + public void entferneBei(int index) + { + if (anfang == null) + { + return; + } + if (index == 0) + { + anfang = anfang.nachfolger; + } + else + { + Listenknoten tmp = anfang; + while (index > 1 && tmp != null) { + tmp = tmp.nachfolger; + index--; + } + if (tmp != null && tmp.nachfolger != null) + { + tmp.nachfolger = tmp.nachfolger.nachfolger; + } + } + } + + /** + * Gibt die Liste in String-Form aus. + * @return Die String-Repräsentation der Liste + */ + @Override + public String toString() + { + StringBuilder b = new StringBuilder(); + Listenknoten k = anfang; + while(k != null) + { + if (b.length() > 0) + { + b.append(", "); + } + b.append(k.daten); + k = k.nachfolger; + } + return "[ " + b.toString() + " ]"; + } +} \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/ListeRekursiv.java b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/ListeRekursiv.java new file mode 100644 index 0000000..c4ecaa1 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/ListeRekursiv.java @@ -0,0 +1,196 @@ +package liste; + +/** + * Klasse ListeRekursiv + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class ListeRekursiv extends Liste +{ + /** + * Erzeugt eine neue Liste + */ + public ListeRekursiv() + { + anfang = null; + } + + /** + * Gibt die Anzahl der Elemente der Liste zurück + */ + public int laenge() + { + return laenge(anfang); + } + + private int laenge(Listenknoten k) + { + if (k == null) { + return 0; + } + return 1 + laenge(k.nachfolger); + } + + /** + * Gibt den n-ten Wert (0-basierte Zählweise) der Liste zurück. + * @param n Der Index des gewünschten Elements + * @return Den n-ten Wert + */ + public T getNtenWert(int n) + { + return getNtenWert(anfang, n); + } + + private T getNtenWert(Listenknoten k, int n) + { + if (n == 0) { + if (k == null) { + return null; + } + else { + return k.daten; + } + } + return getNtenWert(k.nachfolger, n-1); + } + + /** + * Hängt einen neuen Wert hinten an die Liste an. + * @param val Der anzuhängende Wert + */ + public void anhaengen(T val) + { + if (anfang == null) + { + anfang = new Listenknoten(val, null); + } + else + { + anhaengen(anfang, val); + } + } + + private void anhaengen(Listenknoten k, T val) + { + if (k == null) + { + return; + } + if (k.nachfolger == null) + { + k.nachfolger = new Listenknoten(val, null); + } + else + { + anhaengen(k.nachfolger, val); + } + } + + /** + * Fügt einen neuen Wert an einer gewünschten Stelle in der Liste ein. + * @param index Die Stelle, an der der neue Wert stehen soll (0 <= index <= laenge()) + * @param val Der einzufügende Wert + */ + public void einfuegenBei(int index, T val) + { + if (index == 0) + { + anfang = new Listenknoten(val, anfang); + } + else + { + einfuegenBei(anfang, index, val); + } + } + + private void einfuegenBei(Listenknoten k, int index, T val) + { + if (index == 1) + { + k.nachfolger = new Listenknoten(val, k.nachfolger); + } + else + { + einfuegenBei(k.nachfolger, index-1, val); + } + } + + /** + * Gibt zurück, ob ein Wert sich in der Liste befindet + * @param val Der zu suchende Wert + * @return true, wenn der Wert enthalten ist; false sonst + */ + public boolean enthaelt(T val) + { + return enthaelt(anfang, val); + } + + private boolean enthaelt(Listenknoten k, T val) + { + if (k == null) { + return false; + } + if (k.daten.equals(val)) { + return true; + } + return enthaelt(k.nachfolger, val); + } + + /** + * Entfernt das Element, das am gegebenen Index steht, aus der Liste. + * @param index Die Stelle, von der der Wert entfernt werden soll. + */ + public void entferneBei(int index) + { + if (anfang == null) { + return; + } + if (index == 0) { + anfang = anfang.nachfolger; + } + else + { + entferneBei(anfang, index); + } + } + + private void entferneBei(Listenknoten k, int index) + { + if (k != null && k.nachfolger != null) { + if (index == 1) + { + k.nachfolger = k.nachfolger.nachfolger; + } + else + { + entferneBei(k.nachfolger, index-1); + } + } + } + + /** + * Gibt die Liste in String-Form aus. + * @return Die String-Repräsentation der Liste + */ + @Override + public String toString() + { + String ergebnis = "[ "; + if (anfang != null) + { + ergebnis += anfang.daten + toString(anfang.nachfolger); + } + ergebnis += " ]"; + return ergebnis; + } + + private String toString(Listenknoten k) + { + if (k == null) + { + return ""; + } + return ", " + k.daten + toString(k.nachfolger); + } +} \ No newline at end of file diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/Listenknoten.java b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/Listenknoten.java new file mode 100644 index 0000000..e185d3d --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/Listenknoten.java @@ -0,0 +1,32 @@ +package liste; + +/** + * Klasse Listenknoten + * + * @author Rainer Helfrich + * @version Oktober 2020 + */ +public class Listenknoten +{ + /** + * Der Datenwert des Listenknotens + */ + public T daten; + + /** + * Der Nachfolger des Listenknotens + */ + public Listenknoten nachfolger; + + /** + * Erzeugt einen neuen Listenknoten + * + * @param daten Der Datenwert des Knotens + * @param nachfolger Der Nachfolger des Knotens + */ + public Listenknoten(T daten, Listenknoten nachfolger) + { + this.daten = daten; + this.nachfolger = nachfolger; + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/package.bluej b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/package.bluej new file mode 100644 index 0000000..6b1f21d --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/liste/package.bluej @@ -0,0 +1,57 @@ +#BlueJ package file +dependency1.from=ListeIterativ +dependency1.to=Listenknoten +dependency1.type=UsesDependency +dependency2.from=Liste +dependency2.to=Listenknoten +dependency2.type=UsesDependency +dependency3.from=ListeRekursiv +dependency3.to=Listenknoten +dependency3.type=UsesDependency +objectbench.height=88 +objectbench.width=760 +package.divider.horizontal=0.599476439790576 +package.divider.vertical=0.81 +package.editor.height=398 +package.editor.width=649 +package.editor.x=96 +package.editor.y=221 +package.frame.height=600 +package.frame.width=800 +package.numDependencies=3 +package.numTargets=4 +package.showExtends=true +package.showUses=true +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=ListeIterativ +target1.showInterface=false +target1.type=ClassTarget +target1.width=120 +target1.x=280 +target1.y=240 +target2.height=50 +target2.name=Liste +target2.showInterface=false +target2.type=AbstractTarget +target2.width=80 +target2.x=210 +target2.y=150 +target3.height=50 +target3.name=ListeRekursiv +target3.showInterface=false +target3.type=ClassTarget +target3.width=130 +target3.x=110 +target3.y=240 +target4.height=50 +target4.name=Listenknoten +target4.showInterface=false +target4.type=ClassTarget +target4.width=170 +target4.x=300 +target4.y=70 diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/package.bluej b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/package.bluej new file mode 100644 index 0000000..6f4585e --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/package.bluej @@ -0,0 +1,51 @@ +#BlueJ package file +editor.fx.0.height=739 +editor.fx.0.width=816 +editor.fx.0.x=552 +editor.fx.0.y=100 +objectbench.height=66 +objectbench.width=1000 +package.divider.horizontal=0.6892430278884463 +package.divider.vertical=0.8866459627329193 +package.editor.height=564 +package.editor.width=889 +package.editor.x=0 +package.editor.y=0 +package.frame.height=744 +package.frame.width=1040 +package.numDependencies=0 +package.numTargets=4 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=TesterRekursiv +target1.showInterface=false +target1.type=UnitTestTargetJunit4 +target1.width=120 +target1.x=340 +target1.y=350 +target2.height=62 +target2.name=tests +target2.type=PackageTarget +target2.width=80 +target2.x=240 +target2.y=180 +target3.height=62 +target3.name=liste +target3.type=PackageTarget +target3.width=80 +target3.x=340 +target3.y=180 +target4.height=50 +target4.name=TesterIterativ +target4.showInterface=false +target4.type=UnitTestTargetJunit4 +target4.width=110 +target4.x=210 +target4.y=350 diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest1.java b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest1.java new file mode 100644 index 0000000..95ab1bf --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest1.java @@ -0,0 +1,2108 @@ +package tests; +import static org.junit.Assert.*; +import liste.*; +/** + * Die Test-Klasse SubTest1. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest1 +{ + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(719); + Tester.pruefeListenInhalt(dieListe, new int[]{719}); + + assertFalse("Fehler: Element 84 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(84)); + dieListe.anhaengen(320); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320}); + + assertTrue("Fehler: Element 719 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(719)); + assertTrue("Fehler: Element 719 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(719)); + assertFalse("Fehler: Element 375 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(375)); + assertFalse("Fehler: Element 691 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(691)); + dieListe.anhaengen(112); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112}); + + dieListe.anhaengen(646); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646}); + + dieListe.anhaengen(608); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608}); + + assertFalse("Fehler: Element 408 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(408)); + dieListe.anhaengen(718); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718}); + + dieListe.anhaengen(726); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726}); + + assertFalse("Fehler: Element 267 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(267)); + assertTrue("Fehler: Element 112 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(112)); + dieListe.anhaengen(241); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241}); + + assertTrue("Fehler: Element 646 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(646)); + dieListe.anhaengen(536); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536}); + + dieListe.anhaengen(297); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297}); + + assertFalse("Fehler: Element 21 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(21)); + dieListe.anhaengen(290); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290}); + + dieListe.anhaengen(534); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534}); + + assertFalse("Fehler: Element 4 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(4)); + assertTrue("Fehler: Element 718 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(718)); + assertFalse("Fehler: Element 710 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(710)); + dieListe.anhaengen(671); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671}); + + dieListe.anhaengen(871); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871}); + + dieListe.anhaengen(986); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986}); + + dieListe.anhaengen(958); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958}); + + assertTrue("Fehler: Element 534 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(534)); + assertTrue("Fehler: Element 646 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(646)); + dieListe.anhaengen(98); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98}); + + assertTrue("Fehler: Element 98 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(98)); + assertTrue("Fehler: Element 320 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(320)); + assertTrue("Fehler: Element 671 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(671)); + assertTrue("Fehler: Element 719 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(719)); + assertTrue("Fehler: Element 112 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(112)); + assertTrue("Fehler: Element 608 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(608)); + assertTrue("Fehler: Element 986 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(986)); + assertTrue("Fehler: Element 608 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(608)); + dieListe.anhaengen(102); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102}); + + dieListe.anhaengen(19); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19}); + + assertTrue("Fehler: Element 986 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(986)); + dieListe.anhaengen(126); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126}); + + dieListe.anhaengen(771); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771}); + + assertFalse("Fehler: Element 5 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(5)); + dieListe.anhaengen(780); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780}); + + dieListe.anhaengen(226); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226}); + + assertTrue("Fehler: Element 290 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(290)); + assertFalse("Fehler: Element 8 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(8)); + dieListe.anhaengen(936); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936}); + + assertFalse("Fehler: Element 357 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(357)); + assertTrue("Fehler: Element 241 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(241)); + dieListe.anhaengen(986); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986}); + + dieListe.anhaengen(335); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335}); + + dieListe.anhaengen(40); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40}); + + dieListe.anhaengen(441); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441}); + + dieListe.anhaengen(254); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254}); + + assertFalse("Fehler: Element 580 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(580)); + dieListe.anhaengen(526); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526}); + + dieListe.anhaengen(820); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820}); + + dieListe.anhaengen(528); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528}); + + assertFalse("Fehler: Element 62 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(62)); + assertTrue("Fehler: Element 986 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(986)); + dieListe.anhaengen(340); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340}); + + dieListe.anhaengen(731); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731}); + + dieListe.anhaengen(704); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704}); + + assertFalse("Fehler: Element 242 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(242)); + assertFalse("Fehler: Element 70 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(70)); + assertTrue("Fehler: Element 526 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(526)); + dieListe.anhaengen(967); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967}); + + assertTrue("Fehler: Element 731 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(731)); + assertFalse("Fehler: Element 229 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(229)); + assertTrue("Fehler: Element 936 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(936)); + assertTrue("Fehler: Element 241 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(241)); + assertFalse("Fehler: Element 764 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(764)); + dieListe.anhaengen(83); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83}); + + assertTrue("Fehler: Element 646 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(646)); + assertFalse("Fehler: Element 544 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(544)); + dieListe.anhaengen(308); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308}); + + assertTrue("Fehler: Element 528 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(528)); + dieListe.anhaengen(254); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254}); + + assertFalse("Fehler: Element 464 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(464)); + assertFalse("Fehler: Element 468 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(468)); + assertTrue("Fehler: Element 986 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(986)); + dieListe.anhaengen(794); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254,794}); + + dieListe.anhaengen(217); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254,794,217}); + + assertFalse("Fehler: Element 333 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(333)); + dieListe.anhaengen(210); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254,794,217,210}); + + dieListe.anhaengen(65); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254,794,217,210,65}); + + dieListe.anhaengen(415); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254,794,217,210,65,415}); + + dieListe.anhaengen(793); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254,794,217,210,65,415,793}); + + assertFalse("Fehler: Element 883 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(883)); + assertFalse("Fehler: Element 463 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(463)); + dieListe.anhaengen(551); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254,794,217,210,65,415,793,551}); + + assertTrue("Fehler: Element 958 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(958)); + dieListe.anhaengen(368); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254,794,217,210,65,415,793,551,368}); + + dieListe.anhaengen(466); + Tester.pruefeListenInhalt(dieListe, new int[]{719,320,112,646,608,718,726,241,536,297,290,534,671,871,986,958,98,102,19,126,771,780,226,936,986,335,40,441,254,526,820,528,340,731,704,967,83,308,254,794,217,210,65,415,793,551,368,466}); + + assertTrue("Fehler: Element 780 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(780)); + assertFalse("Fehler: Element 850 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(850)); + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(642); + Tester.pruefeListenInhalt(dieListe, new int[]{642}); + + assertFalse("Fehler: Element 158 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(158)); + dieListe.anhaengen(879); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879}); + + dieListe.anhaengen(770); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770}); + + dieListe.anhaengen(181); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181}); + + assertFalse("Fehler: Element 566 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(566)); + assertTrue("Fehler: Element 181 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(181)); + assertFalse("Fehler: Element 70 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(70)); + dieListe.anhaengen(25); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25}); + + dieListe.anhaengen(811); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811}); + + assertFalse("Fehler: Element 179 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(179)); + assertFalse("Fehler: Element 230 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(230)); + dieListe.anhaengen(857); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857}); + + dieListe.anhaengen(366); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366}); + + dieListe.anhaengen(709); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709}); + + dieListe.anhaengen(290); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290}); + + dieListe.anhaengen(361); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361}); + + dieListe.anhaengen(676); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676}); + + dieListe.anhaengen(285); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285}); + + dieListe.anhaengen(748); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748}); + + dieListe.anhaengen(203); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203}); + + assertFalse("Fehler: Element 683 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(683)); + dieListe.anhaengen(170); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170}); + + dieListe.anhaengen(47); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47}); + + dieListe.anhaengen(11); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11}); + + dieListe.anhaengen(483); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483}); + + dieListe.anhaengen(345); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345}); + + dieListe.anhaengen(896); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896}); + + dieListe.anhaengen(602); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602}); + + dieListe.anhaengen(467); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467}); + + assertFalse("Fehler: Element 609 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(609)); + dieListe.anhaengen(531); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531}); + + dieListe.anhaengen(254); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254}); + + assertFalse("Fehler: Element 696 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(696)); + assertTrue("Fehler: Element 602 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(602)); + dieListe.anhaengen(26); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26}); + + assertTrue("Fehler: Element 483 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(483)); + assertTrue("Fehler: Element 290 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(290)); + dieListe.anhaengen(123); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123}); + + dieListe.anhaengen(0); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0}); + + dieListe.anhaengen(586); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586}); + + assertFalse("Fehler: Element 487 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(487)); + assertFalse("Fehler: Element 643 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(643)); + dieListe.anhaengen(558); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558}); + + dieListe.anhaengen(132); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132}); + + dieListe.anhaengen(322); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322}); + + assertFalse("Fehler: Element 671 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(671)); + dieListe.anhaengen(473); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473}); + + dieListe.anhaengen(275); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275}); + + assertTrue("Fehler: Element 709 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(709)); + dieListe.anhaengen(65); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65}); + + assertFalse("Fehler: Element 427 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(427)); + assertTrue("Fehler: Element 25 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(25)); + assertTrue("Fehler: Element 366 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(366)); + dieListe.anhaengen(124); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124}); + + dieListe.anhaengen(640); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640}); + + dieListe.anhaengen(704); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704}); + + dieListe.anhaengen(509); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509}); + + dieListe.anhaengen(489); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489}); + + dieListe.anhaengen(329); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329}); + + assertTrue("Fehler: Element 47 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(47)); + dieListe.anhaengen(521); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521}); + + dieListe.anhaengen(626); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626}); + + assertTrue("Fehler: Element 586 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(586)); + dieListe.anhaengen(691); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691}); + + assertTrue("Fehler: Element 285 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(285)); + dieListe.anhaengen(747); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747}); + + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861}); + + dieListe.anhaengen(353); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353}); + + assertTrue("Fehler: Element 65 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(65)); + dieListe.anhaengen(32); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32}); + + dieListe.anhaengen(402); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402}); + + dieListe.anhaengen(912); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912}); + + dieListe.anhaengen(590); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590}); + + dieListe.anhaengen(644); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644}); + + dieListe.anhaengen(13); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13}); + + assertFalse("Fehler: Element 617 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(617)); + assertTrue("Fehler: Element 47 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(47)); + dieListe.anhaengen(263); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263}); + + dieListe.anhaengen(480); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263,480}); + + assertFalse("Fehler: Element 844 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(844)); + dieListe.anhaengen(969); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263,480,969}); + + dieListe.anhaengen(31); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263,480,969,31}); + + dieListe.anhaengen(183); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263,480,969,31,183}); + + assertFalse("Fehler: Element 936 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(936)); + dieListe.anhaengen(949); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263,480,969,31,183,949}); + + dieListe.anhaengen(359); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263,480,969,31,183,949,359}); + + dieListe.anhaengen(42); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263,480,969,31,183,949,359,42}); + + assertFalse("Fehler: Element 100 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(100)); + assertTrue("Fehler: Element 770 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(770)); + dieListe.anhaengen(601); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263,480,969,31,183,949,359,42,601}); + + assertTrue("Fehler: Element 183 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(183)); + assertTrue("Fehler: Element 31 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(31)); + assertFalse("Fehler: Element 177 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(177)); + assertTrue("Fehler: Element 181 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(181)); + assertTrue("Fehler: Element 263 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(263)); + assertTrue("Fehler: Element 345 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(345)); + assertTrue("Fehler: Element 709 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(709)); + assertTrue("Fehler: Element 47 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(47)); + dieListe.anhaengen(239); + Tester.pruefeListenInhalt(dieListe, new int[]{642,879,770,181,25,811,857,366,709,290,361,676,285,748,203,170,47,11,483,345,896,602,467,531,254,26,123,0,586,558,132,322,473,275,65,124,640,704,509,489,329,521,626,691,747,861,353,32,402,912,590,644,13,263,480,969,31,183,949,359,42,601,239}); + + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(877); + Tester.pruefeListenInhalt(dieListe, new int[]{877}); + + dieListe.anhaengen(934); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934}); + + dieListe.anhaengen(897); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897}); + + dieListe.anhaengen(687); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687}); + + assertTrue("Fehler: Element 897 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(897)); + dieListe.anhaengen(96); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96}); + + assertFalse("Fehler: Element 716 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(716)); + dieListe.anhaengen(936); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936}); + + dieListe.anhaengen(531); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531}); + + dieListe.anhaengen(405); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405}); + + dieListe.anhaengen(357); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357}); + + assertTrue("Fehler: Element 936 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(936)); + assertFalse("Fehler: Element 198 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(198)); + dieListe.anhaengen(481); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481}); + + dieListe.anhaengen(191); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191}); + + assertFalse("Fehler: Element 160 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(160)); + dieListe.anhaengen(543); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543}); + + dieListe.anhaengen(706); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706}); + + dieListe.anhaengen(3); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3}); + + dieListe.anhaengen(111); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111}); + + assertFalse("Fehler: Element 450 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(450)); + assertTrue("Fehler: Element 897 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(897)); + assertFalse("Fehler: Element 319 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(319)); + dieListe.anhaengen(844); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844}); + + assertFalse("Fehler: Element 62 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(62)); + assertFalse("Fehler: Element 451 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(451)); + dieListe.anhaengen(882); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882}); + + dieListe.anhaengen(847); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847}); + + dieListe.anhaengen(542); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542}); + + dieListe.anhaengen(515); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515}); + + assertTrue("Fehler: Element 191 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(191)); + assertFalse("Fehler: Element 351 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(351)); + dieListe.anhaengen(336); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336}); + + assertFalse("Fehler: Element 857 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(857)); + dieListe.anhaengen(932); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932}); + + assertTrue("Fehler: Element 934 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(934)); + dieListe.anhaengen(886); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886}); + + dieListe.anhaengen(660); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660}); + + assertFalse("Fehler: Element 672 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(672)); + dieListe.anhaengen(15); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15}); + + assertTrue("Fehler: Element 543 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(543)); + dieListe.anhaengen(672); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672}); + + dieListe.anhaengen(525); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525}); + + dieListe.anhaengen(933); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933}); + + dieListe.anhaengen(65); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65}); + + dieListe.anhaengen(620); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620}); + + assertTrue("Fehler: Element 531 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(531)); + assertFalse("Fehler: Element 816 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(816)); + assertTrue("Fehler: Element 882 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(882)); + dieListe.anhaengen(401); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401}); + + dieListe.anhaengen(392); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392}); + + assertTrue("Fehler: Element 886 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(886)); + dieListe.anhaengen(41); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41}); + + dieListe.anhaengen(314); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314}); + + assertTrue("Fehler: Element 687 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(687)); + assertFalse("Fehler: Element 347 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(347)); + dieListe.anhaengen(619); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619}); + + dieListe.anhaengen(900); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900}); + + dieListe.anhaengen(794); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794}); + + dieListe.anhaengen(896); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896}); + + dieListe.anhaengen(480); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480}); + + dieListe.anhaengen(39); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39}); + + dieListe.anhaengen(490); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490}); + + assertFalse("Fehler: Element 831 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(831)); + dieListe.anhaengen(157); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157}); + + assertTrue("Fehler: Element 314 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(314)); + assertTrue("Fehler: Element 886 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(886)); + assertTrue("Fehler: Element 882 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(882)); + assertFalse("Fehler: Element 858 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(858)); + dieListe.anhaengen(48); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48}); + + dieListe.anhaengen(359); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359}); + + assertFalse("Fehler: Element 54 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(54)); + dieListe.anhaengen(496); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496}); + + assertFalse("Fehler: Element 298 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(298)); + dieListe.anhaengen(231); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231}); + + assertFalse("Fehler: Element 759 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(759)); + assertTrue("Fehler: Element 934 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(934)); + assertFalse("Fehler: Element 369 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(369)); + assertFalse("Fehler: Element 621 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(621)); + assertTrue("Fehler: Element 41 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(41)); + dieListe.anhaengen(116); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116}); + + assertFalse("Fehler: Element 67 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(67)); + dieListe.anhaengen(108); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108}); + + dieListe.anhaengen(811); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811}); + + assertTrue("Fehler: Element 620 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(620)); + assertFalse("Fehler: Element 344 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(344)); + assertFalse("Fehler: Element 151 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(151)); + assertTrue("Fehler: Element 897 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(897)); + assertTrue("Fehler: Element 706 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(706)); + dieListe.anhaengen(662); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811,662}); + + dieListe.anhaengen(929); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811,662,929}); + + assertFalse("Fehler: Element 234 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(234)); + dieListe.anhaengen(686); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811,662,929,686}); + + dieListe.anhaengen(657); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811,662,929,686,657}); + + assertTrue("Fehler: Element 934 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(934)); + dieListe.anhaengen(905); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811,662,929,686,657,905}); + + dieListe.anhaengen(172); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811,662,929,686,657,905,172}); + + dieListe.anhaengen(25); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811,662,929,686,657,905,172,25}); + + dieListe.anhaengen(45); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811,662,929,686,657,905,172,25,45}); + + dieListe.anhaengen(372); + Tester.pruefeListenInhalt(dieListe, new int[]{877,934,897,687,96,936,531,405,357,481,191,543,706,3,111,844,882,847,542,515,336,932,886,660,15,672,525,933,65,620,401,392,41,314,619,900,794,896,480,39,490,157,48,359,496,231,116,108,811,662,929,686,657,905,172,25,45,372}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(312); + Tester.pruefeListenInhalt(dieListe, new int[]{312}); + + assertTrue("Fehler: Element 312 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(312)); + dieListe.anhaengen(725); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725}); + + dieListe.anhaengen(637); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637}); + + dieListe.anhaengen(576); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576}); + + assertTrue("Fehler: Element 312 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(312)); + assertFalse("Fehler: Element 63 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(63)); + assertFalse("Fehler: Element 682 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(682)); + assertFalse("Fehler: Element 97 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(97)); + dieListe.anhaengen(361); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361}); + + assertTrue("Fehler: Element 361 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(361)); + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + dieListe.anhaengen(387); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387}); + + dieListe.anhaengen(66); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66}); + + dieListe.anhaengen(727); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727}); + + dieListe.anhaengen(633); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633}); + + assertFalse("Fehler: Element 112 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(112)); + dieListe.anhaengen(527); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527}); + + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + dieListe.anhaengen(361); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361}); + + dieListe.anhaengen(890); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890}); + + assertFalse("Fehler: Element 946 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(946)); + dieListe.anhaengen(742); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742}); + + assertFalse("Fehler: Element 228 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(228)); + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + dieListe.anhaengen(816); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816}); + + dieListe.anhaengen(142); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142}); + + dieListe.anhaengen(349); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349}); + + assertFalse("Fehler: Element 909 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(909)); + assertTrue("Fehler: Element 142 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(142)); + assertTrue("Fehler: Element 742 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(742)); + assertTrue("Fehler: Element 312 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(312)); + dieListe.anhaengen(366); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366}); + + assertTrue("Fehler: Element 142 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(142)); + dieListe.anhaengen(675); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675}); + + dieListe.anhaengen(114); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114}); + + assertFalse("Fehler: Element 154 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(154)); + assertTrue("Fehler: Element 142 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(142)); + dieListe.anhaengen(686); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686}); + + assertFalse("Fehler: Element 724 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(724)); + assertFalse("Fehler: Element 778 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(778)); + assertFalse("Fehler: Element 152 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(152)); + dieListe.anhaengen(474); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474}); + + dieListe.anhaengen(220); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220}); + + dieListe.anhaengen(28); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28}); + + dieListe.anhaengen(738); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738}); + + dieListe.anhaengen(987); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987}); + + assertFalse("Fehler: Element 644 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(644)); + assertFalse("Fehler: Element 496 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(496)); + assertTrue("Fehler: Element 637 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(637)); + assertTrue("Fehler: Element 987 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(987)); + dieListe.anhaengen(650); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650}); + + assertTrue("Fehler: Element 650 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(650)); + assertTrue("Fehler: Element 349 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(349)); + dieListe.anhaengen(436); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436}); + + dieListe.anhaengen(71); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71}); + + assertFalse("Fehler: Element 333 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(333)); + assertFalse("Fehler: Element 563 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(563)); + dieListe.anhaengen(259); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259}); + + dieListe.anhaengen(850); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850}); + + assertFalse("Fehler: Element 984 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(984)); + assertTrue("Fehler: Element 987 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(987)); + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + assertFalse("Fehler: Element 634 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(634)); + dieListe.anhaengen(993); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993}); + + assertFalse("Fehler: Element 377 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(377)); + dieListe.anhaengen(712); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712}); + + assertFalse("Fehler: Element 130 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(130)); + dieListe.anhaengen(226); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226}); + + assertTrue("Fehler: Element 675 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(675)); + assertTrue("Fehler: Element 650 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(650)); + assertTrue("Fehler: Element 142 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(142)); + dieListe.anhaengen(890); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890}); + + dieListe.anhaengen(401); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401}); + + dieListe.anhaengen(355); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355}); + + assertTrue("Fehler: Element 142 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(142)); + dieListe.anhaengen(191); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191}); + + assertFalse("Fehler: Element 186 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(186)); + assertTrue("Fehler: Element 637 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(637)); + dieListe.anhaengen(2); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2}); + + dieListe.anhaengen(88); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2,88}); + + assertTrue("Fehler: Element 738 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(738)); + assertFalse("Fehler: Element 614 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(614)); + assertTrue("Fehler: Element 361 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(361)); + assertFalse("Fehler: Element 58 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(58)); + dieListe.anhaengen(699); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2,88,699}); + + assertFalse("Fehler: Element 813 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(813)); + dieListe.anhaengen(117); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2,88,699,117}); + + assertTrue("Fehler: Element 71 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(71)); + assertTrue("Fehler: Element 675 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(675)); + assertTrue("Fehler: Element 637 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(637)); + assertTrue("Fehler: Element 114 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(114)); + assertFalse("Fehler: Element 40 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(40)); + dieListe.anhaengen(869); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2,88,699,117,869}); + + dieListe.anhaengen(590); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2,88,699,117,869,590}); + + dieListe.anhaengen(161); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2,88,699,117,869,590,161}); + + dieListe.anhaengen(740); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2,88,699,117,869,590,161,740}); + + assertFalse("Fehler: Element 610 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(610)); + dieListe.anhaengen(344); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2,88,699,117,869,590,161,740,344}); + + dieListe.anhaengen(381); + Tester.pruefeListenInhalt(dieListe, new int[]{312,725,637,576,361,387,66,727,633,527,361,890,742,816,142,349,366,675,114,686,474,220,28,738,987,650,436,71,259,850,993,712,226,890,401,355,191,2,88,699,117,869,590,161,740,344,381}); + + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(317); + Tester.pruefeListenInhalt(dieListe, new int[]{317}); + + assertTrue("Fehler: Element 317 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(317)); + dieListe.anhaengen(256); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256}); + + assertFalse("Fehler: Element 698 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(698)); + dieListe.anhaengen(255); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255}); + + assertFalse("Fehler: Element 131 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(131)); + assertFalse("Fehler: Element 109 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(109)); + dieListe.anhaengen(3); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3}); + + dieListe.anhaengen(229); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229}); + + dieListe.anhaengen(764); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764}); + + dieListe.anhaengen(67); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67}); + + dieListe.anhaengen(231); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231}); + + assertTrue("Fehler: Element 764 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(764)); + dieListe.anhaengen(312); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312}); + + dieListe.anhaengen(517); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517}); + + dieListe.anhaengen(969); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969}); + + assertFalse("Fehler: Element 164 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(164)); + dieListe.anhaengen(621); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621}); + + assertFalse("Fehler: Element 267 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(267)); + dieListe.anhaengen(688); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688}); + + assertFalse("Fehler: Element 529 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(529)); + assertFalse("Fehler: Element 369 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(369)); + assertFalse("Fehler: Element 749 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(749)); + dieListe.anhaengen(305); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305}); + + assertFalse("Fehler: Element 325 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(325)); + assertTrue("Fehler: Element 517 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(517)); + dieListe.anhaengen(656); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656}); + + dieListe.anhaengen(279); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279}); + + assertFalse("Fehler: Element 400 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(400)); + assertTrue("Fehler: Element 305 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(305)); + assertTrue("Fehler: Element 256 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(256)); + assertFalse("Fehler: Element 958 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(958)); + assertFalse("Fehler: Element 88 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(88)); + assertFalse("Fehler: Element 922 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(922)); + dieListe.anhaengen(760); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760}); + + assertFalse("Fehler: Element 978 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(978)); + dieListe.anhaengen(286); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286}); + + assertFalse("Fehler: Element 185 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(185)); + dieListe.anhaengen(901); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901}); + + dieListe.anhaengen(780); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780}); + + assertFalse("Fehler: Element 364 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(364)); + assertTrue("Fehler: Element 286 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(286)); + dieListe.anhaengen(949); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949}); + + dieListe.anhaengen(629); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629}); + + dieListe.anhaengen(0); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0}); + + assertFalse("Fehler: Element 750 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(750)); + assertFalse("Fehler: Element 156 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(156)); + dieListe.anhaengen(178); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178}); + + dieListe.anhaengen(487); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487}); + + assertTrue("Fehler: Element 656 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(656)); + dieListe.anhaengen(225); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225}); + + assertFalse("Fehler: Element 306 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(306)); + assertTrue("Fehler: Element 0 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(0)); + assertFalse("Fehler: Element 876 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(876)); + assertFalse("Fehler: Element 432 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(432)); + dieListe.anhaengen(736); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736}); + + dieListe.anhaengen(59); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59}); + + dieListe.anhaengen(427); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427}); + + dieListe.anhaengen(327); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327}); + + assertTrue("Fehler: Element 279 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(279)); + assertFalse("Fehler: Element 676 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(676)); + assertFalse("Fehler: Element 701 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(701)); + dieListe.anhaengen(388); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388}); + + dieListe.anhaengen(9); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9}); + + assertTrue("Fehler: Element 312 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(312)); + assertTrue("Fehler: Element 225 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(225)); + dieListe.anhaengen(521); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521}); + + dieListe.anhaengen(206); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206}); + + assertFalse("Fehler: Element 565 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(565)); + dieListe.anhaengen(411); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411}); + + assertTrue("Fehler: Element 621 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(621)); + dieListe.anhaengen(156); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156}); + + assertTrue("Fehler: Element 231 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(231)); + dieListe.anhaengen(610); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610}); + + assertTrue("Fehler: Element 688 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(688)); + assertFalse("Fehler: Element 881 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(881)); + dieListe.anhaengen(767); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767}); + + assertTrue("Fehler: Element 764 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(764)); + dieListe.anhaengen(592); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592}); + + assertFalse("Fehler: Element 197 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(197)); + dieListe.anhaengen(95); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95}); + + assertTrue("Fehler: Element 3 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(3)); + dieListe.anhaengen(636); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636}); + + dieListe.anhaengen(264); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636,264}); + + assertTrue("Fehler: Element 156 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(156)); + dieListe.anhaengen(914); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636,264,914}); + + dieListe.anhaengen(411); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636,264,914,411}); + + dieListe.anhaengen(852); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636,264,914,411,852}); + + assertTrue("Fehler: Element 388 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(388)); + assertFalse("Fehler: Element 759 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(759)); + dieListe.anhaengen(653); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636,264,914,411,852,653}); + + dieListe.anhaengen(224); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636,264,914,411,852,653,224}); + + assertTrue("Fehler: Element 0 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(0)); + assertTrue("Fehler: Element 231 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(231)); + dieListe.anhaengen(398); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636,264,914,411,852,653,224,398}); + + assertFalse("Fehler: Element 729 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(729)); + dieListe.anhaengen(754); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636,264,914,411,852,653,224,398,754}); + + assertTrue("Fehler: Element 95 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(95)); + assertTrue("Fehler: Element 901 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(901)); + dieListe.anhaengen(237); + Tester.pruefeListenInhalt(dieListe, new int[]{317,256,255,3,229,764,67,231,312,517,969,621,688,305,656,279,760,286,901,780,949,629,0,178,487,225,736,59,427,327,388,9,521,206,411,156,610,767,592,95,636,264,914,411,852,653,224,398,754,237}); + + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(800); + Tester.pruefeListenInhalt(dieListe, new int[]{800}); + + dieListe.anhaengen(437); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437}); + + dieListe.anhaengen(254); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254}); + + assertFalse("Fehler: Element 255 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(255)); + assertTrue("Fehler: Element 254 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(254)); + dieListe.anhaengen(638); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638}); + + assertTrue("Fehler: Element 800 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(800)); + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189}); + + assertFalse("Fehler: Element 426 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(426)); + dieListe.anhaengen(571); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571}); + + assertFalse("Fehler: Element 339 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(339)); + assertTrue("Fehler: Element 437 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(437)); + dieListe.anhaengen(975); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975}); + + dieListe.anhaengen(465); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465}); + + dieListe.anhaengen(413); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413}); + + assertTrue("Fehler: Element 800 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(800)); + dieListe.anhaengen(116); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116}); + + dieListe.anhaengen(741); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741}); + + dieListe.anhaengen(870); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870}); + + dieListe.anhaengen(323); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323}); + + assertTrue("Fehler: Element 741 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(741)); + dieListe.anhaengen(859); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859}); + + dieListe.anhaengen(847); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847}); + + assertFalse("Fehler: Element 941 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(941)); + dieListe.anhaengen(759); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759}); + + assertFalse("Fehler: Element 914 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(914)); + assertTrue("Fehler: Element 437 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(437)); + dieListe.anhaengen(218); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218}); + + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189}); + + assertTrue("Fehler: Element 218 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(218)); + dieListe.anhaengen(26); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26}); + + dieListe.anhaengen(862); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862}); + + dieListe.anhaengen(540); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540}); + + dieListe.anhaengen(580); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580}); + + assertTrue("Fehler: Element 741 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(741)); + assertTrue("Fehler: Element 465 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(465)); + assertFalse("Fehler: Element 813 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(813)); + assertFalse("Fehler: Element 103 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(103)); + dieListe.anhaengen(370); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370}); + + assertTrue("Fehler: Element 254 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(254)); + dieListe.anhaengen(293); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293}); + + assertFalse("Fehler: Element 618 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(618)); + assertFalse("Fehler: Element 820 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(820)); + dieListe.anhaengen(291); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291}); + + assertTrue("Fehler: Element 218 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(218)); + dieListe.anhaengen(786); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786}); + + dieListe.anhaengen(536); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536}); + + dieListe.anhaengen(824); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824}); + + assertFalse("Fehler: Element 215 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(215)); + assertFalse("Fehler: Element 283 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(283)); + dieListe.anhaengen(622); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622}); + + assertFalse("Fehler: Element 22 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(22)); + assertFalse("Fehler: Element 954 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(954)); + dieListe.anhaengen(91); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91}); + + dieListe.anhaengen(422); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422}); + + dieListe.anhaengen(301); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301}); + + assertFalse("Fehler: Element 614 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(614)); + assertTrue("Fehler: Element 824 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(824)); + dieListe.anhaengen(636); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636}); + + assertTrue("Fehler: Element 847 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(847)); + assertTrue("Fehler: Element 26 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(26)); + assertFalse("Fehler: Element 24 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(24)); + dieListe.anhaengen(661); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661}); + + dieListe.anhaengen(637); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637}); + + dieListe.anhaengen(700); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700}); + + dieListe.anhaengen(651); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651}); + + assertFalse("Fehler: Element 239 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(239)); + dieListe.anhaengen(22); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22}); + + dieListe.anhaengen(105); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105}); + + dieListe.anhaengen(299); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299}); + + dieListe.anhaengen(714); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714}); + + dieListe.anhaengen(8); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8}); + + assertTrue("Fehler: Element 580 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(580)); + assertTrue("Fehler: Element 323 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(323)); + dieListe.anhaengen(154); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154}); + + assertTrue("Fehler: Element 862 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(862)); + dieListe.anhaengen(749); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749}); + + assertTrue("Fehler: Element 465 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(465)); + dieListe.anhaengen(440); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749,440}); + + dieListe.anhaengen(923); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749,440,923}); + + assertTrue("Fehler: Element 700 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(700)); + assertTrue("Fehler: Element 800 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(800)); + dieListe.anhaengen(603); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749,440,923,603}); + + dieListe.anhaengen(252); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749,440,923,603,252}); + + assertFalse("Fehler: Element 488 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(488)); + dieListe.anhaengen(869); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749,440,923,603,252,869}); + + assertFalse("Fehler: Element 208 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(208)); + assertTrue("Fehler: Element 749 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(749)); + assertFalse("Fehler: Element 451 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(451)); + assertTrue("Fehler: Element 154 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(154)); + dieListe.anhaengen(158); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749,440,923,603,252,869,158}); + + assertFalse("Fehler: Element 978 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(978)); + assertFalse("Fehler: Element 416 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(416)); + dieListe.anhaengen(459); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749,440,923,603,252,869,158,459}); + + assertFalse("Fehler: Element 856 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(856)); + dieListe.anhaengen(58); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749,440,923,603,252,869,158,459,58}); + + dieListe.anhaengen(230); + Tester.pruefeListenInhalt(dieListe, new int[]{800,437,254,638,189,571,975,465,413,116,741,870,323,859,847,759,218,189,26,862,540,580,370,293,291,786,536,824,622,91,422,301,636,661,637,700,651,22,105,299,714,8,154,749,440,923,603,252,869,158,459,58,230}); + + assertFalse("Fehler: Element 168 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(168)); + assertTrue("Fehler: Element 540 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(540)); + assertTrue("Fehler: Element 536 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(536)); + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(16); + Tester.pruefeListenInhalt(dieListe, new int[]{16}); + + assertFalse("Fehler: Element 785 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(785)); + dieListe.anhaengen(607); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607}); + + assertFalse("Fehler: Element 61 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(61)); + dieListe.anhaengen(583); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583}); + + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + dieListe.anhaengen(399); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399}); + + assertFalse("Fehler: Element 275 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(275)); + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + assertFalse("Fehler: Element 51 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(51)); + assertTrue("Fehler: Element 607 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(607)); + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + dieListe.anhaengen(490); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490}); + + dieListe.anhaengen(219); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219}); + + assertTrue("Fehler: Element 219 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(219)); + dieListe.anhaengen(96); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96}); + + assertFalse("Fehler: Element 746 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(746)); + dieListe.anhaengen(608); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608}); + + assertFalse("Fehler: Element 208 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(208)); + assertTrue("Fehler: Element 16 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(16)); + dieListe.anhaengen(831); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831}); + + dieListe.anhaengen(53); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53}); + + dieListe.anhaengen(379); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379}); + + dieListe.anhaengen(280); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280}); + + dieListe.anhaengen(802); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802}); + + dieListe.anhaengen(634); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634}); + + assertTrue("Fehler: Element 16 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(16)); + assertTrue("Fehler: Element 96 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(96)); + dieListe.anhaengen(527); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527}); + + assertFalse("Fehler: Element 917 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(917)); + dieListe.anhaengen(333); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333}); + + dieListe.anhaengen(606); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606}); + + dieListe.anhaengen(713); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713}); + + assertFalse("Fehler: Element 434 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(434)); + assertFalse("Fehler: Element 794 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(794)); + dieListe.anhaengen(724); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724}); + + dieListe.anhaengen(244); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244}); + + assertFalse("Fehler: Element 965 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(965)); + dieListe.anhaengen(6); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6}); + + assertTrue("Fehler: Element 6 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(6)); + assertTrue("Fehler: Element 606 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(606)); + assertTrue("Fehler: Element 96 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(96)); + assertTrue("Fehler: Element 608 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(608)); + assertTrue("Fehler: Element 96 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(96)); + assertFalse("Fehler: Element 51 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(51)); + dieListe.anhaengen(472); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472}); + + dieListe.anhaengen(188); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188}); + + dieListe.anhaengen(637); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637}); + + assertTrue("Fehler: Element 637 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(637)); + assertTrue("Fehler: Element 606 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(606)); + assertFalse("Fehler: Element 701 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(701)); + dieListe.anhaengen(833); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833}); + + dieListe.anhaengen(886); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886}); + + dieListe.anhaengen(895); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895}); + + dieListe.anhaengen(576); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576}); + + dieListe.anhaengen(2); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2}); + + assertFalse("Fehler: Element 571 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(571)); + dieListe.anhaengen(224); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224}); + + dieListe.anhaengen(2); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2}); + + assertFalse("Fehler: Element 868 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(868)); + assertFalse("Fehler: Element 412 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(412)); + assertFalse("Fehler: Element 932 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(932)); + dieListe.anhaengen(909); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909}); + + assertFalse("Fehler: Element 519 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(519)); + assertTrue("Fehler: Element 831 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(831)); + dieListe.anhaengen(456); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456}); + + dieListe.anhaengen(588); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588}); + + assertTrue("Fehler: Element 96 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(96)); + dieListe.anhaengen(692); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692}); + + assertFalse("Fehler: Element 43 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(43)); + assertFalse("Fehler: Element 880 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(880)); + dieListe.anhaengen(342); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342}); + + assertFalse("Fehler: Element 795 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(795)); + dieListe.anhaengen(95); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95}); + + assertFalse("Fehler: Element 876 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(876)); + assertTrue("Fehler: Element 831 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(831)); + assertFalse("Fehler: Element 387 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(387)); + assertTrue("Fehler: Element 576 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(576)); + dieListe.anhaengen(386); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386}); + + assertFalse("Fehler: Element 846 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(846)); + dieListe.anhaengen(398); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398}); + + assertFalse("Fehler: Element 665 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(665)); + dieListe.anhaengen(251); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251}); + + assertFalse("Fehler: Element 875 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(875)); + dieListe.anhaengen(535); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535}); + + dieListe.anhaengen(856); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535,856}); + + dieListe.anhaengen(602); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535,856,602}); + + dieListe.anhaengen(921); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535,856,602,921}); + + dieListe.anhaengen(645); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535,856,602,921,645}); + + assertTrue("Fehler: Element 96 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(96)); + assertFalse("Fehler: Element 994 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(994)); + assertFalse("Fehler: Element 783 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(783)); + dieListe.anhaengen(82); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535,856,602,921,645,82}); + + dieListe.anhaengen(971); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535,856,602,921,645,82,971}); + + dieListe.anhaengen(245); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535,856,602,921,645,82,971,245}); + + assertTrue("Fehler: Element 921 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(921)); + assertFalse("Fehler: Element 43 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(43)); + assertFalse("Fehler: Element 653 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(653)); + dieListe.anhaengen(955); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535,856,602,921,645,82,971,245,955}); + + dieListe.anhaengen(978); + Tester.pruefeListenInhalt(dieListe, new int[]{16,607,583,399,490,219,96,608,831,53,379,280,802,634,527,333,606,713,724,244,6,472,188,637,833,886,895,576,2,224,2,909,456,588,692,342,95,386,398,251,535,856,602,921,645,82,971,245,955,978}); + + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(557); + Tester.pruefeListenInhalt(dieListe, new int[]{557}); + + assertFalse("Fehler: Element 184 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(184)); + dieListe.anhaengen(265); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265}); + + assertFalse("Fehler: Element 357 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(357)); + dieListe.anhaengen(82); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82}); + + dieListe.anhaengen(217); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217}); + + dieListe.anhaengen(644); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644}); + + dieListe.anhaengen(366); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366}); + + assertFalse("Fehler: Element 596 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(596)); + dieListe.anhaengen(743); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743}); + + dieListe.anhaengen(893); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893}); + + dieListe.anhaengen(423); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423}); + + dieListe.anhaengen(29); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29}); + + assertTrue("Fehler: Element 423 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(423)); + assertFalse("Fehler: Element 98 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(98)); + dieListe.anhaengen(704); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704}); + + dieListe.anhaengen(957); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957}); + + assertTrue("Fehler: Element 557 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(557)); + dieListe.anhaengen(816); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816}); + + dieListe.anhaengen(920); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920}); + + assertFalse("Fehler: Element 325 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(325)); + dieListe.anhaengen(408); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408}); + + assertFalse("Fehler: Element 529 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(529)); + dieListe.anhaengen(41); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41}); + + dieListe.anhaengen(653); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653}); + + assertFalse("Fehler: Element 648 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(648)); + dieListe.anhaengen(402); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402}); + + assertTrue("Fehler: Element 265 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(265)); + dieListe.anhaengen(932); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932}); + + assertTrue("Fehler: Element 82 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(82)); + assertFalse("Fehler: Element 282 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(282)); + dieListe.anhaengen(727); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727}); + + assertFalse("Fehler: Element 405 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(405)); + assertTrue("Fehler: Element 644 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(644)); + dieListe.anhaengen(393); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393}); + + assertFalse("Fehler: Element 21 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(21)); + dieListe.anhaengen(19); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19}); + + assertTrue("Fehler: Element 957 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(957)); + dieListe.anhaengen(547); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547}); + + assertFalse("Fehler: Element 33 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(33)); + dieListe.anhaengen(494); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494}); + + dieListe.anhaengen(152); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152}); + + assertTrue("Fehler: Element 920 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(920)); + dieListe.anhaengen(6); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6}); + + assertTrue("Fehler: Element 644 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(644)); + dieListe.anhaengen(531); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531}); + + assertFalse("Fehler: Element 543 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(543)); + dieListe.anhaengen(306); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306}); + + assertFalse("Fehler: Element 509 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(509)); + assertTrue("Fehler: Element 932 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(932)); + dieListe.anhaengen(444); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444}); + + dieListe.anhaengen(70); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70}); + + assertFalse("Fehler: Element 315 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(315)); + assertFalse("Fehler: Element 363 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(363)); + dieListe.anhaengen(464); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464}); + + dieListe.anhaengen(855); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855}); + + dieListe.anhaengen(40); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40}); + + dieListe.anhaengen(716); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716}); + + dieListe.anhaengen(584); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584}); + + assertFalse("Fehler: Element 262 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(262)); + assertTrue("Fehler: Element 704 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(704)); + assertTrue("Fehler: Element 70 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(70)); + dieListe.anhaengen(868); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868}); + + dieListe.anhaengen(845); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845}); + + assertTrue("Fehler: Element 494 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(494)); + dieListe.anhaengen(196); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196}); + + dieListe.anhaengen(261); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261}); + + dieListe.anhaengen(178); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178}); + + dieListe.anhaengen(232); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232}); + + dieListe.anhaengen(163); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163}); + + dieListe.anhaengen(946); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946}); + + assertTrue("Fehler: Element 946 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(946)); + assertTrue("Fehler: Element 920 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(920)); + dieListe.anhaengen(177); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177}); + + assertFalse("Fehler: Element 633 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(633)); + dieListe.anhaengen(434); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434}); + + assertTrue("Fehler: Element 177 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(177)); + dieListe.anhaengen(614); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614}); + + dieListe.anhaengen(743); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743}); + + dieListe.anhaengen(186); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186}); + + assertFalse("Fehler: Element 339 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(339)); + assertTrue("Fehler: Element 868 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(868)); + dieListe.anhaengen(178); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178}); + + assertTrue("Fehler: Element 82 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(82)); + dieListe.anhaengen(242); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242}); + + dieListe.anhaengen(808); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808}); + + dieListe.anhaengen(473); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808,473}); + + dieListe.anhaengen(623); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808,473,623}); + + dieListe.anhaengen(673); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808,473,623,673}); + + assertTrue("Fehler: Element 531 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(531)); + assertFalse("Fehler: Element 447 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(447)); + assertFalse("Fehler: Element 147 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(147)); + dieListe.anhaengen(179); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808,473,623,673,179}); + + dieListe.anhaengen(52); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808,473,623,673,179,52}); + + assertTrue("Fehler: Element 868 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(868)); + dieListe.anhaengen(944); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808,473,623,673,179,52,944}); + + dieListe.anhaengen(88); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808,473,623,673,179,52,944,88}); + + dieListe.anhaengen(903); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808,473,623,673,179,52,944,88,903}); + + dieListe.anhaengen(866); + Tester.pruefeListenInhalt(dieListe, new int[]{557,265,82,217,644,366,743,893,423,29,704,957,816,920,408,41,653,402,932,727,393,19,547,494,152,6,531,306,444,70,464,855,40,716,584,868,845,196,261,178,232,163,946,177,434,614,743,186,178,242,808,473,623,673,179,52,944,88,903,866}); + + assertFalse("Fehler: Element 728 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(728)); + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(975); + Tester.pruefeListenInhalt(dieListe, new int[]{975}); + + dieListe.anhaengen(395); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395}); + + dieListe.anhaengen(147); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147}); + + dieListe.anhaengen(806); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806}); + + dieListe.anhaengen(192); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192}); + + dieListe.anhaengen(107); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107}); + + assertFalse("Fehler: Element 168 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(168)); + dieListe.anhaengen(209); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209}); + + assertFalse("Fehler: Element 915 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(915)); + assertFalse("Fehler: Element 250 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(250)); + assertTrue("Fehler: Element 395 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(395)); + assertTrue("Fehler: Element 147 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(147)); + dieListe.anhaengen(821); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821}); + + assertFalse("Fehler: Element 990 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(990)); + assertTrue("Fehler: Element 806 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(806)); + dieListe.anhaengen(572); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572}); + + dieListe.anhaengen(711); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711}); + + dieListe.anhaengen(779); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779}); + + dieListe.anhaengen(333); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333}); + + dieListe.anhaengen(663); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663}); + + assertTrue("Fehler: Element 395 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(395)); + dieListe.anhaengen(340); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340}); + + dieListe.anhaengen(294); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294}); + + assertFalse("Fehler: Element 109 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(109)); + assertFalse("Fehler: Element 444 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(444)); + assertFalse("Fehler: Element 280 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(280)); + assertFalse("Fehler: Element 11 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(11)); + assertFalse("Fehler: Element 614 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(614)); + assertFalse("Fehler: Element 470 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(470)); + dieListe.anhaengen(931); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931}); + + dieListe.anhaengen(76); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76}); + + assertFalse("Fehler: Element 64 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(64)); + dieListe.anhaengen(606); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606}); + + assertFalse("Fehler: Element 371 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(371)); + dieListe.anhaengen(331); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331}); + + assertTrue("Fehler: Element 331 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(331)); + dieListe.anhaengen(271); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271}); + + assertFalse("Fehler: Element 7 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(7)); + assertTrue("Fehler: Element 821 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(821)); + dieListe.anhaengen(793); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793}); + + assertFalse("Fehler: Element 701 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(701)); + assertFalse("Fehler: Element 547 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(547)); + assertFalse("Fehler: Element 114 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(114)); + assertTrue("Fehler: Element 663 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(663)); + dieListe.anhaengen(570); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570}); + + dieListe.anhaengen(15); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15}); + + dieListe.anhaengen(871); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871}); + + dieListe.anhaengen(631); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631}); + + assertFalse("Fehler: Element 490 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(490)); + dieListe.anhaengen(328); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328}); + + dieListe.anhaengen(362); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362}); + + dieListe.anhaengen(46); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46}); + + dieListe.anhaengen(259); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259}); + + dieListe.anhaengen(276); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276}); + + assertFalse("Fehler: Element 738 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(738)); + assertTrue("Fehler: Element 271 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(271)); + assertFalse("Fehler: Element 364 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(364)); + assertFalse("Fehler: Element 245 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(245)); + assertFalse("Fehler: Element 314 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(314)); + assertTrue("Fehler: Element 631 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(631)); + dieListe.anhaengen(318); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318}); + + dieListe.anhaengen(21); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21}); + + dieListe.anhaengen(920); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920}); + + assertFalse("Fehler: Element 861 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(861)); + dieListe.anhaengen(932); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932}); + + assertTrue("Fehler: Element 333 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(333)); + assertTrue("Fehler: Element 46 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(46)); + assertTrue("Fehler: Element 362 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(362)); + assertTrue("Fehler: Element 46 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(46)); + dieListe.anhaengen(723); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723}); + + dieListe.anhaengen(362); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362}); + + assertFalse("Fehler: Element 842 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(842)); + assertFalse("Fehler: Element 199 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(199)); + assertTrue("Fehler: Element 271 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(271)); + dieListe.anhaengen(890); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890}); + + dieListe.anhaengen(968); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968}); + + dieListe.anhaengen(909); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909}); + + dieListe.anhaengen(399); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399}); + + dieListe.anhaengen(143); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143}); + + assertFalse("Fehler: Element 605 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(605)); + dieListe.anhaengen(297); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143,297}); + + dieListe.anhaengen(788); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143,297,788}); + + dieListe.anhaengen(407); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143,297,788,407}); + + assertTrue("Fehler: Element 15 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(15)); + assertFalse("Fehler: Element 747 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(747)); + assertFalse("Fehler: Element 235 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(235)); + assertTrue("Fehler: Element 572 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(572)); + assertTrue("Fehler: Element 931 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(931)); + assertFalse("Fehler: Element 620 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(620)); + dieListe.anhaengen(439); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143,297,788,407,439}); + + assertTrue("Fehler: Element 21 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(21)); + dieListe.anhaengen(920); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143,297,788,407,439,920}); + + dieListe.anhaengen(905); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143,297,788,407,439,920,905}); + + assertTrue("Fehler: Element 209 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(209)); + assertTrue("Fehler: Element 143 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(143)); + dieListe.anhaengen(480); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143,297,788,407,439,920,905,480}); + + dieListe.anhaengen(327); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143,297,788,407,439,920,905,480,327}); + + dieListe.anhaengen(124); + Tester.pruefeListenInhalt(dieListe, new int[]{975,395,147,806,192,107,209,821,572,711,779,333,663,340,294,931,76,606,331,271,793,570,15,871,631,328,362,46,259,276,318,21,920,932,723,362,890,968,909,399,143,297,788,407,439,920,905,480,327,124}); + + assertTrue("Fehler: Element 723 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(723)); + assertTrue("Fehler: Element 362 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(362)); + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(117); + Tester.pruefeListenInhalt(dieListe, new int[]{117}); + + assertFalse("Fehler: Element 732 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(732)); + assertTrue("Fehler: Element 117 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(117)); + assertTrue("Fehler: Element 117 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(117)); + dieListe.anhaengen(452); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452}); + + dieListe.anhaengen(853); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853}); + + assertFalse("Fehler: Element 384 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(384)); + dieListe.anhaengen(622); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622}); + + dieListe.anhaengen(500); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500}); + + dieListe.anhaengen(284); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284}); + + dieListe.anhaengen(81); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81}); + + assertFalse("Fehler: Element 174 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(174)); + assertFalse("Fehler: Element 814 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(814)); + dieListe.anhaengen(278); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278}); + + dieListe.anhaengen(401); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401}); + + dieListe.anhaengen(507); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507}); + + dieListe.anhaengen(701); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701}); + + assertTrue("Fehler: Element 622 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(622)); + dieListe.anhaengen(709); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709}); + + dieListe.anhaengen(756); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756}); + + assertFalse("Fehler: Element 387 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(387)); + dieListe.anhaengen(870); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870}); + + assertFalse("Fehler: Element 203 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(203)); + dieListe.anhaengen(931); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931}); + + assertFalse("Fehler: Element 448 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(448)); + assertFalse("Fehler: Element 373 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(373)); + dieListe.anhaengen(494); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494}); + + dieListe.anhaengen(543); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543}); + + dieListe.anhaengen(627); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627}); + + dieListe.anhaengen(304); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304}); + + assertTrue("Fehler: Element 853 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(853)); + assertTrue("Fehler: Element 870 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(870)); + dieListe.anhaengen(972); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972}); + + dieListe.anhaengen(679); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679}); + + dieListe.anhaengen(297); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297}); + + dieListe.anhaengen(788); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788}); + + dieListe.anhaengen(55); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55}); + + assertFalse("Fehler: Element 544 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(544)); + assertTrue("Fehler: Element 756 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(756)); + dieListe.anhaengen(159); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159}); + + assertTrue("Fehler: Element 701 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(701)); + assertFalse("Fehler: Element 859 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(859)); + assertFalse("Fehler: Element 313 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(313)); + dieListe.anhaengen(248); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248}); + + assertFalse("Fehler: Element 739 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(739)); + dieListe.anhaengen(756); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756}); + + dieListe.anhaengen(383); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383}); + + assertFalse("Fehler: Element 902 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(902)); + assertTrue("Fehler: Element 788 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(788)); + assertFalse("Fehler: Element 777 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(777)); + assertFalse("Fehler: Element 602 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(602)); + dieListe.anhaengen(375); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375}); + + assertTrue("Fehler: Element 55 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(55)); + assertFalse("Fehler: Element 422 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(422)); + assertTrue("Fehler: Element 452 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(452)); + dieListe.anhaengen(566); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566}); + + assertTrue("Fehler: Element 248 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(248)); + dieListe.anhaengen(15); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15}); + + assertTrue("Fehler: Element 304 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(304)); + dieListe.anhaengen(757); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757}); + + assertTrue("Fehler: Element 375 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(375)); + assertTrue("Fehler: Element 788 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(788)); + assertFalse("Fehler: Element 987 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(987)); + assertTrue("Fehler: Element 870 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(870)); + dieListe.anhaengen(470); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470}); + + dieListe.anhaengen(385); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385}); + + dieListe.anhaengen(10); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10}); + + assertFalse("Fehler: Element 666 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(666)); + assertTrue("Fehler: Element 55 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(55)); + dieListe.anhaengen(337); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337}); + + dieListe.anhaengen(490); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490}); + + dieListe.anhaengen(417); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417}); + + assertFalse("Fehler: Element 311 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(311)); + dieListe.anhaengen(200); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200}); + + assertTrue("Fehler: Element 10 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(10)); + dieListe.anhaengen(601); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601}); + + assertFalse("Fehler: Element 582 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(582)); + dieListe.anhaengen(709); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601,709}); + + assertFalse("Fehler: Element 157 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(157)); + assertTrue("Fehler: Element 304 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(304)); + assertFalse("Fehler: Element 725 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(725)); + assertTrue("Fehler: Element 756 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(756)); + assertFalse("Fehler: Element 900 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(900)); + dieListe.anhaengen(547); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601,709,547}); + + dieListe.anhaengen(282); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601,709,547,282}); + + assertFalse("Fehler: Element 810 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(810)); + assertTrue("Fehler: Element 756 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(756)); + dieListe.anhaengen(433); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601,709,547,282,433}); + + dieListe.anhaengen(454); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601,709,547,282,433,454}); + + assertFalse("Fehler: Element 185 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(185)); + assertTrue("Fehler: Element 55 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(55)); + assertTrue("Fehler: Element 756 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(756)); + dieListe.anhaengen(640); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601,709,547,282,433,454,640}); + + dieListe.anhaengen(480); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601,709,547,282,433,454,640,480}); + + assertFalse("Fehler: Element 473 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(473)); + dieListe.anhaengen(355); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601,709,547,282,433,454,640,480,355}); + + assertTrue("Fehler: Element 788 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(788)); + assertFalse("Fehler: Element 568 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(568)); + assertFalse("Fehler: Element 591 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(591)); + dieListe.anhaengen(375); + Tester.pruefeListenInhalt(dieListe, new int[]{117,452,853,622,500,284,81,278,401,507,701,709,756,870,931,494,543,627,304,972,679,297,788,55,159,248,756,383,375,566,15,757,470,385,10,337,490,417,200,601,709,547,282,433,454,640,480,355,375}); + +} +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest10.java b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest10.java new file mode 100644 index 0000000..70acc13 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest10.java @@ -0,0 +1,2733 @@ +package tests; + +import static org.junit.Assert.*; + +import liste.*; + +/** + * Die Test-Klasse SubTest10. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest10 { + + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(184); + Tester.pruefeListenInhalt(dieListe, new int[]{184}); + + dieListe.anhaengen(90); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 90}); + + assertTrue("Fehler: Element 90 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(90)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{184}); + + assertFalse("Fehler: Element 332 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(332)); + dieListe.anhaengen(911); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 911}); + + dieListe.anhaengen(418); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 911, 418}); + + dieListe.anhaengen(522); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 911, 418, 522}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 911, 522}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 522}); + + assertFalse("Fehler: Element 952 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(952)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{184}); + + assertTrue("Fehler: Element 184 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(184)); + dieListe.einfuegenBei(1, 362); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 362}); + + dieListe.anhaengen(108); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 362, 108}); + + assertFalse("Fehler: Element 265 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(265)); + assertFalse("Fehler: Element 640 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(640)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 362}); + + dieListe.anhaengen(308); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 362, 308}); + + dieListe.einfuegenBei(1, 627); + Tester.pruefeListenInhalt(dieListe, new int[]{184, 627, 362, 308}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(603); + Tester.pruefeListenInhalt(dieListe, new int[]{603}); + + assertTrue("Fehler: Element 603 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(603)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(90); + Tester.pruefeListenInhalt(dieListe, new int[]{90}); + + assertFalse("Fehler: Element 622 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(622)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(182); + Tester.pruefeListenInhalt(dieListe, new int[]{182}); + + dieListe.einfuegenBei(1, 371); + Tester.pruefeListenInhalt(dieListe, new int[]{182, 371}); + + dieListe.einfuegenBei(2, 525); + Tester.pruefeListenInhalt(dieListe, new int[]{182, 371, 525}); + + dieListe.einfuegenBei(3, 380); + Tester.pruefeListenInhalt(dieListe, new int[]{182, 371, 525, 380}); + + assertFalse("Fehler: Element 810 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(810)); + assertTrue("Fehler: Element 371 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(371)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{371, 525, 380}); + + assertTrue("Fehler: Element 371 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(371)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{525, 380}); + + assertFalse("Fehler: Element 253 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(253)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{380}); + + dieListe.einfuegenBei(0, 942); + Tester.pruefeListenInhalt(dieListe, new int[]{942, 380}); + + dieListe.anhaengen(848); + Tester.pruefeListenInhalt(dieListe, new int[]{942, 380, 848}); + + assertTrue("Fehler: Element 380 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(380)); + assertFalse("Fehler: Element 620 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(620)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{942, 848}); + + dieListe.einfuegenBei(2, 914); + Tester.pruefeListenInhalt(dieListe, new int[]{942, 848, 914}); + + assertTrue("Fehler: Element 914 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(914)); + assertTrue("Fehler: Element 848 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(848)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{942, 848}); + + assertTrue("Fehler: Element 848 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(848)); + dieListe.einfuegenBei(2, 311); + Tester.pruefeListenInhalt(dieListe, new int[]{942, 848, 311}); + + assertFalse("Fehler: Element 687 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(687)); + dieListe.anhaengen(7); + Tester.pruefeListenInhalt(dieListe, new int[]{942, 848, 311, 7}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 863); + Tester.pruefeListenInhalt(dieListe, new int[]{863}); + + dieListe.einfuegenBei(1, 206); + Tester.pruefeListenInhalt(dieListe, new int[]{863, 206}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{863}); + + dieListe.anhaengen(360); + Tester.pruefeListenInhalt(dieListe, new int[]{863, 360}); + + dieListe.einfuegenBei(0, 860); + Tester.pruefeListenInhalt(dieListe, new int[]{860, 863, 360}); + + assertTrue("Fehler: Element 863 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(863)); + assertTrue("Fehler: Element 863 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(863)); + assertFalse("Fehler: Element 433 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(433)); + dieListe.anhaengen(230); + Tester.pruefeListenInhalt(dieListe, new int[]{860, 863, 360, 230}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(264); + Tester.pruefeListenInhalt(dieListe, new int[]{264}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 820); + Tester.pruefeListenInhalt(dieListe, new int[]{820}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 796); + Tester.pruefeListenInhalt(dieListe, new int[]{796}); + + dieListe.anhaengen(860); + Tester.pruefeListenInhalt(dieListe, new int[]{796, 860}); + + assertTrue("Fehler: Element 796 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(796)); + dieListe.einfuegenBei(1, 141); + Tester.pruefeListenInhalt(dieListe, new int[]{796, 141, 860}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{796, 141}); + + dieListe.einfuegenBei(2, 703); + Tester.pruefeListenInhalt(dieListe, new int[]{796, 141, 703}); + + dieListe.anhaengen(376); + Tester.pruefeListenInhalt(dieListe, new int[]{796, 141, 703, 376}); + + dieListe.einfuegenBei(2, 536); + Tester.pruefeListenInhalt(dieListe, new int[]{796, 141, 536, 703, 376}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{796, 141, 703, 376}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(587); + Tester.pruefeListenInhalt(dieListe, new int[]{587}); + + dieListe.einfuegenBei(1, 240); + Tester.pruefeListenInhalt(dieListe, new int[]{587, 240}); + + dieListe.einfuegenBei(0, 449); + Tester.pruefeListenInhalt(dieListe, new int[]{449, 587, 240}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{587, 240}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{587}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 826); + Tester.pruefeListenInhalt(dieListe, new int[]{826}); + + dieListe.einfuegenBei(1, 361); + Tester.pruefeListenInhalt(dieListe, new int[]{826, 361}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{826}); + + assertTrue("Fehler: Element 826 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(826)); + dieListe.anhaengen(100); + Tester.pruefeListenInhalt(dieListe, new int[]{826, 100}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(23); + Tester.pruefeListenInhalt(dieListe, new int[]{23}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(296); + Tester.pruefeListenInhalt(dieListe, new int[]{296}); + + dieListe.anhaengen(822); + Tester.pruefeListenInhalt(dieListe, new int[]{296, 822}); + + dieListe.einfuegenBei(2, 149); + Tester.pruefeListenInhalt(dieListe, new int[]{296, 822, 149}); + + dieListe.anhaengen(934); + Tester.pruefeListenInhalt(dieListe, new int[]{296, 822, 149, 934}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{296, 149, 934}); + + dieListe.einfuegenBei(2, 281); + Tester.pruefeListenInhalt(dieListe, new int[]{296, 149, 281, 934}); + + assertFalse("Fehler: Element 950 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(950)); + dieListe.anhaengen(750); + Tester.pruefeListenInhalt(dieListe, new int[]{296, 149, 281, 934, 750}); + + dieListe.einfuegenBei(0, 594); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 296, 149, 281, 934, 750}); + + dieListe.anhaengen(787); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 296, 149, 281, 934, 750, 787}); + + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 794); + Tester.pruefeListenInhalt(dieListe, new int[]{794}); + + dieListe.einfuegenBei(0, 18); + Tester.pruefeListenInhalt(dieListe, new int[]{18, 794}); + + dieListe.einfuegenBei(1, 546); + Tester.pruefeListenInhalt(dieListe, new int[]{18, 546, 794}); + + assertTrue("Fehler: Element 546 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(546)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{18, 794}); + + dieListe.anhaengen(984); + Tester.pruefeListenInhalt(dieListe, new int[]{18, 794, 984}); + + assertFalse("Fehler: Element 957 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(957)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{794, 984}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{794}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 572); + Tester.pruefeListenInhalt(dieListe, new int[]{572}); + + dieListe.einfuegenBei(1, 599); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 599}); + + dieListe.anhaengen(284); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 599, 284}); + + assertFalse("Fehler: Element 817 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(817)); + assertTrue("Fehler: Element 284 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(284)); + dieListe.einfuegenBei(2, 78); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 599, 78, 284}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 599, 284}); + + dieListe.anhaengen(529); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 599, 284, 529}); + + assertTrue("Fehler: Element 599 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(599)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 599, 284}); + + assertFalse("Fehler: Element 540 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(540)); + dieListe.einfuegenBei(1, 9); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 9, 599, 284}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 599, 284}); + + dieListe.anhaengen(469); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 599, 284, 469}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 599, 469}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 469}); + + dieListe.anhaengen(39); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 469, 39}); + + dieListe.anhaengen(880); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 469, 39, 880}); + + assertTrue("Fehler: Element 39 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(39)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 469, 880}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 880}); + + dieListe.einfuegenBei(1, 264); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 264, 880}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 264}); + + assertFalse("Fehler: Element 225 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(225)); + assertFalse("Fehler: Element 335 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(335)); + assertTrue("Fehler: Element 264 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(264)); + dieListe.einfuegenBei(2, 686); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 264, 686}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 264}); + + dieListe.einfuegenBei(2, 884); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 264, 884}); + + dieListe.anhaengen(721); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 264, 884, 721}); + + assertTrue("Fehler: Element 884 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(884)); + dieListe.anhaengen(307); + Tester.pruefeListenInhalt(dieListe, new int[]{599, 264, 884, 721, 307}); + + dieListe.einfuegenBei(0, 26); + Tester.pruefeListenInhalt(dieListe, new int[]{26, 599, 264, 884, 721, 307}); + + assertTrue("Fehler: Element 599 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(599)); + assertTrue("Fehler: Element 264 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(264)); + assertTrue("Fehler: Element 599 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(599)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{26, 599, 264, 721, 307}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{26, 599, 721, 307}); + + dieListe.einfuegenBei(1, 82); + Tester.pruefeListenInhalt(dieListe, new int[]{26, 82, 599, 721, 307}); + + dieListe.anhaengen(531); + Tester.pruefeListenInhalt(dieListe, new int[]{26, 82, 599, 721, 307, 531}); + + dieListe.einfuegenBei(1, 686); + Tester.pruefeListenInhalt(dieListe, new int[]{26, 686, 82, 599, 721, 307, 531}); + + assertTrue("Fehler: Element 307 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(307)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 407); + Tester.pruefeListenInhalt(dieListe, new int[]{407}); + + assertFalse("Fehler: Element 254 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(254)); + dieListe.anhaengen(25); + Tester.pruefeListenInhalt(dieListe, new int[]{407, 25}); + + dieListe.anhaengen(262); + Tester.pruefeListenInhalt(dieListe, new int[]{407, 25, 262}); + + assertFalse("Fehler: Element 521 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(521)); + dieListe.anhaengen(736); + Tester.pruefeListenInhalt(dieListe, new int[]{407, 25, 262, 736}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{407, 262, 736}); + + assertFalse("Fehler: Element 346 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(346)); + dieListe.einfuegenBei(1, 149); + Tester.pruefeListenInhalt(dieListe, new int[]{407, 149, 262, 736}); + + assertFalse("Fehler: Element 482 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(482)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 262, 736}); + + dieListe.anhaengen(502); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 262, 736, 502}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 262, 736}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(372); + Tester.pruefeListenInhalt(dieListe, new int[]{372}); + + assertTrue("Fehler: Element 372 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(372)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(999); + Tester.pruefeListenInhalt(dieListe, new int[]{999}); + + dieListe.anhaengen(790); + Tester.pruefeListenInhalt(dieListe, new int[]{999, 790}); + + assertFalse("Fehler: Element 905 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(905)); + assertFalse("Fehler: Element 360 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(360)); + dieListe.einfuegenBei(0, 524); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 999, 790}); + + assertFalse("Fehler: Element 387 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(387)); + dieListe.einfuegenBei(2, 13); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 999, 13, 790}); + + assertFalse("Fehler: Element 853 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(853)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 13, 790}); + + dieListe.einfuegenBei(1, 309); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 309, 13, 790}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{309, 13, 790}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{13, 790}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{790}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(245); + Tester.pruefeListenInhalt(dieListe, new int[]{245}); + + dieListe.einfuegenBei(0, 517); + Tester.pruefeListenInhalt(dieListe, new int[]{517, 245}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{245}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 907); + Tester.pruefeListenInhalt(dieListe, new int[]{907}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(898); + Tester.pruefeListenInhalt(dieListe, new int[]{898}); + + assertTrue("Fehler: Element 898 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(898)); + dieListe.einfuegenBei(0, 296); + Tester.pruefeListenInhalt(dieListe, new int[]{296, 898}); + + assertFalse("Fehler: Element 677 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(677)); + assertFalse("Fehler: Element 621 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(621)); + dieListe.anhaengen(777); + Tester.pruefeListenInhalt(dieListe, new int[]{296, 898, 777}); + + assertFalse("Fehler: Element 208 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(208)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 140); + Tester.pruefeListenInhalt(dieListe, new int[]{140}); + + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(62); + Tester.pruefeListenInhalt(dieListe, new int[]{62}); + + assertTrue("Fehler: Element 62 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(62)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 247); + Tester.pruefeListenInhalt(dieListe, new int[]{247}); + + assertFalse("Fehler: Element 494 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(494)); + dieListe.anhaengen(425); + Tester.pruefeListenInhalt(dieListe, new int[]{247, 425}); + + assertTrue("Fehler: Element 247 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(247)); + assertTrue("Fehler: Element 425 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(425)); + assertFalse("Fehler: Element 501 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(501)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{247}); + + dieListe.anhaengen(552); + Tester.pruefeListenInhalt(dieListe, new int[]{247, 552}); + + assertFalse("Fehler: Element 295 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(295)); + assertFalse("Fehler: Element 259 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(259)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{247}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 395); + Tester.pruefeListenInhalt(dieListe, new int[]{395}); + + dieListe.anhaengen(387); + Tester.pruefeListenInhalt(dieListe, new int[]{395, 387}); + + assertFalse("Fehler: Element 687 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(687)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{395}); + + dieListe.einfuegenBei(1, 403); + Tester.pruefeListenInhalt(dieListe, new int[]{395, 403}); + + assertTrue("Fehler: Element 403 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(403)); + assertTrue("Fehler: Element 403 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(403)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{395}); + + dieListe.einfuegenBei(0, 223); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 395}); + + dieListe.einfuegenBei(2, 830); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 395, 830}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 830}); + + assertFalse("Fehler: Element 504 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(504)); + dieListe.anhaengen(277); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 830, 277}); + + assertTrue("Fehler: Element 277 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(277)); + assertTrue("Fehler: Element 830 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(830)); + dieListe.anhaengen(292); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 830, 277, 292}); + + dieListe.einfuegenBei(4, 653); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 830, 277, 292, 653}); + + dieListe.einfuegenBei(4, 458); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 830, 277, 292, 458, 653}); + + dieListe.anhaengen(839); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 830, 277, 292, 458, 653, 839}); + + dieListe.anhaengen(100); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 830, 277, 292, 458, 653, 839, 100}); + + dieListe.anhaengen(73); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 830, 277, 292, 458, 653, 839, 100, 73}); + + assertTrue("Fehler: Element 277 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(277)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 277, 292, 458, 653, 839, 100, 73}); + + dieListe.anhaengen(110); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 277, 292, 458, 653, 839, 100, 73, 110}); + + dieListe.einfuegenBei(9, 116); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 277, 292, 458, 653, 839, 100, 73, 110, 116}); + + dieListe.einfuegenBei(9, 332); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 277, 292, 458, 653, 839, 100, 73, 110, 332, 116}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(927); + Tester.pruefeListenInhalt(dieListe, new int[]{927}); + + dieListe.anhaengen(526); + Tester.pruefeListenInhalt(dieListe, new int[]{927, 526}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{526}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(837); + Tester.pruefeListenInhalt(dieListe, new int[]{837}); + + assertFalse("Fehler: Element 311 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(311)); + dieListe.einfuegenBei(0, 135); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 837}); + + dieListe.einfuegenBei(1, 472); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 472, 837}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 472}); + + dieListe.anhaengen(811); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 472, 811}); + + assertFalse("Fehler: Element 750 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(750)); + dieListe.anhaengen(775); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 472, 811, 775}); + + dieListe.einfuegenBei(4, 895); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 472, 811, 775, 895}); + + dieListe.einfuegenBei(4, 408); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 472, 811, 775, 408, 895}); + + assertFalse("Fehler: Element 325 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(325)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(366); + Tester.pruefeListenInhalt(dieListe, new int[]{366}); + + dieListe.anhaengen(786); + Tester.pruefeListenInhalt(dieListe, new int[]{366, 786}); + + assertFalse("Fehler: Element 734 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(734)); + dieListe.anhaengen(598); + Tester.pruefeListenInhalt(dieListe, new int[]{366, 786, 598}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{366, 598}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{598}); + + dieListe.anhaengen(668); + Tester.pruefeListenInhalt(dieListe, new int[]{598, 668}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{668}); + + dieListe.einfuegenBei(1, 344); + Tester.pruefeListenInhalt(dieListe, new int[]{668, 344}); + + assertTrue("Fehler: Element 344 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(344)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{668}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(620); + Tester.pruefeListenInhalt(dieListe, new int[]{620}); + + assertFalse("Fehler: Element 157 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(157)); + dieListe.anhaengen(389); + Tester.pruefeListenInhalt(dieListe, new int[]{620, 389}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{620}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 72); + Tester.pruefeListenInhalt(dieListe, new int[]{72}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(152); + Tester.pruefeListenInhalt(dieListe, new int[]{152}); + + dieListe.einfuegenBei(0, 101); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 152}); + + dieListe.anhaengen(753); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 152, 753}); + + dieListe.anhaengen(695); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 152, 753, 695}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 152, 753}); + + dieListe.anhaengen(121); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 152, 753, 121}); + + dieListe.einfuegenBei(1, 220); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 152, 753, 121}); + + dieListe.einfuegenBei(4, 47); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 152, 753, 47, 121}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 152, 753, 121}); + + dieListe.einfuegenBei(4, 453); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 152, 753, 453, 121}); + + assertFalse("Fehler: Element 875 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(875)); + dieListe.anhaengen(349); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 152, 753, 453, 121, 349}); + + dieListe.anhaengen(634); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 152, 753, 453, 121, 349, 634}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 753, 453, 121, 349, 634}); + + assertFalse("Fehler: Element 161 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(161)); + assertFalse("Fehler: Element 759 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(759)); + dieListe.einfuegenBei(3, 820); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 753, 820, 453, 121, 349, 634}); + + dieListe.anhaengen(515); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 753, 820, 453, 121, 349, 634, 515}); + + dieListe.anhaengen(715); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 753, 820, 453, 121, 349, 634, 515, 715}); + + dieListe.einfuegenBei(6, 378); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 753, 820, 453, 121, 378, 349, 634, 515, 715}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 820, 453, 121, 378, 349, 634, 515, 715}); + + dieListe.einfuegenBei(6, 73); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 820, 453, 121, 378, 73, 349, 634, 515, 715}); + + dieListe.einfuegenBei(3, 0); + Tester.pruefeListenInhalt(dieListe, new int[]{101, 220, 820, 0, 453, 121, 378, 73, 349, 634, 515, 715}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(434); + Tester.pruefeListenInhalt(dieListe, new int[]{434}); + + dieListe.anhaengen(157); + Tester.pruefeListenInhalt(dieListe, new int[]{434, 157}); + + dieListe.anhaengen(387); + Tester.pruefeListenInhalt(dieListe, new int[]{434, 157, 387}); + + dieListe.anhaengen(306); + Tester.pruefeListenInhalt(dieListe, new int[]{434, 157, 387, 306}); + + assertTrue("Fehler: Element 387 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(387)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 387, 306}); + + assertFalse("Fehler: Element 922 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(922)); + dieListe.anhaengen(625); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 387, 306, 625}); + + dieListe.einfuegenBei(3, 751); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 387, 306, 751, 625}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 306, 751, 625}); + + assertFalse("Fehler: Element 498 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(498)); + assertFalse("Fehler: Element 782 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(782)); + dieListe.anhaengen(438); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 306, 751, 625, 438}); + + dieListe.einfuegenBei(3, 758); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 306, 751, 758, 625, 438}); + + assertFalse("Fehler: Element 509 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(509)); + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 306, 751, 758, 625}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 306, 758, 625}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 758, 625}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 758}); + + dieListe.anhaengen(584); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 758, 584}); + + dieListe.anhaengen(616); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 758, 584, 616}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{758, 584, 616}); + + assertFalse("Fehler: Element 965 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(965)); + dieListe.einfuegenBei(3, 652); + Tester.pruefeListenInhalt(dieListe, new int[]{758, 584, 616, 652}); + + assertFalse("Fehler: Element 157 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(157)); + assertFalse("Fehler: Element 644 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(644)); + assertFalse("Fehler: Element 301 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(301)); + dieListe.anhaengen(660); + Tester.pruefeListenInhalt(dieListe, new int[]{758, 584, 616, 652, 660}); + + dieListe.einfuegenBei(5, 880); + Tester.pruefeListenInhalt(dieListe, new int[]{758, 584, 616, 652, 660, 880}); + + assertFalse("Fehler: Element 407 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(407)); + dieListe.anhaengen(711); + Tester.pruefeListenInhalt(dieListe, new int[]{758, 584, 616, 652, 660, 880, 711}); + + dieListe.einfuegenBei(2, 176); + Tester.pruefeListenInhalt(dieListe, new int[]{758, 584, 176, 616, 652, 660, 880, 711}); + + dieListe.anhaengen(803); + Tester.pruefeListenInhalt(dieListe, new int[]{758, 584, 176, 616, 652, 660, 880, 711, 803}); + + assertTrue("Fehler: Element 660 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(660)); + assertFalse("Fehler: Element 573 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(573)); + dieListe.anhaengen(63); + Tester.pruefeListenInhalt(dieListe, new int[]{758, 584, 176, 616, 652, 660, 880, 711, 803, 63}); + + dieListe.einfuegenBei(4, 525); + Tester.pruefeListenInhalt(dieListe, new int[]{758, 584, 176, 616, 525, 652, 660, 880, 711, 803, 63}); + + dieListe.einfuegenBei(0, 50); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 758, 584, 176, 616, 525, 652, 660, 880, 711, 803, 63}); + + assertTrue("Fehler: Element 711 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(711)); + dieListe.einfuegenBei(8, 695); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 758, 584, 176, 616, 525, 652, 660, 695, 880, 711, 803, 63}); + + dieListe.anhaengen(605); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 758, 584, 176, 616, 525, 652, 660, 695, 880, 711, 803, 63, 605}); + + dieListe.anhaengen(983); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 758, 584, 176, 616, 525, 652, 660, 695, 880, 711, 803, 63, 605, 983}); + + assertTrue("Fehler: Element 880 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(880)); + assertFalse("Fehler: Element 224 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(224)); + dieListe.einfuegenBei(0, 535); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 616, 525, 652, 660, 695, 880, 711, 803, 63, 605, 983}); + + assertFalse("Fehler: Element 14 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(14)); + assertFalse("Fehler: Element 996 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(996)); + dieListe.anhaengen(800); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 616, 525, 652, 660, 695, 880, 711, 803, 63, 605, 983, 800}); + + dieListe.anhaengen(699); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 616, 525, 652, 660, 695, 880, 711, 803, 63, 605, 983, 800, 699}); + + dieListe.entferneBei(15); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 616, 525, 652, 660, 695, 880, 711, 803, 63, 605, 800, 699}); + + assertTrue("Fehler: Element 758 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(758)); + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 616, 525, 660, 695, 880, 711, 803, 63, 605, 800, 699}); + + dieListe.anhaengen(964); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 616, 525, 660, 695, 880, 711, 803, 63, 605, 800, 699, 964}); + + assertFalse("Fehler: Element 632 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(632)); + dieListe.anhaengen(699); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 616, 525, 660, 695, 880, 711, 803, 63, 605, 800, 699, 964, 699}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 525, 660, 695, 880, 711, 803, 63, 605, 800, 699, 964, 699}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 525, 660, 695, 880, 803, 63, 605, 800, 699, 964, 699}); + + dieListe.einfuegenBei(12, 210); + Tester.pruefeListenInhalt(dieListe, new int[]{535, 50, 758, 584, 176, 525, 660, 695, 880, 803, 63, 605, 210, 800, 699, 964, 699}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 778); + Tester.pruefeListenInhalt(dieListe, new int[]{778}); + + dieListe.einfuegenBei(0, 91); + Tester.pruefeListenInhalt(dieListe, new int[]{91, 778}); + + assertTrue("Fehler: Element 778 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(778)); + assertTrue("Fehler: Element 91 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(91)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{91}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(987); + Tester.pruefeListenInhalt(dieListe, new int[]{987}); + + assertFalse("Fehler: Element 966 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(966)); + assertTrue("Fehler: Element 987 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(987)); + dieListe.anhaengen(955); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 955}); + + assertFalse("Fehler: Element 842 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(842)); + assertFalse("Fehler: Element 556 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(556)); + assertTrue("Fehler: Element 955 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(955)); + assertTrue("Fehler: Element 987 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(987)); + assertTrue("Fehler: Element 955 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(955)); + assertTrue("Fehler: Element 955 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(955)); + dieListe.einfuegenBei(2, 337); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 955, 337}); + + assertTrue("Fehler: Element 337 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(337)); + dieListe.einfuegenBei(3, 877); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 955, 337, 877}); + + dieListe.einfuegenBei(4, 50); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 955, 337, 877, 50}); + + dieListe.einfuegenBei(1, 987); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 955, 337, 877, 50}); + + assertTrue("Fehler: Element 987 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(987)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 955, 337, 50}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 955, 50}); + + dieListe.anhaengen(666); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 955, 50, 666}); + + assertTrue("Fehler: Element 987 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(987)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 955, 50}); + + assertFalse("Fehler: Element 925 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(925)); + dieListe.einfuegenBei(4, 788); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 955, 50, 788}); + + dieListe.anhaengen(194); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 955, 50, 788, 194}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 955, 50, 194}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 50, 194}); + + dieListe.einfuegenBei(4, 451); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 987, 50, 194, 451}); + + assertTrue("Fehler: Element 987 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(987)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 50, 194, 451}); + + dieListe.einfuegenBei(2, 260); + Tester.pruefeListenInhalt(dieListe, new int[]{987, 50, 260, 194, 451}); + + assertFalse("Fehler: Element 360 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(360)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 260, 194, 451}); + + dieListe.einfuegenBei(1, 248); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 248, 260, 194, 451}); + + dieListe.einfuegenBei(1, 380); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 380, 248, 260, 194, 451}); + + dieListe.anhaengen(13); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 380, 248, 260, 194, 451, 13}); + + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 948); + Tester.pruefeListenInhalt(dieListe, new int[]{948}); + + dieListe.einfuegenBei(1, 800); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 800}); + + dieListe.einfuegenBei(0, 881); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 948, 800}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 800}); + + assertTrue("Fehler: Element 881 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(881)); + dieListe.anhaengen(568); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 800, 568}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 800}); + + dieListe.einfuegenBei(2, 734); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 800, 734}); + + assertTrue("Fehler: Element 800 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(800)); + dieListe.anhaengen(166); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 800, 734, 166}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 800, 166}); + + dieListe.anhaengen(974); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 800, 166, 974}); + + dieListe.einfuegenBei(1, 814); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 814, 800, 166, 974}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 814, 800, 166}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 814, 166}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{881, 166}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{166}); + + dieListe.einfuegenBei(1, 801); + Tester.pruefeListenInhalt(dieListe, new int[]{166, 801}); + + assertFalse("Fehler: Element 564 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(564)); + dieListe.einfuegenBei(1, 727); + Tester.pruefeListenInhalt(dieListe, new int[]{166, 727, 801}); + + assertFalse("Fehler: Element 503 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(503)); + dieListe.anhaengen(623); + Tester.pruefeListenInhalt(dieListe, new int[]{166, 727, 801, 623}); + + dieListe.anhaengen(58); + Tester.pruefeListenInhalt(dieListe, new int[]{166, 727, 801, 623, 58}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(453); + Tester.pruefeListenInhalt(dieListe, new int[]{453}); + + dieListe.einfuegenBei(0, 517); + Tester.pruefeListenInhalt(dieListe, new int[]{517, 453}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 132); + Tester.pruefeListenInhalt(dieListe, new int[]{132}); + + dieListe.einfuegenBei(0, 623); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 132}); + + assertTrue("Fehler: Element 623 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(623)); + dieListe.einfuegenBei(1, 387); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 387, 132}); + + dieListe.anhaengen(518); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 387, 132, 518}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 387, 518}); + + dieListe.anhaengen(359); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 387, 518, 359}); + + dieListe.anhaengen(845); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 387, 518, 359, 845}); + + dieListe.einfuegenBei(3, 177); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 387, 518, 177, 359, 845}); + + assertFalse("Fehler: Element 477 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(477)); + dieListe.einfuegenBei(4, 191); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 387, 518, 177, 191, 359, 845}); + + assertTrue("Fehler: Element 177 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(177)); + assertFalse("Fehler: Element 725 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(725)); + dieListe.einfuegenBei(0, 837); + Tester.pruefeListenInhalt(dieListe, new int[]{837, 623, 387, 518, 177, 191, 359, 845}); + + assertTrue("Fehler: Element 359 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(359)); + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{837, 623, 387, 518, 177, 359, 845}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(936); + Tester.pruefeListenInhalt(dieListe, new int[]{936}); + + dieListe.anhaengen(0); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 0}); + + dieListe.einfuegenBei(2, 588); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 0, 588}); + + assertFalse("Fehler: Element 470 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(470)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 0}); + + dieListe.anhaengen(87); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 0, 87}); + + assertFalse("Fehler: Element 784 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(784)); + dieListe.anhaengen(872); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 0, 87, 872}); + + assertFalse("Fehler: Element 955 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(955)); + dieListe.einfuegenBei(3, 964); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 0, 87, 964, 872}); + + assertTrue("Fehler: Element 0 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(0)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 87, 964, 872}); + + dieListe.einfuegenBei(4, 516); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 87, 964, 872, 516}); + + dieListe.anhaengen(22); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 87, 964, 872, 516, 22}); + + dieListe.einfuegenBei(3, 649); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 87, 964, 649, 872, 516, 22}); + + dieListe.anhaengen(93); + Tester.pruefeListenInhalt(dieListe, new int[]{936, 87, 964, 649, 872, 516, 22, 93}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(828); + Tester.pruefeListenInhalt(dieListe, new int[]{828}); + + dieListe.einfuegenBei(1, 113); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 113}); + + assertFalse("Fehler: Element 485 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(485)); + assertFalse("Fehler: Element 227 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(227)); + dieListe.anhaengen(306); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 113, 306}); + + dieListe.einfuegenBei(2, 27); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 113, 27, 306}); + + assertFalse("Fehler: Element 449 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(449)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 27, 306}); + + dieListe.anhaengen(28); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 27, 306, 28}); + + assertTrue("Fehler: Element 828 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(828)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 27, 28}); + + dieListe.einfuegenBei(3, 511); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 27, 28, 511}); + + assertTrue("Fehler: Element 28 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(28)); + dieListe.anhaengen(749); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 27, 28, 511, 749}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 28, 511, 749}); + + dieListe.anhaengen(603); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 28, 511, 749, 603}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 28, 511, 749}); + + dieListe.einfuegenBei(2, 539); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 28, 539, 511, 749}); + + dieListe.anhaengen(331); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 28, 539, 511, 749, 331}); + + dieListe.anhaengen(837); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 28, 539, 511, 749, 331, 837}); + + dieListe.anhaengen(353); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 28, 539, 511, 749, 331, 837, 353}); + + assertFalse("Fehler: Element 412 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(412)); + dieListe.anhaengen(456); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 28, 539, 511, 749, 331, 837, 353, 456}); + + assertTrue("Fehler: Element 456 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(456)); + dieListe.einfuegenBei(0, 524); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 828, 28, 539, 511, 749, 331, 837, 353, 456}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 828, 28, 539, 749, 331, 837, 353, 456}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 828, 28, 539, 749, 331, 353, 456}); + + assertTrue("Fehler: Element 28 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(28)); + assertTrue("Fehler: Element 353 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(353)); + dieListe.anhaengen(707); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 828, 28, 539, 749, 331, 353, 456, 707}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 828, 28, 539, 749, 331, 353, 456}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 828, 28, 539, 331, 353, 456}); + + assertTrue("Fehler: Element 524 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(524)); + assertTrue("Fehler: Element 353 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(353)); + dieListe.anhaengen(264); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 828, 28, 539, 331, 353, 456, 264}); + + dieListe.einfuegenBei(1, 119); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 119, 828, 28, 539, 331, 353, 456, 264}); + + assertFalse("Fehler: Element 482 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(482)); + dieListe.anhaengen(127); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 119, 828, 28, 539, 331, 353, 456, 264, 127}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{524, 119, 828, 28, 539, 331, 353, 456, 264}); + + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(154); + Tester.pruefeListenInhalt(dieListe, new int[]{154}); + + dieListe.einfuegenBei(0, 572); + Tester.pruefeListenInhalt(dieListe, new int[]{572, 154}); + + dieListe.einfuegenBei(0, 253); + Tester.pruefeListenInhalt(dieListe, new int[]{253, 572, 154}); + + assertTrue("Fehler: Element 253 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(253)); + dieListe.anhaengen(282); + Tester.pruefeListenInhalt(dieListe, new int[]{253, 572, 154, 282}); + + assertFalse("Fehler: Element 704 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(704)); + dieListe.einfuegenBei(3, 692); + Tester.pruefeListenInhalt(dieListe, new int[]{253, 572, 154, 692, 282}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{253, 572, 154, 692}); + + assertFalse("Fehler: Element 862 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(862)); + assertTrue("Fehler: Element 253 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(253)); + assertTrue("Fehler: Element 154 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(154)); + dieListe.anhaengen(587); + Tester.pruefeListenInhalt(dieListe, new int[]{253, 572, 154, 692, 587}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{253, 572, 154, 587}); + + assertFalse("Fehler: Element 818 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(818)); + assertFalse("Fehler: Element 878 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(878)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{253, 572, 587}); + + assertFalse("Fehler: Element 293 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(293)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{253, 587}); + + assertFalse("Fehler: Element 527 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(527)); + assertTrue("Fehler: Element 587 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(587)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{587}); + + dieListe.einfuegenBei(0, 528); + Tester.pruefeListenInhalt(dieListe, new int[]{528, 587}); + + assertFalse("Fehler: Element 634 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(634)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 175); + Tester.pruefeListenInhalt(dieListe, new int[]{175}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 268); + Tester.pruefeListenInhalt(dieListe, new int[]{268}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(239); + Tester.pruefeListenInhalt(dieListe, new int[]{239}); + + assertTrue("Fehler: Element 239 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(239)); + dieListe.einfuegenBei(1, 705); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 705}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{239}); + + assertTrue("Fehler: Element 239 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(239)); + dieListe.anhaengen(77); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 77}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{239}); + + dieListe.anhaengen(461); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 461}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{239}); + + assertTrue("Fehler: Element 239 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(239)); + assertTrue("Fehler: Element 239 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(239)); + dieListe.einfuegenBei(0, 396); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 239}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{396}); + + dieListe.anhaengen(749); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 749}); + + assertTrue("Fehler: Element 396 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(396)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{396}); + + assertTrue("Fehler: Element 396 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(396)); + dieListe.einfuegenBei(1, 220); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220}); + + dieListe.anhaengen(969); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 969}); + + dieListe.anhaengen(739); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 969, 739}); + + dieListe.anhaengen(846); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 969, 739, 846}); + + dieListe.einfuegenBei(2, 784); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 784, 969, 739, 846}); + + dieListe.anhaengen(696); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 784, 969, 739, 846, 696}); + + dieListe.anhaengen(509); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 784, 969, 739, 846, 696, 509}); + + assertFalse("Fehler: Element 367 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(367)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 784, 739, 846, 696, 509}); + + dieListe.anhaengen(44); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 784, 739, 846, 696, 509, 44}); + + assertFalse("Fehler: Element 718 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(718)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 784, 739, 846, 696, 44}); + + assertFalse("Fehler: Element 881 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(881)); + dieListe.anhaengen(947); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 220, 784, 739, 846, 696, 44, 947}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{396, 784, 739, 846, 696, 44, 947}); + + dieListe.einfuegenBei(0, 287); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 396, 784, 739, 846, 696, 44, 947}); + + dieListe.einfuegenBei(6, 982); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 396, 784, 739, 846, 696, 982, 44, 947}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 784, 739, 846, 696, 982, 44, 947}); + + dieListe.einfuegenBei(3, 226); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 784, 739, 226, 846, 696, 982, 44, 947}); + + dieListe.einfuegenBei(2, 980); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 784, 980, 739, 226, 846, 696, 982, 44, 947}); + + dieListe.anhaengen(390); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 784, 980, 739, 226, 846, 696, 982, 44, 947, 390}); + + dieListe.einfuegenBei(6, 850); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 784, 980, 739, 226, 846, 850, 696, 982, 44, 947, 390}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 784, 980, 739, 226, 846, 850, 696, 982, 44, 947}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 784, 980, 739, 226, 846, 850, 982, 44, 947}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 784, 739, 226, 846, 850, 982, 44, 947}); + + assertFalse("Fehler: Element 269 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(269)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 739, 226, 846, 850, 982, 44, 947}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 739, 226, 850, 982, 44, 947}); + + dieListe.einfuegenBei(2, 467); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 739, 467, 226, 850, 982, 44, 947}); + + assertFalse("Fehler: Element 512 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(512)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 739, 226, 850, 982, 44, 947}); + + dieListe.anhaengen(351); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 739, 226, 850, 982, 44, 947, 351}); + + dieListe.einfuegenBei(2, 644); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 739, 644, 226, 850, 982, 44, 947, 351}); + + assertTrue("Fehler: Element 739 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(739)); + assertTrue("Fehler: Element 287 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(287)); + dieListe.einfuegenBei(1, 594); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 739, 644, 226, 850, 982, 44, 947, 351}); + + dieListe.anhaengen(940); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 739, 644, 226, 850, 982, 44, 947, 351, 940}); + + dieListe.einfuegenBei(2, 531); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 739, 644, 226, 850, 982, 44, 947, 351, 940}); + + dieListe.anhaengen(544); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 739, 644, 226, 850, 982, 44, 947, 351, 940, 544}); + + assertFalse("Fehler: Element 35 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(35)); + dieListe.anhaengen(409); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 739, 644, 226, 850, 982, 44, 947, 351, 940, 544, 409}); + + assertFalse("Fehler: Element 523 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(523)); + assertTrue("Fehler: Element 940 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(940)); + dieListe.einfuegenBei(13, 257); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 739, 644, 226, 850, 982, 44, 947, 351, 940, 544, 257, 409}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 739, 644, 226, 850, 982, 947, 351, 940, 544, 257, 409}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 739, 644, 226, 982, 947, 351, 940, 544, 257, 409}); + + assertTrue("Fehler: Element 226 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(226)); + assertFalse("Fehler: Element 717 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(717)); + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 739, 644, 226, 982, 947, 351, 940, 257, 409}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 739, 644, 226, 947, 351, 940, 257, 409}); + + assertTrue("Fehler: Element 739 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(739)); + dieListe.anhaengen(37); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 739, 644, 226, 947, 351, 940, 257, 409, 37}); + + dieListe.einfuegenBei(3, 28); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 28, 739, 644, 226, 947, 351, 940, 257, 409, 37}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{287, 594, 531, 28, 739, 644, 947, 351, 940, 257, 409, 37}); + + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(547); + Tester.pruefeListenInhalt(dieListe, new int[]{547}); + + dieListe.einfuegenBei(1, 385); + Tester.pruefeListenInhalt(dieListe, new int[]{547, 385}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{547}); + + assertFalse("Fehler: Element 189 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(189)); + assertTrue("Fehler: Element 547 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(547)); + dieListe.einfuegenBei(1, 346); + Tester.pruefeListenInhalt(dieListe, new int[]{547, 346}); + + dieListe.anhaengen(142); + Tester.pruefeListenInhalt(dieListe, new int[]{547, 346, 142}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 142}); + + assertTrue("Fehler: Element 346 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(346)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{142}); + + dieListe.anhaengen(920); + Tester.pruefeListenInhalt(dieListe, new int[]{142, 920}); + + dieListe.anhaengen(857); + Tester.pruefeListenInhalt(dieListe, new int[]{142, 920, 857}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{142, 920}); + + dieListe.anhaengen(715); + Tester.pruefeListenInhalt(dieListe, new int[]{142, 920, 715}); + + dieListe.anhaengen(964); + Tester.pruefeListenInhalt(dieListe, new int[]{142, 920, 715, 964}); + + assertTrue("Fehler: Element 920 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(920)); + dieListe.anhaengen(516); + Tester.pruefeListenInhalt(dieListe, new int[]{142, 920, 715, 964, 516}); + + assertTrue("Fehler: Element 964 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(964)); + dieListe.einfuegenBei(1, 171); + Tester.pruefeListenInhalt(dieListe, new int[]{142, 171, 920, 715, 964, 516}); + + dieListe.einfuegenBei(2, 48); + Tester.pruefeListenInhalt(dieListe, new int[]{142, 171, 48, 920, 715, 964, 516}); + + dieListe.einfuegenBei(4, 256); + Tester.pruefeListenInhalt(dieListe, new int[]{142, 171, 48, 920, 256, 715, 964, 516}); + + dieListe.einfuegenBei(0, 239); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 142, 171, 48, 920, 256, 715, 964, 516}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 142, 171, 48, 920, 256, 715, 516}); + + assertTrue("Fehler: Element 715 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(715)); + dieListe.anhaengen(725); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 142, 171, 48, 920, 256, 715, 516, 725}); + + dieListe.einfuegenBei(1, 295); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 256, 715, 516, 725}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 256, 715, 516}); + + dieListe.anhaengen(355); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 256, 715, 516, 355}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 256, 516, 355}); + + assertFalse("Fehler: Element 930 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(930)); + assertFalse("Fehler: Element 934 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(934)); + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 256, 355}); + + assertFalse("Fehler: Element 179 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(179)); + dieListe.anhaengen(412); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 256, 355, 412}); + + dieListe.anhaengen(823); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 256, 355, 412, 823}); + + dieListe.einfuegenBei(6, 150); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 150, 256, 355, 412, 823}); + + dieListe.anhaengen(13); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 150, 256, 355, 412, 823, 13}); + + dieListe.anhaengen(484); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 150, 256, 355, 412, 823, 13, 484}); + + dieListe.anhaengen(493); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 150, 256, 355, 412, 823, 13, 484, 493}); + + dieListe.anhaengen(74); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 150, 256, 355, 412, 823, 13, 484, 493, 74}); + + assertTrue("Fehler: Element 171 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(171)); + assertTrue("Fehler: Element 150 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(150)); + dieListe.anhaengen(489); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 150, 256, 355, 412, 823, 13, 484, 493, 74, 489}); + + dieListe.einfuegenBei(6, 238); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 238, 150, 256, 355, 412, 823, 13, 484, 493, 74, 489}); + + dieListe.anhaengen(417); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 238, 150, 256, 355, 412, 823, 13, 484, 493, 74, 489, 417}); + + assertFalse("Fehler: Element 456 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(456)); + dieListe.anhaengen(702); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 238, 150, 256, 355, 412, 823, 13, 484, 493, 74, 489, 417, 702}); + + assertTrue("Fehler: Element 171 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(171)); + dieListe.einfuegenBei(16, 947); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 238, 150, 256, 355, 412, 823, 13, 484, 493, 74, 947, 489, 417, 702}); + + dieListe.entferneBei(18); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 920, 238, 150, 256, 355, 412, 823, 13, 484, 493, 74, 947, 489, 702}); + + dieListe.einfuegenBei(5, 573); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 573, 920, 238, 150, 256, 355, 412, 823, 13, 484, 493, 74, 947, 489, 702}); + + dieListe.entferneBei(16); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 573, 920, 238, 150, 256, 355, 412, 823, 13, 484, 493, 947, 489, 702}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 573, 920, 238, 150, 256, 412, 823, 13, 484, 493, 947, 489, 702}); + + dieListe.einfuegenBei(6, 794); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 573, 794, 920, 238, 150, 256, 412, 823, 13, 484, 493, 947, 489, 702}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 142, 171, 48, 573, 794, 920, 238, 150, 412, 823, 13, 484, 493, 947, 489, 702}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 171, 48, 573, 794, 920, 238, 150, 412, 823, 13, 484, 493, 947, 489, 702}); + + dieListe.anhaengen(420); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 171, 48, 573, 794, 920, 238, 150, 412, 823, 13, 484, 493, 947, 489, 702, 420}); + + assertFalse("Fehler: Element 723 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(723)); + dieListe.anhaengen(207); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 171, 48, 573, 794, 920, 238, 150, 412, 823, 13, 484, 493, 947, 489, 702, 420, 207}); + + assertTrue("Fehler: Element 207 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(207)); + assertFalse("Fehler: Element 179 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(179)); + dieListe.anhaengen(70); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 171, 48, 573, 794, 920, 238, 150, 412, 823, 13, 484, 493, 947, 489, 702, 420, 207, 70}); + + assertTrue("Fehler: Element 412 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(412)); + dieListe.einfuegenBei(13, 373); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 171, 48, 573, 794, 920, 238, 150, 412, 823, 13, 484, 373, 493, 947, 489, 702, 420, 207, 70}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 171, 48, 573, 794, 920, 150, 412, 823, 13, 484, 373, 493, 947, 489, 702, 420, 207, 70}); + + dieListe.einfuegenBei(11, 825); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 295, 171, 48, 573, 794, 920, 150, 412, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 207, 70}); + + dieListe.einfuegenBei(1, 170); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 573, 794, 920, 150, 412, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 207, 70}); + + dieListe.anhaengen(450); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 573, 794, 920, 150, 412, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 207, 70, 450}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 573, 920, 150, 412, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 207, 70, 450}); + + dieListe.entferneBei(19); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 573, 920, 150, 412, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450}); + + dieListe.anhaengen(196); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 573, 920, 150, 412, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196}); + + dieListe.einfuegenBei(9, 574); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 573, 920, 150, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196}); + + dieListe.einfuegenBei(5, 335); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 335, 573, 920, 150, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196}); + + dieListe.anhaengen(348); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 335, 573, 920, 150, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348}); + + dieListe.anhaengen(935); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 335, 573, 920, 150, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 335, 573, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935}); + + assertTrue("Fehler: Element 420 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(420)); + assertTrue("Fehler: Element 295 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(295)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935}); + + dieListe.anhaengen(441); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 295, 171, 48, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935, 441}); + + dieListe.einfuegenBei(2, 688); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 688, 295, 171, 48, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935, 441}); + + assertTrue("Fehler: Element 489 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(489)); + dieListe.anhaengen(558); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 688, 295, 171, 48, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935, 441, 558}); + + dieListe.einfuegenBei(1, 613); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 295, 171, 48, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935, 441, 558}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 295, 171, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935, 441, 558}); + + assertFalse("Fehler: Element 303 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(303)); + assertFalse("Fehler: Element 111 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(111)); + dieListe.anhaengen(369); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 295, 171, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935, 441, 558, 369}); + + dieListe.anhaengen(209); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 295, 171, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 348, 935, 441, 558, 369, 209}); + + dieListe.einfuegenBei(23, 243); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 295, 171, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 420, 70, 450, 196, 243, 348, 935, 441, 558, 369, 209}); + + dieListe.einfuegenBei(19, 523); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 295, 171, 335, 920, 412, 574, 823, 13, 825, 484, 373, 493, 947, 489, 702, 523, 420, 70, 450, 196, 243, 348, 935, 441, 558, 369, 209}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 295, 171, 335, 920, 412, 574, 823, 825, 484, 373, 493, 947, 489, 702, 523, 420, 70, 450, 196, 243, 348, 935, 441, 558, 369, 209}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 295, 171, 335, 920, 412, 574, 823, 484, 373, 493, 947, 489, 702, 523, 420, 70, 450, 196, 243, 348, 935, 441, 558, 369, 209}); + + dieListe.einfuegenBei(4, 144); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 144, 295, 171, 335, 920, 412, 574, 823, 484, 373, 493, 947, 489, 702, 523, 420, 70, 450, 196, 243, 348, 935, 441, 558, 369, 209}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 613, 170, 688, 144, 295, 171, 335, 920, 574, 823, 484, 373, 493, 947, 489, 702, 523, 420, 70, 450, 196, 243, 348, 935, 441, 558, 369, 209}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 688, 144, 295, 171, 335, 920, 574, 823, 484, 373, 493, 947, 489, 702, 523, 420, 70, 450, 196, 243, 348, 935, 441, 558, 369, 209}); + + assertFalse("Fehler: Element 121 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(121)); + assertTrue("Fehler: Element 489 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(489)); + dieListe.anhaengen(48); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 688, 144, 295, 171, 335, 920, 574, 823, 484, 373, 493, 947, 489, 702, 523, 420, 70, 450, 196, 243, 348, 935, 441, 558, 369, 209, 48}); + + dieListe.einfuegenBei(16, 365); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 170, 688, 144, 295, 171, 335, 920, 574, 823, 484, 373, 493, 947, 489, 702, 365, 523, 420, 70, 450, 196, 243, 348, 935, 441, 558, 369, 209, 48}); + + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 842); + Tester.pruefeListenInhalt(dieListe, new int[]{842}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(767); + Tester.pruefeListenInhalt(dieListe, new int[]{767}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 846); + Tester.pruefeListenInhalt(dieListe, new int[]{846}); + + dieListe.anhaengen(433); + Tester.pruefeListenInhalt(dieListe, new int[]{846, 433}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{433}); + + assertFalse("Fehler: Element 820 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(820)); + dieListe.anhaengen(466); + Tester.pruefeListenInhalt(dieListe, new int[]{433, 466}); + + dieListe.anhaengen(701); + Tester.pruefeListenInhalt(dieListe, new int[]{433, 466, 701}); + + dieListe.einfuegenBei(1, 40); + Tester.pruefeListenInhalt(dieListe, new int[]{433, 40, 466, 701}); + + dieListe.anhaengen(465); + Tester.pruefeListenInhalt(dieListe, new int[]{433, 40, 466, 701, 465}); + + dieListe.einfuegenBei(0, 121); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 433, 40, 466, 701, 465}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{433, 40, 466, 701, 465}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{433, 466, 701, 465}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 465}); + + dieListe.anhaengen(94); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 465, 94}); + + dieListe.anhaengen(660); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 465, 94, 660}); + + assertFalse("Fehler: Element 31 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(31)); + dieListe.anhaengen(728); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 465, 94, 660, 728}); + + dieListe.anhaengen(683); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 465, 94, 660, 728, 683}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 465, 94, 728, 683}); + + dieListe.anhaengen(15); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 465, 94, 728, 683, 15}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 94, 728, 683, 15}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 728, 683, 15}); + + dieListe.anhaengen(384); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 728, 683, 15, 384}); + + assertFalse("Fehler: Element 155 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(155)); + assertTrue("Fehler: Element 683 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(683)); + assertTrue("Fehler: Element 728 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(728)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 728, 683, 384}); + + dieListe.einfuegenBei(1, 182); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 182, 701, 728, 683, 384}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 701, 728, 683, 384}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 728, 683, 384}); + + dieListe.anhaengen(211); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 728, 683, 384, 211}); + + dieListe.einfuegenBei(2, 916); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 728, 916, 683, 384, 211}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 916, 683, 384, 211}); + + dieListe.anhaengen(450); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 916, 683, 384, 211, 450}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 916, 683, 384, 211}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{466, 683, 384, 211}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(916); + Tester.pruefeListenInhalt(dieListe, new int[]{916}); + + dieListe.anhaengen(598); + Tester.pruefeListenInhalt(dieListe, new int[]{916, 598}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{598}); + + assertTrue("Fehler: Element 598 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(598)); + assertFalse("Fehler: Element 112 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(112)); + assertTrue("Fehler: Element 598 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(598)); + dieListe.einfuegenBei(1, 161); + Tester.pruefeListenInhalt(dieListe, new int[]{598, 161}); + + assertTrue("Fehler: Element 598 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(598)); + dieListe.einfuegenBei(1, 483); + Tester.pruefeListenInhalt(dieListe, new int[]{598, 483, 161}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{598, 483}); + + assertTrue("Fehler: Element 483 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(483)); + dieListe.anhaengen(370); + Tester.pruefeListenInhalt(dieListe, new int[]{598, 483, 370}); + + assertFalse("Fehler: Element 266 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(266)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370}); + + dieListe.anhaengen(497); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 497}); + + assertTrue("Fehler: Element 497 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(497)); + dieListe.einfuegenBei(2, 273); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 273, 497}); + + dieListe.einfuegenBei(2, 650); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 273, 497}); + + dieListe.anhaengen(593); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 273, 497, 593}); + + dieListe.einfuegenBei(6, 51); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 273, 497, 593, 51}); + + dieListe.einfuegenBei(3, 175); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 175, 273, 497, 593, 51}); + + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 175, 273, 497, 593, 51, 581}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 175, 273, 593, 51, 581}); + + assertTrue("Fehler: Element 581 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(581)); + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 175, 273, 51, 581}); + + dieListe.anhaengen(514); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 175, 273, 51, 581, 514}); + + assertFalse("Fehler: Element 80 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(80)); + dieListe.einfuegenBei(3, 930); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 273, 51, 581, 514}); + + dieListe.anhaengen(23); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 273, 51, 581, 514, 23}); + + dieListe.einfuegenBei(7, 375); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 273, 51, 375, 581, 514, 23}); + + dieListe.anhaengen(478); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 273, 51, 375, 581, 514, 23, 478}); + + dieListe.anhaengen(793); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 273, 51, 375, 581, 514, 23, 478, 793}); + + assertTrue("Fehler: Element 514 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(514)); + dieListe.einfuegenBei(9, 303); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 273, 51, 375, 581, 303, 514, 23, 478, 793}); + + assertFalse("Fehler: Element 747 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(747)); + dieListe.einfuegenBei(11, 379); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 273, 51, 375, 581, 303, 514, 379, 23, 478, 793}); + + assertFalse("Fehler: Element 419 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(419)); + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 375, 581, 303, 514, 379, 23, 478, 793}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 375, 303, 514, 379, 23, 478, 793}); + + dieListe.anhaengen(789); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 375, 303, 514, 379, 23, 478, 793, 789}); + + dieListe.anhaengen(37); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 375, 303, 514, 379, 23, 478, 793, 789, 37}); + + dieListe.anhaengen(727); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 375, 303, 514, 379, 23, 478, 793, 789, 37, 727}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 375, 303, 514, 23, 478, 793, 789, 37, 727}); + + assertTrue("Fehler: Element 727 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(727)); + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 375, 303, 514, 23, 793, 789, 37, 727}); + + dieListe.anhaengen(37); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 375, 303, 514, 23, 793, 789, 37, 727, 37}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 303, 514, 23, 793, 789, 37, 727, 37}); + + dieListe.anhaengen(741); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 370, 650, 930, 175, 51, 303, 514, 23, 793, 789, 37, 727, 37, 741}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(280); + Tester.pruefeListenInhalt(dieListe, new int[]{280}); + + dieListe.einfuegenBei(0, 744); + Tester.pruefeListenInhalt(dieListe, new int[]{744, 280}); + + dieListe.einfuegenBei(1, 382); + Tester.pruefeListenInhalt(dieListe, new int[]{744, 382, 280}); + + assertTrue("Fehler: Element 744 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(744)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{382, 280}); + + assertTrue("Fehler: Element 280 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(280)); + dieListe.anhaengen(194); + Tester.pruefeListenInhalt(dieListe, new int[]{382, 280, 194}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 932); + Tester.pruefeListenInhalt(dieListe, new int[]{932}); + + assertFalse("Fehler: Element 24 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(24)); + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 441); + Tester.pruefeListenInhalt(dieListe, new int[]{441}); + + dieListe.anhaengen(248); + Tester.pruefeListenInhalt(dieListe, new int[]{441, 248}); + + assertTrue("Fehler: Element 441 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(441)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{248}); + + assertFalse("Fehler: Element 594 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(594)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(780); + Tester.pruefeListenInhalt(dieListe, new int[]{780}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(676); + Tester.pruefeListenInhalt(dieListe, new int[]{676}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(150); + Tester.pruefeListenInhalt(dieListe, new int[]{150}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(932); + Tester.pruefeListenInhalt(dieListe, new int[]{932}); + + dieListe.anhaengen(942); + Tester.pruefeListenInhalt(dieListe, new int[]{932, 942}); + + dieListe.einfuegenBei(0, 162); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 932, 942}); + + dieListe.einfuegenBei(3, 778); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 932, 942, 778}); + + assertFalse("Fehler: Element 241 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(241)); + dieListe.einfuegenBei(1, 95); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 932, 942, 778}); + + dieListe.anhaengen(366); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 932, 942, 778, 366}); + + assertFalse("Fehler: Element 76 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(76)); + dieListe.einfuegenBei(6, 134); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 932, 942, 778, 366, 134}); + + assertTrue("Fehler: Element 134 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(134)); + assertFalse("Fehler: Element 966 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(966)); + dieListe.einfuegenBei(7, 464); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 932, 942, 778, 366, 134, 464}); + + dieListe.anhaengen(910); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 932, 942, 778, 366, 134, 464, 910}); + + assertFalse("Fehler: Element 822 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(822)); + assertFalse("Fehler: Element 638 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(638)); + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 932, 942, 778, 134, 464, 910}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 464, 910}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910}); + + assertFalse("Fehler: Element 325 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(325)); + dieListe.anhaengen(755); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 755}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910}); + + dieListe.einfuegenBei(6, 82); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 82}); + + assertTrue("Fehler: Element 910 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(910)); + dieListe.anhaengen(164); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 82, 164}); + + dieListe.anhaengen(916); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 82, 164, 916}); + + assertFalse("Fehler: Element 149 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(149)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 164, 916}); + + dieListe.anhaengen(777); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 164, 916, 777}); + + dieListe.anhaengen(618); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 164, 916, 777, 618}); + + assertFalse("Fehler: Element 928 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(928)); + dieListe.einfuegenBei(6, 356); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 356, 164, 916, 777, 618}); + + dieListe.einfuegenBei(7, 239); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 356, 239, 164, 916, 777, 618}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 356, 239, 164, 916, 777}); + + assertTrue("Fehler: Element 95 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(95)); + assertTrue("Fehler: Element 777 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(777)); + dieListe.einfuegenBei(7, 311); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 356, 311, 239, 164, 916, 777}); + + assertTrue("Fehler: Element 239 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(239)); + dieListe.anhaengen(774); + Tester.pruefeListenInhalt(dieListe, new int[]{162, 95, 942, 778, 134, 910, 356, 311, 239, 164, 916, 777, 774}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(787); + Tester.pruefeListenInhalt(dieListe, new int[]{787}); + + assertTrue("Fehler: Element 787 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(787)); + dieListe.anhaengen(732); + Tester.pruefeListenInhalt(dieListe, new int[]{787, 732}); + + dieListe.anhaengen(750); + Tester.pruefeListenInhalt(dieListe, new int[]{787, 732, 750}); + + dieListe.einfuegenBei(2, 158); + Tester.pruefeListenInhalt(dieListe, new int[]{787, 732, 158, 750}); + + dieListe.anhaengen(645); + Tester.pruefeListenInhalt(dieListe, new int[]{787, 732, 158, 750, 645}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(196); + Tester.pruefeListenInhalt(dieListe, new int[]{196}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(117); + Tester.pruefeListenInhalt(dieListe, new int[]{117}); + + dieListe.anhaengen(937); + Tester.pruefeListenInhalt(dieListe, new int[]{117, 937}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{117}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 485); + Tester.pruefeListenInhalt(dieListe, new int[]{485}); + + assertTrue("Fehler: Element 485 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(485)); + dieListe.einfuegenBei(0, 481); + Tester.pruefeListenInhalt(dieListe, new int[]{481, 485}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{481}); + + assertFalse("Fehler: Element 898 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(898)); + dieListe.einfuegenBei(1, 285); + Tester.pruefeListenInhalt(dieListe, new int[]{481, 285}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{285}); + + dieListe.anhaengen(133); + Tester.pruefeListenInhalt(dieListe, new int[]{285, 133}); + + dieListe.anhaengen(444); + Tester.pruefeListenInhalt(dieListe, new int[]{285, 133, 444}); + + assertTrue("Fehler: Element 133 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(133)); + assertFalse("Fehler: Element 393 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(393)); + assertFalse("Fehler: Element 777 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(777)); + dieListe.einfuegenBei(3, 276); + Tester.pruefeListenInhalt(dieListe, new int[]{285, 133, 444, 276}); + + dieListe.anhaengen(213); + Tester.pruefeListenInhalt(dieListe, new int[]{285, 133, 444, 276, 213}); + + assertFalse("Fehler: Element 891 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(891)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{285, 133, 276, 213}); + + assertFalse("Fehler: Element 764 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(764)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{285, 276, 213}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{276, 213}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{213}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 251); + Tester.pruefeListenInhalt(dieListe, new int[]{251}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 745); + Tester.pruefeListenInhalt(dieListe, new int[]{745}); + + assertTrue("Fehler: Element 745 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(745)); + assertFalse("Fehler: Element 233 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(233)); + assertTrue("Fehler: Element 745 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(745)); + dieListe.anhaengen(562); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 562}); + + dieListe.anhaengen(447); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 562, 447}); + + dieListe.einfuegenBei(2, 274); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 562, 274, 447}); + + dieListe.anhaengen(620); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 562, 274, 447, 620}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 562, 274, 447}); + + dieListe.einfuegenBei(2, 779); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 562, 779, 274, 447}); + + assertTrue("Fehler: Element 447 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(447)); + dieListe.einfuegenBei(2, 118); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 562, 118, 779, 274, 447}); + + assertFalse("Fehler: Element 494 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(494)); + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 903); + Tester.pruefeListenInhalt(dieListe, new int[]{903}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 665); + Tester.pruefeListenInhalt(dieListe, new int[]{665}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(605); + Tester.pruefeListenInhalt(dieListe, new int[]{605}); + + dieListe.einfuegenBei(0, 446); + Tester.pruefeListenInhalt(dieListe, new int[]{446, 605}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{605}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(900); + Tester.pruefeListenInhalt(dieListe, new int[]{900}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 59); + Tester.pruefeListenInhalt(dieListe, new int[]{59}); + + assertTrue("Fehler: Element 59 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(59)); + dieListe.anhaengen(350); + Tester.pruefeListenInhalt(dieListe, new int[]{59, 350}); + + assertTrue("Fehler: Element 59 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(59)); + dieListe.anhaengen(180); + Tester.pruefeListenInhalt(dieListe, new int[]{59, 350, 180}); + + assertTrue("Fehler: Element 59 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(59)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{59, 350}); + + dieListe.anhaengen(853); + Tester.pruefeListenInhalt(dieListe, new int[]{59, 350, 853}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 853}); + + dieListe.anhaengen(311); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 853, 311}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 853}); + + dieListe.anhaengen(634); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 853, 634}); + + dieListe.einfuegenBei(2, 243); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 853, 243, 634}); + + dieListe.anhaengen(740); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 853, 243, 634, 740}); + + assertFalse("Fehler: Element 11 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(11)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 243, 634, 740}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 634, 740}); + + assertTrue("Fehler: Element 634 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(634)); + assertTrue("Fehler: Element 634 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(634)); + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 634, 740, 861}); + + dieListe.anhaengen(828); + Tester.pruefeListenInhalt(dieListe, new int[]{350, 634, 740, 861, 828}); + + assertFalse("Fehler: Element 837 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(837)); + assertFalse("Fehler: Element 714 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(714)); + dieListe.einfuegenBei(0, 664); + Tester.pruefeListenInhalt(dieListe, new int[]{664, 350, 634, 740, 861, 828}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{664, 634, 740, 861, 828}); + + assertTrue("Fehler: Element 861 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(861)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{664, 740, 861, 828}); + + dieListe.anhaengen(519); + Tester.pruefeListenInhalt(dieListe, new int[]{664, 740, 861, 828, 519}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{664, 740, 828, 519}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{740, 828, 519}); + + dieListe.einfuegenBei(0, 627); + Tester.pruefeListenInhalt(dieListe, new int[]{627, 740, 828, 519}); + + dieListe.einfuegenBei(2, 518); + Tester.pruefeListenInhalt(dieListe, new int[]{627, 740, 518, 828, 519}); + + assertTrue("Fehler: Element 519 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(519)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{627, 740, 518, 828}); + + dieListe.einfuegenBei(0, 443); + Tester.pruefeListenInhalt(dieListe, new int[]{443, 627, 740, 518, 828}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{443, 627, 518, 828}); + + assertFalse("Fehler: Element 210 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(210)); + dieListe.einfuegenBei(2, 280); + Tester.pruefeListenInhalt(dieListe, new int[]{443, 627, 280, 518, 828}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(425); + Tester.pruefeListenInhalt(dieListe, new int[]{425}); + + dieListe.einfuegenBei(1, 436); + Tester.pruefeListenInhalt(dieListe, new int[]{425, 436}); + + dieListe.anhaengen(637); + Tester.pruefeListenInhalt(dieListe, new int[]{425, 436, 637}); + + dieListe.einfuegenBei(0, 410); + Tester.pruefeListenInhalt(dieListe, new int[]{410, 425, 436, 637}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{425, 436, 637}); + + dieListe.einfuegenBei(1, 656); + Tester.pruefeListenInhalt(dieListe, new int[]{425, 656, 436, 637}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 61); + Tester.pruefeListenInhalt(dieListe, new int[]{61}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(502); + Tester.pruefeListenInhalt(dieListe, new int[]{502}); + + dieListe.einfuegenBei(1, 94); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 94}); + + dieListe.einfuegenBei(0, 755); + Tester.pruefeListenInhalt(dieListe, new int[]{755, 502, 94}); + + dieListe.einfuegenBei(2, 542); + Tester.pruefeListenInhalt(dieListe, new int[]{755, 502, 542, 94}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 542, 94}); + + assertFalse("Fehler: Element 675 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(675)); + assertTrue("Fehler: Element 502 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(502)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 94}); + + dieListe.anhaengen(869); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 94, 869}); + + dieListe.einfuegenBei(1, 305); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 305, 94, 869}); + + dieListe.anhaengen(970); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 305, 94, 869, 970}); + + assertTrue("Fehler: Element 94 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(94)); + assertTrue("Fehler: Element 94 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(94)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{305, 94, 869, 970}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{94, 869, 970}); + + assertTrue("Fehler: Element 970 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(970)); + dieListe.anhaengen(280); + Tester.pruefeListenInhalt(dieListe, new int[]{94, 869, 970, 280}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{94, 869, 280}); + + dieListe.anhaengen(498); + Tester.pruefeListenInhalt(dieListe, new int[]{94, 869, 280, 498}); + + dieListe.einfuegenBei(0, 967); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 94, 869, 280, 498}); + + dieListe.einfuegenBei(1, 124); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 124, 94, 869, 280, 498}); + + dieListe.einfuegenBei(2, 761); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 124, 761, 94, 869, 280, 498}); + + dieListe.anhaengen(157); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 124, 761, 94, 869, 280, 498, 157}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(105); + Tester.pruefeListenInhalt(dieListe, new int[]{105}); + + dieListe.anhaengen(59); + Tester.pruefeListenInhalt(dieListe, new int[]{105, 59}); + + assertFalse("Fehler: Element 412 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(412)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{59}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(719); + Tester.pruefeListenInhalt(dieListe, new int[]{719}); + + dieListe.einfuegenBei(0, 427); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 719}); + + dieListe.anhaengen(487); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 719, 487}); + + assertTrue("Fehler: Element 427 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(427)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 719}); + + dieListe.einfuegenBei(1, 87); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 87, 719}); + + dieListe.anhaengen(249); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 87, 719, 249}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 719, 249}); + + dieListe.anhaengen(215); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 719, 249, 215}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{719, 249, 215}); + + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest2.java b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest2.java new file mode 100644 index 0000000..071e274 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest2.java @@ -0,0 +1,2033 @@ +package tests; + +import static org.junit.Assert.*; + +import liste.*; + +/** + * Die Test-Klasse SubTest2. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest2 { + + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(624); + Tester.pruefeListenInhalt(dieListe, new int[]{624}); + + dieListe.anhaengen(753); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753}); + + dieListe.anhaengen(927); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927}); + + assertTrue("Fehler: Element 927 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(927)); + dieListe.anhaengen(342); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342}); + + assertTrue("Fehler: Element 753 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(753)); + assertTrue("Fehler: Element 753 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(753)); + dieListe.anhaengen(564); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564}); + + dieListe.anhaengen(926); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926}); + + assertFalse("Fehler: Element 520 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(520)); + dieListe.anhaengen(344); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344}); + + dieListe.anhaengen(167); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167}); + + dieListe.anhaengen(269); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269}); + + dieListe.anhaengen(625); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625}); + + assertTrue("Fehler: Element 753 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(753)); + assertFalse("Fehler: Element 985 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(985)); + assertFalse("Fehler: Element 21 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(21)); + assertTrue("Fehler: Element 927 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(927)); + assertTrue("Fehler: Element 564 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(564)); + assertFalse("Fehler: Element 766 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(766)); + dieListe.anhaengen(672); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672}); + + assertFalse("Fehler: Element 365 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(365)); + assertTrue("Fehler: Element 926 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(926)); + assertTrue("Fehler: Element 625 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(625)); + assertFalse("Fehler: Element 685 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(685)); + dieListe.anhaengen(389); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389}); + + assertTrue("Fehler: Element 389 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(389)); + assertFalse("Fehler: Element 955 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(955)); + dieListe.anhaengen(988); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988}); + + dieListe.anhaengen(101); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101}); + + assertTrue("Fehler: Element 269 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(269)); + dieListe.anhaengen(994); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994}); + + assertTrue("Fehler: Element 624 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(624)); + dieListe.anhaengen(709); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709}); + + assertFalse("Fehler: Element 336 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(336)); + dieListe.anhaengen(547); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547}); + + assertFalse("Fehler: Element 881 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(881)); + dieListe.anhaengen(709); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709}); + + assertFalse("Fehler: Element 339 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(339)); + dieListe.anhaengen(454); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454}); + + assertTrue("Fehler: Element 101 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(101)); + dieListe.anhaengen(149); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149}); + + assertFalse("Fehler: Element 141 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(141)); + assertFalse("Fehler: Element 450 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(450)); + dieListe.anhaengen(253); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253}); + + assertFalse("Fehler: Element 281 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(281)); + assertTrue("Fehler: Element 547 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(547)); + assertTrue("Fehler: Element 454 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(454)); + dieListe.anhaengen(772); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772}); + + assertFalse("Fehler: Element 596 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(596)); + assertTrue("Fehler: Element 564 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(564)); + dieListe.anhaengen(310); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310}); + + dieListe.anhaengen(781); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781}); + + assertFalse("Fehler: Element 774 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(774)); + dieListe.anhaengen(57); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57}); + + dieListe.anhaengen(28); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28}); + + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861}); + + dieListe.anhaengen(668); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668}); + + assertTrue("Fehler: Element 772 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(772)); + assertTrue("Fehler: Element 861 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(861)); + assertTrue("Fehler: Element 994 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(994)); + dieListe.anhaengen(813); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813}); + + assertFalse("Fehler: Element 128 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(128)); + assertFalse("Fehler: Element 524 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(524)); + assertTrue("Fehler: Element 772 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(772)); + assertFalse("Fehler: Element 289 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(289)); + dieListe.anhaengen(887); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887}); + + assertTrue("Fehler: Element 772 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(772)); + assertFalse("Fehler: Element 626 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(626)); + dieListe.anhaengen(944); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944}); + + dieListe.anhaengen(828); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828}); + + assertFalse("Fehler: Element 314 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(314)); + assertFalse("Fehler: Element 46 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(46)); + dieListe.anhaengen(762); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762}); + + assertFalse("Fehler: Element 346 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(346)); + assertFalse("Fehler: Element 485 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(485)); + assertTrue("Fehler: Element 762 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(762)); + dieListe.anhaengen(9); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9}); + + dieListe.anhaengen(360); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9, 360}); + + assertTrue("Fehler: Element 709 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(709)); + dieListe.anhaengen(564); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9, 360, 564}); + + dieListe.anhaengen(20); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9, 360, 564, 20}); + + dieListe.anhaengen(564); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9, 360, 564, 20, 564}); + + assertTrue("Fehler: Element 927 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(927)); + dieListe.anhaengen(85); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9, 360, 564, 20, 564, 85}); + + dieListe.anhaengen(987); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9, 360, 564, 20, 564, 85, 987}); + + assertFalse("Fehler: Element 900 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(900)); + assertFalse("Fehler: Element 98 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(98)); + assertFalse("Fehler: Element 888 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(888)); + dieListe.anhaengen(963); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9, 360, 564, 20, 564, 85, 987, 963}); + + assertTrue("Fehler: Element 709 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(709)); + assertFalse("Fehler: Element 874 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(874)); + assertFalse("Fehler: Element 937 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(937)); + assertFalse("Fehler: Element 607 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(607)); + assertTrue("Fehler: Element 887 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(887)); + assertFalse("Fehler: Element 972 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(972)); + dieListe.anhaengen(693); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9, 360, 564, 20, 564, 85, 987, 963, 693}); + + assertFalse("Fehler: Element 975 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(975)); + dieListe.anhaengen(897); + Tester.pruefeListenInhalt(dieListe, new int[]{624, 753, 927, 342, 564, 926, 344, 167, 269, 625, 672, 389, 988, 101, 994, 709, 547, 709, 454, 149, 253, 772, 310, 781, 57, 28, 861, 668, 813, 887, 944, 828, 762, 9, 360, 564, 20, 564, 85, 987, 963, 693, 897}); + + assertTrue("Fehler: Element 828 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(828)); + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(116); + Tester.pruefeListenInhalt(dieListe, new int[]{116}); + + dieListe.anhaengen(649); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649}); + + assertFalse("Fehler: Element 823 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(823)); + assertFalse("Fehler: Element 62 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(62)); + dieListe.anhaengen(529); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529}); + + dieListe.anhaengen(636); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636}); + + dieListe.anhaengen(198); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198}); + + assertTrue("Fehler: Element 116 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(116)); + dieListe.anhaengen(319); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319}); + + assertFalse("Fehler: Element 139 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(139)); + dieListe.anhaengen(658); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658}); + + assertTrue("Fehler: Element 649 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(649)); + assertTrue("Fehler: Element 636 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(636)); + assertFalse("Fehler: Element 450 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(450)); + dieListe.anhaengen(869); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869}); + + assertFalse("Fehler: Element 978 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(978)); + dieListe.anhaengen(664); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664}); + + dieListe.anhaengen(659); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659}); + + dieListe.anhaengen(900); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900}); + + dieListe.anhaengen(607); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607}); + + dieListe.anhaengen(276); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276}); + + dieListe.anhaengen(321); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321}); + + assertFalse("Fehler: Element 745 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(745)); + assertFalse("Fehler: Element 415 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(415)); + dieListe.anhaengen(92); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92}); + + assertTrue("Fehler: Element 659 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(659)); + assertFalse("Fehler: Element 929 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(929)); + assertTrue("Fehler: Element 658 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(658)); + assertTrue("Fehler: Element 649 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(649)); + dieListe.anhaengen(923); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923}); + + dieListe.anhaengen(965); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965}); + + assertFalse("Fehler: Element 292 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(292)); + dieListe.anhaengen(799); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799}); + + dieListe.anhaengen(619); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619}); + + assertFalse("Fehler: Element 85 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(85)); + dieListe.anhaengen(798); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798}); + + dieListe.anhaengen(397); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397}); + + assertTrue("Fehler: Element 869 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(869)); + assertFalse("Fehler: Element 766 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(766)); + dieListe.anhaengen(247); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247}); + + dieListe.anhaengen(67); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67}); + + dieListe.anhaengen(272); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272}); + + dieListe.anhaengen(477); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477}); + + assertFalse("Fehler: Element 299 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(299)); + assertFalse("Fehler: Element 267 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(267)); + assertTrue("Fehler: Element 965 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(965)); + dieListe.anhaengen(159); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159}); + + assertTrue("Fehler: Element 116 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(116)); + assertTrue("Fehler: Element 664 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(664)); + dieListe.anhaengen(421); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421}); + + assertTrue("Fehler: Element 92 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(92)); + assertFalse("Fehler: Element 931 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(931)); + assertTrue("Fehler: Element 869 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(869)); + dieListe.anhaengen(940); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940}); + + dieListe.anhaengen(865); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865}); + + dieListe.anhaengen(248); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248}); + + dieListe.anhaengen(698); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698}); + + dieListe.anhaengen(199); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199}); + + dieListe.anhaengen(735); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735}); + + assertFalse("Fehler: Element 78 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(78)); + dieListe.anhaengen(814); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814}); + + assertFalse("Fehler: Element 9 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(9)); + dieListe.anhaengen(744); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744}); + + assertFalse("Fehler: Element 985 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(985)); + assertFalse("Fehler: Element 465 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(465)); + assertTrue("Fehler: Element 698 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(698)); + assertFalse("Fehler: Element 781 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(781)); + assertFalse("Fehler: Element 165 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(165)); + assertFalse("Fehler: Element 26 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(26)); + assertFalse("Fehler: Element 308 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(308)); + assertTrue("Fehler: Element 636 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(636)); + dieListe.anhaengen(503); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503}); + + assertTrue("Fehler: Element 659 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(659)); + dieListe.anhaengen(629); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629}); + + dieListe.anhaengen(848); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848}); + + dieListe.anhaengen(765); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765}); + + dieListe.anhaengen(738); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738}); + + assertFalse("Fehler: Element 500 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(500)); + assertTrue("Fehler: Element 900 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(900)); + assertFalse("Fehler: Element 156 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(156)); + dieListe.anhaengen(366); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366}); + + dieListe.anhaengen(915); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366, 915}); + + assertTrue("Fehler: Element 421 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(421)); + assertTrue("Fehler: Element 659 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(659)); + assertFalse("Fehler: Element 717 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(717)); + assertTrue("Fehler: Element 247 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(247)); + dieListe.anhaengen(479); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366, 915, 479}); + + assertTrue("Fehler: Element 798 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(798)); + dieListe.anhaengen(198); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366, 915, 479, 198}); + + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366, 915, 479, 198, 189}); + + dieListe.anhaengen(594); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366, 915, 479, 198, 189, 594}); + + assertFalse("Fehler: Element 230 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(230)); + assertFalse("Fehler: Element 901 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(901)); + dieListe.anhaengen(118); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366, 915, 479, 198, 189, 594, 118}); + + dieListe.anhaengen(480); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366, 915, 479, 198, 189, 594, 118, 480}); + + assertFalse("Fehler: Element 4 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(4)); + assertFalse("Fehler: Element 313 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(313)); + dieListe.anhaengen(383); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366, 915, 479, 198, 189, 594, 118, 480, 383}); + + assertTrue("Fehler: Element 765 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(765)); + dieListe.anhaengen(720); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 649, 529, 636, 198, 319, 658, 869, 664, 659, 900, 607, 276, 321, 92, 923, 965, 799, 619, 798, 397, 247, 67, 272, 477, 159, 421, 940, 865, 248, 698, 199, 735, 814, 744, 503, 629, 848, 765, 738, 366, 915, 479, 198, 189, 594, 118, 480, 383, 720}); + + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(302); + Tester.pruefeListenInhalt(dieListe, new int[]{302}); + + assertTrue("Fehler: Element 302 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(302)); + assertFalse("Fehler: Element 558 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(558)); + dieListe.anhaengen(444); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444}); + + assertTrue("Fehler: Element 302 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(302)); + assertFalse("Fehler: Element 114 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(114)); + dieListe.anhaengen(33); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33}); + + dieListe.anhaengen(231); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231}); + + dieListe.anhaengen(429); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429}); + + assertTrue("Fehler: Element 231 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(231)); + assertTrue("Fehler: Element 231 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(231)); + assertFalse("Fehler: Element 502 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(502)); + assertTrue("Fehler: Element 429 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(429)); + dieListe.anhaengen(336); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336}); + + assertTrue("Fehler: Element 336 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(336)); + assertFalse("Fehler: Element 792 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(792)); + assertTrue("Fehler: Element 231 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(231)); + dieListe.anhaengen(838); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838}); + + dieListe.anhaengen(81); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81}); + + dieListe.anhaengen(180); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180}); + + dieListe.anhaengen(922); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922}); + + assertTrue("Fehler: Element 336 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(336)); + assertFalse("Fehler: Element 232 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(232)); + assertTrue("Fehler: Element 81 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(81)); + assertTrue("Fehler: Element 81 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(81)); + assertFalse("Fehler: Element 522 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(522)); + assertFalse("Fehler: Element 1 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(1)); + dieListe.anhaengen(15); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15}); + + assertFalse("Fehler: Element 85 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(85)); + assertTrue("Fehler: Element 922 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(922)); + assertTrue("Fehler: Element 231 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(231)); + assertTrue("Fehler: Element 838 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(838)); + dieListe.anhaengen(120); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120}); + + dieListe.anhaengen(58); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58}); + + dieListe.anhaengen(901); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901}); + + assertTrue("Fehler: Element 15 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(15)); + dieListe.anhaengen(285); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285}); + + dieListe.anhaengen(897); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897}); + + dieListe.anhaengen(51); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51}); + + dieListe.anhaengen(155); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155}); + + assertFalse("Fehler: Element 451 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(451)); + assertFalse("Fehler: Element 348 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(348)); + assertFalse("Fehler: Element 88 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(88)); + assertFalse("Fehler: Element 776 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(776)); + assertFalse("Fehler: Element 484 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(484)); + assertFalse("Fehler: Element 673 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(673)); + dieListe.anhaengen(363); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363}); + + dieListe.anhaengen(400); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400}); + + dieListe.anhaengen(618); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618}); + + assertFalse("Fehler: Element 679 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(679)); + assertFalse("Fehler: Element 200 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(200)); + dieListe.anhaengen(776); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776}); + + dieListe.anhaengen(239); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239}); + + assertTrue("Fehler: Element 302 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(302)); + assertFalse("Fehler: Element 472 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(472)); + assertTrue("Fehler: Element 155 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(155)); + assertFalse("Fehler: Element 226 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(226)); + assertFalse("Fehler: Element 174 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(174)); + assertFalse("Fehler: Element 316 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(316)); + dieListe.anhaengen(395); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395}); + + assertTrue("Fehler: Element 58 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(58)); + dieListe.anhaengen(871); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871}); + + dieListe.anhaengen(65); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65}); + + dieListe.anhaengen(26); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26}); + + dieListe.anhaengen(761); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761}); + + assertTrue("Fehler: Element 120 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(120)); + dieListe.anhaengen(411); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411}); + + dieListe.anhaengen(846); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846}); + + dieListe.anhaengen(512); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512}); + + assertFalse("Fehler: Element 378 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(378)); + assertTrue("Fehler: Element 81 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(81)); + assertFalse("Fehler: Element 737 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(737)); + assertFalse("Fehler: Element 1 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(1)); + dieListe.anhaengen(258); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258}); + + dieListe.anhaengen(392); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392}); + + assertFalse("Fehler: Element 252 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(252)); + dieListe.anhaengen(153); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153}); + + assertTrue("Fehler: Element 239 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(239)); + assertFalse("Fehler: Element 272 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(272)); + dieListe.anhaengen(377); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377}); + + dieListe.anhaengen(138); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138}); + + assertTrue("Fehler: Element 411 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(411)); + assertTrue("Fehler: Element 180 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(180)); + dieListe.anhaengen(925); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925}); + + assertFalse("Fehler: Element 647 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(647)); + dieListe.anhaengen(59); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59}); + + dieListe.anhaengen(986); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59, 986}); + + dieListe.anhaengen(197); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59, 986, 197}); + + assertFalse("Fehler: Element 709 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(709)); + dieListe.anhaengen(980); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59, 986, 197, 980}); + + dieListe.anhaengen(812); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59, 986, 197, 980, 812}); + + dieListe.anhaengen(747); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59, 986, 197, 980, 812, 747}); + + assertFalse("Fehler: Element 358 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(358)); + dieListe.anhaengen(107); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59, 986, 197, 980, 812, 747, 107}); + + dieListe.anhaengen(336); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59, 986, 197, 980, 812, 747, 107, 336}); + + assertFalse("Fehler: Element 70 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(70)); + assertFalse("Fehler: Element 701 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(701)); + assertFalse("Fehler: Element 666 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(666)); + dieListe.anhaengen(793); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59, 986, 197, 980, 812, 747, 107, 336, 793}); + + dieListe.anhaengen(635); + Tester.pruefeListenInhalt(dieListe, new int[]{302, 444, 33, 231, 429, 336, 838, 81, 180, 922, 15, 120, 58, 901, 285, 897, 51, 155, 363, 400, 618, 776, 239, 395, 871, 65, 26, 761, 411, 846, 512, 258, 392, 153, 377, 138, 925, 59, 986, 197, 980, 812, 747, 107, 336, 793, 635}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(764); + Tester.pruefeListenInhalt(dieListe, new int[]{764}); + + assertTrue("Fehler: Element 764 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(764)); + dieListe.anhaengen(327); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327}); + + dieListe.anhaengen(737); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737}); + + assertTrue("Fehler: Element 764 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(764)); + assertTrue("Fehler: Element 764 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(764)); + assertFalse("Fehler: Element 882 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(882)); + dieListe.anhaengen(778); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778}); + + dieListe.anhaengen(200); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200}); + + dieListe.anhaengen(222); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222}); + + dieListe.anhaengen(316); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316}); + + dieListe.anhaengen(977); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977}); + + assertFalse("Fehler: Element 999 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(999)); + dieListe.anhaengen(466); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466}); + + assertFalse("Fehler: Element 99 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(99)); + dieListe.anhaengen(546); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546}); + + assertFalse("Fehler: Element 618 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(618)); + assertTrue("Fehler: Element 222 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(222)); + dieListe.anhaengen(839); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839}); + + dieListe.anhaengen(683); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683}); + + dieListe.anhaengen(780); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780}); + + assertTrue("Fehler: Element 222 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(222)); + assertFalse("Fehler: Element 20 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(20)); + dieListe.anhaengen(619); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619}); + + assertFalse("Fehler: Element 256 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(256)); + assertFalse("Fehler: Element 434 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(434)); + dieListe.anhaengen(634); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634}); + + assertTrue("Fehler: Element 200 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(200)); + assertTrue("Fehler: Element 327 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(327)); + assertTrue("Fehler: Element 316 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(316)); + assertFalse("Fehler: Element 367 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(367)); + assertFalse("Fehler: Element 625 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(625)); + dieListe.anhaengen(344); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344}); + + dieListe.anhaengen(835); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835}); + + dieListe.anhaengen(968); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968}); + + assertFalse("Fehler: Element 497 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(497)); + assertFalse("Fehler: Element 965 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(965)); + dieListe.anhaengen(387); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387}); + + dieListe.anhaengen(390); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390}); + + dieListe.anhaengen(889); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889}); + + assertTrue("Fehler: Element 390 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(390)); + dieListe.anhaengen(233); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233}); + + assertTrue("Fehler: Element 390 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(390)); + assertFalse("Fehler: Element 657 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(657)); + dieListe.anhaengen(82); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82}); + + dieListe.anhaengen(703); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703}); + + assertFalse("Fehler: Element 170 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(170)); + assertTrue("Fehler: Element 835 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(835)); + assertTrue("Fehler: Element 390 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(390)); + assertFalse("Fehler: Element 969 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(969)); + assertTrue("Fehler: Element 390 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(390)); + assertTrue("Fehler: Element 737 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(737)); + assertFalse("Fehler: Element 207 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(207)); + assertFalse("Fehler: Element 289 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(289)); + dieListe.anhaengen(651); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651}); + + assertTrue("Fehler: Element 889 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(889)); + dieListe.anhaengen(960); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960}); + + assertTrue("Fehler: Element 778 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(778)); + dieListe.anhaengen(33); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33}); + + assertTrue("Fehler: Element 466 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(466)); + dieListe.anhaengen(100); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100}); + + dieListe.anhaengen(652); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652}); + + dieListe.anhaengen(908); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908}); + + assertTrue("Fehler: Element 390 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(390)); + dieListe.anhaengen(311); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311}); + + assertFalse("Fehler: Element 622 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(622)); + dieListe.anhaengen(593); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593}); + + dieListe.anhaengen(803); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803}); + + dieListe.anhaengen(545); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545}); + + assertTrue("Fehler: Element 33 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(33)); + assertTrue("Fehler: Element 390 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(390)); + assertTrue("Fehler: Element 311 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(311)); + assertFalse("Fehler: Element 361 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(361)); + dieListe.anhaengen(616); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616}); + + dieListe.anhaengen(265); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265}); + + dieListe.anhaengen(819); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819}); + + dieListe.anhaengen(323); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323}); + + assertFalse("Fehler: Element 306 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(306)); + dieListe.anhaengen(598); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598}); + + assertTrue("Fehler: Element 327 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(327)); + assertFalse("Fehler: Element 377 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(377)); + assertTrue("Fehler: Element 593 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(593)); + dieListe.anhaengen(174); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598, 174}); + + dieListe.anhaengen(619); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598, 174, 619}); + + dieListe.anhaengen(678); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598, 174, 619, 678}); + + dieListe.anhaengen(656); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598, 174, 619, 678, 656}); + + dieListe.anhaengen(892); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598, 174, 619, 678, 656, 892}); + + assertTrue("Fehler: Element 892 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(892)); + assertFalse("Fehler: Element 995 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(995)); + assertFalse("Fehler: Element 54 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(54)); + assertTrue("Fehler: Element 683 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(683)); + assertFalse("Fehler: Element 85 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(85)); + dieListe.anhaengen(160); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598, 174, 619, 678, 656, 892, 160}); + + assertFalse("Fehler: Element 872 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(872)); + dieListe.anhaengen(433); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598, 174, 619, 678, 656, 892, 160, 433}); + + assertFalse("Fehler: Element 133 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(133)); + dieListe.anhaengen(17); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598, 174, 619, 678, 656, 892, 160, 433, 17}); + + assertTrue("Fehler: Element 233 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(233)); + assertTrue("Fehler: Element 892 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(892)); + dieListe.anhaengen(211); + Tester.pruefeListenInhalt(dieListe, new int[]{764, 327, 737, 778, 200, 222, 316, 977, 466, 546, 839, 683, 780, 619, 634, 344, 835, 968, 387, 390, 889, 233, 82, 703, 651, 960, 33, 100, 652, 908, 311, 593, 803, 545, 616, 265, 819, 323, 598, 174, 619, 678, 656, 892, 160, 433, 17, 211}); + + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(725); + Tester.pruefeListenInhalt(dieListe, new int[]{725}); + + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + assertFalse("Fehler: Element 54 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(54)); + dieListe.anhaengen(72); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72}); + + assertFalse("Fehler: Element 854 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(854)); + assertFalse("Fehler: Element 619 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(619)); + assertTrue("Fehler: Element 72 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(72)); + assertFalse("Fehler: Element 263 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(263)); + assertFalse("Fehler: Element 601 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(601)); + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + dieListe.anhaengen(65); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65}); + + assertFalse("Fehler: Element 164 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(164)); + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + dieListe.anhaengen(81); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81}); + + assertFalse("Fehler: Element 182 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(182)); + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + dieListe.anhaengen(898); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898}); + + assertFalse("Fehler: Element 239 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(239)); + assertFalse("Fehler: Element 2 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(2)); + assertFalse("Fehler: Element 335 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(335)); + dieListe.anhaengen(187); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187}); + + dieListe.anhaengen(711); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711}); + + dieListe.anhaengen(6); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6}); + + assertFalse("Fehler: Element 873 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(873)); + dieListe.anhaengen(421); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421}); + + assertTrue("Fehler: Element 711 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(711)); + assertFalse("Fehler: Element 103 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(103)); + dieListe.anhaengen(430); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430}); + + assertFalse("Fehler: Element 250 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(250)); + assertFalse("Fehler: Element 517 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(517)); + dieListe.anhaengen(951); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951}); + + assertTrue("Fehler: Element 421 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(421)); + dieListe.anhaengen(114); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114}); + + assertFalse("Fehler: Element 518 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(518)); + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + assertFalse("Fehler: Element 417 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(417)); + dieListe.anhaengen(863); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863}); + + dieListe.anhaengen(951); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951}); + + dieListe.anhaengen(890); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890}); + + dieListe.anhaengen(816); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816}); + + assertFalse("Fehler: Element 866 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(866)); + dieListe.anhaengen(146); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146}); + + dieListe.anhaengen(304); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304}); + + dieListe.anhaengen(48); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48}); + + dieListe.anhaengen(96); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96}); + + dieListe.anhaengen(187); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187}); + + dieListe.anhaengen(267); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267}); + + assertFalse("Fehler: Element 302 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(302)); + dieListe.anhaengen(562); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562}); + + assertTrue("Fehler: Element 421 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(421)); + dieListe.anhaengen(442); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442}); + + assertTrue("Fehler: Element 81 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(81)); + assertFalse("Fehler: Element 291 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(291)); + dieListe.anhaengen(944); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944}); + + dieListe.anhaengen(191); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191}); + + assertTrue("Fehler: Element 890 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(890)); + assertFalse("Fehler: Element 7 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(7)); + assertFalse("Fehler: Element 215 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(215)); + assertFalse("Fehler: Element 247 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(247)); + assertFalse("Fehler: Element 602 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(602)); + assertTrue("Fehler: Element 146 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(146)); + assertTrue("Fehler: Element 898 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(898)); + dieListe.anhaengen(369); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369}); + + dieListe.anhaengen(699); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699}); + + dieListe.anhaengen(864); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864}); + + dieListe.anhaengen(886); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886}); + + assertFalse("Fehler: Element 92 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(92)); + dieListe.anhaengen(400); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400}); + + assertFalse("Fehler: Element 379 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(379)); + assertFalse("Fehler: Element 566 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(566)); + assertTrue("Fehler: Element 369 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(369)); + assertTrue("Fehler: Element 699 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(699)); + dieListe.anhaengen(274); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274}); + + assertTrue("Fehler: Element 48 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(48)); + assertFalse("Fehler: Element 396 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(396)); + dieListe.anhaengen(50); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50}); + + dieListe.anhaengen(343); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50, 343}); + + assertTrue("Fehler: Element 944 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(944)); + assertTrue("Fehler: Element 114 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(114)); + dieListe.anhaengen(964); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50, 343, 964}); + + assertFalse("Fehler: Element 27 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(27)); + assertFalse("Fehler: Element 770 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(770)); + assertFalse("Fehler: Element 152 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(152)); + dieListe.anhaengen(421); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50, 343, 964, 421}); + + assertFalse("Fehler: Element 670 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(670)); + dieListe.anhaengen(805); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50, 343, 964, 421, 805}); + + assertFalse("Fehler: Element 9 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(9)); + assertTrue("Fehler: Element 72 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(72)); + assertTrue("Fehler: Element 191 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(191)); + dieListe.anhaengen(487); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50, 343, 964, 421, 805, 487}); + + assertTrue("Fehler: Element 421 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(421)); + assertTrue("Fehler: Element 96 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(96)); + dieListe.anhaengen(76); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50, 343, 964, 421, 805, 487, 76}); + + assertFalse("Fehler: Element 298 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(298)); + dieListe.anhaengen(847); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50, 343, 964, 421, 805, 487, 76, 847}); + + assertTrue("Fehler: Element 863 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(863)); + dieListe.anhaengen(908); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50, 343, 964, 421, 805, 487, 76, 847, 908}); + + dieListe.anhaengen(374); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 72, 65, 81, 898, 187, 711, 6, 421, 430, 951, 114, 863, 951, 890, 816, 146, 304, 48, 96, 187, 267, 562, 442, 944, 191, 369, 699, 864, 886, 400, 274, 50, 343, 964, 421, 805, 487, 76, 847, 908, 374}); + + assertTrue("Fehler: Element 76 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(76)); + assertFalse("Fehler: Element 290 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(290)); + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(613); + Tester.pruefeListenInhalt(dieListe, new int[]{613}); + + assertFalse("Fehler: Element 501 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(501)); + assertFalse("Fehler: Element 341 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(341)); + dieListe.anhaengen(454); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454}); + + dieListe.anhaengen(708); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708}); + + assertFalse("Fehler: Element 755 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(755)); + assertTrue("Fehler: Element 708 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(708)); + dieListe.anhaengen(64); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64}); + + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581}); + + dieListe.anhaengen(909); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909}); + + assertTrue("Fehler: Element 708 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(708)); + dieListe.anhaengen(388); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388}); + + dieListe.anhaengen(550); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550}); + + dieListe.anhaengen(761); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761}); + + dieListe.anhaengen(214); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214}); + + assertTrue("Fehler: Element 550 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(550)); + dieListe.anhaengen(506); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506}); + + dieListe.anhaengen(672); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672}); + + assertFalse("Fehler: Element 25 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(25)); + assertFalse("Fehler: Element 893 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(893)); + assertFalse("Fehler: Element 406 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(406)); + dieListe.anhaengen(553); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553}); + + dieListe.anhaengen(472); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472}); + + assertTrue("Fehler: Element 214 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(214)); + dieListe.anhaengen(447); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447}); + + assertTrue("Fehler: Element 454 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(454)); + assertTrue("Fehler: Element 506 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(506)); + dieListe.anhaengen(790); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790}); + + dieListe.anhaengen(732); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732}); + + assertTrue("Fehler: Element 447 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(447)); + assertTrue("Fehler: Element 214 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(214)); + dieListe.anhaengen(250); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250}); + + assertFalse("Fehler: Element 904 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(904)); + assertFalse("Fehler: Element 402 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(402)); + assertFalse("Fehler: Element 94 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(94)); + dieListe.anhaengen(89); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89}); + + assertTrue("Fehler: Element 672 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(672)); + assertTrue("Fehler: Element 250 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(250)); + dieListe.anhaengen(308); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308}); + + dieListe.anhaengen(154); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154}); + + assertFalse("Fehler: Element 76 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(76)); + dieListe.anhaengen(187); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187}); + + assertFalse("Fehler: Element 762 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(762)); + dieListe.anhaengen(159); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159}); + + dieListe.anhaengen(993); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993}); + + assertFalse("Fehler: Element 269 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(269)); + dieListe.anhaengen(341); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341}); + + assertFalse("Fehler: Element 717 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(717)); + assertTrue("Fehler: Element 388 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(388)); + assertFalse("Fehler: Element 74 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(74)); + dieListe.anhaengen(300); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300}); + + dieListe.anhaengen(203); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203}); + + dieListe.anhaengen(932); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932}); + + assertTrue("Fehler: Element 187 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(187)); + assertFalse("Fehler: Element 348 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(348)); + dieListe.anhaengen(940); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940}); + + assertFalse("Fehler: Element 201 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(201)); + assertTrue("Fehler: Element 472 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(472)); + dieListe.anhaengen(836); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836}); + + assertFalse("Fehler: Element 889 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(889)); + assertFalse("Fehler: Element 798 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(798)); + dieListe.anhaengen(131); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131}); + + assertTrue("Fehler: Element 64 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(64)); + dieListe.anhaengen(837); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837}); + + assertFalse("Fehler: Element 745 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(745)); + dieListe.anhaengen(945); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945}); + + assertTrue("Fehler: Element 187 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(187)); + assertTrue("Fehler: Element 837 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(837)); + assertFalse("Fehler: Element 162 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(162)); + assertFalse("Fehler: Element 969 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(969)); + dieListe.anhaengen(347); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347}); + + assertFalse("Fehler: Element 833 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(833)); + dieListe.anhaengen(396); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396}); + + assertTrue("Fehler: Element 341 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(341)); + dieListe.anhaengen(797); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797}); + + dieListe.anhaengen(79); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797, 79}); + + assertTrue("Fehler: Element 672 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(672)); + dieListe.anhaengen(697); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797, 79, 697}); + + dieListe.anhaengen(474); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797, 79, 697, 474}); + + assertFalse("Fehler: Element 498 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(498)); + dieListe.anhaengen(302); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797, 79, 697, 474, 302}); + + assertTrue("Fehler: Element 454 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(454)); + dieListe.anhaengen(121); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797, 79, 697, 474, 302, 121}); + + assertFalse("Fehler: Element 618 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(618)); + assertFalse("Fehler: Element 265 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(265)); + assertFalse("Fehler: Element 530 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(530)); + assertFalse("Fehler: Element 517 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(517)); + assertTrue("Fehler: Element 214 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(214)); + assertTrue("Fehler: Element 672 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(672)); + dieListe.anhaengen(707); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797, 79, 697, 474, 302, 121, 707}); + + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797, 79, 697, 474, 302, 121, 707, 861}); + + assertTrue("Fehler: Element 836 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(836)); + assertFalse("Fehler: Element 955 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(955)); + assertTrue("Fehler: Element 672 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(672)); + assertFalse("Fehler: Element 270 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(270)); + assertTrue("Fehler: Element 89 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(89)); + dieListe.anhaengen(256); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797, 79, 697, 474, 302, 121, 707, 861, 256}); + + assertFalse("Fehler: Element 501 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(501)); + dieListe.anhaengen(161); + Tester.pruefeListenInhalt(dieListe, new int[]{613, 454, 708, 64, 581, 909, 388, 550, 761, 214, 506, 672, 553, 472, 447, 790, 732, 250, 89, 308, 154, 187, 159, 993, 341, 300, 203, 932, 940, 836, 131, 837, 945, 347, 396, 797, 79, 697, 474, 302, 121, 707, 861, 256, 161}); + + assertTrue("Fehler: Element 672 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(672)); + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(151); + Tester.pruefeListenInhalt(dieListe, new int[]{151}); + + assertFalse("Fehler: Element 770 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(770)); + assertFalse("Fehler: Element 447 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(447)); + assertTrue("Fehler: Element 151 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(151)); + dieListe.anhaengen(313); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313}); + + dieListe.anhaengen(964); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964}); + + dieListe.anhaengen(951); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951}); + + assertTrue("Fehler: Element 951 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(951)); + dieListe.anhaengen(375); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375}); + + assertTrue("Fehler: Element 964 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(964)); + dieListe.anhaengen(976); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976}); + + assertTrue("Fehler: Element 976 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(976)); + dieListe.anhaengen(54); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54}); + + assertFalse("Fehler: Element 667 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(667)); + dieListe.anhaengen(530); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530}); + + dieListe.anhaengen(91); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91}); + + assertTrue("Fehler: Element 530 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(530)); + dieListe.anhaengen(714); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714}); + + dieListe.anhaengen(979); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979}); + + assertTrue("Fehler: Element 964 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(964)); + dieListe.anhaengen(918); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918}); + + dieListe.anhaengen(511); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511}); + + assertTrue("Fehler: Element 511 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(511)); + dieListe.anhaengen(785); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785}); + + dieListe.anhaengen(749); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749}); + + assertFalse("Fehler: Element 264 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(264)); + dieListe.anhaengen(139); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139}); + + assertTrue("Fehler: Element 951 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(951)); + assertTrue("Fehler: Element 785 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(785)); + assertFalse("Fehler: Element 260 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(260)); + assertFalse("Fehler: Element 483 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(483)); + dieListe.anhaengen(554); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554}); + + assertFalse("Fehler: Element 789 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(789)); + assertTrue("Fehler: Element 54 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(54)); + dieListe.anhaengen(64); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64}); + + assertFalse("Fehler: Element 978 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(978)); + assertTrue("Fehler: Element 151 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(151)); + assertTrue("Fehler: Element 313 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(313)); + assertTrue("Fehler: Element 139 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(139)); + dieListe.anhaengen(135); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135}); + + assertTrue("Fehler: Element 54 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(54)); + dieListe.anhaengen(339); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339}); + + dieListe.anhaengen(591); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591}); + + assertTrue("Fehler: Element 339 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(339)); + assertTrue("Fehler: Element 979 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(979)); + dieListe.anhaengen(995); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995}); + + assertTrue("Fehler: Element 511 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(511)); + dieListe.anhaengen(160); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160}); + + dieListe.anhaengen(80); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80}); + + dieListe.anhaengen(767); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767}); + + dieListe.anhaengen(105); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105}); + + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189}); + + assertTrue("Fehler: Element 530 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(530)); + dieListe.anhaengen(200); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200}); + + assertTrue("Fehler: Element 80 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(80)); + assertFalse("Fehler: Element 500 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(500)); + assertTrue("Fehler: Element 105 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(105)); + assertFalse("Fehler: Element 37 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(37)); + assertFalse("Fehler: Element 635 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(635)); + assertTrue("Fehler: Element 995 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(995)); + assertFalse("Fehler: Element 537 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(537)); + dieListe.anhaengen(697); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697}); + + dieListe.anhaengen(592); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592}); + + dieListe.anhaengen(399); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399}); + + assertFalse("Fehler: Element 938 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(938)); + dieListe.anhaengen(168); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168}); + + assertTrue("Fehler: Element 592 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(592)); + assertTrue("Fehler: Element 64 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(64)); + assertFalse("Fehler: Element 32 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(32)); + dieListe.anhaengen(656); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656}); + + assertTrue("Fehler: Element 979 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(979)); + dieListe.anhaengen(863); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863}); + + assertFalse("Fehler: Element 457 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(457)); + dieListe.anhaengen(37); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37}); + + assertTrue("Fehler: Element 200 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(200)); + assertFalse("Fehler: Element 136 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(136)); + assertTrue("Fehler: Element 964 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(964)); + dieListe.anhaengen(842); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842}); + + dieListe.anhaengen(667); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667}); + + dieListe.anhaengen(909); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909}); + + dieListe.anhaengen(927); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927}); + + dieListe.anhaengen(513); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513}); + + assertFalse("Fehler: Element 84 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(84)); + dieListe.anhaengen(584); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513, 584}); + + dieListe.anhaengen(970); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513, 584, 970}); + + dieListe.anhaengen(754); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513, 584, 970, 754}); + + dieListe.anhaengen(695); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513, 584, 970, 754, 695}); + + dieListe.anhaengen(248); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513, 584, 970, 754, 695, 248}); + + assertTrue("Fehler: Element 918 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(918)); + assertFalse("Fehler: Element 34 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(34)); + assertTrue("Fehler: Element 667 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(667)); + dieListe.anhaengen(378); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513, 584, 970, 754, 695, 248, 378}); + + dieListe.anhaengen(138); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513, 584, 970, 754, 695, 248, 378, 138}); + + assertFalse("Fehler: Element 231 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(231)); + dieListe.anhaengen(71); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513, 584, 970, 754, 695, 248, 378, 138, 71}); + + assertFalse("Fehler: Element 1 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(1)); + assertFalse("Fehler: Element 721 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(721)); + assertFalse("Fehler: Element 895 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(895)); + dieListe.anhaengen(597); + Tester.pruefeListenInhalt(dieListe, new int[]{151, 313, 964, 951, 375, 976, 54, 530, 91, 714, 979, 918, 511, 785, 749, 139, 554, 64, 135, 339, 591, 995, 160, 80, 767, 105, 189, 200, 697, 592, 399, 168, 656, 863, 37, 842, 667, 909, 927, 513, 584, 970, 754, 695, 248, 378, 138, 71, 597}); + + assertFalse("Fehler: Element 34 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(34)); + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(239); + Tester.pruefeListenInhalt(dieListe, new int[]{239}); + + assertTrue("Fehler: Element 239 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(239)); + dieListe.anhaengen(763); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763}); + + dieListe.anhaengen(681); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681}); + + dieListe.anhaengen(49); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49}); + + dieListe.anhaengen(100); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100}); + + dieListe.anhaengen(394); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394}); + + assertFalse("Fehler: Element 950 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(950)); + assertFalse("Fehler: Element 895 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(895)); + assertFalse("Fehler: Element 757 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(757)); + assertFalse("Fehler: Element 321 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(321)); + dieListe.anhaengen(187); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187}); + + dieListe.anhaengen(763); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763}); + + assertTrue("Fehler: Element 100 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(100)); + dieListe.anhaengen(3); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3}); + + dieListe.anhaengen(623); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623}); + + dieListe.anhaengen(53); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53}); + + dieListe.anhaengen(468); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468}); + + dieListe.anhaengen(194); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194}); + + dieListe.anhaengen(373); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373}); + + assertFalse("Fehler: Element 809 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(809)); + assertFalse("Fehler: Element 29 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(29)); + assertFalse("Fehler: Element 456 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(456)); + dieListe.anhaengen(633); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633}); + + assertTrue("Fehler: Element 681 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(681)); + dieListe.anhaengen(875); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875}); + + dieListe.anhaengen(294); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294}); + + dieListe.anhaengen(995); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995}); + + assertTrue("Fehler: Element 100 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(100)); + dieListe.anhaengen(308); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308}); + + dieListe.anhaengen(354); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354}); + + assertFalse("Fehler: Element 900 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(900)); + dieListe.anhaengen(783); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783}); + + assertTrue("Fehler: Element 633 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(633)); + dieListe.anhaengen(387); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387}); + + assertTrue("Fehler: Element 239 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(239)); + assertTrue("Fehler: Element 294 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(294)); + dieListe.anhaengen(947); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947}); + + assertTrue("Fehler: Element 53 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(53)); + dieListe.anhaengen(832); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832}); + + dieListe.anhaengen(689); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689}); + + assertTrue("Fehler: Element 468 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(468)); + assertTrue("Fehler: Element 187 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(187)); + dieListe.anhaengen(872); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872}); + + assertFalse("Fehler: Element 622 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(622)); + dieListe.anhaengen(643); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643}); + + assertTrue("Fehler: Element 239 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(239)); + dieListe.anhaengen(115); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115}); + + assertTrue("Fehler: Element 308 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(308)); + dieListe.anhaengen(493); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493}); + + dieListe.anhaengen(118); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118}); + + assertTrue("Fehler: Element 689 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(689)); + assertFalse("Fehler: Element 571 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(571)); + dieListe.anhaengen(207); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207}); + + dieListe.anhaengen(610); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610}); + + assertFalse("Fehler: Element 599 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(599)); + dieListe.anhaengen(694); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694}); + + assertTrue("Fehler: Element 194 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(194)); + assertTrue("Fehler: Element 872 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(872)); + dieListe.anhaengen(197); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197}); + + assertFalse("Fehler: Element 402 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(402)); + dieListe.anhaengen(384); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384}); + + dieListe.anhaengen(471); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471}); + + assertFalse("Fehler: Element 498 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(498)); + dieListe.anhaengen(434); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434}); + + dieListe.anhaengen(353); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353}); + + dieListe.anhaengen(69); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69}); + + dieListe.anhaengen(263); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263}); + + dieListe.anhaengen(946); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946}); + + dieListe.anhaengen(933); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933}); + + assertFalse("Fehler: Element 674 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(674)); + dieListe.anhaengen(650); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650}); + + dieListe.anhaengen(183); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183}); + + dieListe.anhaengen(369); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369}); + + dieListe.anhaengen(755); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755}); + + assertTrue("Fehler: Element 118 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(118)); + dieListe.anhaengen(21); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21}); + + dieListe.anhaengen(122); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122}); + + assertFalse("Fehler: Element 417 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(417)); + assertFalse("Fehler: Element 774 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(774)); + dieListe.anhaengen(931); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931}); + + assertTrue("Fehler: Element 294 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(294)); + dieListe.anhaengen(27); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27}); + + assertFalse("Fehler: Element 342 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(342)); + assertTrue("Fehler: Element 493 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(493)); + dieListe.anhaengen(772); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27, 772}); + + dieListe.anhaengen(698); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27, 772, 698}); + + dieListe.anhaengen(912); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27, 772, 698, 912}); + + assertFalse("Fehler: Element 464 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(464)); + assertTrue("Fehler: Element 832 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(832)); + dieListe.anhaengen(97); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27, 772, 698, 912, 97}); + + assertFalse("Fehler: Element 279 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(279)); + dieListe.anhaengen(328); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27, 772, 698, 912, 97, 328}); + + dieListe.anhaengen(463); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27, 772, 698, 912, 97, 328, 463}); + + assertFalse("Fehler: Element 615 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(615)); + assertFalse("Fehler: Element 483 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(483)); + assertTrue("Fehler: Element 623 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(623)); + dieListe.anhaengen(400); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27, 772, 698, 912, 97, 328, 463, 400}); + + dieListe.anhaengen(437); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27, 772, 698, 912, 97, 328, 463, 400, 437}); + + dieListe.anhaengen(435); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 763, 681, 49, 100, 394, 187, 763, 3, 623, 53, 468, 194, 373, 633, 875, 294, 995, 308, 354, 783, 387, 947, 832, 689, 872, 643, 115, 493, 118, 207, 610, 694, 197, 384, 471, 434, 353, 69, 263, 946, 933, 650, 183, 369, 755, 21, 122, 931, 27, 772, 698, 912, 97, 328, 463, 400, 437, 435}); + + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(622); + Tester.pruefeListenInhalt(dieListe, new int[]{622}); + + assertFalse("Fehler: Element 678 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(678)); + dieListe.anhaengen(503); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503}); + + assertTrue("Fehler: Element 503 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(503)); + dieListe.anhaengen(940); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940}); + + dieListe.anhaengen(588); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588}); + + assertFalse("Fehler: Element 462 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(462)); + assertTrue("Fehler: Element 503 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(503)); + assertTrue("Fehler: Element 940 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(940)); + assertTrue("Fehler: Element 622 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(622)); + assertFalse("Fehler: Element 490 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(490)); + assertFalse("Fehler: Element 730 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(730)); + assertFalse("Fehler: Element 445 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(445)); + dieListe.anhaengen(575); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575}); + + dieListe.anhaengen(468); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468}); + + dieListe.anhaengen(283); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283}); + + dieListe.anhaengen(162); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162}); + + dieListe.anhaengen(103); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103}); + + assertFalse("Fehler: Element 855 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(855)); + dieListe.anhaengen(341); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341}); + + assertFalse("Fehler: Element 184 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(184)); + dieListe.anhaengen(590); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590}); + + dieListe.anhaengen(940); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940}); + + assertFalse("Fehler: Element 51 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(51)); + dieListe.anhaengen(389); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389}); + + assertTrue("Fehler: Element 622 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(622)); + assertFalse("Fehler: Element 253 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(253)); + assertTrue("Fehler: Element 389 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(389)); + dieListe.anhaengen(282); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282}); + + dieListe.anhaengen(666); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666}); + + assertFalse("Fehler: Element 443 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(443)); + dieListe.anhaengen(380); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380}); + + dieListe.anhaengen(659); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659}); + + dieListe.anhaengen(554); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554}); + + dieListe.anhaengen(820); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820}); + + dieListe.anhaengen(508); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508}); + + dieListe.anhaengen(435); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435}); + + dieListe.anhaengen(547); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547}); + + assertFalse("Fehler: Element 914 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(914)); + assertTrue("Fehler: Element 554 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(554)); + assertTrue("Fehler: Element 503 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(503)); + dieListe.anhaengen(825); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825}); + + dieListe.anhaengen(875); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875}); + + dieListe.anhaengen(683); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683}); + + assertFalse("Fehler: Element 318 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(318)); + assertFalse("Fehler: Element 604 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(604)); + dieListe.anhaengen(479); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479}); + + dieListe.anhaengen(828); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828}); + + dieListe.anhaengen(111); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111}); + + assertFalse("Fehler: Element 293 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(293)); + assertFalse("Fehler: Element 699 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(699)); + assertFalse("Fehler: Element 697 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(697)); + dieListe.anhaengen(686); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686}); + + assertTrue("Fehler: Element 575 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(575)); + dieListe.anhaengen(731); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731}); + + dieListe.anhaengen(183); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183}); + + assertFalse("Fehler: Element 196 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(196)); + dieListe.anhaengen(902); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902}); + + assertFalse("Fehler: Element 198 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(198)); + dieListe.anhaengen(921); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921}); + + dieListe.anhaengen(22); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22}); + + dieListe.anhaengen(146); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146}); + + dieListe.anhaengen(23); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23}); + + assertFalse("Fehler: Element 696 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(696)); + dieListe.anhaengen(551); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551}); + + assertFalse("Fehler: Element 518 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(518)); + dieListe.anhaengen(792); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792}); + + assertTrue("Fehler: Element 666 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(666)); + dieListe.anhaengen(79); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79}); + + dieListe.anhaengen(658); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658}); + + assertFalse("Fehler: Element 873 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(873)); + assertTrue("Fehler: Element 820 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(820)); + dieListe.anhaengen(389); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389}); + + dieListe.anhaengen(799); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799}); + + assertTrue("Fehler: Element 103 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(103)); + assertFalse("Fehler: Element 795 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(795)); + assertTrue("Fehler: Element 820 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(820)); + assertTrue("Fehler: Element 341 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(341)); + dieListe.anhaengen(627); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627}); + + dieListe.anhaengen(807); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807}); + + assertFalse("Fehler: Element 228 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(228)); + assertTrue("Fehler: Element 468 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(468)); + assertTrue("Fehler: Element 902 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(902)); + dieListe.anhaengen(289); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807, 289}); + + dieListe.anhaengen(771); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807, 289, 771}); + + assertFalse("Fehler: Element 994 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(994)); + assertTrue("Fehler: Element 146 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(146)); + dieListe.anhaengen(733); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807, 289, 771, 733}); + + dieListe.anhaengen(357); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807, 289, 771, 733, 357}); + + dieListe.anhaengen(262); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807, 289, 771, 733, 357, 262}); + + assertFalse("Fehler: Element 99 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(99)); + assertTrue("Fehler: Element 554 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(554)); + dieListe.anhaengen(121); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807, 289, 771, 733, 357, 262, 121}); + + assertTrue("Fehler: Element 590 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(590)); + assertFalse("Fehler: Element 450 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(450)); + dieListe.anhaengen(663); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807, 289, 771, 733, 357, 262, 121, 663}); + + assertFalse("Fehler: Element 714 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(714)); + dieListe.anhaengen(392); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807, 289, 771, 733, 357, 262, 121, 663, 392}); + + assertTrue("Fehler: Element 162 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(162)); + dieListe.anhaengen(962); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 503, 940, 588, 575, 468, 283, 162, 103, 341, 590, 940, 389, 282, 666, 380, 659, 554, 820, 508, 435, 547, 825, 875, 683, 479, 828, 111, 686, 731, 183, 902, 921, 22, 146, 23, 551, 792, 79, 658, 389, 799, 627, 807, 289, 771, 733, 357, 262, 121, 663, 392, 962}); + + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(671); + Tester.pruefeListenInhalt(dieListe, new int[]{671}); + + assertFalse("Fehler: Element 572 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(572)); + assertFalse("Fehler: Element 298 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(298)); + dieListe.anhaengen(895); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895}); + + dieListe.anhaengen(49); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49}); + + dieListe.anhaengen(542); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542}); + + dieListe.anhaengen(697); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697}); + + assertTrue("Fehler: Element 895 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(895)); + dieListe.anhaengen(717); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717}); + + dieListe.anhaengen(793); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793}); + + assertFalse("Fehler: Element 917 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(917)); + dieListe.anhaengen(800); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800}); + + assertFalse("Fehler: Element 247 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(247)); + dieListe.anhaengen(328); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328}); + + dieListe.anhaengen(20); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20}); + + dieListe.anhaengen(678); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678}); + + dieListe.anhaengen(313); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313}); + + assertTrue("Fehler: Element 542 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(542)); + assertFalse("Fehler: Element 998 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(998)); + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581}); + + dieListe.anhaengen(567); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567}); + + dieListe.anhaengen(51); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51}); + + dieListe.anhaengen(639); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639}); + + dieListe.anhaengen(778); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778}); + + assertFalse("Fehler: Element 708 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(708)); + assertFalse("Fehler: Element 632 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(632)); + assertFalse("Fehler: Element 406 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(406)); + dieListe.anhaengen(141); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141}); + + dieListe.anhaengen(565); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565}); + + assertFalse("Fehler: Element 987 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(987)); + assertFalse("Fehler: Element 499 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(499)); + assertTrue("Fehler: Element 20 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(20)); + dieListe.anhaengen(884); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884}); + + dieListe.anhaengen(643); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643}); + + dieListe.anhaengen(702); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702}); + + assertFalse("Fehler: Element 208 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(208)); + assertTrue("Fehler: Element 313 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(313)); + dieListe.anhaengen(785); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785}); + + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581}); + + dieListe.anhaengen(941); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941}); + + assertFalse("Fehler: Element 576 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(576)); + dieListe.anhaengen(201); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201}); + + dieListe.anhaengen(478); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478}); + + assertTrue("Fehler: Element 565 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(565)); + assertTrue("Fehler: Element 565 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(565)); + assertTrue("Fehler: Element 793 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(793)); + dieListe.anhaengen(571); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571}); + + dieListe.anhaengen(772); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772}); + + dieListe.anhaengen(2); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2}); + + dieListe.anhaengen(256); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256}); + + dieListe.anhaengen(368); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368}); + + assertFalse("Fehler: Element 299 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(299)); + assertTrue("Fehler: Element 793 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(793)); + assertTrue("Fehler: Element 581 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(581)); + assertTrue("Fehler: Element 785 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(785)); + assertTrue("Fehler: Element 2 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(2)); + assertFalse("Fehler: Element 937 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(937)); + dieListe.anhaengen(444); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444}); + + dieListe.anhaengen(556); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556}); + + assertFalse("Fehler: Element 45 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(45)); + dieListe.anhaengen(181); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181}); + + dieListe.anhaengen(877); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877}); + + assertTrue("Fehler: Element 778 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(778)); + dieListe.anhaengen(646); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646}); + + dieListe.anhaengen(188); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188}); + + assertTrue("Fehler: Element 556 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(556)); + assertFalse("Fehler: Element 942 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(942)); + assertTrue("Fehler: Element 702 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(702)); + assertTrue("Fehler: Element 51 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(51)); + dieListe.anhaengen(153); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153}); + + assertTrue("Fehler: Element 2 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(2)); + dieListe.anhaengen(115); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115}); + + dieListe.anhaengen(987); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987}); + + dieListe.anhaengen(533); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533}); + + assertFalse("Fehler: Element 876 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(876)); + dieListe.anhaengen(369); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369}); + + dieListe.anhaengen(774); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774}); + + assertTrue("Fehler: Element 141 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(141)); + assertFalse("Fehler: Element 896 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(896)); + dieListe.anhaengen(733); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774, 733}); + + assertTrue("Fehler: Element 20 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(20)); + dieListe.anhaengen(137); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774, 733, 137}); + + assertFalse("Fehler: Element 916 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(916)); + dieListe.anhaengen(974); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774, 733, 137, 974}); + + dieListe.anhaengen(961); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774, 733, 137, 974, 961}); + + assertTrue("Fehler: Element 137 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(137)); + dieListe.anhaengen(944); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774, 733, 137, 974, 961, 944}); + + dieListe.anhaengen(870); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774, 733, 137, 974, 961, 944, 870}); + + assertFalse("Fehler: Element 384 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(384)); + dieListe.anhaengen(86); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774, 733, 137, 974, 961, 944, 870, 86}); + + assertFalse("Fehler: Element 477 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(477)); + assertTrue("Fehler: Element 671 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(671)); + assertFalse("Fehler: Element 662 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(662)); + assertFalse("Fehler: Element 64 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(64)); + dieListe.anhaengen(359); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774, 733, 137, 974, 961, 944, 870, 86, 359}); + + assertFalse("Fehler: Element 755 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(755)); + dieListe.anhaengen(872); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 895, 49, 542, 697, 717, 793, 800, 328, 20, 678, 313, 581, 567, 51, 639, 778, 141, 565, 884, 643, 702, 785, 581, 941, 201, 478, 571, 772, 2, 256, 368, 444, 556, 181, 877, 646, 188, 153, 115, 987, 533, 369, 774, 733, 137, 974, 961, 944, 870, 86, 359, 872}); + + assertTrue("Fehler: Element 201 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(201)); + assertFalse("Fehler: Element 140 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(140)); + assertFalse("Fehler: Element 940 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(940)); + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest3.java b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest3.java new file mode 100644 index 0000000..96d041b --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest3.java @@ -0,0 +1,2095 @@ +package tests; + +import static org.junit.Assert.*; + +import liste.*; + +/** + * Die Test-Klasse SubTest3. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest3 { + + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(100); + Tester.pruefeListenInhalt(dieListe, new int[]{100}); + + dieListe.anhaengen(544); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544}); + + assertFalse("Fehler: Element 588 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(588)); + assertFalse("Fehler: Element 553 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(553)); + assertTrue("Fehler: Element 100 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(100)); + assertTrue("Fehler: Element 100 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(100)); + assertTrue("Fehler: Element 100 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(100)); + dieListe.anhaengen(162); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162}); + + dieListe.anhaengen(238); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238}); + + dieListe.anhaengen(69); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69}); + + assertTrue("Fehler: Element 162 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(162)); + assertTrue("Fehler: Element 544 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(544)); + assertTrue("Fehler: Element 238 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(238)); + assertTrue("Fehler: Element 69 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(69)); + dieListe.anhaengen(525); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525}); + + dieListe.anhaengen(146); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146}); + + assertFalse("Fehler: Element 24 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(24)); + dieListe.anhaengen(565); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565}); + + dieListe.anhaengen(638); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638}); + + assertFalse("Fehler: Element 786 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(786)); + dieListe.anhaengen(561); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561}); + + dieListe.anhaengen(773); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773}); + + dieListe.anhaengen(872); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872}); + + assertTrue("Fehler: Element 146 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(146)); + dieListe.anhaengen(802); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802}); + + dieListe.anhaengen(502); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502}); + + dieListe.anhaengen(81); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81}); + + dieListe.anhaengen(78); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78}); + + assertTrue("Fehler: Element 638 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(638)); + dieListe.anhaengen(934); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934}); + + dieListe.anhaengen(111); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111}); + + dieListe.anhaengen(342); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342}); + + dieListe.anhaengen(413); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413}); + + assertFalse("Fehler: Element 451 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(451)); + assertTrue("Fehler: Element 565 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(565)); + dieListe.anhaengen(517); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517}); + + dieListe.anhaengen(178); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178}); + + assertFalse("Fehler: Element 890 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(890)); + assertFalse("Fehler: Element 289 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(289)); + dieListe.anhaengen(506); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506}); + + assertTrue("Fehler: Element 802 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(802)); + dieListe.anhaengen(884); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884}); + + dieListe.anhaengen(219); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219}); + + dieListe.anhaengen(998); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998}); + + assertFalse("Fehler: Element 93 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(93)); + dieListe.anhaengen(168); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168}); + + assertFalse("Fehler: Element 76 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(76)); + dieListe.anhaengen(564); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564}); + + assertTrue("Fehler: Element 100 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(100)); + assertTrue("Fehler: Element 525 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(525)); + assertTrue("Fehler: Element 506 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(506)); + dieListe.anhaengen(411); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411}); + + dieListe.anhaengen(869); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869}); + + assertFalse("Fehler: Element 74 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(74)); + assertFalse("Fehler: Element 381 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(381)); + assertTrue("Fehler: Element 111 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(111)); + assertTrue("Fehler: Element 802 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(802)); + dieListe.anhaengen(130); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130}); + + dieListe.anhaengen(909); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909}); + + dieListe.anhaengen(620); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620}); + + assertFalse("Fehler: Element 769 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(769)); + assertFalse("Fehler: Element 459 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(459)); + assertFalse("Fehler: Element 484 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(484)); + assertFalse("Fehler: Element 950 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(950)); + assertTrue("Fehler: Element 564 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(564)); + dieListe.anhaengen(45); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45}); + + dieListe.anhaengen(695); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695}); + + assertFalse("Fehler: Element 617 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(617)); + assertTrue("Fehler: Element 100 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(100)); + assertFalse("Fehler: Element 786 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(786)); + assertFalse("Fehler: Element 71 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(71)); + assertTrue("Fehler: Element 342 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(342)); + assertTrue("Fehler: Element 638 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(638)); + assertTrue("Fehler: Element 81 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(81)); + dieListe.anhaengen(122); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122}); + + dieListe.anhaengen(368); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368}); + + assertFalse("Fehler: Element 586 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(586)); + assertTrue("Fehler: Element 100 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(100)); + dieListe.anhaengen(146); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146}); + + assertFalse("Fehler: Element 509 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(509)); + assertFalse("Fehler: Element 160 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(160)); + assertTrue("Fehler: Element 146 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(146)); + assertTrue("Fehler: Element 146 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(146)); + dieListe.anhaengen(828); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146, 828}); + + dieListe.anhaengen(769); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146, 828, 769}); + + dieListe.anhaengen(862); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146, 828, 769, 862}); + + dieListe.anhaengen(810); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146, 828, 769, 862, 810}); + + dieListe.anhaengen(499); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146, 828, 769, 862, 810, 499}); + + assertTrue("Fehler: Element 561 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(561)); + assertFalse("Fehler: Element 563 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(563)); + assertFalse("Fehler: Element 747 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(747)); + dieListe.anhaengen(668); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146, 828, 769, 862, 810, 499, 668}); + + assertTrue("Fehler: Element 342 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(342)); + dieListe.anhaengen(193); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146, 828, 769, 862, 810, 499, 668, 193}); + + assertFalse("Fehler: Element 722 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(722)); + assertFalse("Fehler: Element 860 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(860)); + dieListe.anhaengen(930); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146, 828, 769, 862, 810, 499, 668, 193, 930}); + + assertFalse("Fehler: Element 266 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(266)); + assertTrue("Fehler: Element 773 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(773)); + dieListe.anhaengen(110); + Tester.pruefeListenInhalt(dieListe, new int[]{100, 544, 162, 238, 69, 525, 146, 565, 638, 561, 773, 872, 802, 502, 81, 78, 934, 111, 342, 413, 517, 178, 506, 884, 219, 998, 168, 564, 411, 869, 130, 909, 620, 45, 695, 122, 368, 146, 828, 769, 862, 810, 499, 668, 193, 930, 110}); + + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(428); + Tester.pruefeListenInhalt(dieListe, new int[]{428}); + + dieListe.anhaengen(972); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972}); + + dieListe.anhaengen(481); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481}); + + dieListe.anhaengen(783); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783}); + + assertFalse("Fehler: Element 735 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(735)); + assertTrue("Fehler: Element 972 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(972)); + dieListe.anhaengen(797); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797}); + + assertTrue("Fehler: Element 481 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(481)); + assertFalse("Fehler: Element 99 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(99)); + dieListe.anhaengen(901); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901}); + + assertTrue("Fehler: Element 481 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(481)); + dieListe.anhaengen(335); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335}); + + assertTrue("Fehler: Element 428 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(428)); + assertFalse("Fehler: Element 398 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(398)); + dieListe.anhaengen(583); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583}); + + assertTrue("Fehler: Element 783 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(783)); + assertFalse("Fehler: Element 822 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(822)); + dieListe.anhaengen(333); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333}); + + assertFalse("Fehler: Element 108 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(108)); + assertFalse("Fehler: Element 989 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(989)); + dieListe.anhaengen(937); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937}); + + dieListe.anhaengen(520); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520}); + + assertFalse("Fehler: Element 270 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(270)); + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + assertFalse("Fehler: Element 453 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(453)); + dieListe.anhaengen(599); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599}); + + dieListe.anhaengen(147); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147}); + + assertTrue("Fehler: Element 428 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(428)); + dieListe.anhaengen(402); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402}); + + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + assertTrue("Fehler: Element 783 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(783)); + dieListe.anhaengen(618); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618}); + + dieListe.anhaengen(523); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523}); + + dieListe.anhaengen(98); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98}); + + dieListe.anhaengen(766); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766}); + + dieListe.anhaengen(960); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960}); + + dieListe.anhaengen(593); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593}); + + dieListe.anhaengen(985); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985}); + + dieListe.anhaengen(458); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458}); + + assertTrue("Fehler: Element 147 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(147)); + assertTrue("Fehler: Element 402 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(402)); + assertTrue("Fehler: Element 797 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(797)); + dieListe.anhaengen(881); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881}); + + dieListe.anhaengen(813); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813}); + + assertTrue("Fehler: Element 458 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(458)); + dieListe.anhaengen(42); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42}); + + assertFalse("Fehler: Element 990 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(990)); + assertTrue("Fehler: Element 937 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(937)); + dieListe.anhaengen(527); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527}); + + dieListe.anhaengen(382); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382}); + + assertFalse("Fehler: Element 306 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(306)); + dieListe.anhaengen(66); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66}); + + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581}); + + dieListe.anhaengen(805); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805}); + + dieListe.anhaengen(453); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453}); + + dieListe.anhaengen(688); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688}); + + assertTrue("Fehler: Element 382 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(382)); + assertFalse("Fehler: Element 931 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(931)); + assertFalse("Fehler: Element 267 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(267)); + dieListe.anhaengen(127); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127}); + + assertFalse("Fehler: Element 930 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(930)); + assertFalse("Fehler: Element 718 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(718)); + assertFalse("Fehler: Element 981 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(981)); + dieListe.anhaengen(809); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809}); + + assertTrue("Fehler: Element 813 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(813)); + assertTrue("Fehler: Element 813 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(813)); + dieListe.anhaengen(253); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253}); + + assertTrue("Fehler: Element 458 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(458)); + dieListe.anhaengen(652); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652}); + + assertTrue("Fehler: Element 481 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(481)); + assertFalse("Fehler: Element 750 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(750)); + assertFalse("Fehler: Element 381 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(381)); + dieListe.anhaengen(689); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689}); + + dieListe.anhaengen(285); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285}); + + dieListe.anhaengen(643); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643}); + + dieListe.anhaengen(283); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283}); + + dieListe.anhaengen(643); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643}); + + dieListe.anhaengen(917); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917}); + + dieListe.anhaengen(293); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293}); + + assertTrue("Fehler: Element 813 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(813)); + assertTrue("Fehler: Element 581 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(581)); + dieListe.anhaengen(14); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14}); + + dieListe.anhaengen(318); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318}); + + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + assertTrue("Fehler: Element 901 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(901)); + dieListe.anhaengen(950); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318, 950}); + + dieListe.anhaengen(392); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318, 950, 392}); + + assertFalse("Fehler: Element 169 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(169)); + dieListe.anhaengen(734); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318, 950, 392, 734}); + + assertTrue("Fehler: Element 402 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(402)); + assertTrue("Fehler: Element 127 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(127)); + dieListe.anhaengen(213); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318, 950, 392, 734, 213}); + + dieListe.anhaengen(992); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318, 950, 392, 734, 213, 992}); + + dieListe.anhaengen(339); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318, 950, 392, 734, 213, 992, 339}); + + dieListe.anhaengen(777); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318, 950, 392, 734, 213, 992, 339, 777}); + + dieListe.anhaengen(314); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318, 950, 392, 734, 213, 992, 339, 777, 314}); + + assertTrue("Fehler: Element 643 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(643)); + assertTrue("Fehler: Element 285 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(285)); + dieListe.anhaengen(855); + Tester.pruefeListenInhalt(dieListe, new int[]{428, 972, 481, 783, 797, 901, 335, 583, 333, 937, 520, 599, 147, 402, 618, 523, 98, 766, 960, 593, 985, 458, 881, 813, 42, 527, 382, 66, 581, 805, 453, 688, 127, 809, 253, 652, 689, 285, 643, 283, 643, 917, 293, 14, 318, 950, 392, 734, 213, 992, 339, 777, 314, 855}); + + assertFalse("Fehler: Element 775 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(775)); + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(589); + Tester.pruefeListenInhalt(dieListe, new int[]{589}); + + assertFalse("Fehler: Element 27 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(27)); + dieListe.anhaengen(757); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757}); + + assertTrue("Fehler: Element 589 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(589)); + assertTrue("Fehler: Element 757 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(757)); + dieListe.anhaengen(576); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576}); + + assertFalse("Fehler: Element 464 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(464)); + dieListe.anhaengen(42); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42}); + + dieListe.anhaengen(526); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526}); + + dieListe.anhaengen(419); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419}); + + dieListe.anhaengen(302); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302}); + + assertFalse("Fehler: Element 232 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(232)); + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581}); + + dieListe.anhaengen(736); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736}); + + assertTrue("Fehler: Element 589 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(589)); + dieListe.anhaengen(731); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731}); + + assertTrue("Fehler: Element 736 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(736)); + assertFalse("Fehler: Element 515 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(515)); + dieListe.anhaengen(618); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618}); + + assertTrue("Fehler: Element 581 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(581)); + dieListe.anhaengen(945); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945}); + + dieListe.anhaengen(714); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714}); + + assertTrue("Fehler: Element 736 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(736)); + dieListe.anhaengen(897); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897}); + + dieListe.anhaengen(305); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305}); + + assertFalse("Fehler: Element 55 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(55)); + assertTrue("Fehler: Element 589 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(589)); + assertFalse("Fehler: Element 976 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(976)); + dieListe.anhaengen(5); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5}); + + assertTrue("Fehler: Element 731 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(731)); + dieListe.anhaengen(452); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452}); + + assertTrue("Fehler: Element 581 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(581)); + dieListe.anhaengen(462); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462}); + + assertFalse("Fehler: Element 900 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(900)); + dieListe.anhaengen(518); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518}); + + dieListe.anhaengen(83); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83}); + + dieListe.anhaengen(460); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460}); + + assertFalse("Fehler: Element 737 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(737)); + assertTrue("Fehler: Element 589 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(589)); + assertTrue("Fehler: Element 576 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(576)); + dieListe.anhaengen(547); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547}); + + dieListe.anhaengen(843); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843}); + + dieListe.anhaengen(164); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164}); + + assertTrue("Fehler: Element 419 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(419)); + dieListe.anhaengen(479); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479}); + + dieListe.anhaengen(590); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590}); + + assertFalse("Fehler: Element 358 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(358)); + dieListe.anhaengen(954); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954}); + + dieListe.anhaengen(325); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325}); + + dieListe.anhaengen(839); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839}); + + assertTrue("Fehler: Element 479 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(479)); + assertFalse("Fehler: Element 112 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(112)); + dieListe.anhaengen(794); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794}); + + assertTrue("Fehler: Element 589 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(589)); + dieListe.anhaengen(363); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363}); + + assertTrue("Fehler: Element 325 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(325)); + assertFalse("Fehler: Element 62 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(62)); + assertTrue("Fehler: Element 518 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(518)); + assertFalse("Fehler: Element 444 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(444)); + dieListe.anhaengen(688); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688}); + + assertTrue("Fehler: Element 302 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(302)); + assertFalse("Fehler: Element 777 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(777)); + dieListe.anhaengen(329); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329}); + + dieListe.anhaengen(124); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124}); + + assertFalse("Fehler: Element 571 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(571)); + assertFalse("Fehler: Element 351 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(351)); + assertFalse("Fehler: Element 698 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(698)); + dieListe.anhaengen(338); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338}); + + dieListe.anhaengen(947); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947}); + + assertTrue("Fehler: Element 714 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(714)); + dieListe.anhaengen(751); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751}); + + dieListe.anhaengen(247); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247}); + + assertTrue("Fehler: Element 460 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(460)); + assertFalse("Fehler: Element 31 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(31)); + dieListe.anhaengen(637); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637}); + + dieListe.anhaengen(360); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360}); + + assertTrue("Fehler: Element 325 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(325)); + assertFalse("Fehler: Element 905 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(905)); + dieListe.anhaengen(403); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403}); + + dieListe.anhaengen(302); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302}); + + dieListe.anhaengen(727); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302, 727}); + + assertTrue("Fehler: Element 462 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(462)); + assertTrue("Fehler: Element 5 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(5)); + dieListe.anhaengen(108); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302, 727, 108}); + + dieListe.anhaengen(981); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302, 727, 108, 981}); + + assertTrue("Fehler: Element 305 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(305)); + assertTrue("Fehler: Element 714 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(714)); + assertFalse("Fehler: Element 106 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(106)); + dieListe.anhaengen(176); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302, 727, 108, 981, 176}); + + dieListe.anhaengen(747); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302, 727, 108, 981, 176, 747}); + + dieListe.anhaengen(63); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302, 727, 108, 981, 176, 747, 63}); + + assertFalse("Fehler: Element 635 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(635)); + assertTrue("Fehler: Element 479 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(479)); + assertTrue("Fehler: Element 981 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(981)); + dieListe.anhaengen(174); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302, 727, 108, 981, 176, 747, 63, 174}); + + assertFalse("Fehler: Element 38 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(38)); + assertTrue("Fehler: Element 42 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(42)); + assertTrue("Fehler: Element 526 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(526)); + dieListe.anhaengen(435); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302, 727, 108, 981, 176, 747, 63, 174, 435}); + + dieListe.anhaengen(704); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 757, 576, 42, 526, 419, 302, 581, 736, 731, 618, 945, 714, 897, 305, 5, 452, 462, 518, 83, 460, 547, 843, 164, 479, 590, 954, 325, 839, 794, 363, 688, 329, 124, 338, 947, 751, 247, 637, 360, 403, 302, 727, 108, 981, 176, 747, 63, 174, 435, 704}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(440); + Tester.pruefeListenInhalt(dieListe, new int[]{440}); + + dieListe.anhaengen(392); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392}); + + assertTrue("Fehler: Element 440 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(440)); + dieListe.anhaengen(394); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394}); + + assertTrue("Fehler: Element 394 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(394)); + assertTrue("Fehler: Element 440 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(440)); + assertFalse("Fehler: Element 859 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(859)); + assertFalse("Fehler: Element 190 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(190)); + assertFalse("Fehler: Element 351 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(351)); + dieListe.anhaengen(583); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583}); + + assertFalse("Fehler: Element 7 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(7)); + assertFalse("Fehler: Element 31 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(31)); + dieListe.anhaengen(64); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64}); + + dieListe.anhaengen(17); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17}); + + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + dieListe.anhaengen(180); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180}); + + assertFalse("Fehler: Element 907 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(907)); + dieListe.anhaengen(921); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921}); + + assertTrue("Fehler: Element 921 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(921)); + assertFalse("Fehler: Element 765 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(765)); + assertTrue("Fehler: Element 394 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(394)); + assertTrue("Fehler: Element 394 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(394)); + dieListe.anhaengen(537); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537}); + + assertTrue("Fehler: Element 64 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(64)); + dieListe.anhaengen(705); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705}); + + assertFalse("Fehler: Element 356 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(356)); + assertTrue("Fehler: Element 705 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(705)); + assertFalse("Fehler: Element 679 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(679)); + dieListe.anhaengen(40); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40}); + + dieListe.anhaengen(887); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887}); + + dieListe.anhaengen(887); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887}); + + assertFalse("Fehler: Element 978 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(978)); + dieListe.anhaengen(846); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846}); + + assertTrue("Fehler: Element 17 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(17)); + dieListe.anhaengen(675); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675}); + + dieListe.anhaengen(173); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173}); + + dieListe.anhaengen(528); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528}); + + dieListe.anhaengen(431); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431}); + + assertTrue("Fehler: Element 64 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(64)); + dieListe.anhaengen(600); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600}); + + assertTrue("Fehler: Element 180 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(180)); + assertTrue("Fehler: Element 600 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(600)); + dieListe.anhaengen(207); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207}); + + dieListe.anhaengen(712); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712}); + + assertTrue("Fehler: Element 64 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(64)); + dieListe.anhaengen(732); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732}); + + assertFalse("Fehler: Element 853 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(853)); + assertTrue("Fehler: Element 600 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(600)); + dieListe.anhaengen(24); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24}); + + assertFalse("Fehler: Element 397 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(397)); + dieListe.anhaengen(704); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704}); + + assertFalse("Fehler: Element 324 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(324)); + assertFalse("Fehler: Element 354 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(354)); + assertFalse("Fehler: Element 251 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(251)); + dieListe.anhaengen(357); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357}); + + assertFalse("Fehler: Element 532 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(532)); + assertFalse("Fehler: Element 598 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(598)); + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + assertTrue("Fehler: Element 537 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(537)); + assertFalse("Fehler: Element 145 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(145)); + dieListe.anhaengen(316); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316}); + + dieListe.anhaengen(112); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112}); + + assertFalse("Fehler: Element 981 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(981)); + assertTrue("Fehler: Element 921 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(921)); + dieListe.anhaengen(617); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617}); + + assertTrue("Fehler: Element 675 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(675)); + assertFalse("Fehler: Element 340 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(340)); + assertTrue("Fehler: Element 357 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(357)); + assertFalse("Fehler: Element 419 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(419)); + dieListe.anhaengen(955); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955}); + + assertFalse("Fehler: Element 877 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(877)); + dieListe.anhaengen(535); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535}); + + dieListe.anhaengen(864); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864}); + + dieListe.anhaengen(627); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627}); + + dieListe.anhaengen(670); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670}); + + assertFalse("Fehler: Element 753 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(753)); + assertTrue("Fehler: Element 40 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(40)); + assertTrue("Fehler: Element 40 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(40)); + assertFalse("Fehler: Element 746 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(746)); + assertFalse("Fehler: Element 684 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(684)); + dieListe.anhaengen(834); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670, 834}); + + dieListe.anhaengen(123); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670, 834, 123}); + + dieListe.anhaengen(573); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670, 834, 123, 573}); + + assertTrue("Fehler: Element 207 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(207)); + dieListe.anhaengen(852); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670, 834, 123, 573, 852}); + + assertTrue("Fehler: Element 394 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(394)); + dieListe.anhaengen(23); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670, 834, 123, 573, 852, 23}); + + dieListe.anhaengen(16); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670, 834, 123, 573, 852, 23, 16}); + + assertTrue("Fehler: Element 173 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(173)); + assertFalse("Fehler: Element 721 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(721)); + dieListe.anhaengen(61); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670, 834, 123, 573, 852, 23, 16, 61}); + + assertFalse("Fehler: Element 51 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(51)); + dieListe.anhaengen(965); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670, 834, 123, 573, 852, 23, 16, 61, 965}); + + assertFalse("Fehler: Element 115 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(115)); + assertFalse("Fehler: Element 666 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(666)); + assertTrue("Fehler: Element 834 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(834)); + assertFalse("Fehler: Element 636 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(636)); + dieListe.anhaengen(661); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 392, 394, 583, 64, 17, 180, 921, 537, 705, 40, 887, 887, 846, 675, 173, 528, 431, 600, 207, 712, 732, 24, 704, 357, 316, 112, 617, 955, 535, 864, 627, 670, 834, 123, 573, 852, 23, 16, 61, 965, 661}); + + assertFalse("Fehler: Element 839 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(839)); + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(340); + Tester.pruefeListenInhalt(dieListe, new int[]{340}); + + assertTrue("Fehler: Element 340 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(340)); + dieListe.anhaengen(210); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210}); + + dieListe.anhaengen(118); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118}); + + dieListe.anhaengen(521); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521}); + + assertTrue("Fehler: Element 340 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(340)); + dieListe.anhaengen(905); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905}); + + dieListe.anhaengen(793); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793}); + + dieListe.anhaengen(989); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989}); + + assertFalse("Fehler: Element 654 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(654)); + assertTrue("Fehler: Element 989 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(989)); + dieListe.anhaengen(930); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930}); + + dieListe.anhaengen(591); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591}); + + dieListe.anhaengen(874); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874}); + + assertFalse("Fehler: Element 853 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(853)); + assertTrue("Fehler: Element 521 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(521)); + assertTrue("Fehler: Element 989 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(989)); + dieListe.anhaengen(45); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45}); + + assertFalse("Fehler: Element 90 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(90)); + dieListe.anhaengen(3); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3}); + + dieListe.anhaengen(877); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877}); + + dieListe.anhaengen(645); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645}); + + assertTrue("Fehler: Element 340 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(340)); + assertFalse("Fehler: Element 855 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(855)); + assertFalse("Fehler: Element 251 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(251)); + dieListe.anhaengen(981); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981}); + + dieListe.anhaengen(395); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395}); + + assertTrue("Fehler: Element 45 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(45)); + assertFalse("Fehler: Element 312 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(312)); + assertFalse("Fehler: Element 850 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(850)); + assertFalse("Fehler: Element 659 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(659)); + assertFalse("Fehler: Element 664 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(664)); + dieListe.anhaengen(348); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348}); + + assertTrue("Fehler: Element 395 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(395)); + dieListe.anhaengen(730); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730}); + + dieListe.anhaengen(990); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990}); + + assertTrue("Fehler: Element 591 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(591)); + dieListe.anhaengen(499); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499}); + + assertFalse("Fehler: Element 542 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(542)); + assertTrue("Fehler: Element 989 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(989)); + dieListe.anhaengen(300); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300}); + + dieListe.anhaengen(758); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758}); + + assertFalse("Fehler: Element 487 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(487)); + dieListe.anhaengen(126); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126}); + + dieListe.anhaengen(417); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417}); + + dieListe.anhaengen(136); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136}); + + assertTrue("Fehler: Element 930 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(930)); + assertFalse("Fehler: Element 888 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(888)); + dieListe.anhaengen(159); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159}); + + dieListe.anhaengen(594); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594}); + + dieListe.anhaengen(626); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626}); + + dieListe.anhaengen(867); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867}); + + dieListe.anhaengen(135); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135}); + + dieListe.anhaengen(768); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768}); + + assertFalse("Fehler: Element 480 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(480)); + dieListe.anhaengen(451); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451}); + + dieListe.anhaengen(225); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225}); + + assertFalse("Fehler: Element 185 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(185)); + assertTrue("Fehler: Element 499 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(499)); + assertTrue("Fehler: Element 417 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(417)); + assertFalse("Fehler: Element 609 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(609)); + dieListe.anhaengen(1); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1}); + + assertFalse("Fehler: Element 942 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(942)); + dieListe.anhaengen(576); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576}); + + dieListe.anhaengen(54); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54}); + + dieListe.anhaengen(463); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463}); + + dieListe.anhaengen(526); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526}); + + assertTrue("Fehler: Element 340 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(340)); + assertTrue("Fehler: Element 417 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(417)); + assertFalse("Fehler: Element 100 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(100)); + dieListe.anhaengen(615); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615}); + + dieListe.anhaengen(822); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822}); + + dieListe.anhaengen(200); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200}); + + dieListe.anhaengen(696); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696}); + + assertTrue("Fehler: Element 576 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(576)); + dieListe.anhaengen(781); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781}); + + dieListe.anhaengen(57); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57}); + + dieListe.anhaengen(413); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413}); + + assertFalse("Fehler: Element 175 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(175)); + assertTrue("Fehler: Element 874 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(874)); + dieListe.anhaengen(439); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439}); + + assertFalse("Fehler: Element 509 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(509)); + dieListe.anhaengen(837); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837}); + + assertTrue("Fehler: Element 135 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(135)); + assertTrue("Fehler: Element 417 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(417)); + dieListe.anhaengen(832); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837, 832}); + + assertFalse("Fehler: Element 5 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(5)); + dieListe.anhaengen(698); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837, 832, 698}); + + assertTrue("Fehler: Element 905 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(905)); + assertTrue("Fehler: Element 990 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(990)); + dieListe.anhaengen(970); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837, 832, 698, 970}); + + dieListe.anhaengen(877); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837, 832, 698, 970, 877}); + + dieListe.anhaengen(830); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837, 832, 698, 970, 877, 830}); + + dieListe.anhaengen(562); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837, 832, 698, 970, 877, 830, 562}); + + dieListe.anhaengen(217); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837, 832, 698, 970, 877, 830, 562, 217}); + + assertTrue("Fehler: Element 626 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(626)); + dieListe.anhaengen(79); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837, 832, 698, 970, 877, 830, 562, 217, 79}); + + assertTrue("Fehler: Element 340 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(340)); + dieListe.anhaengen(678); + Tester.pruefeListenInhalt(dieListe, new int[]{340, 210, 118, 521, 905, 793, 989, 930, 591, 874, 45, 3, 877, 645, 981, 395, 348, 730, 990, 499, 300, 758, 126, 417, 136, 159, 594, 626, 867, 135, 768, 451, 225, 1, 576, 54, 463, 526, 615, 822, 200, 696, 781, 57, 413, 439, 837, 832, 698, 970, 877, 830, 562, 217, 79, 678}); + + assertFalse("Fehler: Element 779 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(779)); + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(983); + Tester.pruefeListenInhalt(dieListe, new int[]{983}); + + dieListe.anhaengen(675); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675}); + + dieListe.anhaengen(165); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165}); + + dieListe.anhaengen(820); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820}); + + assertFalse("Fehler: Element 314 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(314)); + assertFalse("Fehler: Element 624 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(624)); + dieListe.anhaengen(792); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792}); + + dieListe.anhaengen(312); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312}); + + assertFalse("Fehler: Element 4 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(4)); + dieListe.anhaengen(783); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783}); + + assertTrue("Fehler: Element 820 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(820)); + assertFalse("Fehler: Element 406 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(406)); + dieListe.anhaengen(916); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916}); + + assertTrue("Fehler: Element 916 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(916)); + dieListe.anhaengen(170); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170}); + + dieListe.anhaengen(420); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420}); + + dieListe.anhaengen(157); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157}); + + dieListe.anhaengen(484); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484}); + + assertTrue("Fehler: Element 792 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(792)); + dieListe.anhaengen(736); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736}); + + assertTrue("Fehler: Element 165 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(165)); + assertFalse("Fehler: Element 13 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(13)); + dieListe.anhaengen(328); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328}); + + assertTrue("Fehler: Element 484 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(484)); + dieListe.anhaengen(881); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881}); + + dieListe.anhaengen(728); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728}); + + dieListe.anhaengen(750); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750}); + + assertTrue("Fehler: Element 675 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(675)); + dieListe.anhaengen(122); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122}); + + assertTrue("Fehler: Element 728 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(728)); + dieListe.anhaengen(296); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296}); + + dieListe.anhaengen(21); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21}); + + dieListe.anhaengen(369); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369}); + + dieListe.anhaengen(626); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626}); + + dieListe.anhaengen(903); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903}); + + dieListe.anhaengen(641); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641}); + + dieListe.anhaengen(57); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57}); + + assertTrue("Fehler: Element 626 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(626)); + dieListe.anhaengen(410); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410}); + + dieListe.anhaengen(908); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908}); + + dieListe.anhaengen(51); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51}); + + dieListe.anhaengen(238); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238}); + + dieListe.anhaengen(564); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564}); + + assertTrue("Fehler: Element 484 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(484)); + dieListe.anhaengen(467); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467}); + + dieListe.anhaengen(856); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856}); + + assertTrue("Fehler: Element 165 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(165)); + assertFalse("Fehler: Element 201 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(201)); + assertTrue("Fehler: Element 312 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(312)); + assertTrue("Fehler: Element 165 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(165)); + assertFalse("Fehler: Element 965 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(965)); + dieListe.anhaengen(723); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723}); + + dieListe.anhaengen(978); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978}); + + assertTrue("Fehler: Element 165 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(165)); + dieListe.anhaengen(923); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923}); + + dieListe.anhaengen(949); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949}); + + assertTrue("Fehler: Element 296 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(296)); + dieListe.anhaengen(362); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362}); + + assertFalse("Fehler: Element 58 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(58)); + dieListe.anhaengen(286); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286}); + + assertTrue("Fehler: Element 750 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(750)); + assertTrue("Fehler: Element 978 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(978)); + assertFalse("Fehler: Element 207 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(207)); + dieListe.anhaengen(35); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35}); + + assertTrue("Fehler: Element 238 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(238)); + dieListe.anhaengen(941); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941}); + + dieListe.anhaengen(366); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366}); + + assertTrue("Fehler: Element 57 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(57)); + assertFalse("Fehler: Element 381 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(381)); + dieListe.anhaengen(481); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481}); + + assertTrue("Fehler: Element 35 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(35)); + dieListe.anhaengen(183); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183}); + + assertTrue("Fehler: Element 312 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(312)); + dieListe.anhaengen(712); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712}); + + dieListe.anhaengen(664); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664}); + + assertFalse("Fehler: Element 853 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(853)); + dieListe.anhaengen(575); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575}); + + assertFalse("Fehler: Element 85 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(85)); + assertFalse("Fehler: Element 739 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(739)); + assertTrue("Fehler: Element 51 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(51)); + dieListe.anhaengen(237); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237}); + + dieListe.anhaengen(831); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831}); + + dieListe.anhaengen(371); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371}); + + assertFalse("Fehler: Element 777 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(777)); + assertFalse("Fehler: Element 613 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(613)); + dieListe.anhaengen(143); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371, 143}); + + assertTrue("Fehler: Element 51 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(51)); + assertTrue("Fehler: Element 983 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(983)); + dieListe.anhaengen(937); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371, 143, 937}); + + assertFalse("Fehler: Element 929 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(929)); + assertTrue("Fehler: Element 420 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(420)); + dieListe.anhaengen(655); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371, 143, 937, 655}); + + dieListe.anhaengen(492); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371, 143, 937, 655, 492}); + + dieListe.anhaengen(134); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371, 143, 937, 655, 492, 134}); + + assertTrue("Fehler: Element 923 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(923)); + dieListe.anhaengen(309); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371, 143, 937, 655, 492, 134, 309}); + + dieListe.anhaengen(292); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371, 143, 937, 655, 492, 134, 309, 292}); + + dieListe.anhaengen(442); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371, 143, 937, 655, 492, 134, 309, 292, 442}); + + assertFalse("Fehler: Element 992 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(992)); + dieListe.anhaengen(53); + Tester.pruefeListenInhalt(dieListe, new int[]{983, 675, 165, 820, 792, 312, 783, 916, 170, 420, 157, 484, 736, 328, 881, 728, 750, 122, 296, 21, 369, 626, 903, 641, 57, 410, 908, 51, 238, 564, 467, 856, 723, 978, 923, 949, 362, 286, 35, 941, 366, 481, 183, 712, 664, 575, 237, 831, 371, 143, 937, 655, 492, 134, 309, 292, 442, 53}); + + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(320); + Tester.pruefeListenInhalt(dieListe, new int[]{320}); + + dieListe.anhaengen(971); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971}); + + assertFalse("Fehler: Element 566 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(566)); + dieListe.anhaengen(281); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281}); + + dieListe.anhaengen(714); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714}); + + assertFalse("Fehler: Element 960 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(960)); + dieListe.anhaengen(334); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334}); + + dieListe.anhaengen(122); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122}); + + assertTrue("Fehler: Element 320 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(320)); + dieListe.anhaengen(108); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108}); + + dieListe.anhaengen(484); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484}); + + assertTrue("Fehler: Element 320 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(320)); + assertTrue("Fehler: Element 320 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(320)); + assertFalse("Fehler: Element 112 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(112)); + dieListe.anhaengen(588); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588}); + + dieListe.anhaengen(453); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453}); + + assertTrue("Fehler: Element 484 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(484)); + dieListe.anhaengen(982); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982}); + + assertFalse("Fehler: Element 868 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(868)); + assertFalse("Fehler: Element 482 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(482)); + dieListe.anhaengen(200); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200}); + + dieListe.anhaengen(211); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211}); + + assertTrue("Fehler: Element 588 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(588)); + assertTrue("Fehler: Element 971 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(971)); + dieListe.anhaengen(537); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537}); + + dieListe.anhaengen(409); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409}); + + dieListe.anhaengen(896); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896}); + + dieListe.anhaengen(157); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157}); + + dieListe.anhaengen(215); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215}); + + assertTrue("Fehler: Element 211 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(211)); + assertTrue("Fehler: Element 896 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(896)); + dieListe.anhaengen(540); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540}); + + dieListe.anhaengen(50); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50}); + + assertTrue("Fehler: Element 982 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(982)); + assertFalse("Fehler: Element 159 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(159)); + assertFalse("Fehler: Element 848 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(848)); + dieListe.anhaengen(631); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631}); + + assertFalse("Fehler: Element 777 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(777)); + dieListe.anhaengen(823); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823}); + + dieListe.anhaengen(30); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30}); + + dieListe.anhaengen(414); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414}); + + assertFalse("Fehler: Element 548 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(548)); + dieListe.anhaengen(633); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633}); + + dieListe.anhaengen(596); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596}); + + dieListe.anhaengen(281); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281}); + + dieListe.anhaengen(784); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784}); + + dieListe.anhaengen(964); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964}); + + dieListe.anhaengen(191); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191}); + + assertTrue("Fehler: Element 537 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(537)); + dieListe.anhaengen(530); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530}); + + assertTrue("Fehler: Element 281 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(281)); + dieListe.anhaengen(301); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301}); + + dieListe.anhaengen(384); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384}); + + dieListe.anhaengen(937); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937}); + + dieListe.anhaengen(845); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845}); + + assertTrue("Fehler: Element 484 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(484)); + assertFalse("Fehler: Element 574 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(574)); + assertFalse("Fehler: Element 119 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(119)); + dieListe.anhaengen(948); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948}); + + dieListe.anhaengen(466); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466}); + + dieListe.anhaengen(774); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774}); + + assertTrue("Fehler: Element 823 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(823)); + assertTrue("Fehler: Element 50 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(50)); + dieListe.anhaengen(436); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436}); + + dieListe.anhaengen(120); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120}); + + dieListe.anhaengen(493); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493}); + + dieListe.anhaengen(377); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377}); + + dieListe.anhaengen(507); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507}); + + assertTrue("Fehler: Element 120 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(120)); + dieListe.anhaengen(744); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744}); + + assertTrue("Fehler: Element 215 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(215)); + assertTrue("Fehler: Element 845 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(845)); + dieListe.anhaengen(702); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702}); + + dieListe.anhaengen(329); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329}); + + dieListe.anhaengen(473); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473}); + + assertTrue("Fehler: Element 484 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(484)); + assertTrue("Fehler: Element 120 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(120)); + dieListe.anhaengen(328); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328}); + + dieListe.anhaengen(175); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175}); + + dieListe.anhaengen(690); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175, 690}); + + dieListe.anhaengen(596); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175, 690, 596}); + + assertFalse("Fehler: Element 799 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(799)); + assertTrue("Fehler: Element 537 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(537)); + dieListe.anhaengen(682); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175, 690, 596, 682}); + + assertFalse("Fehler: Element 683 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(683)); + dieListe.anhaengen(238); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175, 690, 596, 682, 238}); + + dieListe.anhaengen(851); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175, 690, 596, 682, 238, 851}); + + assertFalse("Fehler: Element 831 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(831)); + assertFalse("Fehler: Element 307 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(307)); + assertFalse("Fehler: Element 965 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(965)); + assertFalse("Fehler: Element 127 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(127)); + assertTrue("Fehler: Element 414 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(414)); + dieListe.anhaengen(109); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175, 690, 596, 682, 238, 851, 109}); + + assertTrue("Fehler: Element 964 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(964)); + dieListe.anhaengen(491); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175, 690, 596, 682, 238, 851, 109, 491}); + + assertFalse("Fehler: Element 809 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(809)); + assertTrue("Fehler: Element 823 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(823)); + assertFalse("Fehler: Element 383 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(383)); + dieListe.anhaengen(134); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175, 690, 596, 682, 238, 851, 109, 491, 134}); + + dieListe.anhaengen(558); + Tester.pruefeListenInhalt(dieListe, new int[]{320, 971, 281, 714, 334, 122, 108, 484, 588, 453, 982, 200, 211, 537, 409, 896, 157, 215, 540, 50, 631, 823, 30, 414, 633, 596, 281, 784, 964, 191, 530, 301, 384, 937, 845, 948, 466, 774, 436, 120, 493, 377, 507, 744, 702, 329, 473, 328, 175, 690, 596, 682, 238, 851, 109, 491, 134, 558}); + + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(804); + Tester.pruefeListenInhalt(dieListe, new int[]{804}); + + assertTrue("Fehler: Element 804 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(804)); + dieListe.anhaengen(93); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93}); + + dieListe.anhaengen(451); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451}); + + dieListe.anhaengen(123); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123}); + + dieListe.anhaengen(529); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529}); + + assertFalse("Fehler: Element 298 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(298)); + assertTrue("Fehler: Element 93 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(93)); + dieListe.anhaengen(124); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124}); + + dieListe.anhaengen(257); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257}); + + assertTrue("Fehler: Element 123 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(123)); + dieListe.anhaengen(928); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928}); + + dieListe.anhaengen(629); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629}); + + assertTrue("Fehler: Element 124 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(124)); + assertTrue("Fehler: Element 804 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(804)); + assertFalse("Fehler: Element 512 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(512)); + assertFalse("Fehler: Element 750 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(750)); + assertTrue("Fehler: Element 123 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(123)); + dieListe.anhaengen(504); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504}); + + dieListe.anhaengen(841); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841}); + + assertTrue("Fehler: Element 804 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(804)); + assertTrue("Fehler: Element 504 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(504)); + assertTrue("Fehler: Element 841 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(841)); + dieListe.anhaengen(788); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788}); + + assertTrue("Fehler: Element 928 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(928)); + assertTrue("Fehler: Element 257 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(257)); + assertTrue("Fehler: Element 841 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(841)); + assertTrue("Fehler: Element 123 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(123)); + assertTrue("Fehler: Element 928 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(928)); + assertTrue("Fehler: Element 788 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(788)); + dieListe.anhaengen(589); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589}); + + assertTrue("Fehler: Element 928 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(928)); + dieListe.anhaengen(836); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836}); + + assertFalse("Fehler: Element 904 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(904)); + dieListe.anhaengen(336); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336}); + + dieListe.anhaengen(315); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315}); + + dieListe.anhaengen(957); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957}); + + assertFalse("Fehler: Element 732 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(732)); + dieListe.anhaengen(350); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350}); + + assertFalse("Fehler: Element 581 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(581)); + dieListe.anhaengen(789); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789}); + + dieListe.anhaengen(279); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279}); + + assertFalse("Fehler: Element 392 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(392)); + assertTrue("Fehler: Element 529 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(529)); + dieListe.anhaengen(288); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288}); + + assertTrue("Fehler: Element 804 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(804)); + dieListe.anhaengen(158); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158}); + + assertTrue("Fehler: Element 279 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(279)); + assertTrue("Fehler: Element 928 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(928)); + assertFalse("Fehler: Element 136 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(136)); + assertTrue("Fehler: Element 336 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(336)); + dieListe.anhaengen(255); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255}); + + dieListe.anhaengen(669); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669}); + + dieListe.anhaengen(877); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877}); + + dieListe.anhaengen(359); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359}); + + dieListe.anhaengen(145); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145}); + + assertFalse("Fehler: Element 996 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(996)); + dieListe.anhaengen(392); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392}); + + assertTrue("Fehler: Element 957 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(957)); + assertTrue("Fehler: Element 279 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(279)); + dieListe.anhaengen(569); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569}); + + dieListe.anhaengen(250); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250}); + + dieListe.anhaengen(413); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413}); + + assertFalse("Fehler: Element 998 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(998)); + dieListe.anhaengen(670); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670}); + + dieListe.anhaengen(925); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925}); + + dieListe.anhaengen(650); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650}); + + assertFalse("Fehler: Element 640 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(640)); + assertFalse("Fehler: Element 690 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(690)); + dieListe.anhaengen(383); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383}); + + dieListe.anhaengen(789); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789}); + + assertTrue("Fehler: Element 670 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(670)); + assertTrue("Fehler: Element 669 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(669)); + assertTrue("Fehler: Element 255 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(255)); + dieListe.anhaengen(291); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291}); + + dieListe.anhaengen(927); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927}); + + dieListe.anhaengen(844); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844}); + + assertTrue("Fehler: Element 413 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(413)); + dieListe.anhaengen(259); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844, 259}); + + assertTrue("Fehler: Element 93 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(93)); + assertTrue("Fehler: Element 877 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(877)); + dieListe.anhaengen(194); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844, 259, 194}); + + assertFalse("Fehler: Element 303 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(303)); + assertFalse("Fehler: Element 508 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(508)); + assertTrue("Fehler: Element 925 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(925)); + dieListe.anhaengen(713); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844, 259, 194, 713}); + + assertTrue("Fehler: Element 257 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(257)); + assertFalse("Fehler: Element 244 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(244)); + assertTrue("Fehler: Element 569 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(569)); + dieListe.anhaengen(651); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844, 259, 194, 713, 651}); + + dieListe.anhaengen(843); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844, 259, 194, 713, 651, 843}); + + assertTrue("Fehler: Element 145 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(145)); + assertFalse("Fehler: Element 818 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(818)); + assertTrue("Fehler: Element 158 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(158)); + assertFalse("Fehler: Element 619 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(619)); + dieListe.anhaengen(914); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844, 259, 194, 713, 651, 843, 914}); + + dieListe.anhaengen(643); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844, 259, 194, 713, 651, 843, 914, 643}); + + dieListe.anhaengen(732); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844, 259, 194, 713, 651, 843, 914, 643, 732}); + + dieListe.anhaengen(243); + Tester.pruefeListenInhalt(dieListe, new int[]{804, 93, 451, 123, 529, 124, 257, 928, 629, 504, 841, 788, 589, 836, 336, 315, 957, 350, 789, 279, 288, 158, 255, 669, 877, 359, 145, 392, 569, 250, 413, 670, 925, 650, 383, 789, 291, 927, 844, 259, 194, 713, 651, 843, 914, 643, 732, 243}); + + assertTrue("Fehler: Element 650 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(650)); + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(845); + Tester.pruefeListenInhalt(dieListe, new int[]{845}); + + dieListe.anhaengen(166); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166}); + + assertTrue("Fehler: Element 845 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(845)); + dieListe.anhaengen(961); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961}); + + assertTrue("Fehler: Element 961 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(961)); + dieListe.anhaengen(772); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772}); + + dieListe.anhaengen(113); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113}); + + assertFalse("Fehler: Element 321 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(321)); + dieListe.anhaengen(5); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5}); + + dieListe.anhaengen(270); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270}); + + assertFalse("Fehler: Element 651 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(651)); + dieListe.anhaengen(91); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91}); + + dieListe.anhaengen(326); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326}); + + dieListe.anhaengen(110); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110}); + + assertTrue("Fehler: Element 270 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(270)); + dieListe.anhaengen(314); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314}); + + dieListe.anhaengen(972); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972}); + + assertTrue("Fehler: Element 972 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(972)); + dieListe.anhaengen(174); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174}); + + dieListe.anhaengen(743); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743}); + + assertTrue("Fehler: Element 166 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(166)); + assertTrue("Fehler: Element 743 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(743)); + dieListe.anhaengen(434); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434}); + + dieListe.anhaengen(255); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255}); + + dieListe.anhaengen(69); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69}); + + assertFalse("Fehler: Element 124 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(124)); + dieListe.anhaengen(419); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419}); + + assertTrue("Fehler: Element 110 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(110)); + dieListe.anhaengen(241); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241}); + + dieListe.anhaengen(226); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226}); + + assertFalse("Fehler: Element 905 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(905)); + assertFalse("Fehler: Element 288 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(288)); + dieListe.anhaengen(847); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847}); + + dieListe.anhaengen(567); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567}); + + assertFalse("Fehler: Element 269 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(269)); + dieListe.anhaengen(952); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952}); + + assertFalse("Fehler: Element 513 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(513)); + dieListe.anhaengen(395); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395}); + + assertFalse("Fehler: Element 744 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(744)); + dieListe.anhaengen(255); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255}); + + assertFalse("Fehler: Element 714 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(714)); + assertTrue("Fehler: Element 226 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(226)); + dieListe.anhaengen(773); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773}); + + assertTrue("Fehler: Element 255 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(255)); + assertFalse("Fehler: Element 135 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(135)); + assertTrue("Fehler: Element 952 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(952)); + assertFalse("Fehler: Element 903 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(903)); + assertTrue("Fehler: Element 255 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(255)); + dieListe.anhaengen(139); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139}); + + assertFalse("Fehler: Element 245 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(245)); + assertFalse("Fehler: Element 858 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(858)); + dieListe.anhaengen(907); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907}); + + assertTrue("Fehler: Element 961 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(961)); + dieListe.anhaengen(453); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453}); + + assertTrue("Fehler: Element 255 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(255)); + assertFalse("Fehler: Element 222 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(222)); + assertTrue("Fehler: Element 419 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(419)); + assertTrue("Fehler: Element 226 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(226)); + dieListe.anhaengen(480); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480}); + + dieListe.anhaengen(557); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557}); + + dieListe.anhaengen(675); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675}); + + dieListe.anhaengen(362); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362}); + + assertFalse("Fehler: Element 331 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(331)); + assertFalse("Fehler: Element 475 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(475)); + dieListe.anhaengen(7); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7}); + + assertTrue("Fehler: Element 91 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(91)); + assertTrue("Fehler: Element 743 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(743)); + dieListe.anhaengen(975); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975}); + + dieListe.anhaengen(915); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915}); + + assertTrue("Fehler: Element 743 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(743)); + assertFalse("Fehler: Element 384 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(384)); + dieListe.anhaengen(947); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947}); + + dieListe.anhaengen(983); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983}); + + dieListe.anhaengen(99); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99}); + + assertTrue("Fehler: Element 255 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(255)); + assertFalse("Fehler: Element 875 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(875)); + assertTrue("Fehler: Element 743 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(743)); + dieListe.anhaengen(26); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26}); + + dieListe.anhaengen(877); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877}); + + assertTrue("Fehler: Element 255 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(255)); + assertFalse("Fehler: Element 820 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(820)); + dieListe.anhaengen(391); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391}); + + dieListe.anhaengen(441); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391, 441}); + + assertFalse("Fehler: Element 65 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(65)); + assertFalse("Fehler: Element 155 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(155)); + dieListe.anhaengen(958); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391, 441, 958}); + + dieListe.anhaengen(671); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391, 441, 958, 671}); + + assertTrue("Fehler: Element 391 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(391)); + dieListe.anhaengen(989); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391, 441, 958, 671, 989}); + + dieListe.anhaengen(849); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391, 441, 958, 671, 989, 849}); + + assertFalse("Fehler: Element 51 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(51)); + dieListe.anhaengen(519); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391, 441, 958, 671, 989, 849, 519}); + + dieListe.anhaengen(219); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391, 441, 958, 671, 989, 849, 519, 219}); + + assertFalse("Fehler: Element 210 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(210)); + assertTrue("Fehler: Element 907 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(907)); + dieListe.anhaengen(622); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391, 441, 958, 671, 989, 849, 519, 219, 622}); + + assertTrue("Fehler: Element 983 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(983)); + assertFalse("Fehler: Element 902 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(902)); + assertTrue("Fehler: Element 622 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(622)); + dieListe.anhaengen(822); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 166, 961, 772, 113, 5, 270, 91, 326, 110, 314, 972, 174, 743, 434, 255, 69, 419, 241, 226, 847, 567, 952, 395, 255, 773, 139, 907, 453, 480, 557, 675, 362, 7, 975, 915, 947, 983, 99, 26, 877, 391, 441, 958, 671, 989, 849, 519, 219, 622, 822}); + + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(368); + Tester.pruefeListenInhalt(dieListe, new int[]{368}); + + dieListe.anhaengen(495); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495}); + + assertTrue("Fehler: Element 368 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(368)); + dieListe.anhaengen(317); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317}); + + assertFalse("Fehler: Element 300 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(300)); + dieListe.anhaengen(796); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796}); + + assertFalse("Fehler: Element 126 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(126)); + assertFalse("Fehler: Element 360 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(360)); + dieListe.anhaengen(401); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401}); + + assertFalse("Fehler: Element 20 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(20)); + assertTrue("Fehler: Element 401 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(401)); + dieListe.anhaengen(870); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870}); + + assertTrue("Fehler: Element 401 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(401)); + dieListe.anhaengen(632); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632}); + + dieListe.anhaengen(962); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962}); + + dieListe.anhaengen(374); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374}); + + assertTrue("Fehler: Element 368 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(368)); + assertFalse("Fehler: Element 550 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(550)); + dieListe.anhaengen(736); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736}); + + dieListe.anhaengen(541); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541}); + + dieListe.anhaengen(432); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432}); + + dieListe.anhaengen(211); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211}); + + dieListe.anhaengen(386); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386}); + + assertTrue("Fehler: Element 736 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(736)); + dieListe.anhaengen(12); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12}); + + dieListe.anhaengen(168); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168}); + + assertFalse("Fehler: Element 959 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(959)); + dieListe.anhaengen(863); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863}); + + dieListe.anhaengen(22); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22}); + + assertFalse("Fehler: Element 899 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(899)); + assertFalse("Fehler: Element 940 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(940)); + assertTrue("Fehler: Element 401 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(401)); + dieListe.anhaengen(341); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341}); + + dieListe.anhaengen(254); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254}); + + dieListe.anhaengen(492); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492}); + + dieListe.anhaengen(172); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172}); + + dieListe.anhaengen(465); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465}); + + assertFalse("Fehler: Element 611 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(611)); + assertFalse("Fehler: Element 991 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(991)); + dieListe.anhaengen(612); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612}); + + assertTrue("Fehler: Element 12 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(12)); + assertTrue("Fehler: Element 12 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(12)); + assertFalse("Fehler: Element 694 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(694)); + assertFalse("Fehler: Element 485 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(485)); + dieListe.anhaengen(92); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92}); + + dieListe.anhaengen(186); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186}); + + dieListe.anhaengen(57); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57}); + + dieListe.anhaengen(520); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520}); + + assertFalse("Fehler: Element 890 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(890)); + assertFalse("Fehler: Element 411 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(411)); + assertTrue("Fehler: Element 92 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(92)); + dieListe.anhaengen(978); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978}); + + dieListe.anhaengen(899); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899}); + + dieListe.anhaengen(539); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539}); + + assertFalse("Fehler: Element 260 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(260)); + dieListe.anhaengen(359); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359}); + + assertFalse("Fehler: Element 731 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(731)); + dieListe.anhaengen(533); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533}); + + assertFalse("Fehler: Element 76 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(76)); + dieListe.anhaengen(942); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942}); + + assertFalse("Fehler: Element 336 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(336)); + dieListe.anhaengen(743); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743}); + + assertFalse("Fehler: Element 140 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(140)); + assertFalse("Fehler: Element 346 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(346)); + dieListe.anhaengen(740); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740}); + + dieListe.anhaengen(292); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292}); + + dieListe.anhaengen(691); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691}); + + dieListe.anhaengen(384); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384}); + + dieListe.anhaengen(337); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337}); + + dieListe.anhaengen(363); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363}); + + assertTrue("Fehler: Element 363 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(363)); + assertTrue("Fehler: Element 254 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(254)); + assertTrue("Fehler: Element 22 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(22)); + assertTrue("Fehler: Element 186 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(186)); + dieListe.anhaengen(391); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391}); + + assertTrue("Fehler: Element 386 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(386)); + assertFalse("Fehler: Element 428 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(428)); + dieListe.anhaengen(562); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562}); + + assertFalse("Fehler: Element 442 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(442)); + dieListe.anhaengen(293); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293}); + + assertFalse("Fehler: Element 128 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(128)); + assertTrue("Fehler: Element 368 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(368)); + assertFalse("Fehler: Element 505 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(505)); + dieListe.anhaengen(940); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940}); + + dieListe.anhaengen(887); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887}); + + assertTrue("Fehler: Element 612 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(612)); + assertFalse("Fehler: Element 112 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(112)); + assertFalse("Fehler: Element 830 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(830)); + dieListe.anhaengen(369); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887, 369}); + + assertFalse("Fehler: Element 772 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(772)); + dieListe.anhaengen(283); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887, 369, 283}); + + dieListe.anhaengen(784); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887, 369, 283, 784}); + + dieListe.anhaengen(706); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887, 369, 283, 784, 706}); + + assertTrue("Fehler: Element 292 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(292)); + dieListe.anhaengen(425); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887, 369, 283, 784, 706, 425}); + + dieListe.anhaengen(533); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887, 369, 283, 784, 706, 425, 533}); + + dieListe.anhaengen(378); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887, 369, 283, 784, 706, 425, 533, 378}); + + dieListe.anhaengen(563); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887, 369, 283, 784, 706, 425, 533, 378, 563}); + + dieListe.anhaengen(322); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 495, 317, 796, 401, 870, 632, 962, 374, 736, 541, 432, 211, 386, 12, 168, 863, 22, 341, 254, 492, 172, 465, 612, 92, 186, 57, 520, 978, 899, 539, 359, 533, 942, 743, 740, 292, 691, 384, 337, 363, 391, 562, 293, 940, 887, 369, 283, 784, 706, 425, 533, 378, 563, 322}); + + assertFalse("Fehler: Element 851 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(851)); + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest4.java b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest4.java new file mode 100644 index 0000000..3267721 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest4.java @@ -0,0 +1,2427 @@ +package tests; + +import static org.junit.Assert.*; + +import liste.*; + +/** + * Die Test-Klasse SubTest4. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest4 { + + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 245); + Tester.pruefeListenInhalt(dieListe, new int[]{245}); + + dieListe.anhaengen(907); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 907}); + + dieListe.anhaengen(837); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 907, 837}); + + assertFalse("Fehler: Element 897 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(897)); + dieListe.einfuegenBei(3, 307); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 907, 837, 307}); + + dieListe.einfuegenBei(1, 934); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307}); + + dieListe.anhaengen(498); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498}); + + dieListe.anhaengen(683); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 683}); + + dieListe.einfuegenBei(7, 882); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 683, 882}); + + assertFalse("Fehler: Element 435 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(435)); + assertFalse("Fehler: Element 483 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(483)); + dieListe.anhaengen(906); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 683, 882, 906}); + + dieListe.anhaengen(908); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 683, 882, 906, 908}); + + dieListe.anhaengen(820); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 683, 882, 906, 908, 820}); + + dieListe.anhaengen(730); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 683, 882, 906, 908, 820, 730}); + + dieListe.einfuegenBei(6, 688); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 688, 683, 882, 906, 908, 820, 730}); + + dieListe.anhaengen(441); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 688, 683, 882, 906, 908, 820, 730, 441}); + + dieListe.anhaengen(256); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 688, 683, 882, 906, 908, 820, 730, 441, 256}); + + dieListe.anhaengen(848); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 688, 683, 882, 906, 908, 820, 730, 441, 256, 848}); + + dieListe.einfuegenBei(6, 743); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 730, 441, 256, 848}); + + dieListe.anhaengen(43); + Tester.pruefeListenInhalt(dieListe, new int[]{245, 934, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 730, 441, 256, 848, 43}); + + dieListe.einfuegenBei(0, 676); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 730, 441, 256, 848, 43}); + + dieListe.anhaengen(166); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 730, 441, 256, 848, 43, 166}); + + assertFalse("Fehler: Element 605 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(605)); + assertFalse("Fehler: Element 854 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(854)); + dieListe.einfuegenBei(3, 679); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 730, 441, 256, 848, 43, 166}); + + dieListe.einfuegenBei(21, 975); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 730, 441, 256, 848, 43, 166, 975}); + + assertFalse("Fehler: Element 914 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(914)); + dieListe.anhaengen(71); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 730, 441, 256, 848, 43, 166, 975, 71}); + + dieListe.einfuegenBei(15, 177); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 177, 730, 441, 256, 848, 43, 166, 975, 71}); + + dieListe.anhaengen(860); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 177, 730, 441, 256, 848, 43, 166, 975, 71, 860}); + + dieListe.einfuegenBei(16, 545); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860}); + + dieListe.anhaengen(906); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906}); + + assertFalse("Fehler: Element 368 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(368)); + assertTrue("Fehler: Element 71 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(71)); + assertTrue("Fehler: Element 975 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(975)); + dieListe.anhaengen(488); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488}); + + dieListe.einfuegenBei(11, 126); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488}); + + dieListe.anhaengen(77); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77}); + + dieListe.einfuegenBei(6, 958); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77}); + + dieListe.anhaengen(356); + Tester.pruefeListenInhalt(dieListe, new int[]{676, 245, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77, 356}); + + assertFalse("Fehler: Element 49 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(49)); + dieListe.einfuegenBei(0, 14); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77, 356}); + + dieListe.einfuegenBei(33, 607); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77, 356, 607}); + + dieListe.einfuegenBei(3, 553); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77, 356, 607}); + + dieListe.anhaengen(97); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77, 356, 607, 97}); + + dieListe.einfuegenBei(34, 795); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77, 356, 795, 607, 97}); + + assertFalse("Fehler: Element 223 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(223)); + dieListe.einfuegenBei(4, 777); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77, 356, 795, 607, 97}); + + dieListe.einfuegenBei(37, 920); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 166, 975, 71, 860, 906, 488, 77, 356, 795, 607, 920, 97}); + + assertFalse("Fehler: Element 251 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(251)); + dieListe.einfuegenBei(27, 742); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 742, 166, 975, 71, 860, 906, 488, 77, 356, 795, 607, 920, 97}); + + assertFalse("Fehler: Element 543 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(543)); + dieListe.einfuegenBei(28, 656); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 356, 795, 607, 920, 97}); + + assertTrue("Fehler: Element 920 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(920)); + dieListe.einfuegenBei(26, 478); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 177, 545, 730, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 356, 795, 607, 920, 97}); + + assertTrue("Fehler: Element 307 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(307)); + dieListe.einfuegenBei(20, 462); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 356, 795, 607, 920, 97}); + + dieListe.anhaengen(217); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 356, 795, 607, 920, 97, 217}); + + assertTrue("Fehler: Element 256 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(256)); + assertTrue("Fehler: Element 462 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(462)); + dieListe.einfuegenBei(39, 591); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 356, 591, 795, 607, 920, 97, 217}); + + dieListe.anhaengen(710); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 356, 591, 795, 607, 920, 97, 217, 710}); + + dieListe.einfuegenBei(24, 360); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 356, 591, 795, 607, 920, 97, 217, 710}); + + assertFalse("Fehler: Element 146 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(146)); + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 356, 591, 795, 607, 920, 97, 217, 710, 861}); + + assertFalse("Fehler: Element 86 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(86)); + assertFalse("Fehler: Element 804 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(804)); + assertFalse("Fehler: Element 394 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(394)); + assertTrue("Fehler: Element 97 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(97)); + dieListe.anhaengen(165); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165}); + + assertTrue("Fehler: Element 860 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(860)); + assertFalse("Fehler: Element 470 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(470)); + dieListe.einfuegenBei(39, 501); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165}); + + dieListe.anhaengen(383); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383}); + + dieListe.anhaengen(254); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254}); + + dieListe.anhaengen(166); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166}); + + dieListe.einfuegenBei(4, 504); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 777, 934, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166}); + + assertFalse("Fehler: Element 415 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(415)); + dieListe.einfuegenBei(7, 748); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166}); + + assertFalse("Fehler: Element 222 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(222)); + dieListe.einfuegenBei(5, 442); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166}); + + assertFalse("Fehler: Element 994 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(994)); + assertTrue("Fehler: Element 934 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(934)); + dieListe.anhaengen(970); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166, 970}); + + assertTrue("Fehler: Element 383 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(383)); + dieListe.anhaengen(589); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166, 970, 589}); + + assertFalse("Fehler: Element 537 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(537)); + dieListe.anhaengen(124); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166, 970, 589, 124}); + + dieListe.anhaengen(853); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166, 970, 589, 124, 853}); + + assertTrue("Fehler: Element 908 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(908)); + dieListe.einfuegenBei(21, 489); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 489, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166, 970, 589, 124, 853}); + + dieListe.einfuegenBei(38, 234); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 489, 908, 820, 462, 177, 545, 730, 360, 441, 256, 848, 478, 43, 742, 656, 166, 975, 234, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166, 970, 589, 124, 853}); + + assertFalse("Fehler: Element 875 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(875)); + assertTrue("Fehler: Element 837 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(837)); + dieListe.einfuegenBei(30, 133); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 489, 908, 820, 462, 177, 545, 730, 360, 441, 133, 256, 848, 478, 43, 742, 656, 166, 975, 234, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166, 970, 589, 124, 853}); + + assertTrue("Fehler: Element 478 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(478)); + assertTrue("Fehler: Element 489 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(489)); + dieListe.einfuegenBei(59, 990); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 489, 908, 820, 462, 177, 545, 730, 360, 441, 133, 256, 848, 478, 43, 742, 656, 166, 975, 234, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166, 990, 970, 589, 124, 853}); + + dieListe.anhaengen(625); + Tester.pruefeListenInhalt(dieListe, new int[]{14, 676, 245, 553, 504, 442, 777, 934, 748, 679, 907, 837, 958, 307, 498, 743, 688, 683, 126, 882, 906, 489, 908, 820, 462, 177, 545, 730, 360, 441, 133, 256, 848, 478, 43, 742, 656, 166, 975, 234, 71, 860, 906, 488, 77, 501, 356, 591, 795, 607, 920, 97, 217, 710, 861, 165, 383, 254, 166, 990, 970, 589, 124, 853, 625}); + + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(549); + Tester.pruefeListenInhalt(dieListe, new int[]{549}); + + dieListe.einfuegenBei(1, 581); + Tester.pruefeListenInhalt(dieListe, new int[]{549, 581}); + + dieListe.einfuegenBei(1, 368); + Tester.pruefeListenInhalt(dieListe, new int[]{549, 368, 581}); + + assertTrue("Fehler: Element 368 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(368)); + dieListe.einfuegenBei(1, 748); + Tester.pruefeListenInhalt(dieListe, new int[]{549, 748, 368, 581}); + + dieListe.einfuegenBei(0, 102); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581}); + + assertFalse("Fehler: Element 821 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(821)); + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581, 189}); + + assertFalse("Fehler: Element 56 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(56)); + dieListe.anhaengen(657); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581, 189, 657}); + + dieListe.anhaengen(358); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581, 189, 657, 358}); + + dieListe.anhaengen(706); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581, 189, 657, 358, 706}); + + assertTrue("Fehler: Element 368 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(368)); + dieListe.anhaengen(417); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581, 189, 657, 358, 706, 417}); + + dieListe.anhaengen(824); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581, 189, 657, 358, 706, 417, 824}); + + dieListe.anhaengen(506); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581, 189, 657, 358, 706, 417, 824, 506}); + + dieListe.anhaengen(260); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581, 189, 657, 358, 706, 417, 824, 506, 260}); + + assertTrue("Fehler: Element 549 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(549)); + assertTrue("Fehler: Element 189 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(189)); + dieListe.anhaengen(66); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 748, 368, 581, 189, 657, 358, 706, 417, 824, 506, 260, 66}); + + dieListe.einfuegenBei(2, 855); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 855, 748, 368, 581, 189, 657, 358, 706, 417, 824, 506, 260, 66}); + + assertFalse("Fehler: Element 723 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(723)); + dieListe.einfuegenBei(13, 8); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 855, 748, 368, 581, 189, 657, 358, 706, 417, 824, 506, 8, 260, 66}); + + dieListe.einfuegenBei(15, 226); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 855, 748, 368, 581, 189, 657, 358, 706, 417, 824, 506, 8, 260, 226, 66}); + + assertFalse("Fehler: Element 44 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(44)); + dieListe.anhaengen(689); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 855, 748, 368, 581, 189, 657, 358, 706, 417, 824, 506, 8, 260, 226, 66, 689}); + + assertTrue("Fehler: Element 358 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(358)); + dieListe.einfuegenBei(7, 2); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 549, 855, 748, 368, 581, 189, 2, 657, 358, 706, 417, 824, 506, 8, 260, 226, 66, 689}); + + dieListe.einfuegenBei(1, 267); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 267, 549, 855, 748, 368, 581, 189, 2, 657, 358, 706, 417, 824, 506, 8, 260, 226, 66, 689}); + + dieListe.einfuegenBei(16, 861); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 267, 549, 855, 748, 368, 581, 189, 2, 657, 358, 706, 417, 824, 506, 8, 861, 260, 226, 66, 689}); + + assertTrue("Fehler: Element 824 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(824)); + dieListe.anhaengen(953); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 267, 549, 855, 748, 368, 581, 189, 2, 657, 358, 706, 417, 824, 506, 8, 861, 260, 226, 66, 689, 953}); + + dieListe.einfuegenBei(1, 677); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 581, 189, 2, 657, 358, 706, 417, 824, 506, 8, 861, 260, 226, 66, 689, 953}); + + dieListe.einfuegenBei(22, 950); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 581, 189, 2, 657, 358, 706, 417, 824, 506, 8, 861, 260, 226, 66, 689, 950, 953}); + + dieListe.einfuegenBei(8, 163); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 581, 163, 189, 2, 657, 358, 706, 417, 824, 506, 8, 861, 260, 226, 66, 689, 950, 953}); + + dieListe.einfuegenBei(20, 21); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 581, 163, 189, 2, 657, 358, 706, 417, 824, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953}); + + assertFalse("Fehler: Element 449 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(449)); + assertTrue("Fehler: Element 861 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(861)); + dieListe.anhaengen(972); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 581, 163, 189, 2, 657, 358, 706, 417, 824, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972}); + + dieListe.einfuegenBei(16, 62); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972}); + + assertFalse("Fehler: Element 171 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(171)); + dieListe.einfuegenBei(7, 637); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 637, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972}); + + dieListe.einfuegenBei(7, 788); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 788, 637, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972}); + + dieListe.einfuegenBei(19, 625); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 788, 637, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972}); + + dieListe.anhaengen(524); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 788, 637, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524}); + + assertTrue("Fehler: Element 102 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(102)); + assertFalse("Fehler: Element 16 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(16)); + dieListe.anhaengen(113); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 788, 637, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113}); + + dieListe.anhaengen(899); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 788, 637, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899}); + + dieListe.anhaengen(860); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 368, 788, 637, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860}); + + dieListe.einfuegenBei(6, 360); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860}); + + dieListe.anhaengen(312); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312}); + + dieListe.einfuegenBei(13, 949); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312}); + + dieListe.anhaengen(445); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 445}); + + dieListe.anhaengen(156); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 445, 156}); + + assertTrue("Fehler: Element 824 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(824)); + assertTrue("Fehler: Element 445 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(445)); + dieListe.einfuegenBei(38, 261); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 261, 445, 156}); + + assertFalse("Fehler: Element 907 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(907)); + dieListe.einfuegenBei(41, 718); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 261, 445, 156, 718}); + + assertFalse("Fehler: Element 230 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(230)); + assertTrue("Fehler: Element 62 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(62)); + dieListe.einfuegenBei(40, 288); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 261, 445, 288, 156, 718}); + + dieListe.anhaengen(992); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 261, 445, 288, 156, 718, 992}); + + assertFalse("Fehler: Element 415 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(415)); + dieListe.anhaengen(30); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 261, 445, 288, 156, 718, 992, 30}); + + dieListe.anhaengen(157); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 261, 445, 288, 156, 718, 992, 30, 157}); + + dieListe.anhaengen(469); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469}); + + dieListe.einfuegenBei(2, 239); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469}); + + dieListe.einfuegenBei(29, 713); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469}); + + assertTrue("Fehler: Element 713 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(713)); + assertFalse("Fehler: Element 542 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(542)); + dieListe.einfuegenBei(39, 850); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469}); + + dieListe.anhaengen(329); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329}); + + dieListe.anhaengen(776); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776}); + + dieListe.einfuegenBei(7, 328); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776}); + + dieListe.anhaengen(907); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907}); + + assertFalse("Fehler: Element 4 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(4)); + dieListe.anhaengen(689); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689}); + + assertFalse("Fehler: Element 866 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(866)); + dieListe.anhaengen(621); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621}); + + dieListe.anhaengen(442); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442}); + + assertTrue("Fehler: Element 62 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(62)); + dieListe.anhaengen(800); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800}); + + assertFalse("Fehler: Element 480 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(480)); + dieListe.einfuegenBei(30, 864); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800}); + + dieListe.einfuegenBei(9, 440); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800}); + + assertTrue("Fehler: Element 288 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(288)); + dieListe.anhaengen(422); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422}); + + assertFalse("Fehler: Element 854 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(854)); + dieListe.anhaengen(645); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422, 645}); + + dieListe.anhaengen(582); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422, 645, 582}); + + dieListe.einfuegenBei(10, 362); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 362, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422, 645, 582}); + + dieListe.anhaengen(404); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 362, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422, 645, 582, 404}); + + assertFalse("Fehler: Element 719 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(719)); + dieListe.einfuegenBei(31, 904); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 362, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 904, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422, 645, 582, 404}); + + dieListe.anhaengen(787); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 362, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 904, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422, 645, 582, 404, 787}); + + dieListe.anhaengen(244); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 362, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 904, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422, 645, 582, 404, 787, 244}); + + dieListe.anhaengen(570); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 328, 360, 440, 362, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 904, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422, 645, 582, 404, 787, 244, 570}); + + dieListe.einfuegenBei(7, 835); + Tester.pruefeListenInhalt(dieListe, new int[]{102, 677, 239, 267, 549, 855, 748, 835, 328, 360, 440, 362, 368, 788, 637, 581, 163, 189, 949, 2, 657, 358, 706, 417, 824, 62, 625, 506, 8, 861, 260, 21, 904, 226, 864, 713, 66, 689, 950, 953, 972, 524, 113, 899, 860, 850, 312, 261, 445, 288, 156, 718, 992, 30, 157, 469, 329, 776, 907, 689, 621, 442, 800, 422, 645, 582, 404, 787, 244, 570}); + + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 588); + Tester.pruefeListenInhalt(dieListe, new int[]{588}); + + dieListe.anhaengen(889); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889}); + + assertTrue("Fehler: Element 889 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(889)); + dieListe.anhaengen(884); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 884}); + + assertFalse("Fehler: Element 467 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(467)); + dieListe.anhaengen(151); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 884, 151}); + + dieListe.anhaengen(57); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 884, 151, 57}); + + dieListe.einfuegenBei(2, 960); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 884, 151, 57}); + + assertFalse("Fehler: Element 612 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(612)); + dieListe.anhaengen(385); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 884, 151, 57, 385}); + + dieListe.anhaengen(530); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 884, 151, 57, 385, 530}); + + dieListe.einfuegenBei(3, 689); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 689, 884, 151, 57, 385, 530}); + + dieListe.anhaengen(637); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 689, 884, 151, 57, 385, 530, 637}); + + assertTrue("Fehler: Element 960 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(960)); + dieListe.einfuegenBei(8, 647); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 689, 884, 151, 57, 385, 647, 530, 637}); + + dieListe.einfuegenBei(4, 391); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 689, 391, 884, 151, 57, 385, 647, 530, 637}); + + dieListe.einfuegenBei(9, 196); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 689, 391, 884, 151, 57, 385, 196, 647, 530, 637}); + + dieListe.anhaengen(271); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 689, 391, 884, 151, 57, 385, 196, 647, 530, 637, 271}); + + assertFalse("Fehler: Element 435 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(435)); + assertFalse("Fehler: Element 802 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(802)); + dieListe.anhaengen(650); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 889, 960, 689, 391, 884, 151, 57, 385, 196, 647, 530, 637, 271, 650}); + + dieListe.einfuegenBei(0, 854); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 689, 391, 884, 151, 57, 385, 196, 647, 530, 637, 271, 650}); + + dieListe.einfuegenBei(4, 185); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 185, 689, 391, 884, 151, 57, 385, 196, 647, 530, 637, 271, 650}); + + assertTrue("Fehler: Element 588 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(588)); + assertFalse("Fehler: Element 9 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(9)); + dieListe.anhaengen(141); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 185, 689, 391, 884, 151, 57, 385, 196, 647, 530, 637, 271, 650, 141}); + + dieListe.anhaengen(613); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 185, 689, 391, 884, 151, 57, 385, 196, 647, 530, 637, 271, 650, 141, 613}); + + dieListe.einfuegenBei(8, 720); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 385, 196, 647, 530, 637, 271, 650, 141, 613}); + + dieListe.einfuegenBei(12, 78); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 385, 78, 196, 647, 530, 637, 271, 650, 141, 613}); + + dieListe.einfuegenBei(20, 432); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 385, 78, 196, 647, 530, 637, 271, 650, 141, 432, 613}); + + dieListe.anhaengen(326); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 385, 78, 196, 647, 530, 637, 271, 650, 141, 432, 613, 326}); + + assertTrue("Fehler: Element 78 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(78)); + assertTrue("Fehler: Element 637 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(637)); + dieListe.anhaengen(92); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 385, 78, 196, 647, 530, 637, 271, 650, 141, 432, 613, 326, 92}); + + dieListe.einfuegenBei(17, 91); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 385, 78, 196, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92}); + + dieListe.einfuegenBei(1, 743); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 385, 78, 196, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92}); + + assertTrue("Fehler: Element 185 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(185)); + dieListe.einfuegenBei(12, 425); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 385, 78, 196, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92}); + + assertTrue("Fehler: Element 613 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(613)); + assertTrue("Fehler: Element 196 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(196)); + dieListe.anhaengen(598); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 385, 78, 196, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598}); + + dieListe.einfuegenBei(13, 481); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598}); + + dieListe.anhaengen(195); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 195}); + + assertFalse("Fehler: Element 551 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(551)); + assertFalse("Fehler: Element 550 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(550)); + dieListe.anhaengen(582); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 195, 582}); + + dieListe.anhaengen(487); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 195, 582, 487}); + + dieListe.einfuegenBei(17, 773); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 195, 582, 487}); + + assertFalse("Fehler: Element 769 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(769)); + dieListe.anhaengen(170); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 195, 582, 487, 170}); + + dieListe.einfuegenBei(17, 838); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 195, 582, 487, 170}); + + dieListe.anhaengen(883); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 195, 582, 487, 170, 883}); + + dieListe.anhaengen(296); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 195, 582, 487, 170, 883, 296}); + + dieListe.anhaengen(621); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 195, 582, 487, 170, 883, 296, 621}); + + dieListe.einfuegenBei(31, 46); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 884, 720, 151, 57, 425, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621}); + + assertFalse("Fehler: Element 822 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(822)); + dieListe.einfuegenBei(8, 874); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 874, 884, 720, 151, 57, 425, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621}); + + assertTrue("Fehler: Element 196 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(196)); + assertFalse("Fehler: Element 20 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(20)); + dieListe.anhaengen(179); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 874, 884, 720, 151, 57, 425, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179}); + + dieListe.einfuegenBei(8, 744); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 57, 425, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179}); + + dieListe.anhaengen(293); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 57, 425, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293}); + + dieListe.einfuegenBei(15, 871); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 57, 425, 871, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293}); + + dieListe.anhaengen(361); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 57, 425, 871, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 361}); + + dieListe.anhaengen(301); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 57, 425, 871, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 361, 301}); + + dieListe.einfuegenBei(44, 974); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 57, 425, 871, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 301}); + + dieListe.anhaengen(583); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 57, 425, 871, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 301, 583}); + + dieListe.anhaengen(324); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 57, 425, 871, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 301, 583, 324}); + + dieListe.einfuegenBei(13, 446); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 301, 583, 324}); + + assertFalse("Fehler: Element 23 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(23)); + assertTrue("Fehler: Element 324 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(324)); + dieListe.einfuegenBei(47, 505); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 583, 324}); + + dieListe.einfuegenBei(19, 321); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 583, 324}); + + assertTrue("Fehler: Element 195 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(195)); + dieListe.einfuegenBei(50, 815); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324}); + + dieListe.anhaengen(649); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649}); + + assertFalse("Fehler: Element 451 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(451)); + dieListe.einfuegenBei(38, 36); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649}); + + dieListe.einfuegenBei(31, 405); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649}); + + assertTrue("Fehler: Element 588 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(588)); + dieListe.anhaengen(692); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649, 692}); + + dieListe.einfuegenBei(26, 558); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649, 692}); + + dieListe.anhaengen(932); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649, 692, 932}); + + assertFalse("Fehler: Element 229 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(229)); + dieListe.anhaengen(583); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649, 692, 932, 583}); + + dieListe.anhaengen(69); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649, 692, 932, 583, 69}); + + assertTrue("Fehler: Element 613 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(613)); + assertFalse("Fehler: Element 615 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(615)); + dieListe.einfuegenBei(11, 480); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 480, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649, 692, 932, 583, 69}); + + assertFalse("Fehler: Element 313 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(313)); + dieListe.anhaengen(667); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 480, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649, 692, 932, 583, 69, 667}); + + dieListe.anhaengen(393); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 480, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649, 692, 932, 583, 69, 667, 393}); + + dieListe.anhaengen(830); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 480, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 815, 583, 324, 649, 692, 932, 583, 69, 667, 393, 830}); + + dieListe.einfuegenBei(54, 978); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 480, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 978, 815, 583, 324, 649, 692, 932, 583, 69, 667, 393, 830}); + + dieListe.einfuegenBei(26, 901); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 480, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 901, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 978, 815, 583, 324, 649, 692, 932, 583, 69, 667, 393, 830}); + + dieListe.einfuegenBei(64, 207); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 480, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 901, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 978, 815, 583, 324, 649, 692, 932, 583, 69, 207, 667, 393, 830}); + + assertFalse("Fehler: Element 851 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(851)); + assertFalse("Fehler: Element 251 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(251)); + assertFalse("Fehler: Element 653 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(653)); + dieListe.anhaengen(51); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 743, 588, 889, 960, 185, 689, 391, 744, 874, 884, 480, 720, 151, 446, 57, 425, 871, 481, 385, 321, 78, 196, 838, 773, 647, 901, 530, 558, 637, 91, 271, 650, 141, 405, 432, 613, 326, 92, 598, 46, 195, 36, 582, 487, 170, 883, 296, 621, 179, 293, 974, 361, 505, 301, 978, 815, 583, 324, 649, 692, 932, 583, 69, 207, 667, 393, 830, 51}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 390); + Tester.pruefeListenInhalt(dieListe, new int[]{390}); + + dieListe.einfuegenBei(1, 75); + Tester.pruefeListenInhalt(dieListe, new int[]{390, 75}); + + dieListe.einfuegenBei(2, 282); + Tester.pruefeListenInhalt(dieListe, new int[]{390, 75, 282}); + + dieListe.anhaengen(653); + Tester.pruefeListenInhalt(dieListe, new int[]{390, 75, 282, 653}); + + assertFalse("Fehler: Element 195 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(195)); + dieListe.anhaengen(596); + Tester.pruefeListenInhalt(dieListe, new int[]{390, 75, 282, 653, 596}); + + dieListe.einfuegenBei(1, 398); + Tester.pruefeListenInhalt(dieListe, new int[]{390, 398, 75, 282, 653, 596}); + + assertFalse("Fehler: Element 636 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(636)); + assertTrue("Fehler: Element 282 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(282)); + dieListe.einfuegenBei(0, 461); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 282, 653, 596}); + + dieListe.einfuegenBei(4, 586); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 586, 282, 653, 596}); + + assertTrue("Fehler: Element 282 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(282)); + dieListe.anhaengen(144); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 586, 282, 653, 596, 144}); + + dieListe.anhaengen(104); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 586, 282, 653, 596, 144, 104}); + + dieListe.anhaengen(619); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 586, 282, 653, 596, 144, 104, 619}); + + assertFalse("Fehler: Element 834 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(834)); + dieListe.einfuegenBei(4, 736); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 586, 282, 653, 596, 144, 104, 619}); + + dieListe.anhaengen(299); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 586, 282, 653, 596, 144, 104, 619, 299}); + + assertTrue("Fehler: Element 461 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(461)); + dieListe.anhaengen(617); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 586, 282, 653, 596, 144, 104, 619, 299, 617}); + + dieListe.anhaengen(233); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 586, 282, 653, 596, 144, 104, 619, 299, 617, 233}); + + dieListe.anhaengen(92); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 586, 282, 653, 596, 144, 104, 619, 299, 617, 233, 92}); + + dieListe.anhaengen(306); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 586, 282, 653, 596, 144, 104, 619, 299, 617, 233, 92, 306}); + + dieListe.anhaengen(225); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 586, 282, 653, 596, 144, 104, 619, 299, 617, 233, 92, 306, 225}); + + dieListe.einfuegenBei(11, 157); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 586, 282, 653, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225}); + + dieListe.anhaengen(678); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 586, 282, 653, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678}); + + assertFalse("Fehler: Element 332 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(332)); + dieListe.einfuegenBei(5, 129); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 129, 586, 282, 653, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678}); + + dieListe.anhaengen(312); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 129, 586, 282, 653, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312}); + + dieListe.anhaengen(202); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 129, 586, 282, 653, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202}); + + assertFalse("Fehler: Element 500 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(500)); + assertFalse("Fehler: Element 264 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(264)); + dieListe.anhaengen(965); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 129, 586, 282, 653, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965}); + + dieListe.einfuegenBei(7, 312); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 75, 736, 129, 586, 312, 282, 653, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965}); + + assertFalse("Fehler: Element 571 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(571)); + dieListe.einfuegenBei(3, 299); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965}); + + assertTrue("Fehler: Element 596 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(596)); + dieListe.einfuegenBei(11, 335); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965}); + + dieListe.anhaengen(353); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965, 353}); + + dieListe.anhaengen(94); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94}); + + assertFalse("Fehler: Element 928 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(928)); + assertFalse("Fehler: Element 799 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(799)); + assertFalse("Fehler: Element 976 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(976)); + dieListe.anhaengen(913); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913}); + + assertFalse("Fehler: Element 473 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(473)); + dieListe.anhaengen(264); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264}); + + dieListe.anhaengen(468); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 468}); + + dieListe.einfuegenBei(17, 868); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 868, 299, 617, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 468}); + + dieListe.einfuegenBei(20, 707); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 868, 299, 617, 707, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 468}); + + dieListe.einfuegenBei(33, 781); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 868, 299, 617, 707, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 781, 468}); + + dieListe.einfuegenBei(35, 786); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 868, 299, 617, 707, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 781, 468, 786}); + + dieListe.einfuegenBei(33, 481); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 868, 299, 617, 707, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 481, 781, 468, 786}); + + dieListe.einfuegenBei(6, 25); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 868, 299, 617, 707, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 481, 781, 468, 786}); + + dieListe.anhaengen(451); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 868, 299, 617, 707, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451}); + + assertTrue("Fehler: Element 736 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(736)); + dieListe.einfuegenBei(20, 337); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451}); + + assertFalse("Fehler: Element 381 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(381)); + dieListe.einfuegenBei(12, 980); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451}); + + assertTrue("Fehler: Element 335 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(335)); + dieListe.einfuegenBei(31, 389); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451}); + + dieListe.anhaengen(863); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863}); + + assertTrue("Fehler: Element 282 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(282)); + dieListe.anhaengen(287); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287}); + + dieListe.anhaengen(110); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110}); + + dieListe.anhaengen(989); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989}); + + dieListe.anhaengen(850); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850}); + + dieListe.anhaengen(227); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227}); + + assertFalse("Fehler: Element 539 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(539)); + assertFalse("Fehler: Element 773 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(773)); + assertTrue("Fehler: Element 312 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(312)); + assertFalse("Fehler: Element 500 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(500)); + dieListe.anhaengen(106); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227, 106}); + + dieListe.einfuegenBei(8, 894); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227, 106}); + + assertFalse("Fehler: Element 541 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(541)); + dieListe.einfuegenBei(1, 792); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227, 106}); + + dieListe.anhaengen(535); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227, 106, 535}); + + dieListe.anhaengen(987); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227, 106, 535, 987}); + + assertTrue("Fehler: Element 92 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(92)); + dieListe.anhaengen(543); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227, 106, 535, 987, 543}); + + assertTrue("Fehler: Element 282 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(282)); + dieListe.einfuegenBei(26, 813); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 299, 337, 617, 707, 813, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227, 106, 535, 987, 543}); + + dieListe.einfuegenBei(22, 786); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 786, 299, 337, 617, 707, 813, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227, 106, 535, 987, 543}); + + assertTrue("Fehler: Element 264 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(264)); + dieListe.anhaengen(400); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 786, 299, 337, 617, 707, 813, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 989, 850, 227, 106, 535, 987, 543, 400}); + + assertFalse("Fehler: Element 582 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(582)); + dieListe.einfuegenBei(49, 463); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 786, 299, 337, 617, 707, 813, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 463, 989, 850, 227, 106, 535, 987, 543, 400}); + + assertTrue("Fehler: Element 25 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(25)); + assertFalse("Fehler: Element 964 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(964)); + dieListe.anhaengen(89); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 786, 299, 337, 617, 707, 813, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 463, 989, 850, 227, 106, 535, 987, 543, 400, 89}); + + dieListe.anhaengen(190); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 104, 157, 619, 868, 786, 299, 337, 617, 707, 813, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 463, 989, 850, 227, 106, 535, 987, 543, 400, 89, 190}); + + dieListe.einfuegenBei(18, 317); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 317, 104, 157, 619, 868, 786, 299, 337, 617, 707, 813, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 463, 989, 850, 227, 106, 535, 987, 543, 400, 89, 190}); + + dieListe.einfuegenBei(29, 519); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 317, 104, 157, 619, 868, 786, 299, 337, 617, 707, 813, 519, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 463, 989, 850, 227, 106, 535, 987, 543, 400, 89, 190}); + + dieListe.einfuegenBei(53, 144); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 317, 104, 157, 619, 868, 786, 299, 337, 617, 707, 813, 519, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 463, 989, 144, 850, 227, 106, 535, 987, 543, 400, 89, 190}); + + dieListe.einfuegenBei(23, 115); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 317, 104, 157, 619, 868, 115, 786, 299, 337, 617, 707, 813, 519, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 463, 989, 144, 850, 227, 106, 535, 987, 543, 400, 89, 190}); + + assertTrue("Fehler: Element 144 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(144)); + dieListe.einfuegenBei(41, 991); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 317, 104, 157, 619, 868, 115, 786, 299, 337, 617, 707, 813, 519, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 991, 94, 913, 264, 481, 781, 468, 786, 451, 863, 287, 110, 463, 989, 144, 850, 227, 106, 535, 987, 543, 400, 89, 190}); + + dieListe.einfuegenBei(49, 555); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 317, 104, 157, 619, 868, 115, 786, 299, 337, 617, 707, 813, 519, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 991, 94, 913, 264, 481, 781, 468, 786, 555, 451, 863, 287, 110, 463, 989, 144, 850, 227, 106, 535, 987, 543, 400, 89, 190}); + + dieListe.einfuegenBei(7, 546); + Tester.pruefeListenInhalt(dieListe, new int[]{461, 792, 390, 398, 299, 75, 736, 546, 25, 129, 894, 586, 312, 282, 653, 980, 335, 596, 144, 317, 104, 157, 619, 868, 115, 786, 299, 337, 617, 707, 813, 519, 233, 92, 306, 225, 678, 312, 202, 389, 965, 353, 991, 94, 913, 264, 481, 781, 468, 786, 555, 451, 863, 287, 110, 463, 989, 144, 850, 227, 106, 535, 987, 543, 400, 89, 190}); + + assertFalse("Fehler: Element 691 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(691)); + assertFalse("Fehler: Element 791 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(791)); + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 805); + Tester.pruefeListenInhalt(dieListe, new int[]{805}); + + dieListe.anhaengen(610); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 610}); + + dieListe.anhaengen(467); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 610, 467}); + + dieListe.einfuegenBei(1, 890); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 467}); + + dieListe.anhaengen(552); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 467, 552}); + + dieListe.anhaengen(935); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 467, 552, 935}); + + dieListe.anhaengen(46); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 467, 552, 935, 46}); + + dieListe.einfuegenBei(7, 460); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 467, 552, 935, 46, 460}); + + dieListe.anhaengen(994); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 467, 552, 935, 46, 460, 994}); + + assertTrue("Fehler: Element 552 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(552)); + assertTrue("Fehler: Element 552 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(552)); + dieListe.einfuegenBei(3, 787); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 787, 467, 552, 935, 46, 460, 994}); + + assertFalse("Fehler: Element 385 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(385)); + dieListe.anhaengen(646); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 787, 467, 552, 935, 46, 460, 994, 646}); + + assertFalse("Fehler: Element 934 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(934)); + dieListe.einfuegenBei(3, 234); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 994, 646}); + + dieListe.anhaengen(297); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 994, 646, 297}); + + dieListe.einfuegenBei(11, 99); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 994, 99, 646, 297}); + + assertTrue("Fehler: Element 805 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(805)); + assertFalse("Fehler: Element 565 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(565)); + dieListe.einfuegenBei(10, 144); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 144, 994, 99, 646, 297}); + + assertFalse("Fehler: Element 247 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(247)); + dieListe.anhaengen(417); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 144, 994, 99, 646, 297, 417}); + + dieListe.einfuegenBei(14, 433); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 144, 994, 99, 646, 433, 297, 417}); + + assertTrue("Fehler: Element 890 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(890)); + dieListe.einfuegenBei(10, 693); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 693, 144, 994, 99, 646, 433, 297, 417}); + + dieListe.einfuegenBei(14, 680); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 693, 144, 994, 99, 680, 646, 433, 297, 417}); + + dieListe.einfuegenBei(10, 114); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 114, 693, 144, 994, 99, 680, 646, 433, 297, 417}); + + dieListe.anhaengen(469); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 114, 693, 144, 994, 99, 680, 646, 433, 297, 417, 469}); + + dieListe.einfuegenBei(14, 310); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 114, 693, 144, 994, 310, 99, 680, 646, 433, 297, 417, 469}); + + dieListe.anhaengen(351); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 114, 693, 144, 994, 310, 99, 680, 646, 433, 297, 417, 469, 351}); + + dieListe.einfuegenBei(16, 791); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 114, 693, 144, 994, 310, 99, 791, 680, 646, 433, 297, 417, 469, 351}); + + dieListe.anhaengen(982); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 114, 693, 144, 994, 310, 99, 791, 680, 646, 433, 297, 417, 469, 351, 982}); + + dieListe.anhaengen(404); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 114, 693, 144, 994, 310, 99, 791, 680, 646, 433, 297, 417, 469, 351, 982, 404}); + + dieListe.einfuegenBei(17, 184); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 114, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404}); + + dieListe.anhaengen(765); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 467, 552, 935, 46, 460, 114, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765}); + + dieListe.einfuegenBei(5, 285); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 467, 552, 935, 46, 460, 114, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765}); + + dieListe.einfuegenBei(10, 95); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 467, 552, 935, 46, 95, 460, 114, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765}); + + dieListe.einfuegenBei(13, 922); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 467, 552, 935, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765}); + + dieListe.anhaengen(620); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 467, 552, 935, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620}); + + dieListe.anhaengen(743); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 467, 552, 935, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743}); + + assertTrue("Fehler: Element 890 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(890)); + dieListe.anhaengen(816); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 467, 552, 935, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816}); + + assertFalse("Fehler: Element 269 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(269)); + assertFalse("Fehler: Element 833 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(833)); + dieListe.anhaengen(908); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 467, 552, 935, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908}); + + assertTrue("Fehler: Element 765 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(765)); + dieListe.einfuegenBei(6, 66); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 66, 467, 552, 935, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908}); + + dieListe.einfuegenBei(10, 519); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908}); + + dieListe.anhaengen(513); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513}); + + dieListe.anhaengen(427); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427}); + + assertFalse("Fehler: Element 528 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(528)); + dieListe.anhaengen(961); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961}); + + dieListe.anhaengen(315); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315}); + + dieListe.anhaengen(68); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315, 68}); + + assertTrue("Fehler: Element 184 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(184)); + assertTrue("Fehler: Element 310 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(310)); + assertFalse("Fehler: Element 418 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(418)); + dieListe.anhaengen(170); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315, 68, 170}); + + dieListe.einfuegenBei(19, 635); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315, 68, 170}); + + dieListe.einfuegenBei(6, 385); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315, 68, 170}); + + assertTrue("Fehler: Element 310 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(310)); + dieListe.anhaengen(304); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315, 68, 170, 304}); + + dieListe.anhaengen(89); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315, 68, 170, 304, 89}); + + dieListe.anhaengen(475); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475}); + + dieListe.anhaengen(328); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328}); + + assertTrue("Fehler: Element 89 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(89)); + assertTrue("Fehler: Element 328 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(328)); + dieListe.anhaengen(943); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943}); + + dieListe.einfuegenBei(38, 338); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943}); + + assertFalse("Fehler: Element 534 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(534)); + dieListe.anhaengen(763); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763}); + + dieListe.einfuegenBei(11, 506); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 506, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763}); + + dieListe.anhaengen(318); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 506, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318}); + + dieListe.anhaengen(463); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 506, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318, 463}); + + dieListe.anhaengen(416); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 506, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318, 463, 416}); + + dieListe.einfuegenBei(12, 88); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318, 463, 416}); + + dieListe.einfuegenBei(8, 469); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318, 463, 416}); + + assertFalse("Fehler: Element 493 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(493)); + dieListe.anhaengen(487); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318, 463, 416, 487}); + + assertTrue("Fehler: Element 304 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(304)); + dieListe.einfuegenBei(34, 410); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318, 463, 416, 487}); + + assertTrue("Fehler: Element 805 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(805)); + dieListe.anhaengen(867); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318, 463, 416, 487, 867}); + + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 351, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318, 463, 416, 487, 867, 861}); + + dieListe.einfuegenBei(36, 286); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 351, 286, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 475, 328, 943, 763, 318, 463, 416, 487, 867, 861}); + + assertFalse("Fehler: Element 618 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(618)); + assertFalse("Fehler: Element 383 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(383)); + dieListe.einfuegenBei(53, 741); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 351, 286, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 741, 475, 328, 943, 763, 318, 463, 416, 487, 867, 861}); + + dieListe.einfuegenBei(36, 800); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 351, 800, 286, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 741, 475, 328, 943, 763, 318, 463, 416, 487, 867, 861}); + + assertTrue("Fehler: Element 404 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(404)); + dieListe.einfuegenBei(35, 232); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 232, 351, 800, 286, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 741, 475, 328, 943, 763, 318, 463, 416, 487, 867, 861}); + + dieListe.anhaengen(860); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 232, 351, 800, 286, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 741, 475, 328, 943, 763, 318, 463, 416, 487, 867, 861, 860}); + + dieListe.einfuegenBei(10, 976); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 976, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 232, 351, 800, 286, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 741, 475, 328, 943, 763, 318, 463, 416, 487, 867, 861, 860}); + + assertTrue("Fehler: Element 610 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(610)); + dieListe.einfuegenBei(10, 686); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 686, 976, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 232, 351, 800, 286, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 741, 475, 328, 943, 763, 318, 463, 416, 487, 867, 861, 860}); + + dieListe.einfuegenBei(58, 867); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 686, 976, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 232, 351, 800, 286, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 741, 867, 475, 328, 943, 763, 318, 463, 416, 487, 867, 861, 860}); + + assertTrue("Fehler: Element 88 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(88)); + dieListe.einfuegenBei(61, 230); + Tester.pruefeListenInhalt(dieListe, new int[]{805, 890, 610, 234, 787, 285, 385, 66, 469, 467, 686, 976, 552, 935, 506, 88, 519, 46, 95, 460, 114, 922, 693, 144, 994, 635, 310, 99, 791, 184, 680, 646, 433, 297, 417, 469, 410, 232, 351, 800, 286, 982, 404, 765, 620, 743, 816, 338, 908, 513, 427, 961, 315, 68, 170, 304, 89, 741, 867, 475, 328, 230, 943, 763, 318, 463, 416, 487, 867, 861, 860}); + + assertTrue("Fehler: Element 994 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(994)); + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 903); + Tester.pruefeListenInhalt(dieListe, new int[]{903}); + + assertFalse("Fehler: Element 335 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(335)); + dieListe.anhaengen(723); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 723}); + + dieListe.anhaengen(593); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 723, 593}); + + dieListe.anhaengen(546); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 723, 593, 546}); + + dieListe.anhaengen(300); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 723, 593, 546, 300}); + + assertFalse("Fehler: Element 507 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(507)); + dieListe.einfuegenBei(1, 529); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 723, 593, 546, 300}); + + dieListe.einfuegenBei(3, 914); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 723, 914, 593, 546, 300}); + + assertFalse("Fehler: Element 873 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(873)); + dieListe.anhaengen(334); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 723, 914, 593, 546, 300, 334}); + + dieListe.einfuegenBei(5, 696); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 723, 914, 593, 696, 546, 300, 334}); + + dieListe.anhaengen(443); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 723, 914, 593, 696, 546, 300, 334, 443}); + + dieListe.einfuegenBei(6, 92); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 723, 914, 593, 696, 92, 546, 300, 334, 443}); + + dieListe.einfuegenBei(3, 688); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 723, 688, 914, 593, 696, 92, 546, 300, 334, 443}); + + dieListe.anhaengen(514); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 723, 688, 914, 593, 696, 92, 546, 300, 334, 443, 514}); + + assertFalse("Fehler: Element 882 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(882)); + assertTrue("Fehler: Element 514 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(514)); + dieListe.einfuegenBei(2, 17); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 17, 723, 688, 914, 593, 696, 92, 546, 300, 334, 443, 514}); + + dieListe.einfuegenBei(7, 326); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 514}); + + dieListe.anhaengen(47); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 514, 47}); + + dieListe.anhaengen(752); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 514, 47, 752}); + + dieListe.anhaengen(836); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 514, 47, 752, 836}); + + assertFalse("Fehler: Element 730 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(730)); + assertTrue("Fehler: Element 443 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(443)); + assertTrue("Fehler: Element 514 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(514)); + assertTrue("Fehler: Element 443 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(443)); + assertTrue("Fehler: Element 723 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(723)); + dieListe.einfuegenBei(2, 217); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 514, 47, 752, 836}); + + dieListe.anhaengen(624); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 514, 47, 752, 836, 624}); + + dieListe.einfuegenBei(15, 109); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 514, 47, 752, 836, 624}); + + dieListe.anhaengen(463); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 514, 47, 752, 836, 624, 463}); + + dieListe.anhaengen(559); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 514, 47, 752, 836, 624, 463, 559}); + + assertTrue("Fehler: Element 463 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(463)); + dieListe.anhaengen(322); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 514, 47, 752, 836, 624, 463, 559, 322}); + + dieListe.anhaengen(890); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 514, 47, 752, 836, 624, 463, 559, 322, 890}); + + assertFalse("Fehler: Element 14 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(14)); + assertTrue("Fehler: Element 17 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(17)); + dieListe.einfuegenBei(2, 342); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 514, 47, 752, 836, 624, 463, 559, 322, 890}); + + dieListe.anhaengen(228); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 514, 47, 752, 836, 624, 463, 559, 322, 890, 228}); + + assertTrue("Fehler: Element 688 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(688)); + assertTrue("Fehler: Element 47 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(47)); + dieListe.einfuegenBei(17, 433); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 433, 514, 47, 752, 836, 624, 463, 559, 322, 890, 228}); + + assertTrue("Fehler: Element 47 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(47)); + dieListe.anhaengen(731); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 433, 514, 47, 752, 836, 624, 463, 559, 322, 890, 228, 731}); + + dieListe.anhaengen(583); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 433, 514, 47, 752, 836, 624, 463, 559, 322, 890, 228, 731, 583}); + + assertTrue("Fehler: Element 752 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(752)); + dieListe.einfuegenBei(19, 358); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 228, 731, 583}); + + assertFalse("Fehler: Element 754 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(754)); + dieListe.einfuegenBei(5, 541); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 228, 731, 583}); + + dieListe.einfuegenBei(18, 749); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 228, 731, 583}); + + dieListe.anhaengen(382); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 228, 731, 583, 382}); + + assertFalse("Fehler: Element 974 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(974)); + dieListe.anhaengen(783); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 228, 731, 583, 382, 783}); + + dieListe.anhaengen(335); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 228, 731, 583, 382, 783, 335}); + + dieListe.einfuegenBei(31, 12); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 228, 12, 731, 583, 382, 783, 335}); + + dieListe.einfuegenBei(18, 752); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 228, 12, 731, 583, 382, 783, 335}); + + assertFalse("Fehler: Element 892 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(892)); + dieListe.anhaengen(572); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 228, 12, 731, 583, 382, 783, 335, 572}); + + assertFalse("Fehler: Element 600 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(600)); + dieListe.einfuegenBei(31, 301); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 731, 583, 382, 783, 335, 572}); + + dieListe.einfuegenBei(18, 343); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 343, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 731, 583, 382, 783, 335, 572}); + + dieListe.anhaengen(622); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 343, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 731, 583, 382, 783, 335, 572, 622}); + + dieListe.einfuegenBei(35, 75); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 443, 109, 343, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 75, 731, 583, 382, 783, 335, 572, 622}); + + assertTrue("Fehler: Element 343 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(343)); + dieListe.einfuegenBei(16, 689); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 75, 731, 583, 382, 783, 335, 572, 622}); + + assertTrue("Fehler: Element 731 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(731)); + dieListe.anhaengen(17); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 75, 731, 583, 382, 783, 335, 572, 622, 17}); + + assertFalse("Fehler: Element 508 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(508)); + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 75, 731, 583, 382, 783, 335, 572, 622, 17, 189}); + + assertFalse("Fehler: Element 242 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(242)); + assertFalse("Fehler: Element 86 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(86)); + assertFalse("Fehler: Element 175 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(175)); + dieListe.anhaengen(817); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 75, 731, 583, 382, 783, 335, 572, 622, 17, 189, 817}); + + dieListe.einfuegenBei(8, 767); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 75, 731, 583, 382, 783, 335, 572, 622, 17, 189, 817}); + + dieListe.einfuegenBei(25, 126); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 75, 731, 583, 382, 783, 335, 572, 622, 17, 189, 817}); + + dieListe.einfuegenBei(38, 990); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 990, 75, 731, 583, 382, 783, 335, 572, 622, 17, 189, 817}); + + dieListe.anhaengen(557); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 990, 75, 731, 583, 382, 783, 335, 572, 622, 17, 189, 817, 557}); + + assertTrue("Fehler: Element 572 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(572)); + assertTrue("Fehler: Element 767 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(767)); + assertTrue("Fehler: Element 433 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(433)); + dieListe.anhaengen(534); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 990, 75, 731, 583, 382, 783, 335, 572, 622, 17, 189, 817, 557, 534}); + + assertFalse("Fehler: Element 501 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(501)); + dieListe.einfuegenBei(45, 665); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 990, 75, 731, 583, 382, 783, 335, 665, 572, 622, 17, 189, 817, 557, 534}); + + dieListe.einfuegenBei(52, 868); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 990, 75, 731, 583, 382, 783, 335, 665, 572, 622, 17, 189, 817, 557, 868, 534}); + + dieListe.anhaengen(567); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 990, 75, 731, 583, 382, 783, 335, 665, 572, 622, 17, 189, 817, 557, 868, 534, 567}); + + dieListe.einfuegenBei(38, 263); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 301, 228, 12, 263, 990, 75, 731, 583, 382, 783, 335, 665, 572, 622, 17, 189, 817, 557, 868, 534, 567}); + + dieListe.einfuegenBei(35, 376); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 263, 990, 75, 731, 583, 382, 783, 335, 665, 572, 622, 17, 189, 817, 557, 868, 534, 567}); + + assertFalse("Fehler: Element 93 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(93)); + dieListe.anhaengen(659); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 263, 990, 75, 731, 583, 382, 783, 335, 665, 572, 622, 17, 189, 817, 557, 868, 534, 567, 659}); + + dieListe.einfuegenBei(55, 445); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 263, 990, 75, 731, 583, 382, 783, 335, 665, 572, 622, 17, 189, 817, 557, 868, 445, 534, 567, 659}); + + dieListe.einfuegenBei(39, 218); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 218, 263, 990, 75, 731, 583, 382, 783, 335, 665, 572, 622, 17, 189, 817, 557, 868, 445, 534, 567, 659}); + + dieListe.einfuegenBei(48, 542); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 218, 263, 990, 75, 731, 583, 382, 783, 335, 542, 665, 572, 622, 17, 189, 817, 557, 868, 445, 534, 567, 659}); + + dieListe.anhaengen(125); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 218, 263, 990, 75, 731, 583, 382, 783, 335, 542, 665, 572, 622, 17, 189, 817, 557, 868, 445, 534, 567, 659, 125}); + + dieListe.einfuegenBei(17, 105); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 105, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 218, 263, 990, 75, 731, 583, 382, 783, 335, 542, 665, 572, 622, 17, 189, 817, 557, 868, 445, 534, 567, 659, 125}); + + dieListe.anhaengen(727); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 105, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 218, 263, 990, 75, 731, 583, 382, 783, 335, 542, 665, 572, 622, 17, 189, 817, 557, 868, 445, 534, 567, 659, 125, 727}); + + dieListe.einfuegenBei(52, 208); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 105, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 218, 263, 990, 75, 731, 583, 382, 783, 335, 542, 665, 572, 208, 622, 17, 189, 817, 557, 868, 445, 534, 567, 659, 125, 727}); + + assertTrue("Fehler: Element 688 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(688)); + assertFalse("Fehler: Element 27 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(27)); + dieListe.anhaengen(605); + Tester.pruefeListenInhalt(dieListe, new int[]{903, 529, 342, 217, 17, 541, 723, 688, 767, 914, 593, 326, 696, 92, 546, 300, 334, 105, 689, 443, 109, 343, 752, 749, 433, 514, 126, 358, 47, 752, 836, 624, 463, 559, 322, 890, 376, 301, 228, 12, 218, 263, 990, 75, 731, 583, 382, 783, 335, 542, 665, 572, 208, 622, 17, 189, 817, 557, 868, 445, 534, 567, 659, 125, 727, 605}); + + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(627); + Tester.pruefeListenInhalt(dieListe, new int[]{627}); + + dieListe.einfuegenBei(0, 602); + Tester.pruefeListenInhalt(dieListe, new int[]{602, 627}); + + dieListe.einfuegenBei(0, 208); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 602, 627}); + + dieListe.anhaengen(623); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 602, 627, 623}); + + dieListe.einfuegenBei(0, 793); + Tester.pruefeListenInhalt(dieListe, new int[]{793, 208, 602, 627, 623}); + + assertFalse("Fehler: Element 752 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(752)); + dieListe.einfuegenBei(1, 378); + Tester.pruefeListenInhalt(dieListe, new int[]{793, 378, 208, 602, 627, 623}); + + dieListe.einfuegenBei(0, 687); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 602, 627, 623}); + + dieListe.einfuegenBei(4, 993); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623}); + + dieListe.anhaengen(699); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 699}); + + dieListe.anhaengen(725); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 699, 725}); + + dieListe.einfuegenBei(10, 527); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 699, 725, 527}); + + dieListe.einfuegenBei(8, 429); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 725, 527}); + + assertFalse("Fehler: Element 280 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(280)); + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 725, 527, 861}); + + dieListe.anhaengen(782); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 725, 527, 861, 782}); + + dieListe.einfuegenBei(11, 516); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 725, 516, 527, 861, 782}); + + dieListe.anhaengen(401); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 725, 516, 527, 861, 782, 401}); + + assertFalse("Fehler: Element 79 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(79)); + dieListe.einfuegenBei(12, 42); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 725, 516, 42, 527, 861, 782, 401}); + + assertFalse("Fehler: Element 410 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(410)); + assertTrue("Fehler: Element 623 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(623)); + dieListe.anhaengen(595); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 725, 516, 42, 527, 861, 782, 401, 595}); + + dieListe.einfuegenBei(10, 733); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 733, 725, 516, 42, 527, 861, 782, 401, 595}); + + dieListe.anhaengen(832); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 733, 725, 516, 42, 527, 861, 782, 401, 595, 832}); + + dieListe.einfuegenBei(20, 413); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 733, 725, 516, 42, 527, 861, 782, 401, 595, 832, 413}); + + assertTrue("Fehler: Element 782 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(782)); + assertFalse("Fehler: Element 423 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(423)); + assertFalse("Fehler: Element 920 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(920)); + dieListe.anhaengen(356); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 733, 725, 516, 42, 527, 861, 782, 401, 595, 832, 413, 356}); + + dieListe.einfuegenBei(11, 938); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 733, 938, 725, 516, 42, 527, 861, 782, 401, 595, 832, 413, 356}); + + dieListe.einfuegenBei(10, 744); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 744, 733, 938, 725, 516, 42, 527, 861, 782, 401, 595, 832, 413, 356}); + + assertTrue("Fehler: Element 413 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(413)); + dieListe.anhaengen(700); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 744, 733, 938, 725, 516, 42, 527, 861, 782, 401, 595, 832, 413, 356, 700}); + + dieListe.einfuegenBei(23, 766); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 744, 733, 938, 725, 516, 42, 527, 861, 782, 401, 595, 832, 413, 766, 356, 700}); + + dieListe.einfuegenBei(16, 855); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 699, 744, 733, 938, 725, 516, 42, 855, 527, 861, 782, 401, 595, 832, 413, 766, 356, 700}); + + dieListe.einfuegenBei(9, 978); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 527, 861, 782, 401, 595, 832, 413, 766, 356, 700}); + + assertTrue("Fehler: Element 938 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(938)); + dieListe.einfuegenBei(26, 508); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700}); + + assertFalse("Fehler: Element 775 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(775)); + assertTrue("Fehler: Element 700 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(700)); + dieListe.einfuegenBei(18, 619); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700}); + + dieListe.anhaengen(718); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718}); + + dieListe.anhaengen(576); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718, 576}); + + dieListe.anhaengen(561); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718, 576, 561}); + + dieListe.anhaengen(132); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718, 576, 561, 132}); + + assertTrue("Fehler: Element 855 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(855)); + assertTrue("Fehler: Element 208 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(208)); + assertTrue("Fehler: Element 855 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(855)); + assertFalse("Fehler: Element 986 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(986)); + assertFalse("Fehler: Element 945 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(945)); + dieListe.einfuegenBei(5, 469); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 469, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718, 576, 561, 132}); + + dieListe.anhaengen(110); + Tester.pruefeListenInhalt(dieListe, new int[]{687, 793, 378, 208, 993, 469, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718, 576, 561, 132, 110}); + + dieListe.einfuegenBei(0, 954); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 208, 993, 469, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718, 576, 561, 132, 110}); + + dieListe.anhaengen(546); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 208, 993, 469, 602, 627, 623, 429, 978, 699, 744, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718, 576, 561, 132, 110, 546}); + + dieListe.einfuegenBei(14, 327); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 208, 993, 469, 602, 627, 623, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718, 576, 561, 132, 110, 546}); + + assertFalse("Fehler: Element 358 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(358)); + dieListe.einfuegenBei(4, 378); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 766, 508, 356, 700, 718, 576, 561, 132, 110, 546}); + + dieListe.einfuegenBei(30, 620); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 546}); + + assertFalse("Fehler: Element 495 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(495)); + assertTrue("Fehler: Element 401 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(401)); + dieListe.anhaengen(277); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 546, 277}); + + assertFalse("Fehler: Element 43 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(43)); + dieListe.anhaengen(589); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 546, 277, 589}); + + dieListe.einfuegenBei(11, 436); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 546, 277, 589}); + + dieListe.einfuegenBei(44, 290); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 546, 277, 589, 290}); + + dieListe.einfuegenBei(41, 819); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290}); + + assertFalse("Fehler: Element 421 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(421)); + assertFalse("Fehler: Element 392 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(392)); + dieListe.anhaengen(460); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 460}); + + assertTrue("Fehler: Element 602 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(602)); + assertTrue("Fehler: Element 516 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(516)); + assertTrue("Fehler: Element 687 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(687)); + assertFalse("Fehler: Element 297 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(297)); + dieListe.einfuegenBei(29, 65); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 460}); + + dieListe.anhaengen(783); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 460, 783}); + + assertFalse("Fehler: Element 705 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(705)); + dieListe.einfuegenBei(47, 399); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 460, 783}); + + dieListe.anhaengen(977); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 460, 783, 977}); + + dieListe.anhaengen(442); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 460, 783, 977, 442}); + + dieListe.einfuegenBei(11, 27); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 460, 783, 977, 442}); + + dieListe.einfuegenBei(49, 32); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 783, 977, 442}); + + dieListe.anhaengen(244); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 783, 977, 442, 244}); + + dieListe.anhaengen(909); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 783, 977, 442, 244, 909}); + + dieListe.anhaengen(180); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 783, 977, 442, 244, 909, 180}); + + dieListe.einfuegenBei(51, 121); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180}); + + dieListe.einfuegenBei(21, 588); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180}); + + dieListe.anhaengen(698); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698}); + + dieListe.einfuegenBei(5, 440); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698}); + + dieListe.anhaengen(777); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777}); + + dieListe.anhaengen(82); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777, 82}); + + dieListe.einfuegenBei(43, 764); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 764, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777, 82}); + + dieListe.anhaengen(321); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 764, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777, 82, 321}); + + dieListe.anhaengen(545); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 764, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777, 82, 321, 545}); + + dieListe.anhaengen(549); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 764, 132, 110, 819, 546, 277, 589, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777, 82, 321, 545, 549}); + + dieListe.einfuegenBei(50, 175); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 764, 132, 110, 819, 546, 277, 589, 175, 290, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777, 82, 321, 545, 549}); + + assertTrue("Fehler: Element 954 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(954)); + dieListe.einfuegenBei(52, 572); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 764, 132, 110, 819, 546, 277, 589, 175, 290, 572, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777, 82, 321, 545, 549}); + + dieListe.anhaengen(264); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 764, 132, 110, 819, 546, 277, 589, 175, 290, 572, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777, 82, 321, 545, 549, 264}); + + dieListe.einfuegenBei(3, 337); + Tester.pruefeListenInhalt(dieListe, new int[]{954, 687, 793, 337, 378, 378, 440, 208, 993, 469, 602, 627, 623, 27, 436, 429, 978, 699, 744, 327, 733, 938, 725, 588, 516, 42, 855, 619, 527, 861, 782, 401, 595, 65, 832, 413, 620, 766, 508, 356, 700, 718, 576, 561, 764, 132, 110, 819, 546, 277, 589, 175, 290, 572, 399, 32, 460, 121, 783, 977, 442, 244, 909, 180, 698, 777, 82, 321, 545, 549, 264}); + + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 9); + Tester.pruefeListenInhalt(dieListe, new int[]{9}); + + dieListe.anhaengen(388); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 388}); + + dieListe.anhaengen(990); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 388, 990}); + + dieListe.einfuegenBei(0, 553); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 9, 388, 990}); + + assertFalse("Fehler: Element 474 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(474)); + dieListe.einfuegenBei(0, 621); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 990}); + + dieListe.einfuegenBei(5, 741); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 990, 741}); + + assertFalse("Fehler: Element 30 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(30)); + dieListe.anhaengen(122); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 990, 741, 122}); + + dieListe.anhaengen(831); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 990, 741, 122, 831}); + + dieListe.einfuegenBei(8, 197); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 990, 741, 122, 831, 197}); + + assertTrue("Fehler: Element 990 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(990)); + dieListe.anhaengen(257); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 990, 741, 122, 831, 197, 257}); + + assertTrue("Fehler: Element 122 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(122)); + assertTrue("Fehler: Element 122 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(122)); + dieListe.anhaengen(882); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 990, 741, 122, 831, 197, 257, 882}); + + assertTrue("Fehler: Element 741 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(741)); + dieListe.einfuegenBei(4, 618); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 741, 122, 831, 197, 257, 882}); + + assertTrue("Fehler: Element 882 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(882)); + dieListe.einfuegenBei(10, 964); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 741, 122, 831, 197, 964, 257, 882}); + + dieListe.einfuegenBei(6, 188); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 188, 741, 122, 831, 197, 964, 257, 882}); + + dieListe.anhaengen(357); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 188, 741, 122, 831, 197, 964, 257, 882, 357}); + + assertFalse("Fehler: Element 667 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(667)); + dieListe.einfuegenBei(6, 566); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 741, 122, 831, 197, 964, 257, 882, 357}); + + dieListe.anhaengen(207); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 741, 122, 831, 197, 964, 257, 882, 357, 207}); + + assertFalse("Fehler: Element 824 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(824)); + dieListe.anhaengen(786); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786}); + + assertTrue("Fehler: Element 741 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(741)); + dieListe.einfuegenBei(8, 591); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786}); + + dieListe.anhaengen(390); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390}); + + dieListe.anhaengen(413); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 413}); + + dieListe.einfuegenBei(20, 864); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413}); + + dieListe.anhaengen(297); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297}); + + assertFalse("Fehler: Element 858 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(858)); + dieListe.anhaengen(368); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297, 368}); + + assertTrue("Fehler: Element 990 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(990)); + dieListe.anhaengen(439); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297, 368, 439}); + + dieListe.anhaengen(921); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297, 368, 439, 921}); + + assertFalse("Fehler: Element 982 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(982)); + assertTrue("Fehler: Element 188 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(188)); + dieListe.einfuegenBei(7, 484); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 484, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297, 368, 439, 921}); + + dieListe.einfuegenBei(7, 707); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 707, 484, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297, 368, 439, 921}); + + dieListe.anhaengen(937); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 707, 484, 188, 591, 741, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297, 368, 439, 921, 937}); + + dieListe.einfuegenBei(12, 291); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 707, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297, 368, 439, 921, 937}); + + dieListe.anhaengen(829); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 707, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297, 368, 439, 921, 937, 829}); + + assertFalse("Fehler: Element 600 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(600)); + assertFalse("Fehler: Element 453 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(453)); + assertTrue("Fehler: Element 937 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(937)); + dieListe.anhaengen(634); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 707, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 864, 413, 297, 368, 439, 921, 937, 829, 634}); + + assertFalse("Fehler: Element 988 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(988)); + dieListe.einfuegenBei(23, 905); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 707, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 413, 297, 368, 439, 921, 937, 829, 634}); + + dieListe.einfuegenBei(8, 66); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 707, 66, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 413, 297, 368, 439, 921, 937, 829, 634}); + + dieListe.einfuegenBei(9, 196); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 9, 388, 618, 990, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 413, 297, 368, 439, 921, 937, 829, 634}); + + dieListe.einfuegenBei(2, 655); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 413, 297, 368, 439, 921, 937, 829, 634}); + + dieListe.einfuegenBei(28, 360); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634}); + + dieListe.anhaengen(855); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855}); + + assertFalse("Fehler: Element 164 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(164)); + dieListe.anhaengen(813); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813}); + + assertTrue("Fehler: Element 707 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(707)); + dieListe.einfuegenBei(7, 815); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 815, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813}); + + assertTrue("Fehler: Element 921 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(921)); + assertTrue("Fehler: Element 741 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(741)); + dieListe.einfuegenBei(8, 391); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 815, 391, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813}); + + assertTrue("Fehler: Element 831 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(831)); + assertTrue("Fehler: Element 634 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(634)); + dieListe.anhaengen(901); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 815, 391, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901}); + + assertFalse("Fehler: Element 876 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(876)); + dieListe.einfuegenBei(29, 383); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 815, 391, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901}); + + assertTrue("Fehler: Element 413 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(413)); + dieListe.einfuegenBei(26, 43); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 815, 391, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901}); + + assertFalse("Fehler: Element 504 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(504)); + dieListe.anhaengen(543); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 815, 391, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543}); + + assertFalse("Fehler: Element 156 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(156)); + assertTrue("Fehler: Element 964 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(964)); + dieListe.anhaengen(395); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 815, 391, 566, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395}); + + dieListe.einfuegenBei(10, 800); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395}); + + dieListe.anhaengen(437); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437}); + + assertFalse("Fehler: Element 293 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(293)); + dieListe.einfuegenBei(2, 437); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437}); + + dieListe.anhaengen(894); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894}); + + dieListe.anhaengen(298); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298}); + + dieListe.einfuegenBei(28, 52); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298}); + + dieListe.anhaengen(625); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625}); + + dieListe.anhaengen(548); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548}); + + dieListe.anhaengen(883); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883}); + + dieListe.einfuegenBei(21, 714); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883}); + + dieListe.anhaengen(894); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883, 894}); + + dieListe.anhaengen(660); + Tester.pruefeListenInhalt(dieListe, new int[]{621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883, 894, 660}); + + dieListe.einfuegenBei(0, 539); + Tester.pruefeListenInhalt(dieListe, new int[]{539, 621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883, 894, 660}); + + assertTrue("Fehler: Element 634 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(634)); + assertTrue("Fehler: Element 122 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(122)); + dieListe.anhaengen(184); + Tester.pruefeListenInhalt(dieListe, new int[]{539, 621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883, 894, 660, 184}); + + assertTrue("Fehler: Element 188 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(188)); + dieListe.einfuegenBei(37, 411); + Tester.pruefeListenInhalt(dieListe, new int[]{539, 621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 411, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883, 894, 660, 184}); + + assertTrue("Fehler: Element 894 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(894)); + dieListe.anhaengen(154); + Tester.pruefeListenInhalt(dieListe, new int[]{539, 621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 411, 360, 413, 297, 368, 439, 921, 937, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883, 894, 660, 184, 154}); + + assertTrue("Fehler: Element 864 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(864)); + dieListe.einfuegenBei(45, 381); + Tester.pruefeListenInhalt(dieListe, new int[]{539, 621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 411, 360, 413, 297, 368, 439, 921, 937, 381, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883, 894, 660, 184, 154}); + + dieListe.anhaengen(269); + Tester.pruefeListenInhalt(dieListe, new int[]{539, 621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 411, 360, 413, 297, 368, 439, 921, 937, 381, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883, 894, 660, 184, 154, 269}); + + dieListe.anhaengen(769); + Tester.pruefeListenInhalt(dieListe, new int[]{539, 621, 553, 437, 655, 9, 388, 618, 990, 815, 391, 566, 800, 707, 66, 196, 484, 188, 591, 741, 291, 122, 714, 831, 197, 964, 257, 882, 357, 207, 52, 43, 786, 390, 905, 383, 864, 411, 360, 413, 297, 368, 439, 921, 937, 381, 829, 634, 855, 813, 901, 543, 395, 437, 894, 298, 625, 548, 883, 894, 660, 184, 154, 269, 769}); + + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(866); + Tester.pruefeListenInhalt(dieListe, new int[]{866}); + + assertTrue("Fehler: Element 866 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(866)); + dieListe.einfuegenBei(1, 555); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 555}); + + assertFalse("Fehler: Element 687 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(687)); + dieListe.einfuegenBei(1, 303); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 555}); + + assertFalse("Fehler: Element 834 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(834)); + dieListe.einfuegenBei(2, 804); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555}); + + dieListe.anhaengen(711); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711}); + + assertFalse("Fehler: Element 542 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(542)); + dieListe.anhaengen(995); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 995}); + + dieListe.einfuegenBei(5, 295); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 295, 995}); + + assertFalse("Fehler: Element 376 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(376)); + dieListe.anhaengen(585); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 295, 995, 585}); + + dieListe.anhaengen(113); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 295, 995, 585, 113}); + + dieListe.anhaengen(683); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 295, 995, 585, 113, 683}); + + assertTrue("Fehler: Element 804 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(804)); + dieListe.anhaengen(704); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 295, 995, 585, 113, 683, 704}); + + assertTrue("Fehler: Element 585 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(585)); + dieListe.anhaengen(80); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 295, 995, 585, 113, 683, 704, 80}); + + dieListe.einfuegenBei(9, 853); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 295, 995, 585, 113, 853, 683, 704, 80}); + + dieListe.anhaengen(162); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 295, 995, 585, 113, 853, 683, 704, 80, 162}); + + assertTrue("Fehler: Element 295 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(295)); + dieListe.einfuegenBei(11, 407); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162}); + + dieListe.einfuegenBei(4, 166); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162}); + + dieListe.anhaengen(450); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450}); + + assertTrue("Fehler: Element 995 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(995)); + assertFalse("Fehler: Element 240 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(240)); + dieListe.anhaengen(859); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859}); + + dieListe.anhaengen(233); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 233}); + + dieListe.einfuegenBei(1, 775); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 233}); + + dieListe.anhaengen(283); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 233, 283}); + + dieListe.anhaengen(746); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 233, 283, 746}); + + dieListe.anhaengen(481); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 233, 283, 746, 481}); + + dieListe.anhaengen(974); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 233, 283, 746, 481, 974}); + + assertFalse("Fehler: Element 933 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(933)); + dieListe.anhaengen(64); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 233, 283, 746, 481, 974, 64}); + + dieListe.einfuegenBei(19, 721); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 721, 233, 283, 746, 481, 974, 64}); + + dieListe.anhaengen(171); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 721, 233, 283, 746, 481, 974, 64, 171}); + + dieListe.einfuegenBei(1, 417); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 721, 233, 283, 746, 481, 974, 64, 171}); + + dieListe.anhaengen(51); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 721, 233, 283, 746, 481, 974, 64, 171, 51}); + + assertTrue("Fehler: Element 804 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(804)); + assertFalse("Fehler: Element 997 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(997)); + dieListe.einfuegenBei(22, 928); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51}); + + dieListe.anhaengen(533); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533}); + + assertFalse("Fehler: Element 744 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(744)); + dieListe.einfuegenBei(31, 423); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423}); + + assertFalse("Fehler: Element 874 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(874)); + dieListe.anhaengen(461); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 461}); + + dieListe.einfuegenBei(14, 702); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 461}); + + dieListe.einfuegenBei(0, 907); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 461}); + + assertTrue("Fehler: Element 704 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(704)); + dieListe.anhaengen(872); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 461, 872}); + + dieListe.anhaengen(225); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 461, 872, 225}); + + dieListe.einfuegenBei(16, 306); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 461, 872, 225}); + + assertTrue("Fehler: Element 721 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(721)); + assertTrue("Fehler: Element 859 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(859)); + dieListe.einfuegenBei(6, 837); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 461, 872, 225}); + + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 461, 872, 225, 861}); + + dieListe.anhaengen(608); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 461, 872, 225, 861, 608}); + + dieListe.einfuegenBei(36, 536); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 608}); + + dieListe.anhaengen(127); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 608, 127}); + + dieListe.einfuegenBei(41, 109); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127}); + + dieListe.einfuegenBei(28, 399); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 399, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127}); + + dieListe.einfuegenBei(6, 889); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 889, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 399, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127}); + + dieListe.anhaengen(712); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 889, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 399, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712}); + + assertTrue("Fehler: Element 866 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(866)); + dieListe.einfuegenBei(29, 314); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 889, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712}); + + dieListe.einfuegenBei(7, 253); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 889, 253, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712}); + + assertFalse("Fehler: Element 935 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(935)); + assertFalse("Fehler: Element 221 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(221)); + dieListe.anhaengen(515); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 889, 253, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515}); + + dieListe.einfuegenBei(6, 680); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 680, 889, 253, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515}); + + dieListe.einfuegenBei(39, 238); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 680, 889, 253, 837, 555, 166, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515}); + + dieListe.einfuegenBei(12, 613); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 680, 889, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515}); + + dieListe.anhaengen(589); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 680, 889, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589}); + + dieListe.anhaengen(509); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 866, 417, 775, 303, 804, 680, 889, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509}); + + dieListe.einfuegenBei(1, 929); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 929, 866, 417, 775, 303, 804, 680, 889, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509}); + + assertTrue("Fehler: Element 775 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(775)); + dieListe.einfuegenBei(21, 336); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 929, 866, 417, 775, 303, 804, 680, 889, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509}); + + assertTrue("Fehler: Element 303 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(303)); + dieListe.einfuegenBei(9, 951); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 929, 866, 417, 775, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509}); + + dieListe.einfuegenBei(58, 628); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 929, 866, 417, 775, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509, 628}); + + dieListe.anhaengen(713); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 929, 866, 417, 775, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713}); + + dieListe.anhaengen(990); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 929, 866, 417, 775, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990}); + + assertFalse("Fehler: Element 230 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(230)); + dieListe.anhaengen(223); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 929, 866, 417, 775, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223}); + + dieListe.anhaengen(45); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 929, 866, 417, 775, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45}); + + dieListe.einfuegenBei(1, 439); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 439, 929, 866, 417, 775, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45}); + + dieListe.einfuegenBei(6, 693); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45}); + + dieListe.einfuegenBei(52, 219); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45}); + + dieListe.einfuegenBei(51, 444); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 444, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45}); + + dieListe.einfuegenBei(52, 908); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 444, 908, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45}); + + dieListe.anhaengen(263); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 444, 908, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45, 263}); + + assertFalse("Fehler: Element 665 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(665)); + dieListe.anhaengen(226); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 444, 908, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45, 263, 226}); + + dieListe.anhaengen(48); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 444, 908, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45, 263, 226, 48}); + + dieListe.anhaengen(251); + Tester.pruefeListenInhalt(dieListe, new int[]{907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 444, 908, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45, 263, 226, 48, 251}); + + dieListe.einfuegenBei(0, 462); + Tester.pruefeListenInhalt(dieListe, new int[]{462, 907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 444, 908, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45, 263, 226, 48, 251}); + + dieListe.anhaengen(350); + Tester.pruefeListenInhalt(dieListe, new int[]{462, 907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 444, 908, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45, 263, 226, 48, 251, 350}); + + dieListe.einfuegenBei(1, 773); + Tester.pruefeListenInhalt(dieListe, new int[]{462, 773, 907, 439, 929, 866, 417, 775, 693, 303, 804, 680, 889, 951, 253, 837, 555, 166, 613, 711, 295, 995, 585, 113, 853, 683, 336, 702, 306, 407, 704, 80, 162, 450, 859, 721, 233, 928, 283, 314, 399, 746, 481, 974, 64, 171, 51, 238, 533, 423, 536, 461, 872, 444, 908, 225, 219, 861, 109, 608, 127, 712, 515, 589, 509, 628, 713, 990, 223, 45, 263, 226, 48, 251, 350}); + + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 619); + Tester.pruefeListenInhalt(dieListe, new int[]{619}); + + dieListe.anhaengen(168); + Tester.pruefeListenInhalt(dieListe, new int[]{619, 168}); + + assertTrue("Fehler: Element 168 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(168)); + dieListe.einfuegenBei(2, 199); + Tester.pruefeListenInhalt(dieListe, new int[]{619, 168, 199}); + + assertTrue("Fehler: Element 168 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(168)); + dieListe.anhaengen(202); + Tester.pruefeListenInhalt(dieListe, new int[]{619, 168, 199, 202}); + + dieListe.einfuegenBei(0, 326); + Tester.pruefeListenInhalt(dieListe, new int[]{326, 619, 168, 199, 202}); + + dieListe.einfuegenBei(5, 747); + Tester.pruefeListenInhalt(dieListe, new int[]{326, 619, 168, 199, 202, 747}); + + dieListe.anhaengen(194); + Tester.pruefeListenInhalt(dieListe, new int[]{326, 619, 168, 199, 202, 747, 194}); + + assertTrue("Fehler: Element 202 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(202)); + assertTrue("Fehler: Element 194 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(194)); + assertFalse("Fehler: Element 228 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(228)); + assertTrue("Fehler: Element 326 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(326)); + assertFalse("Fehler: Element 431 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(431)); + assertTrue("Fehler: Element 326 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(326)); + dieListe.anhaengen(243); + Tester.pruefeListenInhalt(dieListe, new int[]{326, 619, 168, 199, 202, 747, 194, 243}); + + dieListe.anhaengen(798); + Tester.pruefeListenInhalt(dieListe, new int[]{326, 619, 168, 199, 202, 747, 194, 243, 798}); + + dieListe.einfuegenBei(0, 76); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 326, 619, 168, 199, 202, 747, 194, 243, 798}); + + dieListe.anhaengen(67); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 326, 619, 168, 199, 202, 747, 194, 243, 798, 67}); + + dieListe.einfuegenBei(6, 455); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 326, 619, 168, 199, 202, 455, 747, 194, 243, 798, 67}); + + dieListe.anhaengen(895); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 326, 619, 168, 199, 202, 455, 747, 194, 243, 798, 67, 895}); + + assertFalse("Fehler: Element 524 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(524)); + assertFalse("Fehler: Element 966 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(966)); + assertFalse("Fehler: Element 450 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(450)); + assertTrue("Fehler: Element 194 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(194)); + dieListe.anhaengen(289); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 326, 619, 168, 199, 202, 455, 747, 194, 243, 798, 67, 895, 289}); + + assertFalse("Fehler: Element 392 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(392)); + assertTrue("Fehler: Element 798 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(798)); + dieListe.einfuegenBei(6, 160); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 326, 619, 168, 199, 202, 160, 455, 747, 194, 243, 798, 67, 895, 289}); + + dieListe.anhaengen(852); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 326, 619, 168, 199, 202, 160, 455, 747, 194, 243, 798, 67, 895, 289, 852}); + + dieListe.anhaengen(644); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 326, 619, 168, 199, 202, 160, 455, 747, 194, 243, 798, 67, 895, 289, 852, 644}); + + dieListe.einfuegenBei(1, 807); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 160, 455, 747, 194, 243, 798, 67, 895, 289, 852, 644}); + + assertFalse("Fehler: Element 856 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(856)); + dieListe.einfuegenBei(13, 808); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 160, 455, 747, 194, 243, 798, 808, 67, 895, 289, 852, 644}); + + assertFalse("Fehler: Element 233 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(233)); + dieListe.einfuegenBei(8, 284); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 160, 284, 455, 747, 194, 243, 798, 808, 67, 895, 289, 852, 644}); + + dieListe.einfuegenBei(7, 96); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 798, 808, 67, 895, 289, 852, 644}); + + dieListe.anhaengen(482); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 798, 808, 67, 895, 289, 852, 644, 482}); + + dieListe.anhaengen(892); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 798, 808, 67, 895, 289, 852, 644, 482, 892}); + + dieListe.einfuegenBei(21, 287); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 798, 808, 67, 895, 289, 852, 644, 287, 482, 892}); + + dieListe.anhaengen(383); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 798, 808, 67, 895, 289, 852, 644, 287, 482, 892, 383}); + + dieListe.einfuegenBei(14, 501); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 287, 482, 892, 383}); + + dieListe.anhaengen(627); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 287, 482, 892, 383, 627}); + + dieListe.anhaengen(251); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 287, 482, 892, 383, 627, 251}); + + dieListe.anhaengen(442); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 287, 482, 892, 383, 627, 251, 442}); + + dieListe.anhaengen(803); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 287, 482, 892, 383, 627, 251, 442, 803}); + + assertFalse("Fehler: Element 696 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(696)); + dieListe.anhaengen(820); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 287, 482, 892, 383, 627, 251, 442, 803, 820}); + + dieListe.einfuegenBei(22, 541); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 541, 287, 482, 892, 383, 627, 251, 442, 803, 820}); + + dieListe.anhaengen(188); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 541, 287, 482, 892, 383, 627, 251, 442, 803, 820, 188}); + + dieListe.einfuegenBei(25, 447); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188}); + + dieListe.einfuegenBei(12, 242); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188}); + + assertFalse("Fehler: Element 987 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(987)); + assertTrue("Fehler: Element 202 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(202)); + assertFalse("Fehler: Element 731 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(731)); + assertFalse("Fehler: Element 57 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(57)); + dieListe.anhaengen(89); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89}); + + dieListe.einfuegenBei(2, 568); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 568, 326, 619, 168, 199, 202, 96, 160, 284, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89}); + + assertFalse("Fehler: Element 788 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(788)); + dieListe.einfuegenBei(11, 667); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 568, 326, 619, 168, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89}); + + dieListe.anhaengen(755); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 568, 326, 619, 168, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755}); + + assertFalse("Fehler: Element 812 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(812)); + assertTrue("Fehler: Element 96 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(96)); + dieListe.einfuegenBei(25, 824); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 568, 326, 619, 168, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755}); + + dieListe.einfuegenBei(2, 550); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 550, 568, 326, 619, 168, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755}); + + dieListe.anhaengen(524); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 550, 568, 326, 619, 168, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755, 524}); + + assertTrue("Fehler: Element 242 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(242)); + dieListe.anhaengen(219); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 550, 568, 326, 619, 168, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755, 524, 219}); + + assertFalse("Fehler: Element 8 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(8)); + dieListe.einfuegenBei(2, 77); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755, 524, 219}); + + dieListe.anhaengen(298); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755, 524, 219, 298}); + + dieListe.anhaengen(211); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755, 524, 219, 298, 211}); + + dieListe.einfuegenBei(8, 416); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755, 524, 219, 298, 211}); + + dieListe.anhaengen(587); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755, 524, 219, 298, 211, 587}); + + dieListe.anhaengen(615); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 89, 755, 524, 219, 298, 211, 587, 615}); + + dieListe.einfuegenBei(41, 642); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 642, 89, 755, 524, 219, 298, 211, 587, 615}); + + dieListe.anhaengen(996); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 642, 89, 755, 524, 219, 298, 211, 587, 615, 996}); + + assertTrue("Fehler: Element 67 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(67)); + dieListe.anhaengen(39); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 642, 89, 755, 524, 219, 298, 211, 587, 615, 996, 39}); + + dieListe.anhaengen(7); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 642, 89, 755, 524, 219, 298, 211, 587, 615, 996, 39, 7}); + + assertTrue("Fehler: Element 892 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(892)); + dieListe.anhaengen(275); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 642, 89, 755, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275}); + + dieListe.einfuegenBei(44, 569); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 642, 89, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275}); + + dieListe.einfuegenBei(9, 544); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 544, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 627, 251, 442, 803, 820, 188, 642, 89, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275}); + + dieListe.einfuegenBei(36, 461); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 807, 77, 550, 568, 326, 619, 168, 416, 544, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 442, 803, 820, 188, 642, 89, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275}); + + dieListe.einfuegenBei(1, 997); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 442, 803, 820, 188, 642, 89, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275}); + + assertFalse("Fehler: Element 310 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(310)); + dieListe.einfuegenBei(11, 437); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 437, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 442, 803, 820, 188, 642, 89, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275}); + + dieListe.anhaengen(708); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 437, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 442, 803, 820, 188, 642, 89, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275, 708}); + + assertFalse("Fehler: Element 428 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(428)); + dieListe.einfuegenBei(28, 548); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 437, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 548, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 442, 803, 820, 188, 642, 89, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275, 708}); + + dieListe.anhaengen(467); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 437, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 548, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 442, 803, 820, 188, 642, 89, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275, 708, 467}); + + dieListe.einfuegenBei(48, 157); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 437, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 548, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 442, 803, 820, 188, 642, 89, 157, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275, 708, 467}); + + assertFalse("Fehler: Element 628 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(628)); + dieListe.einfuegenBei(12, 645); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 437, 645, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 548, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 442, 803, 820, 188, 642, 89, 157, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275, 708, 467}); + + assertFalse("Fehler: Element 247 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(247)); + dieListe.anhaengen(654); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 437, 645, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 548, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 442, 803, 820, 188, 642, 89, 157, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275, 708, 467, 654}); + + dieListe.einfuegenBei(43, 309); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 437, 645, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 548, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 309, 442, 803, 820, 188, 642, 89, 157, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275, 708, 467, 654}); + + dieListe.anhaengen(240); + Tester.pruefeListenInhalt(dieListe, new int[]{76, 997, 807, 77, 550, 568, 326, 619, 168, 416, 544, 437, 645, 199, 202, 96, 160, 284, 667, 455, 747, 242, 194, 243, 501, 798, 808, 67, 895, 548, 289, 852, 644, 824, 541, 287, 482, 447, 892, 383, 461, 627, 251, 309, 442, 803, 820, 188, 642, 89, 157, 755, 569, 524, 219, 298, 211, 587, 615, 996, 39, 7, 275, 708, 467, 654, 240}); + + assertFalse("Fehler: Element 198 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(198)); + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest5.java b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest5.java new file mode 100644 index 0000000..f2be0d0 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest5.java @@ -0,0 +1,2397 @@ +package tests; + +import static org.junit.Assert.*; + +import liste.*; + +/** + * Die Test-Klasse SubTest5. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest5 { + + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(86); + Tester.pruefeListenInhalt(dieListe, new int[]{86}); + + assertTrue("Fehler: Element 86 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(86)); + dieListe.anhaengen(145); + Tester.pruefeListenInhalt(dieListe, new int[]{86, 145}); + + assertTrue("Fehler: Element 86 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(86)); + assertFalse("Fehler: Element 169 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(169)); + dieListe.anhaengen(788); + Tester.pruefeListenInhalt(dieListe, new int[]{86, 145, 788}); + + assertFalse("Fehler: Element 477 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(477)); + assertTrue("Fehler: Element 788 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(788)); + dieListe.einfuegenBei(1, 991); + Tester.pruefeListenInhalt(dieListe, new int[]{86, 991, 145, 788}); + + assertTrue("Fehler: Element 788 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(788)); + dieListe.einfuegenBei(4, 931); + Tester.pruefeListenInhalt(dieListe, new int[]{86, 991, 145, 788, 931}); + + assertFalse("Fehler: Element 611 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(611)); + dieListe.einfuegenBei(0, 201); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 991, 145, 788, 931}); + + dieListe.einfuegenBei(2, 153); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 991, 145, 788, 931}); + + assertTrue("Fehler: Element 931 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(931)); + assertFalse("Fehler: Element 695 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(695)); + dieListe.anhaengen(69); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 991, 145, 788, 931, 69}); + + dieListe.einfuegenBei(7, 713); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 991, 145, 788, 931, 713, 69}); + + dieListe.anhaengen(297); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 991, 145, 788, 931, 713, 69, 297}); + + dieListe.einfuegenBei(9, 147); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 991, 145, 788, 931, 713, 69, 147, 297}); + + dieListe.anhaengen(963); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 991, 145, 788, 931, 713, 69, 147, 297, 963}); + + dieListe.anhaengen(334); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 991, 145, 788, 931, 713, 69, 147, 297, 963, 334}); + + dieListe.einfuegenBei(3, 972); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 963, 334}); + + dieListe.anhaengen(842); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 963, 334, 842}); + + dieListe.anhaengen(267); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 963, 334, 842, 267}); + + assertFalse("Fehler: Element 682 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(682)); + dieListe.einfuegenBei(12, 275); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 275, 963, 334, 842, 267}); + + dieListe.anhaengen(758); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 275, 963, 334, 842, 267, 758}); + + dieListe.anhaengen(341); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 275, 963, 334, 842, 267, 758, 341}); + + dieListe.anhaengen(233); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 275, 963, 334, 842, 267, 758, 341, 233}); + + dieListe.anhaengen(819); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 275, 963, 334, 842, 267, 758, 341, 233, 819}); + + dieListe.einfuegenBei(14, 702); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 275, 963, 702, 334, 842, 267, 758, 341, 233, 819}); + + dieListe.anhaengen(853); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 713, 69, 147, 297, 275, 963, 702, 334, 842, 267, 758, 341, 233, 819, 853}); + + assertTrue("Fehler: Element 334 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(334)); + assertFalse("Fehler: Element 401 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(401)); + dieListe.einfuegenBei(8, 859); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 267, 758, 341, 233, 819, 853}); + + assertFalse("Fehler: Element 623 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(623)); + assertTrue("Fehler: Element 275 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(275)); + assertFalse("Fehler: Element 645 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(645)); + dieListe.anhaengen(804); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 267, 758, 341, 233, 819, 853, 804}); + + assertTrue("Fehler: Element 233 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(233)); + dieListe.einfuegenBei(23, 59); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 267, 758, 341, 233, 819, 59, 853, 804}); + + dieListe.einfuegenBei(23, 285); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 267, 758, 341, 233, 819, 285, 59, 853, 804}); + + dieListe.einfuegenBei(18, 283); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804}); + + dieListe.anhaengen(305); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305}); + + dieListe.anhaengen(675); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675}); + + dieListe.anhaengen(547); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547}); + + assertFalse("Fehler: Element 589 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(589)); + dieListe.anhaengen(972); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972}); + + assertFalse("Fehler: Element 453 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(453)); + dieListe.anhaengen(991); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 991}); + + dieListe.einfuegenBei(13, 197); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 991}); + + dieListe.einfuegenBei(33, 360); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 360, 991}); + + assertFalse("Fehler: Element 744 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(744)); + dieListe.anhaengen(177); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 360, 991, 177}); + + assertFalse("Fehler: Element 497 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(497)); + dieListe.einfuegenBei(1, 31); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 360, 991, 177}); + + dieListe.einfuegenBei(34, 934); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 934, 360, 991, 177}); + + dieListe.anhaengen(770); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 934, 360, 991, 177, 770}); + + dieListe.anhaengen(339); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 934, 360, 991, 177, 770, 339}); + + dieListe.anhaengen(513); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 934, 360, 991, 177, 770, 339, 513}); + + assertFalse("Fehler: Element 486 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(486)); + dieListe.anhaengen(937); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 934, 360, 991, 177, 770, 339, 513, 937}); + + dieListe.anhaengen(348); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 934, 360, 991, 177, 770, 339, 513, 937, 348}); + + dieListe.einfuegenBei(34, 254); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348}); + + assertFalse("Fehler: Element 402 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(402)); + dieListe.einfuegenBei(14, 211); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 211, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348}); + + dieListe.anhaengen(302); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 859, 713, 69, 147, 297, 211, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 302}); + + dieListe.einfuegenBei(9, 951); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 302}); + + dieListe.einfuegenBei(19, 655); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 302}); + + assertFalse("Fehler: Element 557 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(557)); + dieListe.einfuegenBei(24, 522); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 302}); + + dieListe.einfuegenBei(7, 738); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 302}); + + dieListe.anhaengen(972); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 302, 972}); + + dieListe.einfuegenBei(3, 36); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 302, 972}); + + dieListe.einfuegenBei(50, 922); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972}); + + dieListe.anhaengen(834); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834}); + + dieListe.anhaengen(269); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269}); + + assertFalse("Fehler: Element 784 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(784)); + dieListe.anhaengen(894); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894}); + + assertFalse("Fehler: Element 442 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(442)); + dieListe.anhaengen(226); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226}); + + assertFalse("Fehler: Element 883 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(883)); + dieListe.anhaengen(495); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495}); + + dieListe.einfuegenBei(18, 808); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495}); + + dieListe.einfuegenBei(2, 811); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495}); + + dieListe.anhaengen(462); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462}); + + dieListe.einfuegenBei(30, 809); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462}); + + assertFalse("Fehler: Element 475 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(475)); + dieListe.anhaengen(52); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 52}); + + assertTrue("Fehler: Element 972 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(972)); + dieListe.einfuegenBei(46, 982); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 982, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 52}); + + dieListe.einfuegenBei(5, 117); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 117, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 982, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 52}); + + dieListe.anhaengen(347); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 117, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 982, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 52, 347}); + + dieListe.anhaengen(867); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 117, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 982, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 52, 347, 867}); + + dieListe.einfuegenBei(20, 778); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 117, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 778, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 982, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 52, 347, 867}); + + dieListe.anhaengen(822); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 117, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 778, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 982, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 52, 347, 867, 822}); + + dieListe.einfuegenBei(65, 295); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 117, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 778, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 982, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 295, 52, 347, 867, 822}); + + dieListe.anhaengen(849); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 117, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 778, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 982, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 295, 52, 347, 867, 822, 849}); + + dieListe.anhaengen(447); + Tester.pruefeListenInhalt(dieListe, new int[]{201, 31, 811, 86, 36, 117, 153, 972, 991, 145, 738, 788, 931, 951, 859, 713, 69, 147, 297, 211, 778, 808, 197, 275, 963, 655, 702, 334, 842, 283, 522, 267, 809, 758, 341, 233, 819, 285, 59, 853, 804, 305, 675, 547, 972, 254, 934, 360, 982, 991, 177, 770, 339, 513, 937, 348, 922, 302, 972, 834, 269, 894, 226, 495, 462, 295, 52, 347, 867, 822, 849, 447}); + + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(688); + Tester.pruefeListenInhalt(dieListe, new int[]{688}); + + dieListe.einfuegenBei(1, 958); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 958}); + + dieListe.anhaengen(672); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 958, 672}); + + assertTrue("Fehler: Element 672 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(672)); + dieListe.anhaengen(816); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 958, 672, 816}); + + dieListe.anhaengen(797); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 958, 672, 816, 797}); + + assertTrue("Fehler: Element 797 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(797)); + dieListe.einfuegenBei(0, 316); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 672, 816, 797}); + + dieListe.anhaengen(469); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 672, 816, 797, 469}); + + assertFalse("Fehler: Element 549 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(549)); + dieListe.einfuegenBei(3, 408); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 408, 672, 816, 797, 469}); + + dieListe.anhaengen(271); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 408, 672, 816, 797, 469, 271}); + + dieListe.anhaengen(679); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 408, 672, 816, 797, 469, 271, 679}); + + dieListe.einfuegenBei(8, 18); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 408, 672, 816, 797, 469, 18, 271, 679}); + + dieListe.einfuegenBei(9, 899); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 408, 672, 816, 797, 469, 18, 899, 271, 679}); + + dieListe.einfuegenBei(12, 761); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 408, 672, 816, 797, 469, 18, 899, 271, 679, 761}); + + dieListe.einfuegenBei(8, 183); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 408, 672, 816, 797, 469, 183, 18, 899, 271, 679, 761}); + + dieListe.einfuegenBei(14, 112); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 408, 672, 816, 797, 469, 183, 18, 899, 271, 679, 761, 112}); + + dieListe.einfuegenBei(12, 239); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 958, 408, 672, 816, 797, 469, 183, 18, 899, 271, 239, 679, 761, 112}); + + dieListe.einfuegenBei(2, 952); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 672, 816, 797, 469, 183, 18, 899, 271, 239, 679, 761, 112}); + + assertTrue("Fehler: Element 316 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(316)); + assertFalse("Fehler: Element 136 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(136)); + assertFalse("Fehler: Element 802 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(802)); + dieListe.einfuegenBei(16, 235); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 672, 816, 797, 469, 183, 18, 899, 271, 239, 679, 761, 235, 112}); + + dieListe.anhaengen(411); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 672, 816, 797, 469, 183, 18, 899, 271, 239, 679, 761, 235, 112, 411}); + + dieListe.einfuegenBei(5, 583); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 18, 899, 271, 239, 679, 761, 235, 112, 411}); + + dieListe.einfuegenBei(12, 187); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 18, 187, 899, 271, 239, 679, 761, 235, 112, 411}); + + dieListe.anhaengen(717); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 18, 187, 899, 271, 239, 679, 761, 235, 112, 411, 717}); + + dieListe.einfuegenBei(18, 82); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 18, 187, 899, 271, 239, 679, 761, 82, 235, 112, 411, 717}); + + dieListe.anhaengen(177); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 18, 187, 899, 271, 239, 679, 761, 82, 235, 112, 411, 717, 177}); + + dieListe.anhaengen(814); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 18, 187, 899, 271, 239, 679, 761, 82, 235, 112, 411, 717, 177, 814}); + + assertFalse("Fehler: Element 364 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(364)); + assertFalse("Fehler: Element 714 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(714)); + dieListe.anhaengen(487); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 18, 187, 899, 271, 239, 679, 761, 82, 235, 112, 411, 717, 177, 814, 487}); + + dieListe.einfuegenBei(17, 688); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 18, 187, 899, 271, 239, 679, 688, 761, 82, 235, 112, 411, 717, 177, 814, 487}); + + dieListe.anhaengen(205); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 18, 187, 899, 271, 239, 679, 688, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205}); + + dieListe.einfuegenBei(11, 999); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 999, 18, 187, 899, 271, 239, 679, 688, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205}); + + assertFalse("Fehler: Element 101 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(101)); + dieListe.anhaengen(194); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 999, 18, 187, 899, 271, 239, 679, 688, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205, 194}); + + dieListe.einfuegenBei(19, 690); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 797, 469, 183, 999, 18, 187, 899, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205, 194}); + + dieListe.einfuegenBei(8, 735); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 18, 187, 899, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205, 194}); + + assertFalse("Fehler: Element 68 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(68)); + dieListe.anhaengen(812); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 18, 187, 899, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205, 194, 812}); + + assertFalse("Fehler: Element 957 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(957)); + dieListe.einfuegenBei(16, 204); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205, 194, 812}); + + dieListe.anhaengen(563); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205, 194, 812, 563}); + + dieListe.einfuegenBei(13, 597); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 597, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205, 194, 812, 563}); + + assertFalse("Fehler: Element 242 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(242)); + dieListe.anhaengen(323); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 597, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 205, 194, 812, 563, 323}); + + dieListe.einfuegenBei(32, 892); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 597, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 205, 194, 812, 563, 323}); + + assertFalse("Fehler: Element 366 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(366)); + dieListe.anhaengen(77); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 597, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 205, 194, 812, 563, 323, 77}); + + dieListe.anhaengen(237); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 597, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 205, 194, 812, 563, 323, 77, 237}); + + dieListe.anhaengen(781); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 597, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 205, 194, 812, 563, 323, 77, 237, 781}); + + dieListe.einfuegenBei(14, 286); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 205, 194, 812, 563, 323, 77, 237, 781}); + + dieListe.einfuegenBei(9, 290); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 408, 583, 672, 816, 735, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 205, 194, 812, 563, 323, 77, 237, 781}); + + dieListe.einfuegenBei(4, 279); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 205, 194, 812, 563, 323, 77, 237, 781}); + + dieListe.anhaengen(18); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 205, 194, 812, 563, 323, 77, 237, 781, 18}); + + assertTrue("Fehler: Element 408 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(408)); + dieListe.einfuegenBei(36, 228); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 228, 205, 194, 812, 563, 323, 77, 237, 781, 18}); + + dieListe.anhaengen(290); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 228, 205, 194, 812, 563, 323, 77, 237, 781, 18, 290}); + + dieListe.anhaengen(576); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 228, 205, 194, 812, 563, 323, 77, 237, 781, 18, 290, 576}); + + dieListe.anhaengen(604); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 228, 205, 194, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604}); + + dieListe.einfuegenBei(39, 920); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604}); + + assertTrue("Fehler: Element 604 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(604)); + dieListe.anhaengen(958); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958}); + + assertFalse("Fehler: Element 842 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(842)); + dieListe.einfuegenBei(10, 320); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958}); + + dieListe.anhaengen(252); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252}); + + dieListe.anhaengen(646); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646}); + + dieListe.einfuegenBei(33, 813); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646}); + + dieListe.anhaengen(767); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767}); + + assertFalse("Fehler: Element 389 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(389)); + dieListe.anhaengen(161); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161}); + + assertTrue("Fehler: Element 767 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(767)); + assertTrue("Fehler: Element 194 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(194)); + dieListe.einfuegenBei(29, 971); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161}); + + dieListe.anhaengen(459); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459}); + + assertTrue("Fehler: Element 583 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(583)); + dieListe.anhaengen(35); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35}); + + assertFalse("Fehler: Element 501 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(501)); + dieListe.anhaengen(191); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191}); + + dieListe.anhaengen(606); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606}); + + dieListe.anhaengen(556); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556}); + + dieListe.anhaengen(812); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556, 812}); + + dieListe.anhaengen(993); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556, 812, 993}); + + assertTrue("Fehler: Element 812 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(812)); + assertFalse("Fehler: Element 507 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(507)); + dieListe.einfuegenBei(4, 475); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 475, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556, 812, 993}); + + dieListe.anhaengen(619); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 475, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556, 812, 993, 619}); + + assertFalse("Fehler: Element 123 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(123)); + dieListe.einfuegenBei(24, 382); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 475, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 382, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556, 812, 993, 619}); + + dieListe.anhaengen(749); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 475, 279, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 382, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556, 812, 993, 619, 749}); + + assertTrue("Fehler: Element 320 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(320)); + dieListe.einfuegenBei(6, 380); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 475, 279, 380, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 382, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556, 812, 993, 619, 749}); + + dieListe.einfuegenBei(48, 639); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 475, 279, 380, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 382, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 814, 487, 892, 228, 205, 194, 920, 812, 563, 639, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556, 812, 993, 619, 749}); + + assertTrue("Fehler: Element 77 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(77)); + assertFalse("Fehler: Element 392 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(392)); + assertFalse("Fehler: Element 817 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(817)); + dieListe.einfuegenBei(39, 49); + Tester.pruefeListenInhalt(dieListe, new int[]{316, 688, 952, 958, 475, 279, 380, 408, 583, 672, 816, 735, 320, 290, 797, 469, 183, 999, 597, 286, 18, 187, 899, 204, 271, 382, 239, 679, 688, 690, 761, 82, 971, 235, 112, 411, 717, 813, 177, 49, 814, 487, 892, 228, 205, 194, 920, 812, 563, 639, 323, 77, 237, 781, 18, 290, 576, 604, 958, 252, 646, 767, 161, 459, 35, 191, 606, 556, 812, 993, 619, 749}); + + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(328); + Tester.pruefeListenInhalt(dieListe, new int[]{328}); + + dieListe.einfuegenBei(1, 224); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 224}); + + dieListe.anhaengen(431); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 224, 431}); + + dieListe.anhaengen(936); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 224, 431, 936}); + + dieListe.einfuegenBei(1, 399); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 431, 936}); + + dieListe.anhaengen(424); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 431, 936, 424}); + + dieListe.einfuegenBei(3, 844); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 431, 936, 424}); + + dieListe.anhaengen(486); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 431, 936, 424, 486}); + + dieListe.anhaengen(60); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 431, 936, 424, 486, 60}); + + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 431, 936, 424, 486, 60, 581}); + + dieListe.anhaengen(664); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 431, 936, 424, 486, 60, 581, 664}); + + dieListe.einfuegenBei(4, 702); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 702, 431, 936, 424, 486, 60, 581, 664}); + + dieListe.einfuegenBei(8, 488); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 702, 431, 936, 424, 488, 486, 60, 581, 664}); + + dieListe.anhaengen(845); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 702, 431, 936, 424, 488, 486, 60, 581, 664, 845}); + + dieListe.anhaengen(725); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 702, 431, 936, 424, 488, 486, 60, 581, 664, 845, 725}); + + dieListe.anhaengen(830); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 702, 431, 936, 424, 488, 486, 60, 581, 664, 845, 725, 830}); + + dieListe.einfuegenBei(5, 728); + Tester.pruefeListenInhalt(dieListe, new int[]{328, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 725, 830}); + + assertTrue("Fehler: Element 936 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(936)); + dieListe.einfuegenBei(0, 798); + Tester.pruefeListenInhalt(dieListe, new int[]{798, 328, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 725, 830}); + + assertTrue("Fehler: Element 725 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(725)); + dieListe.einfuegenBei(0, 786); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 725, 830}); + + dieListe.anhaengen(816); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 725, 830, 816}); + + assertTrue("Fehler: Element 424 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(424)); + dieListe.einfuegenBei(3, 157); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 157, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 725, 830, 816}); + + assertFalse("Fehler: Element 528 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(528)); + assertFalse("Fehler: Element 540 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(540)); + dieListe.einfuegenBei(20, 869); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 157, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 725, 830, 869, 816}); + + dieListe.anhaengen(954); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 157, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 725, 830, 869, 816, 954}); + + dieListe.einfuegenBei(18, 153); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 157, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954}); + + dieListe.anhaengen(633); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 157, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633}); + + assertTrue("Fehler: Element 830 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(830)); + dieListe.einfuegenBei(4, 946); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633}); + + dieListe.einfuegenBei(3, 736); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633}); + + assertTrue("Fehler: Element 60 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(60)); + dieListe.anhaengen(665); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665}); + + dieListe.anhaengen(851); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 851}); + + assertFalse("Fehler: Element 305 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(305)); + dieListe.anhaengen(312); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 851, 312}); + + dieListe.anhaengen(595); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 851, 312, 595}); + + dieListe.einfuegenBei(2, 213); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 851, 312, 595}); + + dieListe.anhaengen(247); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 851, 312, 595, 247}); + + dieListe.einfuegenBei(29, 294); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247}); + + dieListe.anhaengen(536); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536}); + + dieListe.anhaengen(322); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536, 322}); + + dieListe.anhaengen(524); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536, 322, 524}); + + dieListe.anhaengen(852); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536, 322, 524, 852}); + + assertTrue("Fehler: Element 399 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(399)); + dieListe.einfuegenBei(14, 181); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536, 322, 524, 852}); + + dieListe.einfuegenBei(25, 585); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536, 322, 524, 852}); + + assertTrue("Fehler: Element 852 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(852)); + dieListe.anhaengen(121); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536, 322, 524, 852, 121}); + + assertFalse("Fehler: Element 343 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(343)); + dieListe.einfuegenBei(12, 431); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536, 322, 524, 852, 121}); + + dieListe.einfuegenBei(10, 493); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536, 322, 524, 852, 121}); + + dieListe.anhaengen(539); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 294, 851, 312, 595, 247, 536, 322, 524, 852, 121, 539}); + + assertFalse("Fehler: Element 532 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(532)); + dieListe.einfuegenBei(33, 563); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 294, 851, 312, 595, 247, 536, 322, 524, 852, 121, 539}); + + dieListe.anhaengen(980); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 294, 851, 312, 595, 247, 536, 322, 524, 852, 121, 539, 980}); + + assertTrue("Fehler: Element 328 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(328)); + dieListe.einfuegenBei(43, 856); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 121, 539, 980}); + + dieListe.anhaengen(167); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 121, 539, 980, 167}); + + dieListe.einfuegenBei(34, 700); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 121, 539, 980, 167}); + + dieListe.einfuegenBei(48, 977); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 121, 539, 980, 977, 167}); + + assertTrue("Fehler: Element 845 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(845)); + dieListe.einfuegenBei(1, 592); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 121, 539, 980, 977, 167}); + + assertTrue("Fehler: Element 830 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(830)); + assertFalse("Fehler: Element 781 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(781)); + dieListe.einfuegenBei(24, 684); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 488, 486, 60, 581, 664, 684, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 121, 539, 980, 977, 167}); + + dieListe.einfuegenBei(19, 401); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 401, 488, 486, 60, 581, 664, 684, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 121, 539, 980, 977, 167}); + + dieListe.einfuegenBei(24, 737); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 121, 539, 980, 977, 167}); + + assertFalse("Fehler: Element 987 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(987)); + dieListe.einfuegenBei(49, 675); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167}); + + dieListe.anhaengen(347); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347}); + + dieListe.einfuegenBei(6, 897); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347}); + + dieListe.anhaengen(517); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517}); + + assertTrue("Fehler: Element 665 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(665)); + dieListe.einfuegenBei(28, 793); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 702, 728, 431, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517}); + + dieListe.einfuegenBei(16, 616); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517}); + + assertTrue("Fehler: Element 224 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(224)); + dieListe.einfuegenBei(13, 279); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517}); + + dieListe.anhaengen(785); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 830, 585, 869, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785}); + + dieListe.einfuegenBei(37, 104); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785}); + + dieListe.anhaengen(398); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398}); + + assertTrue("Fehler: Element 424 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(424)); + assertFalse("Fehler: Element 602 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(602)); + assertFalse("Fehler: Element 222 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(222)); + dieListe.anhaengen(173); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398, 173}); + + dieListe.einfuegenBei(34, 107); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 107, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398, 173}); + + assertTrue("Fehler: Element 213 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(213)); + dieListe.anhaengen(699); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 107, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398, 173, 699}); + + dieListe.einfuegenBei(51, 209); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 107, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 209, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398, 173, 699}); + + dieListe.einfuegenBei(6, 902); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 902, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 107, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 209, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398, 173, 699}); + + assertTrue("Fehler: Element 539 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(539)); + assertTrue("Fehler: Element 60 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(60)); + assertTrue("Fehler: Element 946 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(946)); + dieListe.anhaengen(119); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 902, 897, 157, 946, 399, 224, 844, 493, 279, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 107, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 209, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398, 173, 699, 119}); + + dieListe.einfuegenBei(15, 870); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 902, 897, 157, 946, 399, 224, 844, 493, 279, 870, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 107, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 209, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398, 173, 699, 119}); + + assertFalse("Fehler: Element 52 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(52)); + dieListe.anhaengen(992); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 902, 897, 157, 946, 399, 224, 844, 493, 279, 870, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 107, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 209, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398, 173, 699, 119, 992}); + + dieListe.anhaengen(514); + Tester.pruefeListenInhalt(dieListe, new int[]{786, 592, 798, 213, 328, 736, 902, 897, 157, 946, 399, 224, 844, 493, 279, 870, 702, 728, 431, 616, 431, 936, 181, 424, 401, 488, 486, 60, 581, 737, 664, 684, 793, 845, 153, 725, 107, 830, 585, 869, 104, 816, 954, 633, 665, 563, 700, 294, 851, 312, 595, 247, 536, 209, 322, 524, 852, 856, 675, 121, 539, 980, 977, 167, 347, 517, 785, 398, 173, 699, 119, 992, 514}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 25); + Tester.pruefeListenInhalt(dieListe, new int[]{25}); + + dieListe.anhaengen(550); + Tester.pruefeListenInhalt(dieListe, new int[]{25, 550}); + + dieListe.anhaengen(359); + Tester.pruefeListenInhalt(dieListe, new int[]{25, 550, 359}); + + assertFalse("Fehler: Element 571 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(571)); + assertTrue("Fehler: Element 25 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(25)); + dieListe.einfuegenBei(0, 671); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 25, 550, 359}); + + dieListe.anhaengen(425); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 25, 550, 359, 425}); + + dieListe.einfuegenBei(1, 880); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 880, 25, 550, 359, 425}); + + assertFalse("Fehler: Element 955 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(955)); + dieListe.einfuegenBei(3, 478); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 880, 25, 478, 550, 359, 425}); + + dieListe.einfuegenBei(4, 284); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 880, 25, 478, 284, 550, 359, 425}); + + dieListe.einfuegenBei(1, 776); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 880, 25, 478, 284, 550, 359, 425}); + + dieListe.einfuegenBei(2, 928); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 359, 425}); + + assertFalse("Fehler: Element 174 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(174)); + dieListe.anhaengen(395); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 359, 425, 395}); + + assertFalse("Fehler: Element 830 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(830)); + assertTrue("Fehler: Element 284 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(284)); + dieListe.anhaengen(551); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 359, 425, 395, 551}); + + dieListe.anhaengen(874); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 359, 425, 395, 551, 874}); + + dieListe.anhaengen(819); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 359, 425, 395, 551, 874, 819}); + + dieListe.einfuegenBei(8, 406); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 359, 425, 395, 551, 874, 819}); + + dieListe.einfuegenBei(12, 989); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 359, 425, 395, 989, 551, 874, 819}); + + dieListe.anhaengen(235); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 359, 425, 395, 989, 551, 874, 819, 235}); + + dieListe.einfuegenBei(10, 340); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 359, 340, 425, 395, 989, 551, 874, 819, 235}); + + dieListe.einfuegenBei(9, 422); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 422, 359, 340, 425, 395, 989, 551, 874, 819, 235}); + + assertFalse("Fehler: Element 529 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(529)); + dieListe.anhaengen(140); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 422, 359, 340, 425, 395, 989, 551, 874, 819, 235, 140}); + + dieListe.anhaengen(186); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 422, 359, 340, 425, 395, 989, 551, 874, 819, 235, 140, 186}); + + assertFalse("Fehler: Element 514 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(514)); + dieListe.anhaengen(522); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 422, 359, 340, 425, 395, 989, 551, 874, 819, 235, 140, 186, 522}); + + assertFalse("Fehler: Element 540 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(540)); + dieListe.anhaengen(921); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 422, 359, 340, 425, 395, 989, 551, 874, 819, 235, 140, 186, 522, 921}); + + dieListe.einfuegenBei(10, 396); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 422, 396, 359, 340, 425, 395, 989, 551, 874, 819, 235, 140, 186, 522, 921}); + + assertFalse("Fehler: Element 938 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(938)); + assertTrue("Fehler: Element 396 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(396)); + dieListe.einfuegenBei(19, 10); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 422, 396, 359, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921}); + + dieListe.einfuegenBei(11, 539); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 550, 406, 422, 396, 539, 359, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921}); + + dieListe.einfuegenBei(7, 318); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 318, 550, 406, 422, 396, 539, 359, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921}); + + assertTrue("Fehler: Element 318 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(318)); + dieListe.einfuegenBei(12, 308); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 318, 550, 406, 422, 396, 308, 539, 359, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921}); + + dieListe.anhaengen(411); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 318, 550, 406, 422, 396, 308, 539, 359, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921, 411}); + + dieListe.einfuegenBei(7, 599); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 284, 599, 318, 550, 406, 422, 396, 308, 539, 359, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921, 411}); + + dieListe.einfuegenBei(6, 660); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 318, 550, 406, 422, 396, 308, 539, 359, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921, 411}); + + dieListe.einfuegenBei(17, 568); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921, 411}); + + assertFalse("Fehler: Element 499 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(499)); + assertFalse("Fehler: Element 997 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(997)); + dieListe.einfuegenBei(9, 49); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921, 411}); + + dieListe.anhaengen(507); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921, 411, 507}); + + assertTrue("Fehler: Element 235 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(235)); + assertFalse("Fehler: Element 89 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(89)); + dieListe.einfuegenBei(34, 393); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921, 411, 507, 393}); + + dieListe.anhaengen(836); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921, 411, 507, 393, 836}); + + assertTrue("Fehler: Element 989 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(989)); + assertTrue("Fehler: Element 989 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(989)); + dieListe.anhaengen(23); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 921, 411, 507, 393, 836, 23}); + + assertTrue("Fehler: Element 422 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(422)); + dieListe.einfuegenBei(31, 621); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 621, 921, 411, 507, 393, 836, 23}); + + assertFalse("Fehler: Element 771 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(771)); + dieListe.anhaengen(925); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 874, 819, 10, 235, 140, 186, 522, 621, 921, 411, 507, 393, 836, 23, 925}); + + dieListe.einfuegenBei(24, 67); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 186, 522, 621, 921, 411, 507, 393, 836, 23, 925}); + + dieListe.einfuegenBei(38, 832); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 186, 522, 621, 921, 411, 507, 393, 836, 832, 23, 925}); + + assertFalse("Fehler: Element 435 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(435)); + dieListe.anhaengen(162); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 186, 522, 621, 921, 411, 507, 393, 836, 832, 23, 925, 162}); + + dieListe.einfuegenBei(36, 183); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 186, 522, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162}); + + dieListe.einfuegenBei(31, 980); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 186, 980, 522, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162}); + + dieListe.anhaengen(754); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 186, 980, 522, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754}); + + dieListe.anhaengen(439); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 186, 980, 522, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439}); + + dieListe.einfuegenBei(20, 281); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 186, 980, 522, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439}); + + dieListe.anhaengen(597); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 186, 980, 522, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597}); + + dieListe.einfuegenBei(31, 485); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597}); + + dieListe.anhaengen(351); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351}); + + assertTrue("Fehler: Element 874 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(874)); + dieListe.einfuegenBei(35, 779); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351}); + + dieListe.anhaengen(405); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 989, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405}); + + dieListe.einfuegenBei(24, 576); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405}); + + assertTrue("Fehler: Element 406 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(406)); + dieListe.anhaengen(575); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575}); + + assertFalse("Fehler: Element 512 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(512)); + assertFalse("Fehler: Element 190 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(190)); + assertTrue("Fehler: Element 340 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(340)); + dieListe.einfuegenBei(23, 857); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575}); + + dieListe.anhaengen(697); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697}); + + assertFalse("Fehler: Element 57 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(57)); + dieListe.anhaengen(354); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354}); + + assertTrue("Fehler: Element 597 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(597)); + assertTrue("Fehler: Element 162 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(162)); + dieListe.einfuegenBei(15, 990); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354}); + + assertFalse("Fehler: Element 139 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(139)); + dieListe.anhaengen(207); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354, 207}); + + assertFalse("Fehler: Element 191 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(191)); + dieListe.einfuegenBei(58, 190); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354, 190, 207}); + + dieListe.einfuegenBei(37, 358); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 358, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354, 190, 207}); + + assertTrue("Fehler: Element 576 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(576)); + dieListe.einfuegenBei(3, 716); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 716, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 358, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354, 190, 207}); + + dieListe.anhaengen(434); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 716, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 358, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354, 190, 207, 434}); + + dieListe.anhaengen(845); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 716, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 358, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354, 190, 207, 434, 845}); + + dieListe.anhaengen(249); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 716, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 358, 522, 779, 621, 921, 411, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354, 190, 207, 434, 845, 249}); + + dieListe.einfuegenBei(44, 874); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 716, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 358, 522, 779, 621, 921, 411, 874, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354, 190, 207, 434, 845, 249}); + + dieListe.anhaengen(557); + Tester.pruefeListenInhalt(dieListe, new int[]{671, 776, 928, 716, 880, 25, 478, 660, 284, 599, 49, 318, 550, 406, 422, 396, 990, 308, 539, 359, 568, 340, 281, 425, 395, 857, 989, 576, 551, 67, 874, 819, 10, 235, 140, 485, 186, 980, 358, 522, 779, 621, 921, 411, 874, 507, 183, 393, 836, 832, 23, 925, 162, 754, 439, 597, 351, 405, 575, 697, 354, 190, 207, 434, 845, 249, 557}); + + assertTrue("Fehler: Element 67 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(67)); + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(442); + Tester.pruefeListenInhalt(dieListe, new int[]{442}); + + dieListe.einfuegenBei(0, 475); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 442}); + + dieListe.anhaengen(474); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 442, 474}); + + dieListe.anhaengen(8); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 442, 474, 8}); + + dieListe.anhaengen(921); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 442, 474, 8, 921}); + + dieListe.anhaengen(786); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 442, 474, 8, 921, 786}); + + assertFalse("Fehler: Element 885 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(885)); + dieListe.anhaengen(570); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 442, 474, 8, 921, 786, 570}); + + dieListe.anhaengen(263); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 442, 474, 8, 921, 786, 570, 263}); + + dieListe.einfuegenBei(1, 865); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 474, 8, 921, 786, 570, 263}); + + dieListe.anhaengen(315); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 474, 8, 921, 786, 570, 263, 315}); + + dieListe.einfuegenBei(3, 128); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 128, 474, 8, 921, 786, 570, 263, 315}); + + dieListe.einfuegenBei(3, 892); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 8, 921, 786, 570, 263, 315}); + + dieListe.anhaengen(502); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 8, 921, 786, 570, 263, 315, 502}); + + dieListe.anhaengen(626); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 8, 921, 786, 570, 263, 315, 502, 626}); + + assertTrue("Fehler: Element 475 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(475)); + assertFalse("Fehler: Element 312 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(312)); + assertTrue("Fehler: Element 892 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(892)); + assertTrue("Fehler: Element 442 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(442)); + assertTrue("Fehler: Element 8 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(8)); + dieListe.einfuegenBei(6, 68); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 263, 315, 502, 626}); + + dieListe.anhaengen(493); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 263, 315, 502, 626, 493}); + + dieListe.anhaengen(232); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 263, 315, 502, 626, 493, 232}); + + assertTrue("Fehler: Element 263 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(263)); + dieListe.einfuegenBei(11, 923); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 263, 315, 502, 626, 493, 232}); + + dieListe.einfuegenBei(18, 467); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 263, 315, 502, 626, 493, 232, 467}); + + assertTrue("Fehler: Element 570 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(570)); + assertTrue("Fehler: Element 315 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(315)); + dieListe.anhaengen(240); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 263, 315, 502, 626, 493, 232, 467, 240}); + + dieListe.einfuegenBei(12, 218); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 315, 502, 626, 493, 232, 467, 240}); + + dieListe.anhaengen(262); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 315, 502, 626, 493, 232, 467, 240, 262}); + + assertFalse("Fehler: Element 879 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(879)); + assertTrue("Fehler: Element 442 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(442)); + assertFalse("Fehler: Element 488 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(488)); + dieListe.einfuegenBei(18, 54); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 315, 502, 626, 493, 54, 232, 467, 240, 262}); + + dieListe.anhaengen(922); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 315, 502, 626, 493, 54, 232, 467, 240, 262, 922}); + + dieListe.einfuegenBei(14, 895); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 626, 493, 54, 232, 467, 240, 262, 922}); + + dieListe.anhaengen(302); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 626, 493, 54, 232, 467, 240, 262, 922, 302}); + + dieListe.einfuegenBei(20, 651); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302}); + + dieListe.anhaengen(292); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292}); + + dieListe.anhaengen(539); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539}); + + dieListe.einfuegenBei(17, 102); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539}); + + dieListe.einfuegenBei(5, 943); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539}); + + assertFalse("Fehler: Element 72 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(72)); + assertTrue("Fehler: Element 626 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(626)); + assertTrue("Fehler: Element 539 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(539)); + dieListe.anhaengen(603); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 603}); + + dieListe.anhaengen(886); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 603, 886}); + + dieListe.anhaengen(658); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 603, 886, 658}); + + dieListe.anhaengen(72); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 603, 886, 658, 72}); + + dieListe.einfuegenBei(18, 127); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 127, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 603, 886, 658, 72}); + + dieListe.anhaengen(808); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 127, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 603, 886, 658, 72, 808}); + + dieListe.einfuegenBei(19, 704); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 603, 886, 658, 72, 808}); + + dieListe.einfuegenBei(12, 905); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 603, 886, 658, 72, 808}); + + dieListe.einfuegenBei(34, 241); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808}); + + assertFalse("Fehler: Element 801 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(801)); + dieListe.anhaengen(286); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286}); + + dieListe.einfuegenBei(25, 802); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286}); + + dieListe.anhaengen(20); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 20}); + + dieListe.anhaengen(374); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 20, 374}); + + dieListe.anhaengen(579); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 20, 374, 579}); + + dieListe.anhaengen(917); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 20, 374, 579, 917}); + + assertTrue("Fehler: Element 54 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(54)); + assertFalse("Fehler: Element 32 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(32)); + assertTrue("Fehler: Element 241 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(241)); + assertTrue("Fehler: Element 72 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(72)); + dieListe.anhaengen(580); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 20, 374, 579, 917, 580}); + + dieListe.anhaengen(600); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 20, 374, 579, 917, 580, 600}); + + dieListe.einfuegenBei(42, 588); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600}); + + dieListe.einfuegenBei(13, 179); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600}); + + assertFalse("Fehler: Element 277 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(277)); + assertFalse("Fehler: Element 654 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(654)); + dieListe.anhaengen(521); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521}); + + assertTrue("Fehler: Element 603 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(603)); + dieListe.anhaengen(22); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22}); + + dieListe.einfuegenBei(34, 368); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 368, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22}); + + dieListe.anhaengen(799); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 232, 467, 240, 262, 922, 302, 368, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799}); + + assertFalse("Fehler: Element 827 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(827)); + dieListe.einfuegenBei(28, 690); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799}); + + assertTrue("Fehler: Element 128 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(128)); + assertFalse("Fehler: Element 590 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(590)); + dieListe.anhaengen(881); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 881}); + + dieListe.einfuegenBei(18, 821); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 881}); + + dieListe.anhaengen(369); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 881, 369}); + + dieListe.anhaengen(158); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 881, 369, 158}); + + dieListe.anhaengen(228); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 881, 369, 158, 228}); + + dieListe.einfuegenBei(56, 538); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 538, 881, 369, 158, 228}); + + assertTrue("Fehler: Element 179 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(179)); + assertTrue("Fehler: Element 580 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(580)); + dieListe.einfuegenBei(38, 412); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 412, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 538, 881, 369, 158, 228}); + + dieListe.anhaengen(181); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 412, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 538, 881, 369, 158, 228, 181}); + + assertTrue("Fehler: Element 865 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(865)); + assertTrue("Fehler: Element 579 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(579)); + dieListe.anhaengen(854); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 412, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 538, 881, 369, 158, 228, 181, 854}); + + assertTrue("Fehler: Element 475 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(475)); + dieListe.anhaengen(56); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 412, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 538, 881, 369, 158, 228, 181, 854, 56}); + + dieListe.anhaengen(582); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 412, 539, 241, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 538, 881, 369, 158, 228, 181, 854, 56, 582}); + + dieListe.einfuegenBei(41, 677); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 412, 539, 241, 677, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 538, 881, 369, 158, 228, 181, 854, 56, 582}); + + assertTrue("Fehler: Element 228 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(228)); + dieListe.anhaengen(352); + Tester.pruefeListenInhalt(dieListe, new int[]{475, 865, 442, 892, 128, 943, 474, 68, 8, 921, 786, 570, 905, 179, 923, 218, 263, 895, 821, 315, 502, 127, 704, 102, 626, 493, 54, 802, 651, 690, 232, 467, 240, 262, 922, 302, 368, 292, 412, 539, 241, 677, 603, 886, 658, 72, 808, 286, 588, 20, 374, 579, 917, 580, 600, 521, 22, 799, 538, 881, 369, 158, 228, 181, 854, 56, 582, 352}); + + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(744); + Tester.pruefeListenInhalt(dieListe, new int[]{744}); + + dieListe.einfuegenBei(0, 168); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 744}); + + dieListe.anhaengen(793); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 744, 793}); + + dieListe.anhaengen(957); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 744, 793, 957}); + + dieListe.einfuegenBei(2, 275); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 744, 275, 793, 957}); + + dieListe.anhaengen(529); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 744, 275, 793, 957, 529}); + + dieListe.anhaengen(969); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 744, 275, 793, 957, 529, 969}); + + dieListe.anhaengen(625); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 744, 275, 793, 957, 529, 969, 625}); + + dieListe.einfuegenBei(1, 570); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 625}); + + dieListe.anhaengen(434); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 625, 434}); + + assertFalse("Fehler: Element 82 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(82)); + dieListe.einfuegenBei(9, 634); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 625, 634, 434}); + + dieListe.einfuegenBei(9, 56); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 625, 56, 634, 434}); + + dieListe.einfuegenBei(11, 646); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 625, 56, 634, 646, 434}); + + dieListe.anhaengen(274); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 625, 56, 634, 646, 434, 274}); + + dieListe.einfuegenBei(8, 435); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274}); + + dieListe.anhaengen(396); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 396}); + + assertTrue("Fehler: Element 625 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(625)); + dieListe.anhaengen(32); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 396, 32}); + + dieListe.anhaengen(793); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 396, 32, 793}); + + dieListe.einfuegenBei(18, 413); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 396, 32, 793, 413}); + + dieListe.anhaengen(948); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 396, 32, 793, 413, 948}); + + assertTrue("Fehler: Element 32 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(32)); + dieListe.einfuegenBei(18, 514); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 396, 32, 793, 514, 413, 948}); + + dieListe.anhaengen(85); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 396, 32, 793, 514, 413, 948, 85}); + + dieListe.einfuegenBei(15, 596); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 596, 396, 32, 793, 514, 413, 948, 85}); + + assertFalse("Fehler: Element 142 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(142)); + assertTrue("Fehler: Element 396 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(396)); + assertTrue("Fehler: Element 793 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(793)); + assertFalse("Fehler: Element 517 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(517)); + assertTrue("Fehler: Element 435 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(435)); + dieListe.anhaengen(638); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 596, 396, 32, 793, 514, 413, 948, 85, 638}); + + assertTrue("Fehler: Element 168 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(168)); + dieListe.einfuegenBei(24, 842); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 596, 396, 32, 793, 514, 413, 948, 85, 638, 842}); + + dieListe.einfuegenBei(3, 882); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 596, 396, 32, 793, 514, 413, 948, 85, 638, 842}); + + assertTrue("Fehler: Element 434 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(434)); + assertTrue("Fehler: Element 744 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(744)); + dieListe.einfuegenBei(26, 577); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 529, 969, 435, 625, 56, 634, 646, 434, 274, 596, 396, 32, 793, 514, 413, 948, 85, 638, 842, 577}); + + dieListe.einfuegenBei(7, 174); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 174, 529, 969, 435, 625, 56, 634, 646, 434, 274, 596, 396, 32, 793, 514, 413, 948, 85, 638, 842, 577}); + + dieListe.anhaengen(521); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 174, 529, 969, 435, 625, 56, 634, 646, 434, 274, 596, 396, 32, 793, 514, 413, 948, 85, 638, 842, 577, 521}); + + dieListe.anhaengen(605); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 174, 529, 969, 435, 625, 56, 634, 646, 434, 274, 596, 396, 32, 793, 514, 413, 948, 85, 638, 842, 577, 521, 605}); + + dieListe.einfuegenBei(23, 758); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 174, 529, 969, 435, 625, 56, 634, 646, 434, 274, 596, 396, 32, 793, 514, 413, 758, 948, 85, 638, 842, 577, 521, 605}); + + dieListe.einfuegenBei(16, 768); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 174, 529, 969, 435, 625, 56, 634, 646, 434, 768, 274, 596, 396, 32, 793, 514, 413, 758, 948, 85, 638, 842, 577, 521, 605}); + + dieListe.einfuegenBei(24, 652); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 174, 529, 969, 435, 625, 56, 634, 646, 434, 768, 274, 596, 396, 32, 793, 514, 413, 652, 758, 948, 85, 638, 842, 577, 521, 605}); + + assertFalse("Fehler: Element 363 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(363)); + assertFalse("Fehler: Element 706 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(706)); + assertTrue("Fehler: Element 275 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(275)); + assertTrue("Fehler: Element 744 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(744)); + dieListe.einfuegenBei(7, 802); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 802, 174, 529, 969, 435, 625, 56, 634, 646, 434, 768, 274, 596, 396, 32, 793, 514, 413, 652, 758, 948, 85, 638, 842, 577, 521, 605}); + + dieListe.anhaengen(841); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 802, 174, 529, 969, 435, 625, 56, 634, 646, 434, 768, 274, 596, 396, 32, 793, 514, 413, 652, 758, 948, 85, 638, 842, 577, 521, 605, 841}); + + assertTrue("Fehler: Element 85 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(85)); + dieListe.einfuegenBei(18, 653); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 802, 174, 529, 969, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 396, 32, 793, 514, 413, 652, 758, 948, 85, 638, 842, 577, 521, 605, 841}); + + dieListe.einfuegenBei(28, 758); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 802, 174, 529, 969, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841}); + + dieListe.anhaengen(620); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 802, 174, 529, 969, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620}); + + assertFalse("Fehler: Element 348 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(348)); + assertFalse("Fehler: Element 437 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(437)); + dieListe.anhaengen(829); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 793, 957, 802, 174, 529, 969, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829}); + + assertFalse("Fehler: Element 820 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(820)); + assertTrue("Fehler: Element 842 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(842)); + dieListe.einfuegenBei(5, 427); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829}); + + dieListe.einfuegenBei(12, 21); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829}); + + assertTrue("Fehler: Element 634 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(634)); + dieListe.anhaengen(967); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967}); + + dieListe.anhaengen(50); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50}); + + dieListe.anhaengen(705); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705}); + + dieListe.einfuegenBei(23, 125); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705}); + + dieListe.einfuegenBei(45, 670); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 646, 434, 768, 653, 274, 596, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705, 670}); + + dieListe.einfuegenBei(17, 19); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705, 670}); + + dieListe.anhaengen(787); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705, 670, 787}); + + assertTrue("Fehler: Element 435 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(435)); + assertTrue("Fehler: Element 32 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(32)); + assertFalse("Fehler: Element 835 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(835)); + dieListe.anhaengen(686); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705, 670, 787, 686}); + + dieListe.anhaengen(795); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705, 670, 787, 686, 795}); + + dieListe.anhaengen(733); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705, 670, 787, 686, 795, 733}); + + dieListe.einfuegenBei(14, 209); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705, 670, 787, 686, 795, 733}); + + assertTrue("Fehler: Element 829 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(829)); + assertFalse("Fehler: Element 619 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(619)); + dieListe.einfuegenBei(25, 834); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 834, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 967, 50, 705, 670, 787, 686, 795, 733}); + + assertFalse("Fehler: Element 294 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(294)); + assertTrue("Fehler: Element 32 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(32)); + dieListe.einfuegenBei(45, 584); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 834, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 584, 967, 50, 705, 670, 787, 686, 795, 733}); + + assertFalse("Fehler: Element 502 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(502)); + dieListe.einfuegenBei(47, 991); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 834, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 584, 967, 991, 50, 705, 670, 787, 686, 795, 733}); + + assertFalse("Fehler: Element 696 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(696)); + assertTrue("Fehler: Element 56 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(56)); + dieListe.einfuegenBei(2, 269); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 269, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 834, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 521, 605, 841, 620, 829, 584, 967, 991, 50, 705, 670, 787, 686, 795, 733}); + + assertFalse("Fehler: Element 388 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(388)); + assertFalse("Fehler: Element 144 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(144)); + assertFalse("Fehler: Element 106 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(106)); + dieListe.einfuegenBei(41, 139); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 269, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 625, 56, 634, 19, 646, 434, 768, 653, 274, 596, 834, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 139, 521, 605, 841, 620, 829, 584, 967, 991, 50, 705, 670, 787, 686, 795, 733}); + + assertTrue("Fehler: Element 396 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(396)); + assertTrue("Fehler: Element 274 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(274)); + assertTrue("Fehler: Element 758 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(758)); + dieListe.einfuegenBei(18, 572); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 269, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 625, 56, 572, 634, 19, 646, 434, 768, 653, 274, 596, 834, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 139, 521, 605, 841, 620, 829, 584, 967, 991, 50, 705, 670, 787, 686, 795, 733}); + + assertTrue("Fehler: Element 758 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(758)); + dieListe.anhaengen(709); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 269, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 625, 56, 572, 634, 19, 646, 434, 768, 653, 274, 596, 834, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 139, 521, 605, 841, 620, 829, 584, 967, 991, 50, 705, 670, 787, 686, 795, 733, 709}); + + dieListe.anhaengen(932); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 269, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 625, 56, 572, 634, 19, 646, 434, 768, 653, 274, 596, 834, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 139, 521, 605, 841, 620, 829, 584, 967, 991, 50, 705, 670, 787, 686, 795, 733, 709, 932}); + + dieListe.einfuegenBei(16, 26); + Tester.pruefeListenInhalt(dieListe, new int[]{168, 570, 269, 744, 882, 275, 427, 793, 957, 802, 174, 529, 969, 21, 435, 209, 26, 625, 56, 572, 634, 19, 646, 434, 768, 653, 274, 596, 834, 125, 396, 32, 793, 514, 413, 652, 758, 758, 948, 85, 638, 842, 577, 139, 521, 605, 841, 620, 829, 584, 967, 991, 50, 705, 670, 787, 686, 795, 733, 709, 932}); + + assertFalse("Fehler: Element 911 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(911)); + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 482); + Tester.pruefeListenInhalt(dieListe, new int[]{482}); + + dieListe.einfuegenBei(0, 248); + Tester.pruefeListenInhalt(dieListe, new int[]{248, 482}); + + dieListe.einfuegenBei(1, 151); + Tester.pruefeListenInhalt(dieListe, new int[]{248, 151, 482}); + + assertTrue("Fehler: Element 482 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(482)); + dieListe.einfuegenBei(1, 526); + Tester.pruefeListenInhalt(dieListe, new int[]{248, 526, 151, 482}); + + dieListe.einfuegenBei(1, 669); + Tester.pruefeListenInhalt(dieListe, new int[]{248, 669, 526, 151, 482}); + + dieListe.einfuegenBei(0, 553); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 151, 482}); + + assertTrue("Fehler: Element 151 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(151)); + assertFalse("Fehler: Element 253 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(253)); + assertTrue("Fehler: Element 526 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(526)); + dieListe.einfuegenBei(4, 528); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 528, 151, 482}); + + dieListe.einfuegenBei(7, 694); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 528, 151, 482, 694}); + + dieListe.einfuegenBei(4, 651); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 651, 528, 151, 482, 694}); + + dieListe.einfuegenBei(5, 181); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 651, 181, 528, 151, 482, 694}); + + dieListe.anhaengen(825); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 651, 181, 528, 151, 482, 694, 825}); + + dieListe.einfuegenBei(11, 388); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 651, 181, 528, 151, 482, 694, 825, 388}); + + assertTrue("Fehler: Element 151 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(151)); + assertFalse("Fehler: Element 584 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(584)); + dieListe.einfuegenBei(9, 79); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 651, 181, 528, 151, 482, 79, 694, 825, 388}); + + assertFalse("Fehler: Element 41 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(41)); + dieListe.anhaengen(152); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 651, 181, 528, 151, 482, 79, 694, 825, 388, 152}); + + dieListe.einfuegenBei(11, 360); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 651, 181, 528, 151, 482, 79, 694, 360, 825, 388, 152}); + + dieListe.einfuegenBei(5, 350); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 651, 350, 181, 528, 151, 482, 79, 694, 360, 825, 388, 152}); + + dieListe.einfuegenBei(4, 975); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 975, 651, 350, 181, 528, 151, 482, 79, 694, 360, 825, 388, 152}); + + assertFalse("Fehler: Element 963 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(963)); + dieListe.anhaengen(625); + Tester.pruefeListenInhalt(dieListe, new int[]{553, 248, 669, 526, 975, 651, 350, 181, 528, 151, 482, 79, 694, 360, 825, 388, 152, 625}); + + assertTrue("Fehler: Element 350 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(350)); + dieListe.einfuegenBei(0, 38); + Tester.pruefeListenInhalt(dieListe, new int[]{38, 553, 248, 669, 526, 975, 651, 350, 181, 528, 151, 482, 79, 694, 360, 825, 388, 152, 625}); + + dieListe.anhaengen(548); + Tester.pruefeListenInhalt(dieListe, new int[]{38, 553, 248, 669, 526, 975, 651, 350, 181, 528, 151, 482, 79, 694, 360, 825, 388, 152, 625, 548}); + + dieListe.einfuegenBei(3, 24); + Tester.pruefeListenInhalt(dieListe, new int[]{38, 553, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 79, 694, 360, 825, 388, 152, 625, 548}); + + assertFalse("Fehler: Element 626 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(626)); + assertFalse("Fehler: Element 929 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(929)); + dieListe.einfuegenBei(16, 605); + Tester.pruefeListenInhalt(dieListe, new int[]{38, 553, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 79, 694, 360, 605, 825, 388, 152, 625, 548}); + + dieListe.einfuegenBei(13, 447); + Tester.pruefeListenInhalt(dieListe, new int[]{38, 553, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 605, 825, 388, 152, 625, 548}); + + dieListe.einfuegenBei(17, 75); + Tester.pruefeListenInhalt(dieListe, new int[]{38, 553, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 625, 548}); + + dieListe.anhaengen(868); + Tester.pruefeListenInhalt(dieListe, new int[]{38, 553, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 625, 548, 868}); + + dieListe.anhaengen(797); + Tester.pruefeListenInhalt(dieListe, new int[]{38, 553, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 625, 548, 868, 797}); + + dieListe.einfuegenBei(22, 155); + Tester.pruefeListenInhalt(dieListe, new int[]{38, 553, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 155, 625, 548, 868, 797}); + + dieListe.einfuegenBei(0, 50); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 38, 553, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 155, 625, 548, 868, 797}); + + dieListe.einfuegenBei(3, 92); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 155, 625, 548, 868, 797}); + + assertTrue("Fehler: Element 528 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(528)); + assertFalse("Fehler: Element 839 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(839)); + dieListe.anhaengen(128); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 155, 625, 548, 868, 797, 128}); + + dieListe.anhaengen(185); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 155, 625, 548, 868, 797, 128, 185}); + + assertTrue("Fehler: Element 975 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(975)); + dieListe.einfuegenBei(1, 247); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 155, 625, 548, 868, 797, 128, 185}); + + dieListe.anhaengen(118); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 155, 625, 548, 868, 797, 128, 185, 118}); + + dieListe.einfuegenBei(1, 612); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 155, 625, 548, 868, 797, 128, 185, 118}); + + dieListe.anhaengen(436); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 155, 625, 548, 868, 797, 128, 185, 118, 436}); + + dieListe.einfuegenBei(26, 402); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 185, 118, 436}); + + dieListe.anhaengen(437); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 185, 118, 436, 437}); + + dieListe.anhaengen(462); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 185, 118, 436, 437, 462}); + + assertTrue("Fehler: Element 388 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(388)); + assertFalse("Fehler: Element 772 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(772)); + dieListe.anhaengen(274); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 185, 118, 436, 437, 462, 274}); + + dieListe.anhaengen(722); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 185, 118, 436, 437, 462, 274, 722}); + + dieListe.anhaengen(875); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 185, 118, 436, 437, 462, 274, 722, 875}); + + assertFalse("Fehler: Element 757 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(757)); + assertFalse("Fehler: Element 326 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(326)); + dieListe.einfuegenBei(37, 66); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 185, 118, 436, 437, 66, 462, 274, 722, 875}); + + assertTrue("Fehler: Element 825 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(825)); + dieListe.einfuegenBei(37, 200); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875}); + + assertTrue("Fehler: Element 274 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(274)); + assertFalse("Fehler: Element 817 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(817)); + dieListe.anhaengen(903); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 903}); + + dieListe.einfuegenBei(33, 590); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 590, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 903}); + + assertTrue("Fehler: Element 436 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(436)); + assertFalse("Fehler: Element 208 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(208)); + dieListe.einfuegenBei(44, 36); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 590, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903}); + + assertTrue("Fehler: Element 360 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(360)); + assertTrue("Fehler: Element 360 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(360)); + dieListe.anhaengen(166); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 590, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166}); + + assertTrue("Fehler: Element 360 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(360)); + dieListe.einfuegenBei(6, 228); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 228, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 797, 128, 590, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166}); + + dieListe.einfuegenBei(32, 852); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 228, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166}); + + assertFalse("Fehler: Element 985 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(985)); + assertTrue("Fehler: Element 548 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(548)); + dieListe.anhaengen(340); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 228, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340}); + + dieListe.anhaengen(287); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 228, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287}); + + dieListe.einfuegenBei(36, 817); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 228, 248, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287}); + + dieListe.einfuegenBei(8, 715); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 228, 248, 715, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287}); + + dieListe.einfuegenBei(6, 275); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287}); + + dieListe.anhaengen(354); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354}); + + dieListe.einfuegenBei(11, 210); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354}); + + dieListe.einfuegenBei(25, 234); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354}); + + assertTrue("Fehler: Element 388 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(388)); + dieListe.einfuegenBei(57, 435); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354, 435}); + + dieListe.anhaengen(750); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354, 435, 750}); + + dieListe.einfuegenBei(13, 706); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 706, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354, 435, 750}); + + assertTrue("Fehler: Element 526 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(526)); + dieListe.einfuegenBei(42, 338); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 706, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 338, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354, 435, 750}); + + assertFalse("Fehler: Element 0 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(0)); + dieListe.anhaengen(900); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 706, 526, 975, 651, 350, 181, 528, 151, 482, 447, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 338, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354, 435, 750, 900}); + + assertTrue("Fehler: Element 903 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(903)); + assertFalse("Fehler: Element 190 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(190)); + dieListe.einfuegenBei(23, 730); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 706, 526, 975, 651, 350, 181, 528, 151, 482, 447, 730, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 338, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354, 435, 750, 900}); + + assertTrue("Fehler: Element 210 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(210)); + dieListe.anhaengen(637); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 706, 526, 975, 651, 350, 181, 528, 151, 482, 447, 730, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 338, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354, 435, 750, 900, 637}); + + dieListe.anhaengen(964); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 706, 526, 975, 651, 350, 181, 528, 151, 482, 447, 730, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 338, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354, 435, 750, 900, 637, 964}); + + dieListe.einfuegenBei(23, 697); + Tester.pruefeListenInhalt(dieListe, new int[]{50, 612, 247, 38, 553, 92, 275, 228, 248, 715, 24, 210, 669, 706, 526, 975, 651, 350, 181, 528, 151, 482, 447, 697, 730, 79, 694, 360, 234, 75, 605, 825, 388, 152, 402, 155, 625, 548, 868, 852, 797, 128, 590, 817, 338, 185, 118, 436, 437, 200, 66, 462, 274, 722, 875, 36, 903, 166, 340, 287, 354, 435, 750, 900, 637, 964}); + + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 126); + Tester.pruefeListenInhalt(dieListe, new int[]{126}); + + dieListe.anhaengen(503); + Tester.pruefeListenInhalt(dieListe, new int[]{126, 503}); + + assertTrue("Fehler: Element 503 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(503)); + dieListe.einfuegenBei(1, 997); + Tester.pruefeListenInhalt(dieListe, new int[]{126, 997, 503}); + + dieListe.einfuegenBei(0, 376); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 997, 503}); + + assertFalse("Fehler: Element 766 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(766)); + assertFalse("Fehler: Element 10 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(10)); + dieListe.anhaengen(687); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 997, 503, 687}); + + assertFalse("Fehler: Element 212 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(212)); + dieListe.einfuegenBei(3, 613); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 997, 613, 503, 687}); + + assertFalse("Fehler: Element 820 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(820)); + dieListe.anhaengen(118); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 997, 613, 503, 687, 118}); + + dieListe.anhaengen(869); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 997, 613, 503, 687, 118, 869}); + + dieListe.einfuegenBei(2, 281); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 281, 997, 613, 503, 687, 118, 869}); + + assertFalse("Fehler: Element 945 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(945)); + dieListe.anhaengen(388); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 281, 997, 613, 503, 687, 118, 869, 388}); + + dieListe.einfuegenBei(2, 323); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 323, 281, 997, 613, 503, 687, 118, 869, 388}); + + assertFalse("Fehler: Element 835 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(835)); + dieListe.einfuegenBei(2, 125); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 125, 323, 281, 997, 613, 503, 687, 118, 869, 388}); + + assertFalse("Fehler: Element 591 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(591)); + dieListe.anhaengen(296); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 126, 125, 323, 281, 997, 613, 503, 687, 118, 869, 388, 296}); + + assertTrue("Fehler: Element 281 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(281)); + dieListe.einfuegenBei(1, 590); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 590, 126, 125, 323, 281, 997, 613, 503, 687, 118, 869, 388, 296}); + + assertTrue("Fehler: Element 281 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(281)); + dieListe.anhaengen(490); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 590, 126, 125, 323, 281, 997, 613, 503, 687, 118, 869, 388, 296, 490}); + + dieListe.einfuegenBei(6, 941); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 590, 126, 125, 323, 281, 941, 997, 613, 503, 687, 118, 869, 388, 296, 490}); + + dieListe.einfuegenBei(7, 380); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 590, 126, 125, 323, 281, 941, 380, 997, 613, 503, 687, 118, 869, 388, 296, 490}); + + dieListe.einfuegenBei(14, 491); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 590, 126, 125, 323, 281, 941, 380, 997, 613, 503, 687, 118, 869, 491, 388, 296, 490}); + + dieListe.einfuegenBei(8, 416); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 590, 126, 125, 323, 281, 941, 380, 416, 997, 613, 503, 687, 118, 869, 491, 388, 296, 490}); + + dieListe.anhaengen(630); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 590, 126, 125, 323, 281, 941, 380, 416, 997, 613, 503, 687, 118, 869, 491, 388, 296, 490, 630}); + + dieListe.einfuegenBei(12, 368); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 590, 126, 125, 323, 281, 941, 380, 416, 997, 613, 503, 368, 687, 118, 869, 491, 388, 296, 490, 630}); + + dieListe.einfuegenBei(15, 341); + Tester.pruefeListenInhalt(dieListe, new int[]{376, 590, 126, 125, 323, 281, 941, 380, 416, 997, 613, 503, 368, 687, 118, 341, 869, 491, 388, 296, 490, 630}); + + assertTrue("Fehler: Element 416 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(416)); + dieListe.einfuegenBei(0, 628); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 416, 997, 613, 503, 368, 687, 118, 341, 869, 491, 388, 296, 490, 630}); + + dieListe.anhaengen(470); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 416, 997, 613, 503, 368, 687, 118, 341, 869, 491, 388, 296, 490, 630, 470}); + + dieListe.einfuegenBei(10, 966); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 416, 966, 997, 613, 503, 368, 687, 118, 341, 869, 491, 388, 296, 490, 630, 470}); + + dieListe.einfuegenBei(9, 778); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 416, 966, 997, 613, 503, 368, 687, 118, 341, 869, 491, 388, 296, 490, 630, 470}); + + assertFalse("Fehler: Element 781 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(781)); + assertTrue("Fehler: Element 388 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(388)); + assertFalse("Fehler: Element 95 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(95)); + dieListe.einfuegenBei(11, 81); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 416, 81, 966, 997, 613, 503, 368, 687, 118, 341, 869, 491, 388, 296, 490, 630, 470}); + + assertTrue("Fehler: Element 503 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(503)); + dieListe.einfuegenBei(10, 81); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 81, 416, 81, 966, 997, 613, 503, 368, 687, 118, 341, 869, 491, 388, 296, 490, 630, 470}); + + dieListe.anhaengen(137); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 81, 416, 81, 966, 997, 613, 503, 368, 687, 118, 341, 869, 491, 388, 296, 490, 630, 470, 137}); + + assertTrue("Fehler: Element 137 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(137)); + assertTrue("Fehler: Element 778 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(778)); + dieListe.einfuegenBei(25, 77); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 81, 416, 81, 966, 997, 613, 503, 368, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 137}); + + assertFalse("Fehler: Element 910 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(910)); + assertTrue("Fehler: Element 126 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(126)); + assertTrue("Fehler: Element 323 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(323)); + dieListe.einfuegenBei(18, 711); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 81, 416, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 137}); + + dieListe.anhaengen(307); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 81, 416, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 137, 307}); + + dieListe.einfuegenBei(30, 362); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 81, 416, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 362, 137, 307}); + + assertTrue("Fehler: Element 997 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(997)); + dieListe.anhaengen(914); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 81, 416, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 362, 137, 307, 914}); + + assertTrue("Fehler: Element 118 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(118)); + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 81, 416, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 362, 137, 307, 914, 189}); + + dieListe.einfuegenBei(10, 719); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 362, 137, 307, 914, 189}); + + assertTrue("Fehler: Element 997 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(997)); + dieListe.einfuegenBei(13, 63); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 362, 137, 307, 914, 189}); + + dieListe.einfuegenBei(35, 390); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 362, 137, 307, 390, 914, 189}); + + assertTrue("Fehler: Element 380 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(380)); + dieListe.anhaengen(851); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 362, 137, 307, 390, 914, 189, 851}); + + assertFalse("Fehler: Element 508 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(508)); + dieListe.anhaengen(100); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 362, 137, 307, 390, 914, 189, 851, 100}); + + assertTrue("Fehler: Element 941 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(941)); + assertTrue("Fehler: Element 491 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(491)); + dieListe.einfuegenBei(14, 274); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 490, 630, 470, 362, 137, 307, 390, 914, 189, 851, 100}); + + assertTrue("Fehler: Element 687 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(687)); + assertTrue("Fehler: Element 590 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(590)); + dieListe.einfuegenBei(30, 91); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 490, 630, 470, 362, 137, 307, 390, 914, 189, 851, 100}); + + assertTrue("Fehler: Element 189 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(189)); + assertTrue("Fehler: Element 719 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(719)); + dieListe.anhaengen(213); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 490, 630, 470, 362, 137, 307, 390, 914, 189, 851, 100, 213}); + + assertFalse("Fehler: Element 847 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(847)); + assertTrue("Fehler: Element 941 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(941)); + dieListe.anhaengen(401); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 490, 630, 470, 362, 137, 307, 390, 914, 189, 851, 100, 213, 401}); + + dieListe.anhaengen(870); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 490, 630, 470, 362, 137, 307, 390, 914, 189, 851, 100, 213, 401, 870}); + + dieListe.einfuegenBei(38, 201); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 490, 630, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870}); + + dieListe.anhaengen(651); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 490, 630, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651}); + + dieListe.anhaengen(508); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 490, 630, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508}); + + dieListe.anhaengen(372); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 490, 630, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372}); + + assertTrue("Fehler: Element 63 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(63)); + dieListe.anhaengen(805); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 490, 630, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805}); + + dieListe.einfuegenBei(31, 26); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805}); + + dieListe.anhaengen(170); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805, 170}); + + assertFalse("Fehler: Element 263 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(263)); + dieListe.anhaengen(490); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805, 170, 490}); + + dieListe.anhaengen(496); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805, 170, 490, 496}); + + dieListe.einfuegenBei(34, 331); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 331, 470, 362, 137, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805, 170, 490, 496}); + + dieListe.einfuegenBei(38, 318); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 331, 470, 362, 137, 318, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805, 170, 490, 496}); + + assertFalse("Fehler: Element 102 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(102)); + dieListe.anhaengen(212); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 331, 470, 362, 137, 318, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805, 170, 490, 496, 212}); + + dieListe.anhaengen(626); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 331, 470, 362, 137, 318, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805, 170, 490, 496, 212, 626}); + + assertFalse("Fehler: Element 927 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(927)); + dieListe.einfuegenBei(34, 666); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 666, 331, 470, 362, 137, 318, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805, 170, 490, 496, 212, 626}); + + assertFalse("Fehler: Element 367 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(367)); + dieListe.einfuegenBei(54, 123); + Tester.pruefeListenInhalt(dieListe, new int[]{628, 376, 590, 126, 125, 323, 281, 941, 380, 778, 719, 81, 416, 63, 274, 81, 966, 997, 613, 503, 368, 711, 687, 118, 341, 869, 491, 388, 296, 77, 91, 26, 490, 630, 666, 331, 470, 362, 137, 318, 307, 390, 201, 914, 189, 851, 100, 213, 401, 870, 651, 508, 372, 805, 123, 170, 490, 496, 212, 626}); + + assertTrue("Fehler: Element 613 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(613)); + assertTrue("Fehler: Element 274 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(274)); + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 766); + Tester.pruefeListenInhalt(dieListe, new int[]{766}); + + dieListe.einfuegenBei(1, 357); + Tester.pruefeListenInhalt(dieListe, new int[]{766, 357}); + + assertFalse("Fehler: Element 702 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(702)); + dieListe.einfuegenBei(1, 250); + Tester.pruefeListenInhalt(dieListe, new int[]{766, 250, 357}); + + dieListe.anhaengen(965); + Tester.pruefeListenInhalt(dieListe, new int[]{766, 250, 357, 965}); + + dieListe.anhaengen(151); + Tester.pruefeListenInhalt(dieListe, new int[]{766, 250, 357, 965, 151}); + + dieListe.einfuegenBei(0, 918); + Tester.pruefeListenInhalt(dieListe, new int[]{918, 766, 250, 357, 965, 151}); + + dieListe.anhaengen(175); + Tester.pruefeListenInhalt(dieListe, new int[]{918, 766, 250, 357, 965, 151, 175}); + + assertTrue("Fehler: Element 250 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(250)); + dieListe.anhaengen(545); + Tester.pruefeListenInhalt(dieListe, new int[]{918, 766, 250, 357, 965, 151, 175, 545}); + + assertTrue("Fehler: Element 151 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(151)); + dieListe.anhaengen(894); + Tester.pruefeListenInhalt(dieListe, new int[]{918, 766, 250, 357, 965, 151, 175, 545, 894}); + + dieListe.einfuegenBei(3, 20); + Tester.pruefeListenInhalt(dieListe, new int[]{918, 766, 250, 20, 357, 965, 151, 175, 545, 894}); + + dieListe.einfuegenBei(4, 365); + Tester.pruefeListenInhalt(dieListe, new int[]{918, 766, 250, 20, 365, 357, 965, 151, 175, 545, 894}); + + dieListe.einfuegenBei(4, 101); + Tester.pruefeListenInhalt(dieListe, new int[]{918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 894}); + + assertTrue("Fehler: Element 766 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(766)); + dieListe.einfuegenBei(0, 430); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 894}); + + dieListe.anhaengen(655); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 894, 655}); + + dieListe.anhaengen(105); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 894, 655, 105}); + + assertTrue("Fehler: Element 766 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(766)); + dieListe.einfuegenBei(12, 798); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 798, 894, 655, 105}); + + assertTrue("Fehler: Element 101 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(101)); + dieListe.einfuegenBei(12, 317); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 317, 798, 894, 655, 105}); + + dieListe.einfuegenBei(14, 16); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 317, 798, 16, 894, 655, 105}); + + assertTrue("Fehler: Element 175 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(175)); + assertFalse("Fehler: Element 752 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(752)); + dieListe.anhaengen(103); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103}); + + dieListe.anhaengen(99); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99}); + + dieListe.anhaengen(51); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51}); + + assertFalse("Fehler: Element 619 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(619)); + dieListe.anhaengen(806); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806}); + + dieListe.anhaengen(96); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96}); + + assertTrue("Fehler: Element 655 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(655)); + assertFalse("Fehler: Element 60 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(60)); + dieListe.anhaengen(52); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 365, 357, 965, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52}); + + dieListe.einfuegenBei(6, 436); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 436, 365, 357, 965, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52}); + + assertTrue("Fehler: Element 365 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(365)); + dieListe.einfuegenBei(10, 457); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52}); + + dieListe.anhaengen(991); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 991}); + + dieListe.anhaengen(570); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 991, 570}); + + dieListe.anhaengen(810); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 991, 570, 810}); + + dieListe.anhaengen(761); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 991, 570, 810, 761}); + + dieListe.anhaengen(618); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 991, 570, 810, 761, 618}); + + assertFalse("Fehler: Element 989 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(989)); + dieListe.einfuegenBei(26, 315); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618}); + + dieListe.einfuegenBei(3, 309); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618}); + + assertTrue("Fehler: Element 545 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(545)); + assertTrue("Fehler: Element 20 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(20)); + assertTrue("Fehler: Element 894 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(894)); + dieListe.anhaengen(597); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597}); + + assertFalse("Fehler: Element 328 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(328)); + assertTrue("Fehler: Element 52 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(52)); + assertFalse("Fehler: Element 294 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(294)); + dieListe.anhaengen(283); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283}); + + dieListe.anhaengen(809); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809}); + + assertTrue("Fehler: Element 283 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(283)); + dieListe.anhaengen(487); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 101, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487}); + + dieListe.einfuegenBei(7, 951); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 101, 951, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487}); + + assertTrue("Fehler: Element 545 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(545)); + assertFalse("Fehler: Element 816 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(816)); + dieListe.anhaengen(78); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 101, 951, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487, 78}); + + dieListe.einfuegenBei(6, 10); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 10, 101, 951, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487, 78}); + + dieListe.anhaengen(47); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 10, 101, 951, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487, 78, 47}); + + dieListe.anhaengen(62); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 10, 101, 951, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487, 78, 47, 62}); + + assertTrue("Fehler: Element 357 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(357)); + assertTrue("Fehler: Element 78 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(78)); + dieListe.anhaengen(508); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 10, 101, 951, 436, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487, 78, 47, 62, 508}); + + dieListe.einfuegenBei(10, 913); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487, 78, 47, 62, 508}); + + dieListe.einfuegenBei(5, 415); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487, 78, 47, 62, 508}); + + dieListe.anhaengen(199); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 761, 618, 597, 283, 809, 487, 78, 47, 62, 508, 199}); + + dieListe.einfuegenBei(35, 505); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 505, 761, 618, 597, 283, 809, 487, 78, 47, 62, 508, 199}); + + dieListe.anhaengen(98); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 96, 52, 315, 991, 570, 810, 505, 761, 618, 597, 283, 809, 487, 78, 47, 62, 508, 199, 98}); + + assertFalse("Fehler: Element 212 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(212)); + assertTrue("Fehler: Element 52 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(52)); + dieListe.einfuegenBei(29, 759); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 597, 283, 809, 487, 78, 47, 62, 508, 199, 98}); + + dieListe.einfuegenBei(48, 366); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 597, 283, 809, 487, 78, 47, 62, 508, 199, 366, 98}); + + dieListe.einfuegenBei(44, 105); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98}); + + dieListe.einfuegenBei(39, 63); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98}); + + assertTrue("Fehler: Element 798 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(798)); + dieListe.anhaengen(391); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98, 391}); + + assertFalse("Fehler: Element 204 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(204)); + assertFalse("Fehler: Element 738 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(738)); + assertTrue("Fehler: Element 913 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(913)); + dieListe.einfuegenBei(17, 613); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 613, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98, 391}); + + dieListe.anhaengen(450); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 613, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98, 391, 450}); + + assertFalse("Fehler: Element 115 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(115)); + assertTrue("Fehler: Element 759 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(759)); + assertTrue("Fehler: Element 457 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(457)); + dieListe.anhaengen(39); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 613, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98, 391, 450, 39}); + + assertFalse("Fehler: Element 507 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(507)); + assertTrue("Fehler: Element 51 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(51)); + dieListe.anhaengen(305); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 613, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98, 391, 450, 39, 305}); + + dieListe.anhaengen(650); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 613, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98, 391, 450, 39, 305, 650}); + + assertFalse("Fehler: Element 602 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(602)); + assertTrue("Fehler: Element 415 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(415)); + assertFalse("Fehler: Element 145 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(145)); + dieListe.anhaengen(191); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 613, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98, 391, 450, 39, 305, 650, 191}); + + dieListe.anhaengen(761); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 613, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98, 391, 450, 39, 305, 650, 191, 761}); + + assertTrue("Fehler: Element 761 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(761)); + dieListe.anhaengen(45); + Tester.pruefeListenInhalt(dieListe, new int[]{430, 918, 766, 309, 250, 415, 20, 10, 101, 951, 436, 913, 365, 357, 965, 457, 151, 613, 175, 545, 317, 798, 16, 894, 655, 105, 103, 99, 51, 806, 759, 96, 52, 315, 991, 570, 810, 505, 761, 618, 63, 597, 283, 809, 487, 78, 105, 47, 62, 508, 199, 366, 98, 391, 450, 39, 305, 650, 191, 761, 45}); + + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 901); + Tester.pruefeListenInhalt(dieListe, new int[]{901}); + + dieListe.anhaengen(308); + Tester.pruefeListenInhalt(dieListe, new int[]{901, 308}); + + dieListe.einfuegenBei(1, 511); + Tester.pruefeListenInhalt(dieListe, new int[]{901, 511, 308}); + + assertFalse("Fehler: Element 954 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(954)); + dieListe.einfuegenBei(0, 633); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 901, 511, 308}); + + dieListe.einfuegenBei(2, 758); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 901, 758, 511, 308}); + + dieListe.einfuegenBei(1, 787); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 901, 758, 511, 308}); + + assertFalse("Fehler: Element 835 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(835)); + assertFalse("Fehler: Element 853 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(853)); + dieListe.anhaengen(302); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 901, 758, 511, 308, 302}); + + dieListe.einfuegenBei(2, 137); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 758, 511, 308, 302}); + + assertTrue("Fehler: Element 137 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(137)); + dieListe.anhaengen(688); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 758, 511, 308, 302, 688}); + + dieListe.anhaengen(946); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 758, 511, 308, 302, 688, 946}); + + dieListe.anhaengen(222); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 758, 511, 308, 302, 688, 946, 222}); + + dieListe.einfuegenBei(4, 688); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222}); + + assertFalse("Fehler: Element 529 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(529)); + assertTrue("Fehler: Element 511 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(511)); + dieListe.anhaengen(168); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168}); + + dieListe.anhaengen(341); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168, 341}); + + dieListe.anhaengen(188); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188}); + + dieListe.anhaengen(334); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334}); + + dieListe.anhaengen(857); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334, 857}); + + assertFalse("Fehler: Element 970 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(970)); + dieListe.anhaengen(288); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334, 857, 288}); + + dieListe.einfuegenBei(0, 42); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334, 857, 288}); + + assertFalse("Fehler: Element 737 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(737)); + dieListe.einfuegenBei(19, 220); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334, 857, 288, 220}); + + dieListe.einfuegenBei(1, 853); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334, 857, 288, 220}); + + dieListe.anhaengen(814); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334, 857, 288, 220, 814}); + + dieListe.einfuegenBei(7, 305); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334, 857, 288, 220, 814}); + + dieListe.anhaengen(767); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334, 857, 288, 220, 814, 767}); + + dieListe.einfuegenBei(9, 229); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 688, 946, 222, 168, 341, 188, 334, 857, 288, 220, 814, 767}); + + dieListe.einfuegenBei(19, 35); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 688, 946, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767}); + + dieListe.anhaengen(512); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 688, 946, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512}); + + dieListe.anhaengen(676); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 688, 946, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676}); + + assertFalse("Fehler: Element 916 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(916)); + dieListe.anhaengen(466); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 688, 946, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466}); + + dieListe.einfuegenBei(13, 101); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466}); + + assertTrue("Fehler: Element 302 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(302)); + dieListe.einfuegenBei(16, 381); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466}); + + dieListe.einfuegenBei(31, 434); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466, 434}); + + dieListe.anhaengen(496); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466, 434, 496}); + + dieListe.anhaengen(846); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846}); + + dieListe.anhaengen(66); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 66}); + + assertTrue("Fehler: Element 857 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(857)); + assertTrue("Fehler: Element 633 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(633)); + dieListe.einfuegenBei(34, 945); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66}); + + dieListe.anhaengen(156); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156}); + + dieListe.anhaengen(536); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536}); + + dieListe.anhaengen(852); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852}); + + dieListe.einfuegenBei(24, 65); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852}); + + assertFalse("Fehler: Element 922 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(922)); + dieListe.einfuegenBei(3, 39); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 39, 787, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852}); + + dieListe.einfuegenBei(5, 853); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 39, 787, 853, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 188, 35, 334, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852}); + + assertTrue("Fehler: Element 220 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(220)); + dieListe.einfuegenBei(22, 657); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 39, 787, 853, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 657, 188, 35, 334, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852}); + + assertTrue("Fehler: Element 302 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(302)); + dieListe.anhaengen(821); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 39, 787, 853, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 657, 188, 35, 334, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821}); + + dieListe.einfuegenBei(22, 446); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 39, 787, 853, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 446, 657, 188, 35, 334, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821}); + + assertFalse("Fehler: Element 463 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(463)); + assertFalse("Fehler: Element 807 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(807)); + dieListe.einfuegenBei(27, 630); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 39, 787, 853, 137, 901, 688, 305, 758, 229, 511, 308, 302, 101, 688, 946, 381, 222, 168, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821}); + + dieListe.einfuegenBei(13, 557); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 39, 787, 853, 137, 901, 688, 305, 758, 229, 511, 557, 308, 302, 101, 688, 946, 381, 222, 168, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821}); + + dieListe.einfuegenBei(22, 740); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 853, 633, 39, 787, 853, 137, 901, 688, 305, 758, 229, 511, 557, 308, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821}); + + dieListe.einfuegenBei(1, 926); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 853, 137, 901, 688, 305, 758, 229, 511, 557, 308, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821}); + + dieListe.einfuegenBei(6, 524); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 511, 557, 308, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821}); + + dieListe.einfuegenBei(14, 943); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 308, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821}); + + dieListe.anhaengen(459); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 308, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459}); + + dieListe.anhaengen(799); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 308, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 799}); + + dieListe.einfuegenBei(17, 315); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 315, 308, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 799}); + + dieListe.anhaengen(469); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 315, 308, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 799, 469}); + + assertTrue("Fehler: Element 853 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(853)); + assertFalse("Fehler: Element 728 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(728)); + dieListe.einfuegenBei(19, 36); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 799, 469}); + + dieListe.einfuegenBei(17, 37); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 799, 469}); + + dieListe.einfuegenBei(55, 474); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 474, 799, 469}); + + assertFalse("Fehler: Element 947 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(947)); + assertTrue("Fehler: Element 688 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(688)); + dieListe.anhaengen(999); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 474, 799, 469, 999}); + + dieListe.einfuegenBei(29, 549); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 474, 799, 469, 999}); + + dieListe.einfuegenBei(60, 556); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 474, 799, 469, 999, 556}); + + assertTrue("Fehler: Element 536 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(536)); + dieListe.anhaengen(77); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 474, 799, 469, 999, 556, 77}); + + dieListe.einfuegenBei(7, 760); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 760, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 474, 799, 469, 999, 556, 77}); + + dieListe.anhaengen(470); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 760, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 474, 799, 469, 999, 556, 77, 470}); + + dieListe.anhaengen(97); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 760, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 156, 536, 852, 821, 459, 474, 799, 469, 999, 556, 77, 470, 97}); + + dieListe.einfuegenBei(52, 387); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 760, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 387, 156, 536, 852, 821, 459, 474, 799, 469, 999, 556, 77, 470, 97}); + + dieListe.anhaengen(102); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 760, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 387, 156, 536, 852, 821, 459, 474, 799, 469, 999, 556, 77, 470, 97, 102}); + + assertFalse("Fehler: Element 958 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(958)); + dieListe.einfuegenBei(55, 532); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 760, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 387, 156, 536, 532, 852, 821, 459, 474, 799, 469, 999, 556, 77, 470, 97, 102}); + + dieListe.einfuegenBei(37, 76); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 760, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 76, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 387, 156, 536, 532, 852, 821, 459, 474, 799, 469, 999, 556, 77, 470, 97, 102}); + + dieListe.anhaengen(289); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 760, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 76, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 387, 156, 536, 532, 852, 821, 459, 474, 799, 469, 999, 556, 77, 470, 97, 102, 289}); + + assertTrue("Fehler: Element 37 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(37)); + assertTrue("Fehler: Element 229 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(229)); + dieListe.anhaengen(395); + Tester.pruefeListenInhalt(dieListe, new int[]{42, 926, 853, 633, 39, 787, 524, 760, 853, 137, 901, 688, 305, 758, 229, 943, 511, 557, 37, 315, 308, 36, 302, 101, 688, 946, 381, 222, 168, 740, 549, 341, 446, 657, 188, 35, 334, 76, 630, 857, 65, 288, 220, 814, 767, 512, 676, 466, 434, 496, 846, 945, 66, 387, 156, 536, 532, 852, 821, 459, 474, 799, 469, 999, 556, 77, 470, 97, 102, 289, 395}); + + assertFalse("Fehler: Element 586 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(586)); + assertFalse("Fehler: Element 68 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(68)); + assertFalse("Fehler: Element 310 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(310)); + assertTrue("Fehler: Element 799 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(799)); + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest6.java b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest6.java new file mode 100644 index 0000000..7ce4637 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest6.java @@ -0,0 +1,2762 @@ +package tests; + +import static org.junit.Assert.*; + +import liste.*; + +/** + * Die Test-Klasse SubTest6. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest6 { + + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(651); + Tester.pruefeListenInhalt(dieListe, new int[]{651}); + + dieListe.einfuegenBei(1, 576); + Tester.pruefeListenInhalt(dieListe, new int[]{651, 576}); + + assertTrue("Fehler: Element 576 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(576)); + assertTrue("Fehler: Element 651 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(651)); + dieListe.anhaengen(763); + Tester.pruefeListenInhalt(dieListe, new int[]{651, 576, 763}); + + assertFalse("Fehler: Element 586 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(586)); + dieListe.anhaengen(920); + Tester.pruefeListenInhalt(dieListe, new int[]{651, 576, 763, 920}); + + dieListe.einfuegenBei(0, 418); + Tester.pruefeListenInhalt(dieListe, new int[]{418, 651, 576, 763, 920}); + + dieListe.anhaengen(781); + Tester.pruefeListenInhalt(dieListe, new int[]{418, 651, 576, 763, 920, 781}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{418, 576, 763, 920, 781}); + + dieListe.anhaengen(304); + Tester.pruefeListenInhalt(dieListe, new int[]{418, 576, 763, 920, 781, 304}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{418, 763, 920, 781, 304}); + + assertTrue("Fehler: Element 304 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(304)); + assertFalse("Fehler: Element 468 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(468)); + assertTrue("Fehler: Element 781 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(781)); + dieListe.einfuegenBei(0, 223); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 418, 763, 920, 781, 304}); + + assertFalse("Fehler: Element 24 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(24)); + dieListe.anhaengen(939); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 418, 763, 920, 781, 304, 939}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 418, 763, 920, 781, 939}); + + dieListe.einfuegenBei(4, 685); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 418, 763, 920, 685, 781, 939}); + + dieListe.anhaengen(475); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 418, 763, 920, 685, 781, 939, 475}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 418, 763, 920, 685, 781, 939}); + + assertTrue("Fehler: Element 418 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(418)); + dieListe.einfuegenBei(7, 598); + Tester.pruefeListenInhalt(dieListe, new int[]{223, 418, 763, 920, 685, 781, 939, 598}); + + assertFalse("Fehler: Element 843 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(843)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{418, 763, 920, 685, 781, 939, 598}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{418, 763, 685, 781, 939, 598}); + + dieListe.anhaengen(402); + Tester.pruefeListenInhalt(dieListe, new int[]{418, 763, 685, 781, 939, 598, 402}); + + dieListe.einfuegenBei(1, 36); + Tester.pruefeListenInhalt(dieListe, new int[]{418, 36, 763, 685, 781, 939, 598, 402}); + + dieListe.einfuegenBei(0, 13); + Tester.pruefeListenInhalt(dieListe, new int[]{13, 418, 36, 763, 685, 781, 939, 598, 402}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(862); + Tester.pruefeListenInhalt(dieListe, new int[]{862}); + + dieListe.einfuegenBei(0, 814); + Tester.pruefeListenInhalt(dieListe, new int[]{814, 862}); + + assertTrue("Fehler: Element 862 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(862)); + dieListe.einfuegenBei(0, 615); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 814, 862}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 862}); + + dieListe.einfuegenBei(2, 963); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 862, 963}); + + dieListe.anhaengen(419); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 862, 963, 419}); + + assertTrue("Fehler: Element 862 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(862)); + dieListe.einfuegenBei(4, 371); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 862, 963, 419, 371}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 963, 419, 371}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 963, 371}); + + assertFalse("Fehler: Element 609 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(609)); + dieListe.anhaengen(641); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 963, 371, 641}); + + assertTrue("Fehler: Element 615 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(615)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 963, 371}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 371}); + + assertTrue("Fehler: Element 615 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(615)); + dieListe.anhaengen(952); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 371, 952}); + + assertFalse("Fehler: Element 187 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(187)); + assertTrue("Fehler: Element 952 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(952)); + dieListe.anhaengen(133); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 371, 952, 133}); + + assertTrue("Fehler: Element 371 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(371)); + dieListe.anhaengen(958); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 371, 952, 133, 958}); + + dieListe.anhaengen(20); + Tester.pruefeListenInhalt(dieListe, new int[]{615, 371, 952, 133, 958, 20}); + + assertFalse("Fehler: Element 422 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(422)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{371, 952, 133, 958, 20}); + + assertTrue("Fehler: Element 958 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(958)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(772); + Tester.pruefeListenInhalt(dieListe, new int[]{772}); + + assertFalse("Fehler: Element 224 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(224)); + dieListe.anhaengen(968); + Tester.pruefeListenInhalt(dieListe, new int[]{772, 968}); + + dieListe.einfuegenBei(1, 105); + Tester.pruefeListenInhalt(dieListe, new int[]{772, 105, 968}); + + dieListe.einfuegenBei(0, 503); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 772, 105, 968}); + + assertTrue("Fehler: Element 968 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(968)); + assertFalse("Fehler: Element 803 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(803)); + assertTrue("Fehler: Element 968 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(968)); + dieListe.anhaengen(74); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 772, 105, 968, 74}); + + dieListe.einfuegenBei(3, 682); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 772, 105, 682, 968, 74}); + + assertTrue("Fehler: Element 772 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(772)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 682, 968, 74}); + + assertTrue("Fehler: Element 105 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(105)); + dieListe.einfuegenBei(2, 614); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 614, 682, 968, 74}); + + dieListe.einfuegenBei(0, 525); + Tester.pruefeListenInhalt(dieListe, new int[]{525, 503, 105, 614, 682, 968, 74}); + + assertTrue("Fehler: Element 503 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(503)); + assertTrue("Fehler: Element 968 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(968)); + dieListe.anhaengen(878); + Tester.pruefeListenInhalt(dieListe, new int[]{525, 503, 105, 614, 682, 968, 74, 878}); + + dieListe.einfuegenBei(8, 185); + Tester.pruefeListenInhalt(dieListe, new int[]{525, 503, 105, 614, 682, 968, 74, 878, 185}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{525, 503, 105, 682, 968, 74, 878, 185}); + + assertTrue("Fehler: Element 878 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(878)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 682, 968, 74, 878, 185}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 682, 968, 74, 185}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 74, 185}); + + assertFalse("Fehler: Element 313 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(313)); + assertTrue("Fehler: Element 968 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(968)); + dieListe.anhaengen(97); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 74, 185, 97}); + + dieListe.einfuegenBei(3, 177); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 74, 185, 97}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 74, 97}); + + dieListe.anhaengen(816); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 74, 97, 816}); + + assertTrue("Fehler: Element 105 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(105)); + dieListe.einfuegenBei(5, 180); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 74, 180, 97, 816}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 74, 180, 816}); + + assertFalse("Fehler: Element 475 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(475)); + dieListe.einfuegenBei(4, 40); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 40, 74, 180, 816}); + + assertFalse("Fehler: Element 849 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(849)); + dieListe.anhaengen(910); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 40, 74, 180, 816, 910}); + + dieListe.anhaengen(679); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 40, 74, 180, 816, 910, 679}); + + assertFalse("Fehler: Element 295 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(295)); + dieListe.einfuegenBei(4, 739); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 739, 40, 74, 180, 816, 910, 679}); + + dieListe.anhaengen(773); + Tester.pruefeListenInhalt(dieListe, new int[]{503, 105, 968, 177, 739, 40, 74, 180, 816, 910, 679, 773}); + + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 810); + Tester.pruefeListenInhalt(dieListe, new int[]{810}); + + dieListe.einfuegenBei(0, 594); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 810}); + + dieListe.anhaengen(914); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 810, 914}); + + assertTrue("Fehler: Element 810 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(810)); + assertFalse("Fehler: Element 84 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(84)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914}); + + dieListe.einfuegenBei(2, 791); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 791}); + + dieListe.anhaengen(92); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 791, 92}); + + dieListe.anhaengen(154); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 791, 92, 154}); + + dieListe.anhaengen(79); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 791, 92, 154, 79}); + + dieListe.anhaengen(266); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 791, 92, 154, 79, 266}); + + dieListe.anhaengen(535); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 791, 92, 154, 79, 266, 535}); + + dieListe.einfuegenBei(6, 522); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 791, 92, 154, 79, 522, 266, 535}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 791, 92, 154, 79, 266, 535}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 92, 154, 79, 266, 535}); + + dieListe.anhaengen(496); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 92, 154, 79, 266, 535, 496}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 92, 154, 79, 266, 496}); + + dieListe.anhaengen(192); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 92, 154, 79, 266, 496, 192}); + + dieListe.anhaengen(723); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 92, 154, 79, 266, 496, 192, 723}); + + dieListe.anhaengen(299); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 92, 154, 79, 266, 496, 192, 723, 299}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 154, 79, 266, 496, 192, 723, 299}); + + assertTrue("Fehler: Element 299 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(299)); + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 154, 79, 266, 496, 192, 299}); + + assertFalse("Fehler: Element 407 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(407)); + dieListe.einfuegenBei(5, 143); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 154, 79, 266, 143, 496, 192, 299}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 154, 79, 266, 143, 496, 192}); + + dieListe.einfuegenBei(4, 126); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 154, 79, 126, 266, 143, 496, 192}); + + dieListe.einfuegenBei(7, 374); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 154, 79, 126, 266, 143, 374, 496, 192}); + + dieListe.einfuegenBei(2, 47); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 47, 154, 79, 126, 266, 143, 374, 496, 192}); + + dieListe.einfuegenBei(8, 686); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 47, 154, 79, 126, 266, 143, 686, 374, 496, 192}); + + dieListe.einfuegenBei(3, 607); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 47, 607, 154, 79, 126, 266, 143, 686, 374, 496, 192}); + + dieListe.einfuegenBei(3, 599); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 47, 599, 607, 154, 79, 126, 266, 143, 686, 374, 496, 192}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 607, 154, 79, 126, 266, 143, 686, 374, 496, 192}); + + assertTrue("Fehler: Element 686 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(686)); + dieListe.einfuegenBei(3, 216); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 79, 126, 266, 143, 686, 374, 496, 192}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 266, 143, 686, 374, 496, 192}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 266, 143, 374, 496, 192}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 143, 374, 496, 192}); + + dieListe.einfuegenBei(10, 865); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 143, 374, 496, 865, 192}); + + assertTrue("Fehler: Element 607 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(607)); + assertTrue("Fehler: Element 914 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(914)); + dieListe.einfuegenBei(8, 444); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 143, 444, 374, 496, 865, 192}); + + dieListe.anhaengen(137); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 143, 444, 374, 496, 865, 192, 137}); + + dieListe.anhaengen(349); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 143, 444, 374, 496, 865, 192, 137, 349}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 143, 444, 374, 496, 865, 137, 349}); + + assertTrue("Fehler: Element 914 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(914)); + assertFalse("Fehler: Element 156 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(156)); + assertTrue("Fehler: Element 349 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(349)); + dieListe.anhaengen(318); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 143, 444, 374, 496, 865, 137, 349, 318}); + + dieListe.anhaengen(700); + Tester.pruefeListenInhalt(dieListe, new int[]{810, 914, 599, 216, 607, 154, 126, 143, 444, 374, 496, 865, 137, 349, 318, 700}); + + assertTrue("Fehler: Element 444 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(444)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 154, 126, 143, 444, 374, 496, 865, 137, 349, 318, 700}); + + assertTrue("Fehler: Element 216 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(216)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 154, 126, 143, 444, 496, 865, 137, 349, 318, 700}); + + assertFalse("Fehler: Element 597 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(597)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 126, 143, 444, 496, 865, 137, 349, 318, 700}); + + dieListe.einfuegenBei(10, 414); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 126, 143, 444, 496, 865, 137, 414, 349, 318, 700}); + + assertFalse("Fehler: Element 188 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(188)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 143, 444, 496, 865, 137, 414, 349, 318, 700}); + + assertFalse("Fehler: Element 175 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(175)); + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 143, 444, 496, 865, 137, 414, 349, 700}); + + dieListe.einfuegenBei(9, 515); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 143, 444, 496, 865, 137, 515, 414, 349, 700}); + + dieListe.einfuegenBei(7, 768); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 143, 444, 496, 768, 865, 137, 515, 414, 349, 700}); + + dieListe.einfuegenBei(7, 82); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 143, 444, 496, 82, 768, 865, 137, 515, 414, 349, 700}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 143, 444, 496, 82, 768, 865, 515, 414, 349, 700}); + + dieListe.einfuegenBei(4, 443); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 443, 143, 444, 496, 82, 768, 865, 515, 414, 349, 700}); + + dieListe.einfuegenBei(8, 713); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 414, 349, 700}); + + dieListe.einfuegenBei(3, 311); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 311, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 414, 349, 700}); + + assertFalse("Fehler: Element 553 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(553)); + dieListe.anhaengen(503); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 311, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 414, 349, 700, 503}); + + dieListe.anhaengen(665); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 311, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 414, 349, 700, 503, 665}); + + dieListe.einfuegenBei(14, 923); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 311, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 923, 414, 349, 700, 503, 665}); + + assertFalse("Fehler: Element 274 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(274)); + assertTrue("Fehler: Element 713 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(713)); + assertFalse("Fehler: Element 138 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(138)); + dieListe.anhaengen(518); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 311, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 923, 414, 349, 700, 503, 665, 518}); + + dieListe.entferneBei(17); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 311, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 923, 414, 349, 503, 665, 518}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 923, 414, 349, 503, 665, 518}); + + dieListe.anhaengen(758); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 923, 414, 349, 503, 665, 518, 758}); + + dieListe.entferneBei(14); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 923, 349, 503, 665, 518, 758}); + + assertFalse("Fehler: Element 662 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(662)); + dieListe.anhaengen(578); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 923, 349, 503, 665, 518, 758, 578}); + + dieListe.einfuegenBei(18, 349); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 443, 143, 444, 496, 713, 82, 768, 865, 515, 923, 349, 503, 665, 518, 349, 758, 578}); + + dieListe.einfuegenBei(11, 961); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 443, 143, 444, 496, 713, 82, 768, 961, 865, 515, 923, 349, 503, 665, 518, 349, 758, 578}); + + dieListe.anhaengen(166); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 443, 143, 444, 496, 713, 82, 768, 961, 865, 515, 923, 349, 503, 665, 518, 349, 758, 578, 166}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 143, 444, 496, 713, 82, 768, 961, 865, 515, 923, 349, 503, 665, 518, 349, 758, 578, 166}); + + assertFalse("Fehler: Element 776 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(776)); + dieListe.einfuegenBei(8, 665); + Tester.pruefeListenInhalt(dieListe, new int[]{914, 599, 216, 607, 143, 444, 496, 713, 665, 82, 768, 961, 865, 515, 923, 349, 503, 665, 518, 349, 758, 578, 166}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 749); + Tester.pruefeListenInhalt(dieListe, new int[]{749}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 588); + Tester.pruefeListenInhalt(dieListe, new int[]{588}); + + assertFalse("Fehler: Element 942 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(942)); + assertTrue("Fehler: Element 588 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(588)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(264); + Tester.pruefeListenInhalt(dieListe, new int[]{264}); + + dieListe.einfuegenBei(1, 842); + Tester.pruefeListenInhalt(dieListe, new int[]{264, 842}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(709); + Tester.pruefeListenInhalt(dieListe, new int[]{709}); + + assertTrue("Fehler: Element 709 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(709)); + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 962); + Tester.pruefeListenInhalt(dieListe, new int[]{962}); + + dieListe.einfuegenBei(0, 257); + Tester.pruefeListenInhalt(dieListe, new int[]{257, 962}); + + dieListe.einfuegenBei(0, 662); + Tester.pruefeListenInhalt(dieListe, new int[]{662, 257, 962}); + + dieListe.einfuegenBei(2, 798); + Tester.pruefeListenInhalt(dieListe, new int[]{662, 257, 798, 962}); + + assertFalse("Fehler: Element 327 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(327)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{662, 257, 798}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 70); + Tester.pruefeListenInhalt(dieListe, new int[]{70}); + + assertTrue("Fehler: Element 70 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(70)); + assertTrue("Fehler: Element 70 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(70)); + assertFalse("Fehler: Element 181 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(181)); + assertFalse("Fehler: Element 741 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(741)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(890); + Tester.pruefeListenInhalt(dieListe, new int[]{890}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(465); + Tester.pruefeListenInhalt(dieListe, new int[]{465}); + + dieListe.anhaengen(118); + Tester.pruefeListenInhalt(dieListe, new int[]{465, 118}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{118}); + + dieListe.einfuegenBei(1, 665); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 665}); + + assertTrue("Fehler: Element 665 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(665)); + dieListe.einfuegenBei(2, 90); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 665, 90}); + + dieListe.anhaengen(998); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 665, 90, 998}); + + dieListe.anhaengen(60); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 665, 90, 998, 60}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 665, 998, 60}); + + dieListe.anhaengen(365); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 665, 998, 60, 365}); + + dieListe.einfuegenBei(1, 45); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 45, 665, 998, 60, 365}); + + dieListe.anhaengen(275); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 45, 665, 998, 60, 365, 275}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 665, 998, 60, 365, 275}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(69); + Tester.pruefeListenInhalt(dieListe, new int[]{69}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(612); + Tester.pruefeListenInhalt(dieListe, new int[]{612}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(417); + Tester.pruefeListenInhalt(dieListe, new int[]{417}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(595); + Tester.pruefeListenInhalt(dieListe, new int[]{595}); + + dieListe.einfuegenBei(0, 939); + Tester.pruefeListenInhalt(dieListe, new int[]{939, 595}); + + assertTrue("Fehler: Element 939 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(939)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 141); + Tester.pruefeListenInhalt(dieListe, new int[]{141}); + + dieListe.anhaengen(570); + Tester.pruefeListenInhalt(dieListe, new int[]{141, 570}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{570}); + + assertFalse("Fehler: Element 263 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(263)); + assertFalse("Fehler: Element 448 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(448)); + assertFalse("Fehler: Element 95 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(95)); + dieListe.einfuegenBei(1, 684); + Tester.pruefeListenInhalt(dieListe, new int[]{570, 684}); + + dieListe.anhaengen(264); + Tester.pruefeListenInhalt(dieListe, new int[]{570, 684, 264}); + + dieListe.einfuegenBei(1, 478); + Tester.pruefeListenInhalt(dieListe, new int[]{570, 478, 684, 264}); + + dieListe.einfuegenBei(1, 300); + Tester.pruefeListenInhalt(dieListe, new int[]{570, 300, 478, 684, 264}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{300, 478, 684, 264}); + + assertTrue("Fehler: Element 300 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(300)); + assertTrue("Fehler: Element 684 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(684)); + assertTrue("Fehler: Element 478 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(478)); + dieListe.anhaengen(308); + Tester.pruefeListenInhalt(dieListe, new int[]{300, 478, 684, 264, 308}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 264, 308}); + + assertTrue("Fehler: Element 684 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(684)); + dieListe.einfuegenBei(4, 743); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 264, 308, 743}); + + assertFalse("Fehler: Element 825 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(825)); + dieListe.einfuegenBei(2, 721); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 721, 264, 308, 743}); + + dieListe.einfuegenBei(2, 688); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 721, 264, 308, 743}); + + dieListe.einfuegenBei(4, 214); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 721, 214, 264, 308, 743}); + + dieListe.einfuegenBei(3, 144); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 214, 264, 308, 743}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 743}); + + dieListe.einfuegenBei(7, 845); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 845, 743}); + + dieListe.anhaengen(371); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 845, 743, 371}); + + dieListe.anhaengen(606); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 845, 743, 371, 606}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 845, 371, 606}); + + assertFalse("Fehler: Element 196 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(196)); + assertTrue("Fehler: Element 845 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(845)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 845, 606}); + + assertTrue("Fehler: Element 721 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(721)); + dieListe.anhaengen(817); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 845, 606, 817}); + + dieListe.einfuegenBei(7, 575); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 575, 845, 606, 817}); + + assertFalse("Fehler: Element 364 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(364)); + assertTrue("Fehler: Element 845 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(845)); + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 575, 845, 606}); + + dieListe.einfuegenBei(9, 704); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 575, 845, 704, 606}); + + dieListe.einfuegenBei(9, 587); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 684, 688, 144, 721, 264, 308, 575, 845, 587, 704, 606}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 688, 144, 721, 264, 308, 575, 845, 587, 704, 606}); + + assertFalse("Fehler: Element 910 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(910)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 688, 144, 264, 308, 575, 845, 587, 704, 606}); + + dieListe.einfuegenBei(10, 871); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 688, 144, 264, 308, 575, 845, 587, 704, 606, 871}); + + assertTrue("Fehler: Element 704 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(704)); + dieListe.einfuegenBei(1, 600); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 600, 688, 144, 264, 308, 575, 845, 587, 704, 606, 871}); + + dieListe.einfuegenBei(1, 910); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 600, 688, 144, 264, 308, 575, 845, 587, 704, 606, 871}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 600, 688, 144, 264, 308, 575, 587, 704, 606, 871}); + + dieListe.einfuegenBei(2, 326); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 326, 600, 688, 144, 264, 308, 575, 587, 704, 606, 871}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 326, 688, 144, 264, 308, 575, 587, 704, 606, 871}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 326, 688, 264, 308, 575, 587, 704, 606, 871}); + + dieListe.anhaengen(866); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 326, 688, 264, 308, 575, 587, 704, 606, 871, 866}); + + dieListe.anhaengen(406); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 326, 688, 264, 308, 575, 587, 704, 606, 871, 866, 406}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 326, 688, 264, 308, 575, 587, 704, 606, 866, 406}); + + dieListe.anhaengen(954); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 326, 688, 264, 308, 575, 587, 704, 606, 866, 406, 954}); + + dieListe.einfuegenBei(2, 916); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 916, 326, 688, 264, 308, 575, 587, 704, 606, 866, 406, 954}); + + dieListe.anhaengen(483); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 916, 326, 688, 264, 308, 575, 587, 704, 606, 866, 406, 954, 483}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 916, 326, 688, 264, 575, 587, 704, 606, 866, 406, 954, 483}); + + assertFalse("Fehler: Element 477 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(477)); + dieListe.anhaengen(280); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 916, 326, 688, 264, 575, 587, 704, 606, 866, 406, 954, 483, 280}); + + assertFalse("Fehler: Element 307 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(307)); + dieListe.anhaengen(424); + Tester.pruefeListenInhalt(dieListe, new int[]{478, 910, 916, 326, 688, 264, 575, 587, 704, 606, 866, 406, 954, 483, 280, 424}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 931); + Tester.pruefeListenInhalt(dieListe, new int[]{931}); + + assertFalse("Fehler: Element 999 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(999)); + dieListe.anhaengen(829); + Tester.pruefeListenInhalt(dieListe, new int[]{931, 829}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{829}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 737); + Tester.pruefeListenInhalt(dieListe, new int[]{737}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 412); + Tester.pruefeListenInhalt(dieListe, new int[]{412}); + + dieListe.anhaengen(455); + Tester.pruefeListenInhalt(dieListe, new int[]{412, 455}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{412}); + + dieListe.einfuegenBei(1, 884); + Tester.pruefeListenInhalt(dieListe, new int[]{412, 884}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{884}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 995); + Tester.pruefeListenInhalt(dieListe, new int[]{995}); + + dieListe.einfuegenBei(1, 304); + Tester.pruefeListenInhalt(dieListe, new int[]{995, 304}); + + dieListe.anhaengen(220); + Tester.pruefeListenInhalt(dieListe, new int[]{995, 304, 220}); + + dieListe.anhaengen(348); + Tester.pruefeListenInhalt(dieListe, new int[]{995, 304, 220, 348}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{995, 304, 348}); + + assertFalse("Fehler: Element 706 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(706)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 348}); + + dieListe.anhaengen(944); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 348, 944}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 944}); + + dieListe.einfuegenBei(1, 372); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 372, 944}); + + assertTrue("Fehler: Element 944 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(944)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 944}); + + dieListe.anhaengen(225); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 944, 225}); + + dieListe.einfuegenBei(1, 496); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 496, 944, 225}); + + assertTrue("Fehler: Element 225 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(225)); + dieListe.anhaengen(693); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 496, 944, 225, 693}); + + dieListe.einfuegenBei(4, 543); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 496, 944, 225, 543, 693}); + + dieListe.anhaengen(718); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 496, 944, 225, 543, 693, 718}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 944, 225, 543, 693, 718}); + + dieListe.anhaengen(896); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 944, 225, 543, 693, 718, 896}); + + assertTrue("Fehler: Element 225 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(225)); + dieListe.einfuegenBei(0, 159); + Tester.pruefeListenInhalt(dieListe, new int[]{159, 304, 944, 225, 543, 693, 718, 896}); + + dieListe.einfuegenBei(4, 199); + Tester.pruefeListenInhalt(dieListe, new int[]{159, 304, 944, 225, 199, 543, 693, 718, 896}); + + assertTrue("Fehler: Element 304 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(304)); + assertTrue("Fehler: Element 896 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(896)); + dieListe.einfuegenBei(0, 317); + Tester.pruefeListenInhalt(dieListe, new int[]{317, 159, 304, 944, 225, 199, 543, 693, 718, 896}); + + dieListe.anhaengen(858); + Tester.pruefeListenInhalt(dieListe, new int[]{317, 159, 304, 944, 225, 199, 543, 693, 718, 896, 858}); + + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{317, 159, 304, 944, 225, 199, 543, 693, 718, 896, 858, 581}); + + dieListe.einfuegenBei(0, 97); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 159, 304, 944, 225, 199, 543, 693, 718, 896, 858, 581}); + + dieListe.einfuegenBei(4, 667); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 159, 304, 667, 944, 225, 199, 543, 693, 718, 896, 858, 581}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 159, 304, 667, 944, 225, 199, 543, 693, 718, 896, 581}); + + dieListe.anhaengen(267); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 159, 304, 667, 944, 225, 199, 543, 693, 718, 896, 581, 267}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 159, 304, 667, 944, 225, 543, 693, 718, 896, 581, 267}); + + dieListe.anhaengen(368); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 159, 304, 667, 944, 225, 543, 693, 718, 896, 581, 267, 368}); + + dieListe.anhaengen(245); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 159, 304, 667, 944, 225, 543, 693, 718, 896, 581, 267, 368, 245}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 159, 304, 667, 944, 225, 543, 693, 896, 581, 267, 368, 245}); + + dieListe.anhaengen(371); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 159, 304, 667, 944, 225, 543, 693, 896, 581, 267, 368, 245, 371}); + + assertFalse("Fehler: Element 828 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(828)); + dieListe.einfuegenBei(2, 919); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 159, 304, 667, 944, 225, 543, 693, 896, 581, 267, 368, 245, 371}); + + dieListe.entferneBei(14); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 159, 304, 667, 944, 225, 543, 693, 896, 581, 267, 368, 371}); + + dieListe.einfuegenBei(3, 272); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 896, 581, 267, 368, 371}); + + dieListe.anhaengen(718); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 896, 581, 267, 368, 371, 718}); + + dieListe.anhaengen(568); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 896, 581, 267, 368, 371, 718, 568}); + + assertFalse("Fehler: Element 287 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(287)); + dieListe.einfuegenBei(3, 874); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 874, 272, 159, 304, 667, 944, 225, 543, 693, 896, 581, 267, 368, 371, 718, 568}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 896, 581, 267, 368, 371, 718, 568}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 581, 267, 368, 371, 718, 568}); + + dieListe.anhaengen(810); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 581, 267, 368, 371, 718, 568, 810}); + + assertTrue("Fehler: Element 267 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(267)); + assertTrue("Fehler: Element 368 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(368)); + dieListe.anhaengen(65); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 581, 267, 368, 371, 718, 568, 810, 65}); + + dieListe.anhaengen(234); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 581, 267, 368, 371, 718, 568, 810, 65, 234}); + + dieListe.anhaengen(285); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 581, 267, 368, 371, 718, 568, 810, 65, 234, 285}); + + dieListe.einfuegenBei(17, 501); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 944, 225, 543, 693, 581, 267, 368, 371, 718, 568, 501, 810, 65, 234, 285}); + + dieListe.einfuegenBei(7, 818); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 919, 272, 159, 304, 667, 818, 944, 225, 543, 693, 581, 267, 368, 371, 718, 568, 501, 810, 65, 234, 285}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 225, 543, 693, 581, 267, 368, 371, 718, 568, 501, 810, 65, 234, 285}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 368, 371, 718, 568, 501, 810, 65, 234, 285}); + + assertTrue("Fehler: Element 718 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(718)); + dieListe.anhaengen(277); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 368, 371, 718, 568, 501, 810, 65, 234, 285, 277}); + + dieListe.anhaengen(319); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 368, 371, 718, 568, 501, 810, 65, 234, 285, 277, 319}); + + dieListe.anhaengen(190); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 368, 371, 718, 568, 501, 810, 65, 234, 285, 277, 319, 190}); + + dieListe.einfuegenBei(2, 631); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 631, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 368, 371, 718, 568, 501, 810, 65, 234, 285, 277, 319, 190}); + + dieListe.einfuegenBei(13, 516); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 631, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 516, 368, 371, 718, 568, 501, 810, 65, 234, 285, 277, 319, 190}); + + assertTrue("Fehler: Element 371 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(371)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 516, 368, 371, 718, 568, 501, 810, 65, 234, 285, 277, 319, 190}); + + dieListe.entferneBei(21); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 516, 368, 371, 718, 568, 501, 810, 65, 234, 277, 319, 190}); + + dieListe.anhaengen(446); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 516, 368, 371, 718, 568, 501, 810, 65, 234, 277, 319, 190, 446}); + + dieListe.anhaengen(922); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 516, 368, 371, 718, 568, 501, 810, 65, 234, 277, 319, 190, 446, 922}); + + dieListe.anhaengen(442); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 304, 667, 818, 944, 543, 693, 581, 267, 516, 368, 371, 718, 568, 501, 810, 65, 234, 277, 319, 190, 446, 922, 442}); + + assertTrue("Fehler: Element 818 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(818)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 667, 818, 944, 543, 693, 581, 267, 516, 368, 371, 718, 568, 501, 810, 65, 234, 277, 319, 190, 446, 922, 442}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 667, 818, 944, 543, 693, 581, 267, 516, 368, 718, 568, 501, 810, 65, 234, 277, 319, 190, 446, 922, 442}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 667, 818, 944, 543, 693, 581, 267, 516, 368, 568, 501, 810, 65, 234, 277, 319, 190, 446, 922, 442}); + + dieListe.anhaengen(351); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 317, 272, 159, 667, 818, 944, 543, 693, 581, 267, 516, 368, 568, 501, 810, 65, 234, 277, 319, 190, 446, 922, 442, 351}); + + assertTrue("Fehler: Element 234 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(234)); + assertTrue("Fehler: Element 922 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(922)); + assertTrue("Fehler: Element 351 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(351)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 157); + Tester.pruefeListenInhalt(dieListe, new int[]{157}); + + dieListe.anhaengen(344); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 344}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{157}); + + assertTrue("Fehler: Element 157 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(157)); + assertTrue("Fehler: Element 157 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(157)); + assertTrue("Fehler: Element 157 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(157)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(897); + Tester.pruefeListenInhalt(dieListe, new int[]{897}); + + assertTrue("Fehler: Element 897 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(897)); + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(186); + Tester.pruefeListenInhalt(dieListe, new int[]{186}); + + dieListe.anhaengen(758); + Tester.pruefeListenInhalt(dieListe, new int[]{186, 758}); + + assertFalse("Fehler: Element 673 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(673)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{186}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(894); + Tester.pruefeListenInhalt(dieListe, new int[]{894}); + + dieListe.einfuegenBei(0, 873); + Tester.pruefeListenInhalt(dieListe, new int[]{873, 894}); + + dieListe.anhaengen(332); + Tester.pruefeListenInhalt(dieListe, new int[]{873, 894, 332}); + + assertTrue("Fehler: Element 873 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(873)); + assertFalse("Fehler: Element 519 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(519)); + dieListe.einfuegenBei(2, 79); + Tester.pruefeListenInhalt(dieListe, new int[]{873, 894, 79, 332}); + + dieListe.anhaengen(482); + Tester.pruefeListenInhalt(dieListe, new int[]{873, 894, 79, 332, 482}); + + assertTrue("Fehler: Element 873 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(873)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(534); + Tester.pruefeListenInhalt(dieListe, new int[]{534}); + + dieListe.anhaengen(923); + Tester.pruefeListenInhalt(dieListe, new int[]{534, 923}); + + dieListe.einfuegenBei(0, 834); + Tester.pruefeListenInhalt(dieListe, new int[]{834, 534, 923}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{834, 923}); + + assertTrue("Fehler: Element 923 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(923)); + dieListe.anhaengen(45); + Tester.pruefeListenInhalt(dieListe, new int[]{834, 923, 45}); + + dieListe.anhaengen(275); + Tester.pruefeListenInhalt(dieListe, new int[]{834, 923, 45, 275}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 993); + Tester.pruefeListenInhalt(dieListe, new int[]{993}); + + dieListe.einfuegenBei(1, 568); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 568}); + + dieListe.einfuegenBei(1, 966); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 966, 568}); + + dieListe.einfuegenBei(1, 131); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 966, 568}); + + dieListe.anhaengen(863); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 966, 568, 863}); + + assertFalse("Fehler: Element 774 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(774)); + dieListe.anhaengen(123); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 966, 568, 863, 123}); + + dieListe.einfuegenBei(2, 480); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 480, 966, 568, 863, 123}); + + assertFalse("Fehler: Element 873 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(873)); + assertFalse("Fehler: Element 528 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(528)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 480, 568, 863, 123}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 480, 863, 123}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 480, 863}); + + dieListe.anhaengen(416); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 480, 863, 416}); + + dieListe.anhaengen(257); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 480, 863, 416, 257}); + + dieListe.anhaengen(823); + Tester.pruefeListenInhalt(dieListe, new int[]{993, 131, 480, 863, 416, 257, 823}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(806); + Tester.pruefeListenInhalt(dieListe, new int[]{806}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(610); + Tester.pruefeListenInhalt(dieListe, new int[]{610}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(288); + Tester.pruefeListenInhalt(dieListe, new int[]{288}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 98); + Tester.pruefeListenInhalt(dieListe, new int[]{98}); + + dieListe.einfuegenBei(0, 255); + Tester.pruefeListenInhalt(dieListe, new int[]{255, 98}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{255}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(742); + Tester.pruefeListenInhalt(dieListe, new int[]{742}); + + dieListe.einfuegenBei(1, 403); + Tester.pruefeListenInhalt(dieListe, new int[]{742, 403}); + + dieListe.einfuegenBei(0, 236); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 742, 403}); + + assertTrue("Fehler: Element 236 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(236)); + dieListe.einfuegenBei(3, 278); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 742, 403, 278}); + + assertTrue("Fehler: Element 278 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(278)); + dieListe.anhaengen(21); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 742, 403, 278, 21}); + + dieListe.anhaengen(154); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 742, 403, 278, 21, 154}); + + dieListe.einfuegenBei(3, 719); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 742, 403, 719, 278, 21, 154}); + + dieListe.einfuegenBei(7, 599); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 742, 403, 719, 278, 21, 154, 599}); + + assertTrue("Fehler: Element 21 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(21)); + assertFalse("Fehler: Element 93 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(93)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 742, 719, 278, 21, 154, 599}); + + dieListe.einfuegenBei(2, 605); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 742, 605, 719, 278, 21, 154, 599}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 278, 21, 154, 599}); + + dieListe.anhaengen(75); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 278, 21, 154, 599, 75}); + + assertFalse("Fehler: Element 155 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(155)); + assertTrue("Fehler: Element 719 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(719)); + dieListe.anhaengen(528); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 278, 21, 154, 599, 75, 528}); + + dieListe.anhaengen(138); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 278, 21, 154, 599, 75, 528, 138}); + + dieListe.anhaengen(340); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 278, 21, 154, 599, 75, 528, 138, 340}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 278, 21, 154, 599, 75, 138, 340}); + + dieListe.anhaengen(744); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 278, 21, 154, 599, 75, 138, 340, 744}); + + assertFalse("Fehler: Element 449 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(449)); + dieListe.anhaengen(719); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 278, 21, 154, 599, 75, 138, 340, 744, 719}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 154, 599, 75, 138, 340, 744, 719}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 154, 599, 75, 138, 340, 719}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 154, 599, 75, 138, 719}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 599, 75, 138, 719}); + + dieListe.einfuegenBei(7, 445); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 599, 75, 138, 445, 719}); + + dieListe.einfuegenBei(5, 845); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 599, 845, 75, 138, 445, 719}); + + dieListe.anhaengen(333); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 599, 845, 75, 138, 445, 719, 333}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 599, 845, 75, 138, 719, 333}); + + dieListe.einfuegenBei(2, 536); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 536, 719, 21, 599, 845, 75, 138, 719, 333}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 599, 845, 75, 138, 719, 333}); + + assertTrue("Fehler: Element 599 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(599)); + dieListe.anhaengen(733); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 599, 845, 75, 138, 719, 333, 733}); + + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 599, 845, 75, 138, 719, 333, 733, 861}); + + dieListe.einfuegenBei(6, 878); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 605, 719, 21, 599, 845, 878, 75, 138, 719, 333, 733, 861}); + + dieListe.einfuegenBei(1, 889); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 605, 719, 21, 599, 845, 878, 75, 138, 719, 333, 733, 861}); + + dieListe.anhaengen(939); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 605, 719, 21, 599, 845, 878, 75, 138, 719, 333, 733, 861, 939}); + + assertFalse("Fehler: Element 667 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(667)); + dieListe.einfuegenBei(2, 741); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 741, 605, 719, 21, 599, 845, 878, 75, 138, 719, 333, 733, 861, 939}); + + dieListe.anhaengen(664); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 741, 605, 719, 21, 599, 845, 878, 75, 138, 719, 333, 733, 861, 939, 664}); + + dieListe.anhaengen(344); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 741, 605, 719, 21, 599, 845, 878, 75, 138, 719, 333, 733, 861, 939, 664, 344}); + + dieListe.einfuegenBei(18, 976); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 741, 605, 719, 21, 599, 845, 878, 75, 138, 719, 333, 733, 861, 939, 664, 344, 976}); + + dieListe.anhaengen(896); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 741, 605, 719, 21, 599, 845, 878, 75, 138, 719, 333, 733, 861, 939, 664, 344, 976, 896}); + + dieListe.einfuegenBei(4, 794); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 741, 605, 794, 719, 21, 599, 845, 878, 75, 138, 719, 333, 733, 861, 939, 664, 344, 976, 896}); + + dieListe.einfuegenBei(8, 209); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 741, 605, 794, 719, 21, 599, 209, 845, 878, 75, 138, 719, 333, 733, 861, 939, 664, 344, 976, 896}); + + dieListe.entferneBei(15); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 741, 605, 794, 719, 21, 599, 209, 845, 878, 75, 138, 719, 333, 861, 939, 664, 344, 976, 896}); + + dieListe.einfuegenBei(2, 35); + Tester.pruefeListenInhalt(dieListe, new int[]{236, 889, 35, 741, 605, 794, 719, 21, 599, 209, 845, 878, 75, 138, 719, 333, 861, 939, 664, 344, 976, 896}); + + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 760); + Tester.pruefeListenInhalt(dieListe, new int[]{760}); + + dieListe.anhaengen(924); + Tester.pruefeListenInhalt(dieListe, new int[]{760, 924}); + + dieListe.anhaengen(276); + Tester.pruefeListenInhalt(dieListe, new int[]{760, 924, 276}); + + dieListe.einfuegenBei(1, 920); + Tester.pruefeListenInhalt(dieListe, new int[]{760, 920, 924, 276}); + + dieListe.einfuegenBei(1, 574); + Tester.pruefeListenInhalt(dieListe, new int[]{760, 574, 920, 924, 276}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{574, 920, 924, 276}); + + dieListe.anhaengen(528); + Tester.pruefeListenInhalt(dieListe, new int[]{574, 920, 924, 276, 528}); + + dieListe.anhaengen(900); + Tester.pruefeListenInhalt(dieListe, new int[]{574, 920, 924, 276, 528, 900}); + + dieListe.anhaengen(211); + Tester.pruefeListenInhalt(dieListe, new int[]{574, 920, 924, 276, 528, 900, 211}); + + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{574, 920, 924, 276, 528, 900, 211, 189}); + + dieListe.anhaengen(328); + Tester.pruefeListenInhalt(dieListe, new int[]{574, 920, 924, 276, 528, 900, 211, 189, 328}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{574, 924, 276, 528, 900, 211, 189, 328}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{574, 924, 276, 900, 211, 189, 328}); + + dieListe.einfuegenBei(1, 457); + Tester.pruefeListenInhalt(dieListe, new int[]{574, 457, 924, 276, 900, 211, 189, 328}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{457, 924, 276, 900, 211, 189, 328}); + + dieListe.einfuegenBei(7, 459); + Tester.pruefeListenInhalt(dieListe, new int[]{457, 924, 276, 900, 211, 189, 328, 459}); + + dieListe.einfuegenBei(1, 777); + Tester.pruefeListenInhalt(dieListe, new int[]{457, 777, 924, 276, 900, 211, 189, 328, 459}); + + assertFalse("Fehler: Element 59 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(59)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{457, 777, 924, 900, 211, 189, 328, 459}); + + assertTrue("Fehler: Element 189 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(189)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{457, 777, 900, 211, 189, 328, 459}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{457, 900, 211, 189, 328, 459}); + + dieListe.einfuegenBei(1, 319); + Tester.pruefeListenInhalt(dieListe, new int[]{457, 319, 900, 211, 189, 328, 459}); + + dieListe.anhaengen(477); + Tester.pruefeListenInhalt(dieListe, new int[]{457, 319, 900, 211, 189, 328, 459, 477}); + + dieListe.einfuegenBei(5, 955); + Tester.pruefeListenInhalt(dieListe, new int[]{457, 319, 900, 211, 189, 955, 328, 459, 477}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 900, 211, 189, 955, 328, 459, 477}); + + assertTrue("Fehler: Element 319 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(319)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 900, 211, 189, 955, 328, 477}); + + assertTrue("Fehler: Element 955 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(955)); + assertFalse("Fehler: Element 839 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(839)); + assertFalse("Fehler: Element 985 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(985)); + dieListe.einfuegenBei(2, 771); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 900, 771, 211, 189, 955, 328, 477}); + + assertFalse("Fehler: Element 848 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(848)); + dieListe.einfuegenBei(2, 421); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 900, 421, 771, 211, 189, 955, 328, 477}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 421, 771, 211, 189, 955, 328, 477}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 771, 211, 189, 955, 328, 477}); + + assertTrue("Fehler: Element 328 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(328)); + dieListe.anhaengen(852); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 771, 211, 189, 955, 328, 477, 852}); + + dieListe.anhaengen(131); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 771, 211, 189, 955, 328, 477, 852, 131}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 771, 211, 189, 955, 328, 477, 131}); + + dieListe.anhaengen(506); + Tester.pruefeListenInhalt(dieListe, new int[]{319, 771, 211, 189, 955, 328, 477, 131, 506}); + + dieListe.einfuegenBei(0, 59); + Tester.pruefeListenInhalt(dieListe, new int[]{59, 319, 771, 211, 189, 955, 328, 477, 131, 506}); + + dieListe.anhaengen(824); + Tester.pruefeListenInhalt(dieListe, new int[]{59, 319, 771, 211, 189, 955, 328, 477, 131, 506, 824}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 16); + Tester.pruefeListenInhalt(dieListe, new int[]{16}); + + assertTrue("Fehler: Element 16 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(16)); + assertTrue("Fehler: Element 16 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(16)); + dieListe.einfuegenBei(1, 714); + Tester.pruefeListenInhalt(dieListe, new int[]{16, 714}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{16}); + + assertTrue("Fehler: Element 16 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(16)); + assertFalse("Fehler: Element 300 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(300)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(470); + Tester.pruefeListenInhalt(dieListe, new int[]{470}); + + assertFalse("Fehler: Element 472 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(472)); + assertFalse("Fehler: Element 603 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(603)); + dieListe.anhaengen(394); + Tester.pruefeListenInhalt(dieListe, new int[]{470, 394}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{470}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(904); + Tester.pruefeListenInhalt(dieListe, new int[]{904}); + + dieListe.anhaengen(504); + Tester.pruefeListenInhalt(dieListe, new int[]{904, 504}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{904}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(774); + Tester.pruefeListenInhalt(dieListe, new int[]{774}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 476); + Tester.pruefeListenInhalt(dieListe, new int[]{476}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 132); + Tester.pruefeListenInhalt(dieListe, new int[]{132}); + + dieListe.anhaengen(507); + Tester.pruefeListenInhalt(dieListe, new int[]{132, 507}); + + assertTrue("Fehler: Element 507 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(507)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 885); + Tester.pruefeListenInhalt(dieListe, new int[]{885}); + + dieListe.anhaengen(526); + Tester.pruefeListenInhalt(dieListe, new int[]{885, 526}); + + assertTrue("Fehler: Element 885 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(885)); + assertFalse("Fehler: Element 436 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(436)); + dieListe.einfuegenBei(2, 174); + Tester.pruefeListenInhalt(dieListe, new int[]{885, 526, 174}); + + assertFalse("Fehler: Element 772 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(772)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{526, 174}); + + dieListe.einfuegenBei(2, 17); + Tester.pruefeListenInhalt(dieListe, new int[]{526, 174, 17}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 17}); + + dieListe.einfuegenBei(1, 828); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 828, 17}); + + dieListe.anhaengen(697); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 828, 17, 697}); + + dieListe.anhaengen(920); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 828, 17, 697, 920}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 828, 17, 920}); + + dieListe.einfuegenBei(1, 518); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 828, 17, 920}); + + dieListe.einfuegenBei(3, 685); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 828, 685, 17, 920}); + + dieListe.anhaengen(396); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 828, 685, 17, 920, 396}); + + dieListe.anhaengen(763); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 828, 685, 17, 920, 396, 763}); + + assertFalse("Fehler: Element 950 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(950)); + dieListe.einfuegenBei(3, 548); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 828, 548, 685, 17, 920, 396, 763}); + + assertFalse("Fehler: Element 275 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(275)); + dieListe.anhaengen(604); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 828, 548, 685, 17, 920, 396, 763, 604}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 828, 548, 685, 920, 396, 763, 604}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 828, 685, 920, 396, 763, 604}); + + dieListe.einfuegenBei(2, 345); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 345, 828, 685, 920, 396, 763, 604}); + + dieListe.anhaengen(751); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 345, 828, 685, 920, 396, 763, 604, 751}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 345, 828, 920, 396, 763, 604, 751}); + + assertTrue("Fehler: Element 604 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(604)); + assertFalse("Fehler: Element 953 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(953)); + assertFalse("Fehler: Element 812 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(812)); + dieListe.anhaengen(136); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 518, 345, 828, 920, 396, 763, 604, 751, 136}); + + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(342); + Tester.pruefeListenInhalt(dieListe, new int[]{342}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 771); + Tester.pruefeListenInhalt(dieListe, new int[]{771}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 553); + Tester.pruefeListenInhalt(dieListe, new int[]{553}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(585); + Tester.pruefeListenInhalt(dieListe, new int[]{585}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 455); + Tester.pruefeListenInhalt(dieListe, new int[]{455}); + + assertFalse("Fehler: Element 286 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(286)); + dieListe.anhaengen(286); + Tester.pruefeListenInhalt(dieListe, new int[]{455, 286}); + + dieListe.einfuegenBei(1, 58); + Tester.pruefeListenInhalt(dieListe, new int[]{455, 58, 286}); + + dieListe.einfuegenBei(0, 438); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 455, 58, 286}); + + dieListe.einfuegenBei(4, 496); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 455, 58, 286, 496}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 58, 286, 496}); + + assertTrue("Fehler: Element 496 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(496)); + dieListe.einfuegenBei(1, 162); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 58, 286, 496}); + + dieListe.einfuegenBei(2, 195); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 58, 286, 496}); + + assertTrue("Fehler: Element 496 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(496)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 286, 496}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 496}); + + dieListe.anhaengen(911); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 496, 911}); + + dieListe.anhaengen(986); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 496, 911, 986}); + + dieListe.einfuegenBei(3, 102); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 496, 911, 986}); + + assertFalse("Fehler: Element 979 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(979)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 496, 911}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 911}); + + dieListe.anhaengen(858); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 911, 858}); + + dieListe.einfuegenBei(4, 413); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 911, 858}); + + dieListe.anhaengen(102); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 911, 858, 102}); + + dieListe.einfuegenBei(5, 998); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 998, 911, 858, 102}); + + dieListe.einfuegenBei(5, 323); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 323, 998, 911, 858, 102}); + + assertTrue("Fehler: Element 413 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(413)); + dieListe.einfuegenBei(8, 721); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 323, 998, 911, 721, 858, 102}); + + dieListe.anhaengen(272); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 323, 998, 911, 721, 858, 102, 272}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 323, 998, 911, 721, 102, 272}); + + dieListe.anhaengen(868); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 323, 998, 911, 721, 102, 272, 868}); + + assertFalse("Fehler: Element 20 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(20)); + dieListe.einfuegenBei(7, 8); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 323, 998, 8, 911, 721, 102, 272, 868}); + + dieListe.einfuegenBei(10, 757); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 195, 102, 413, 323, 998, 8, 911, 721, 757, 102, 272, 868}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 162, 102, 413, 323, 998, 8, 911, 721, 757, 102, 272, 868}); + + dieListe.einfuegenBei(1, 375); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 8, 911, 721, 757, 102, 272, 868}); + + dieListe.einfuegenBei(9, 216); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 8, 911, 216, 721, 757, 102, 272, 868}); + + dieListe.anhaengen(692); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 8, 911, 216, 721, 757, 102, 272, 868, 692}); + + dieListe.anhaengen(875); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 8, 911, 216, 721, 757, 102, 272, 868, 692, 875}); + + dieListe.einfuegenBei(7, 132); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 132, 8, 911, 216, 721, 757, 102, 272, 868, 692, 875}); + + assertFalse("Fehler: Element 297 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(297)); + assertTrue("Fehler: Element 911 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(911)); + dieListe.einfuegenBei(18, 702); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 132, 8, 911, 216, 721, 757, 102, 272, 868, 692, 875, 702}); + + assertTrue("Fehler: Element 692 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(692)); + dieListe.einfuegenBei(19, 707); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 132, 8, 911, 216, 721, 757, 102, 272, 868, 692, 875, 702, 707}); + + dieListe.anhaengen(57); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 132, 8, 911, 216, 721, 757, 102, 272, 868, 692, 875, 702, 707, 57}); + + dieListe.anhaengen(896); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 132, 8, 911, 216, 721, 757, 102, 272, 868, 692, 875, 702, 707, 57, 896}); + + assertFalse("Fehler: Element 198 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(198)); + assertFalse("Fehler: Element 770 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(770)); + dieListe.einfuegenBei(18, 643); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 132, 8, 911, 216, 721, 757, 102, 272, 868, 692, 875, 643, 702, 707, 57, 896}); + + assertTrue("Fehler: Element 102 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(102)); + dieListe.anhaengen(397); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 162, 102, 413, 323, 998, 132, 8, 911, 216, 721, 757, 102, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 102, 413, 323, 998, 132, 8, 911, 216, 721, 757, 102, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{438, 375, 102, 413, 323, 998, 132, 8, 911, 721, 757, 102, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 102, 413, 323, 998, 132, 8, 911, 721, 757, 102, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397}); + + assertTrue("Fehler: Element 643 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(643)); + dieListe.anhaengen(85); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 102, 413, 323, 998, 132, 8, 911, 721, 757, 102, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397, 85}); + + dieListe.einfuegenBei(5, 794); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 102, 413, 323, 998, 794, 132, 8, 911, 721, 757, 102, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397, 85}); + + dieListe.einfuegenBei(2, 647); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 102, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397, 85}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397, 85}); + + dieListe.einfuegenBei(1, 70); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397, 85}); + + assertTrue("Fehler: Element 102 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(102)); + dieListe.anhaengen(397); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 272, 868, 692, 875, 643, 702, 707, 57, 896, 397, 85, 397}); + + dieListe.entferneBei(15); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 702, 707, 57, 896, 397, 85, 397}); + + dieListe.anhaengen(491); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 702, 707, 57, 896, 397, 85, 397, 491}); + + dieListe.anhaengen(418); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 702, 707, 57, 896, 397, 85, 397, 491, 418}); + + dieListe.entferneBei(19); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 702, 707, 896, 397, 85, 397, 491, 418}); + + assertFalse("Fehler: Element 177 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(177)); + assertFalse("Fehler: Element 45 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(45)); + assertFalse("Fehler: Element 310 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(310)); + dieListe.entferneBei(21); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 702, 707, 896, 397, 397, 491, 418}); + + assertFalse("Fehler: Element 73 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(73)); + dieListe.anhaengen(30); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 702, 707, 896, 397, 397, 491, 418, 30}); + + dieListe.einfuegenBei(7, 226); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 226, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 702, 707, 896, 397, 397, 491, 418, 30}); + + assertFalse("Fehler: Element 155 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(155)); + assertFalse("Fehler: Element 395 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(395)); + dieListe.anhaengen(913); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 226, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 702, 707, 896, 397, 397, 491, 418, 30, 913}); + + dieListe.anhaengen(885); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 226, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 702, 707, 896, 397, 397, 491, 418, 30, 913, 885}); + + dieListe.einfuegenBei(18, 647); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 226, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 647, 702, 707, 896, 397, 397, 491, 418, 30, 913, 885}); + + dieListe.entferneBei(23); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 226, 794, 132, 8, 911, 721, 757, 272, 868, 875, 643, 647, 702, 707, 896, 397, 491, 418, 30, 913, 885}); + + dieListe.einfuegenBei(11, 448); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 226, 794, 132, 8, 448, 911, 721, 757, 272, 868, 875, 643, 647, 702, 707, 896, 397, 491, 418, 30, 913, 885}); + + dieListe.anhaengen(2); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 226, 794, 132, 8, 448, 911, 721, 757, 272, 868, 875, 643, 647, 702, 707, 896, 397, 491, 418, 30, 913, 885, 2}); + + dieListe.entferneBei(25); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 226, 794, 132, 8, 448, 911, 721, 757, 272, 868, 875, 643, 647, 702, 707, 896, 397, 491, 30, 913, 885, 2}); + + dieListe.einfuegenBei(12, 390); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 102, 647, 413, 323, 998, 226, 794, 132, 8, 448, 390, 911, 721, 757, 272, 868, 875, 643, 647, 702, 707, 896, 397, 491, 30, 913, 885, 2}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 647, 413, 323, 998, 226, 794, 132, 8, 448, 390, 911, 721, 757, 272, 868, 875, 643, 647, 702, 707, 896, 397, 491, 30, 913, 885, 2}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 647, 413, 323, 998, 226, 794, 132, 448, 390, 911, 721, 757, 272, 868, 875, 643, 647, 702, 707, 896, 397, 491, 30, 913, 885, 2}); + + dieListe.einfuegenBei(19, 133); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 647, 413, 323, 998, 226, 794, 132, 448, 390, 911, 721, 757, 272, 868, 875, 643, 647, 133, 702, 707, 896, 397, 491, 30, 913, 885, 2}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 647, 413, 323, 998, 226, 794, 132, 448, 390, 721, 757, 272, 868, 875, 643, 647, 133, 702, 707, 896, 397, 491, 30, 913, 885, 2}); + + dieListe.einfuegenBei(15, 611); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 647, 413, 323, 998, 226, 794, 132, 448, 390, 721, 757, 272, 868, 611, 875, 643, 647, 133, 702, 707, 896, 397, 491, 30, 913, 885, 2}); + + assertFalse("Fehler: Element 902 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(902)); + dieListe.einfuegenBei(2, 327); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 327, 647, 413, 323, 998, 226, 794, 132, 448, 390, 721, 757, 272, 868, 611, 875, 643, 647, 133, 702, 707, 896, 397, 491, 30, 913, 885, 2}); + + assertFalse("Fehler: Element 366 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(366)); + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 70, 327, 647, 413, 323, 998, 794, 132, 448, 390, 721, 757, 272, 868, 611, 875, 643, 647, 133, 702, 707, 896, 397, 491, 30, 913, 885, 2}); + + assertFalse("Fehler: Element 319 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(319)); + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 139); + Tester.pruefeListenInhalt(dieListe, new int[]{139}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(364); + Tester.pruefeListenInhalt(dieListe, new int[]{364}); + + assertFalse("Fehler: Element 166 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(166)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 280); + Tester.pruefeListenInhalt(dieListe, new int[]{280}); + + dieListe.einfuegenBei(1, 996); + Tester.pruefeListenInhalt(dieListe, new int[]{280, 996}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{996}); + + assertTrue("Fehler: Element 996 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(996)); + dieListe.einfuegenBei(0, 894); + Tester.pruefeListenInhalt(dieListe, new int[]{894, 996}); + + assertTrue("Fehler: Element 996 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(996)); + dieListe.einfuegenBei(2, 557); + Tester.pruefeListenInhalt(dieListe, new int[]{894, 996, 557}); + + assertFalse("Fehler: Element 980 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(980)); + dieListe.einfuegenBei(0, 472); + Tester.pruefeListenInhalt(dieListe, new int[]{472, 894, 996, 557}); + + dieListe.einfuegenBei(1, 546); + Tester.pruefeListenInhalt(dieListe, new int[]{472, 546, 894, 996, 557}); + + assertFalse("Fehler: Element 788 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(788)); + assertTrue("Fehler: Element 557 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(557)); + dieListe.einfuegenBei(0, 31); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 472, 546, 894, 996, 557}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 472, 546, 894, 996}); + + assertTrue("Fehler: Element 894 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(894)); + assertFalse("Fehler: Element 978 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(978)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 546, 894, 996}); + + assertTrue("Fehler: Element 996 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(996)); + dieListe.einfuegenBei(2, 518); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 546, 518, 894, 996}); + + dieListe.einfuegenBei(1, 555); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 546, 518, 894, 996}); + + dieListe.anhaengen(276); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 546, 518, 894, 996, 276}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 546, 518, 996, 276}); + + dieListe.einfuegenBei(2, 388); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 518, 996, 276}); + + dieListe.anhaengen(897); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 518, 996, 276, 897}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 518, 276, 897}); + + dieListe.anhaengen(626); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 518, 276, 897, 626}); + + assertTrue("Fehler: Element 897 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(897)); + assertTrue("Fehler: Element 388 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(388)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 276, 897, 626}); + + assertFalse("Fehler: Element 92 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(92)); + dieListe.anhaengen(45); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 276, 897, 626, 45}); + + dieListe.anhaengen(307); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 276, 897, 626, 45, 307}); + + dieListe.anhaengen(479); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 276, 897, 626, 45, 307, 479}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 897, 626, 45, 307, 479}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 897, 45, 307, 479}); + + dieListe.anhaengen(712); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 897, 45, 307, 479, 712}); + + dieListe.einfuegenBei(8, 766); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 897, 45, 307, 479, 766, 712}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 546, 897, 45, 479, 766, 712}); + + assertTrue("Fehler: Element 555 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(555)); + dieListe.einfuegenBei(3, 878); + Tester.pruefeListenInhalt(dieListe, new int[]{31, 555, 388, 878, 546, 897, 45, 479, 766, 712}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(419); + Tester.pruefeListenInhalt(dieListe, new int[]{419}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 966); + Tester.pruefeListenInhalt(dieListe, new int[]{966}); + + dieListe.einfuegenBei(1, 116); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 116}); + + dieListe.einfuegenBei(0, 856); + Tester.pruefeListenInhalt(dieListe, new int[]{856, 966, 116}); + + dieListe.anhaengen(942); + Tester.pruefeListenInhalt(dieListe, new int[]{856, 966, 116, 942}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 116, 942}); + + assertTrue("Fehler: Element 966 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(966)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 116}); + + dieListe.anhaengen(247); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 116, 247}); + + assertFalse("Fehler: Element 803 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(803)); + dieListe.einfuegenBei(1, 747); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 747, 116, 247}); + + dieListe.anhaengen(338); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 747, 116, 247, 338}); + + dieListe.anhaengen(251); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 747, 116, 247, 338, 251}); + + assertFalse("Fehler: Element 67 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(67)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 747, 247, 338, 251}); + + dieListe.einfuegenBei(1, 686); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 686, 747, 247, 338, 251}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 686, 747, 247, 338}); + + assertTrue("Fehler: Element 966 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(966)); + dieListe.anhaengen(740); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 686, 747, 247, 338, 740}); + + dieListe.einfuegenBei(2, 423); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 686, 423, 747, 247, 338, 740}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 686, 423, 247, 338, 740}); + + assertFalse("Fehler: Element 272 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(272)); + assertTrue("Fehler: Element 740 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(740)); + dieListe.anhaengen(308); + Tester.pruefeListenInhalt(dieListe, new int[]{966, 686, 423, 247, 338, 740, 308}); + + assertTrue("Fehler: Element 338 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(338)); + assertFalse("Fehler: Element 607 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(607)); + assertTrue("Fehler: Element 247 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(247)); + assertFalse("Fehler: Element 109 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(109)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 125); + Tester.pruefeListenInhalt(dieListe, new int[]{125}); + + dieListe.einfuegenBei(0, 887); + Tester.pruefeListenInhalt(dieListe, new int[]{887, 125}); + + assertTrue("Fehler: Element 887 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(887)); + assertTrue("Fehler: Element 887 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(887)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{125}); + + assertTrue("Fehler: Element 125 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(125)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(259); + Tester.pruefeListenInhalt(dieListe, new int[]{259}); + + dieListe.anhaengen(750); + Tester.pruefeListenInhalt(dieListe, new int[]{259, 750}); + + assertFalse("Fehler: Element 268 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(268)); + assertTrue("Fehler: Element 259 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(259)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{259}); + + dieListe.einfuegenBei(1, 456); + Tester.pruefeListenInhalt(dieListe, new int[]{259, 456}); + + dieListe.einfuegenBei(0, 415); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 259, 456}); + + assertFalse("Fehler: Element 797 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(797)); + assertTrue("Fehler: Element 456 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(456)); + dieListe.einfuegenBei(0, 729); + Tester.pruefeListenInhalt(dieListe, new int[]{729, 415, 259, 456}); + + dieListe.einfuegenBei(1, 985); + Tester.pruefeListenInhalt(dieListe, new int[]{729, 985, 415, 259, 456}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{729, 985, 415, 456}); + + dieListe.einfuegenBei(1, 233); + Tester.pruefeListenInhalt(dieListe, new int[]{729, 233, 985, 415, 456}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{729, 233, 415, 456}); + + dieListe.einfuegenBei(4, 825); + Tester.pruefeListenInhalt(dieListe, new int[]{729, 233, 415, 456, 825}); + + dieListe.einfuegenBei(4, 651); + Tester.pruefeListenInhalt(dieListe, new int[]{729, 233, 415, 456, 651, 825}); + + dieListe.einfuegenBei(1, 733); + Tester.pruefeListenInhalt(dieListe, new int[]{729, 733, 233, 415, 456, 651, 825}); + + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(235); + Tester.pruefeListenInhalt(dieListe, new int[]{235}); + + assertTrue("Fehler: Element 235 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(235)); +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(84); + Tester.pruefeListenInhalt(dieListe, new int[]{84}); + + dieListe.anhaengen(913); + Tester.pruefeListenInhalt(dieListe, new int[]{84, 913}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{84}); + + dieListe.anhaengen(60); + Tester.pruefeListenInhalt(dieListe, new int[]{84, 60}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{84}); + + dieListe.anhaengen(949); + Tester.pruefeListenInhalt(dieListe, new int[]{84, 949}); + + assertFalse("Fehler: Element 745 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(745)); + dieListe.einfuegenBei(2, 633); + Tester.pruefeListenInhalt(dieListe, new int[]{84, 949, 633}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(619); + Tester.pruefeListenInhalt(dieListe, new int[]{619}); + + assertTrue("Fehler: Element 619 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(619)); + dieListe.einfuegenBei(0, 589); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 619}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{589}); + + assertTrue("Fehler: Element 589 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(589)); + dieListe.einfuegenBei(1, 407); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 407}); + + dieListe.anhaengen(959); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 407, 959}); + + dieListe.einfuegenBei(3, 823); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 407, 959, 823}); + + assertTrue("Fehler: Element 823 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(823)); + assertFalse("Fehler: Element 975 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(975)); + dieListe.anhaengen(945); + Tester.pruefeListenInhalt(dieListe, new int[]{589, 407, 959, 823, 945}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(529); + Tester.pruefeListenInhalt(dieListe, new int[]{529}); + + dieListe.anhaengen(258); + Tester.pruefeListenInhalt(dieListe, new int[]{529, 258}); + + assertTrue("Fehler: Element 258 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(258)); + assertFalse("Fehler: Element 384 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(384)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{529}); + + assertTrue("Fehler: Element 529 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(529)); + dieListe.einfuegenBei(1, 770); + Tester.pruefeListenInhalt(dieListe, new int[]{529, 770}); + + assertFalse("Fehler: Element 16 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(16)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{529}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 381); + Tester.pruefeListenInhalt(dieListe, new int[]{381}); + + dieListe.einfuegenBei(1, 342); + Tester.pruefeListenInhalt(dieListe, new int[]{381, 342}); + + dieListe.anhaengen(167); + Tester.pruefeListenInhalt(dieListe, new int[]{381, 342, 167}); + + dieListe.einfuegenBei(2, 5); + Tester.pruefeListenInhalt(dieListe, new int[]{381, 342, 5, 167}); + + assertFalse("Fehler: Element 252 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(252)); + assertTrue("Fehler: Element 381 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(381)); + dieListe.einfuegenBei(2, 484); + Tester.pruefeListenInhalt(dieListe, new int[]{381, 342, 484, 5, 167}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{381, 342, 484, 5}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{381, 484, 5}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{484, 5}); + + dieListe.einfuegenBei(2, 724); + Tester.pruefeListenInhalt(dieListe, new int[]{484, 5, 724}); + + dieListe.einfuegenBei(1, 719); + Tester.pruefeListenInhalt(dieListe, new int[]{484, 719, 5, 724}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{484, 719, 5}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{484, 719}); + + dieListe.einfuegenBei(1, 32); + Tester.pruefeListenInhalt(dieListe, new int[]{484, 32, 719}); + + assertTrue("Fehler: Element 719 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(719)); + assertTrue("Fehler: Element 32 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(32)); + dieListe.anhaengen(482); + Tester.pruefeListenInhalt(dieListe, new int[]{484, 32, 719, 482}); + + dieListe.anhaengen(262); + Tester.pruefeListenInhalt(dieListe, new int[]{484, 32, 719, 482, 262}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(952); + Tester.pruefeListenInhalt(dieListe, new int[]{952}); + + dieListe.anhaengen(369); + Tester.pruefeListenInhalt(dieListe, new int[]{952, 369}); + + dieListe.anhaengen(182); + Tester.pruefeListenInhalt(dieListe, new int[]{952, 369, 182}); + + dieListe.anhaengen(516); + Tester.pruefeListenInhalt(dieListe, new int[]{952, 369, 182, 516}); + + assertFalse("Fehler: Element 386 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(386)); + dieListe.anhaengen(992); + Tester.pruefeListenInhalt(dieListe, new int[]{952, 369, 182, 516, 992}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 689); + Tester.pruefeListenInhalt(dieListe, new int[]{689}); + + dieListe.anhaengen(449); + Tester.pruefeListenInhalt(dieListe, new int[]{689, 449}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{449}); + + dieListe.einfuegenBei(1, 757); + Tester.pruefeListenInhalt(dieListe, new int[]{449, 757}); + + assertFalse("Fehler: Element 884 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(884)); + assertTrue("Fehler: Element 449 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(449)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{757}); + + dieListe.anhaengen(521); + Tester.pruefeListenInhalt(dieListe, new int[]{757, 521}); + + dieListe.einfuegenBei(2, 517); + Tester.pruefeListenInhalt(dieListe, new int[]{757, 521, 517}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{757, 517}); + + dieListe.einfuegenBei(1, 179); + Tester.pruefeListenInhalt(dieListe, new int[]{757, 179, 517}); + + assertTrue("Fehler: Element 517 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(517)); + assertTrue("Fehler: Element 757 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(757)); + dieListe.einfuegenBei(1, 129); + Tester.pruefeListenInhalt(dieListe, new int[]{757, 129, 179, 517}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{757, 129, 179}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{757, 179}); + + dieListe.anhaengen(628); + Tester.pruefeListenInhalt(dieListe, new int[]{757, 179, 628}); + + dieListe.anhaengen(552); + Tester.pruefeListenInhalt(dieListe, new int[]{757, 179, 628, 552}); + + assertTrue("Fehler: Element 628 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(628)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(955); + Tester.pruefeListenInhalt(dieListe, new int[]{955}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(454); + Tester.pruefeListenInhalt(dieListe, new int[]{454}); + + dieListe.anhaengen(116); + Tester.pruefeListenInhalt(dieListe, new int[]{454, 116}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{454}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 652); + Tester.pruefeListenInhalt(dieListe, new int[]{652}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 158); + Tester.pruefeListenInhalt(dieListe, new int[]{158}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(938); + Tester.pruefeListenInhalt(dieListe, new int[]{938}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 713); + Tester.pruefeListenInhalt(dieListe, new int[]{713}); + + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{713, 189}); + + assertTrue("Fehler: Element 189 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(189)); + dieListe.einfuegenBei(2, 699); + Tester.pruefeListenInhalt(dieListe, new int[]{713, 189, 699}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{713, 189}); + + dieListe.einfuegenBei(2, 880); + Tester.pruefeListenInhalt(dieListe, new int[]{713, 189, 880}); + + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(819); + Tester.pruefeListenInhalt(dieListe, new int[]{819}); + + dieListe.anhaengen(743); + Tester.pruefeListenInhalt(dieListe, new int[]{819, 743}); + + dieListe.einfuegenBei(0, 432); + Tester.pruefeListenInhalt(dieListe, new int[]{432, 819, 743}); + + assertTrue("Fehler: Element 432 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(432)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{432, 819}); + + dieListe.einfuegenBei(2, 91); + Tester.pruefeListenInhalt(dieListe, new int[]{432, 819, 91}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{819, 91}); + + assertFalse("Fehler: Element 612 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(612)); + dieListe.einfuegenBei(2, 346); + Tester.pruefeListenInhalt(dieListe, new int[]{819, 91, 346}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{91, 346}); + + dieListe.anhaengen(697); + Tester.pruefeListenInhalt(dieListe, new int[]{91, 346, 697}); + + assertTrue("Fehler: Element 346 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(346)); + assertTrue("Fehler: Element 91 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(91)); + dieListe.einfuegenBei(0, 249); + Tester.pruefeListenInhalt(dieListe, new int[]{249, 91, 346, 697}); + + dieListe.einfuegenBei(3, 230); + Tester.pruefeListenInhalt(dieListe, new int[]{249, 91, 346, 230, 697}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{249, 91, 346, 230}); + + assertTrue("Fehler: Element 346 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(346)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{91, 346, 230}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 230}); + + dieListe.einfuegenBei(1, 15); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 15, 230}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 15}); + + dieListe.anhaengen(230); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 15, 230}); + + dieListe.einfuegenBei(2, 405); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 15, 405, 230}); + + dieListe.anhaengen(497); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 15, 405, 230, 497}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 15, 405, 497}); + + dieListe.anhaengen(919); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 15, 405, 497, 919}); + + dieListe.anhaengen(108); + Tester.pruefeListenInhalt(dieListe, new int[]{346, 15, 405, 497, 919, 108}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 405, 497, 919, 108}); + + dieListe.einfuegenBei(1, 197); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 197, 405, 497, 919, 108}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 197, 405, 497, 108}); + + dieListe.einfuegenBei(3, 538); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 197, 405, 538, 497, 108}); + + dieListe.einfuegenBei(1, 875); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 875, 197, 405, 538, 497, 108}); + + assertFalse("Fehler: Element 486 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(486)); + dieListe.anhaengen(896); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 875, 197, 405, 538, 497, 108, 896}); + + assertTrue("Fehler: Element 15 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(15)); + dieListe.anhaengen(786); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 875, 197, 405, 538, 497, 108, 896, 786}); + + assertFalse("Fehler: Element 816 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(816)); + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 875, 197, 405, 538, 108, 896, 786}); + + assertFalse("Fehler: Element 622 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(622)); + assertTrue("Fehler: Element 15 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(15)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 875, 405, 538, 108, 896, 786}); + + dieListe.anhaengen(512); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 875, 405, 538, 108, 896, 786, 512}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{15, 875, 538, 108, 896, 786, 512}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(181); + Tester.pruefeListenInhalt(dieListe, new int[]{181}); + + assertFalse("Fehler: Element 506 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(506)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 42); + Tester.pruefeListenInhalt(dieListe, new int[]{42}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 438); + Tester.pruefeListenInhalt(dieListe, new int[]{438}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 749); + Tester.pruefeListenInhalt(dieListe, new int[]{749}); + + dieListe.anhaengen(970); + Tester.pruefeListenInhalt(dieListe, new int[]{749, 970}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{749}); + + dieListe.einfuegenBei(1, 948); + Tester.pruefeListenInhalt(dieListe, new int[]{749, 948}); + + dieListe.anhaengen(149); + Tester.pruefeListenInhalt(dieListe, new int[]{749, 948, 149}); + + dieListe.einfuegenBei(1, 167); + Tester.pruefeListenInhalt(dieListe, new int[]{749, 167, 948, 149}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(785); + Tester.pruefeListenInhalt(dieListe, new int[]{785}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(126); + Tester.pruefeListenInhalt(dieListe, new int[]{126}); + + assertFalse("Fehler: Element 519 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(519)); + dieListe.anhaengen(864); + Tester.pruefeListenInhalt(dieListe, new int[]{126, 864}); + + dieListe.anhaengen(168); + Tester.pruefeListenInhalt(dieListe, new int[]{126, 864, 168}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{126, 168}); + + dieListe.anhaengen(194); + Tester.pruefeListenInhalt(dieListe, new int[]{126, 168, 194}); + + assertTrue("Fehler: Element 194 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(194)); + dieListe.einfuegenBei(3, 113); + Tester.pruefeListenInhalt(dieListe, new int[]{126, 168, 194, 113}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{126, 194, 113}); + + dieListe.anhaengen(110); + Tester.pruefeListenInhalt(dieListe, new int[]{126, 194, 113, 110}); + + assertFalse("Fehler: Element 131 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(131)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{194, 113, 110}); + + dieListe.anhaengen(927); + Tester.pruefeListenInhalt(dieListe, new int[]{194, 113, 110, 927}); + + dieListe.einfuegenBei(3, 730); + Tester.pruefeListenInhalt(dieListe, new int[]{194, 113, 110, 730, 927}); + + assertFalse("Fehler: Element 103 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(103)); + dieListe.anhaengen(355); + Tester.pruefeListenInhalt(dieListe, new int[]{194, 113, 110, 730, 927, 355}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{113, 110, 730, 927, 355}); + + assertTrue("Fehler: Element 730 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(730)); + dieListe.anhaengen(365); + Tester.pruefeListenInhalt(dieListe, new int[]{113, 110, 730, 927, 355, 365}); + + dieListe.anhaengen(29); + Tester.pruefeListenInhalt(dieListe, new int[]{113, 110, 730, 927, 355, 365, 29}); + + dieListe.anhaengen(869); + Tester.pruefeListenInhalt(dieListe, new int[]{113, 110, 730, 927, 355, 365, 29, 869}); + + dieListe.anhaengen(246); + Tester.pruefeListenInhalt(dieListe, new int[]{113, 110, 730, 927, 355, 365, 29, 869, 246}); + + dieListe.einfuegenBei(4, 508); + Tester.pruefeListenInhalt(dieListe, new int[]{113, 110, 730, 927, 508, 355, 365, 29, 869, 246}); + + dieListe.einfuegenBei(0, 415); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 113, 110, 730, 927, 508, 355, 365, 29, 869, 246}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 113, 730, 927, 508, 355, 365, 29, 869, 246}); + + dieListe.einfuegenBei(8, 506); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 113, 730, 927, 508, 355, 365, 29, 506, 869, 246}); + + dieListe.anhaengen(862); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 113, 730, 927, 508, 355, 365, 29, 506, 869, 246, 862}); + + dieListe.einfuegenBei(11, 299); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 113, 730, 927, 508, 355, 365, 29, 506, 869, 246, 299, 862}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 113, 730, 927, 355, 365, 29, 506, 869, 246, 299, 862}); + + assertFalse("Fehler: Element 559 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(559)); + dieListe.einfuegenBei(4, 59); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 113, 730, 927, 59, 355, 365, 29, 506, 869, 246, 299, 862}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 113, 730, 927, 59, 355, 365, 29, 506, 246, 299, 862}); + + assertFalse("Fehler: Element 419 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(419)); + dieListe.einfuegenBei(1, 531); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 531, 113, 730, 927, 59, 355, 365, 29, 506, 246, 299, 862}); + + dieListe.einfuegenBei(5, 499); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 531, 113, 730, 927, 499, 59, 355, 365, 29, 506, 246, 299, 862}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 531, 113, 730, 927, 59, 355, 365, 29, 506, 246, 299, 862}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{415, 531, 730, 927, 59, 355, 365, 29, 506, 246, 299, 862}); + + assertTrue("Fehler: Element 927 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(927)); + assertFalse("Fehler: Element 221 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(221)); + assertTrue("Fehler: Element 29 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(29)); + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest7.java b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest7.java new file mode 100644 index 0000000..dce19ea --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest7.java @@ -0,0 +1,2841 @@ +package tests; + +import static org.junit.Assert.*; + +import liste.*; + +/** + * Die Test-Klasse SubTest7. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest7 { + + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(92); + Tester.pruefeListenInhalt(dieListe, new int[]{92}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 0); + Tester.pruefeListenInhalt(dieListe, new int[]{0}); + + dieListe.einfuegenBei(1, 922); + Tester.pruefeListenInhalt(dieListe, new int[]{0, 922}); + + dieListe.einfuegenBei(2, 956); + Tester.pruefeListenInhalt(dieListe, new int[]{0, 922, 956}); + + dieListe.einfuegenBei(0, 607); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 0, 922, 956}); + + dieListe.einfuegenBei(2, 114); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 0, 114, 922, 956}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 0, 114, 956}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 114, 956}); + + assertFalse("Fehler: Element 371 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(371)); + dieListe.anhaengen(215); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 114, 956, 215}); + + dieListe.anhaengen(718); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 114, 956, 215, 718}); + + dieListe.anhaengen(276); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 114, 956, 215, 718, 276}); + + dieListe.einfuegenBei(4, 788); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 114, 956, 215, 788, 718, 276}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 114, 956, 788, 718, 276}); + + assertTrue("Fehler: Element 788 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(788)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 114, 956, 788, 276}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 956, 788, 276}); + + dieListe.anhaengen(832); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 956, 788, 276, 832}); + + dieListe.anhaengen(102); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 956, 788, 276, 832, 102}); + + dieListe.anhaengen(7); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 956, 788, 276, 832, 102, 7}); + + assertFalse("Fehler: Element 240 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(240)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 956, 788, 276, 832, 102}); + + dieListe.einfuegenBei(0, 393); + Tester.pruefeListenInhalt(dieListe, new int[]{393, 607, 956, 788, 276, 832, 102}); + + dieListe.einfuegenBei(1, 691); + Tester.pruefeListenInhalt(dieListe, new int[]{393, 691, 607, 956, 788, 276, 832, 102}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{393, 691, 607, 788, 276, 832, 102}); + + assertFalse("Fehler: Element 886 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(886)); + dieListe.anhaengen(344); + Tester.pruefeListenInhalt(dieListe, new int[]{393, 691, 607, 788, 276, 832, 102, 344}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{393, 691, 607, 788, 832, 102, 344}); + + dieListe.einfuegenBei(5, 109); + Tester.pruefeListenInhalt(dieListe, new int[]{393, 691, 607, 788, 832, 109, 102, 344}); + + assertFalse("Fehler: Element 190 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(190)); + dieListe.anhaengen(970); + Tester.pruefeListenInhalt(dieListe, new int[]{393, 691, 607, 788, 832, 109, 102, 344, 970}); + + assertFalse("Fehler: Element 766 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(766)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 832, 109, 102, 344, 970}); + + dieListe.einfuegenBei(6, 497); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 832, 109, 102, 497, 344, 970}); + + assertFalse("Fehler: Element 230 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(230)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 832, 109, 102, 497, 344}); + + assertTrue("Fehler: Element 691 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(691)); + dieListe.einfuegenBei(7, 665); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 832, 109, 102, 497, 665, 344}); + + assertFalse("Fehler: Element 212 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(212)); + dieListe.einfuegenBei(4, 659); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 832, 659, 109, 102, 497, 665, 344}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 832, 659, 109, 497, 665, 344}); + + dieListe.einfuegenBei(5, 493); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 832, 659, 493, 109, 497, 665, 344}); + + assertTrue("Fehler: Element 344 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(344)); + assertTrue("Fehler: Element 691 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(691)); + assertFalse("Fehler: Element 539 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(539)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 832, 659, 493, 109, 497, 344}); + + dieListe.einfuegenBei(3, 819); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 819, 832, 659, 493, 109, 497, 344}); + + assertFalse("Fehler: Element 672 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(672)); + dieListe.einfuegenBei(10, 387); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 819, 832, 659, 493, 109, 497, 344, 387}); + + dieListe.einfuegenBei(3, 805); + Tester.pruefeListenInhalt(dieListe, new int[]{691, 607, 788, 805, 819, 832, 659, 493, 109, 497, 344, 387}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 805, 819, 832, 659, 493, 109, 497, 344, 387}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 805, 819, 832, 659, 493, 109, 344, 387}); + + assertTrue("Fehler: Element 819 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(819)); + dieListe.einfuegenBei(10, 722); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 805, 819, 832, 659, 493, 109, 344, 387, 722}); + + assertFalse("Fehler: Element 39 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(39)); + assertFalse("Fehler: Element 739 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(739)); + dieListe.einfuegenBei(2, 757); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 757, 805, 819, 832, 659, 493, 109, 344, 387, 722}); + + dieListe.einfuegenBei(10, 857); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 757, 805, 819, 832, 659, 493, 109, 344, 857, 387, 722}); + + dieListe.anhaengen(96); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 757, 805, 819, 832, 659, 493, 109, 344, 857, 387, 722, 96}); + + dieListe.einfuegenBei(10, 37); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 757, 805, 819, 832, 659, 493, 109, 344, 37, 857, 387, 722, 96}); + + dieListe.anhaengen(426); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 757, 805, 819, 832, 659, 493, 109, 344, 37, 857, 387, 722, 96, 426}); + + dieListe.einfuegenBei(13, 503); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 757, 805, 819, 832, 659, 493, 109, 344, 37, 857, 387, 503, 722, 96, 426}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 788, 757, 805, 819, 832, 659, 493, 109, 344, 37, 857, 503, 722, 96, 426}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 825); + Tester.pruefeListenInhalt(dieListe, new int[]{825}); + + assertTrue("Fehler: Element 825 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(825)); + dieListe.anhaengen(627); + Tester.pruefeListenInhalt(dieListe, new int[]{825, 627}); + + dieListe.einfuegenBei(0, 945); + Tester.pruefeListenInhalt(dieListe, new int[]{945, 825, 627}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{825, 627}); + + dieListe.anhaengen(213); + Tester.pruefeListenInhalt(dieListe, new int[]{825, 627, 213}); + + dieListe.anhaengen(566); + Tester.pruefeListenInhalt(dieListe, new int[]{825, 627, 213, 566}); + + assertFalse("Fehler: Element 97 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(97)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{627, 213, 566}); + + dieListe.anhaengen(280); + Tester.pruefeListenInhalt(dieListe, new int[]{627, 213, 566, 280}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{627, 566, 280}); + + assertTrue("Fehler: Element 627 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(627)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{566, 280}); + + dieListe.anhaengen(117); + Tester.pruefeListenInhalt(dieListe, new int[]{566, 280, 117}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{280, 117}); + + dieListe.anhaengen(755); + Tester.pruefeListenInhalt(dieListe, new int[]{280, 117, 755}); + + dieListe.einfuegenBei(1, 32); + Tester.pruefeListenInhalt(dieListe, new int[]{280, 32, 117, 755}); + + dieListe.anhaengen(695); + Tester.pruefeListenInhalt(dieListe, new int[]{280, 32, 117, 755, 695}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{280, 32, 117, 695}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{280, 117, 695}); + + dieListe.einfuegenBei(1, 53); + Tester.pruefeListenInhalt(dieListe, new int[]{280, 53, 117, 695}); + + dieListe.einfuegenBei(4, 846); + Tester.pruefeListenInhalt(dieListe, new int[]{280, 53, 117, 695, 846}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 695, 846}); + + dieListe.anhaengen(242); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 695, 846, 242}); + + dieListe.anhaengen(515); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 695, 846, 242, 515}); + + dieListe.einfuegenBei(6, 471); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 695, 846, 242, 515, 471}); + + dieListe.anhaengen(73); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 695, 846, 242, 515, 471, 73}); + + assertTrue("Fehler: Element 846 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(846)); + assertFalse("Fehler: Element 65 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(65)); + dieListe.einfuegenBei(7, 273); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 695, 846, 242, 515, 471, 273, 73}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 695, 846, 242, 515, 471, 73}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 695, 846, 242, 515, 73}); + + dieListe.anhaengen(99); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 695, 846, 242, 515, 73, 99}); + + dieListe.einfuegenBei(2, 644); + Tester.pruefeListenInhalt(dieListe, new int[]{53, 117, 644, 695, 846, 242, 515, 73, 99}); + + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 265); + Tester.pruefeListenInhalt(dieListe, new int[]{265}); + + assertFalse("Fehler: Element 478 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(478)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(357); + Tester.pruefeListenInhalt(dieListe, new int[]{357}); + + dieListe.anhaengen(214); + Tester.pruefeListenInhalt(dieListe, new int[]{357, 214}); + + dieListe.einfuegenBei(2, 277); + Tester.pruefeListenInhalt(dieListe, new int[]{357, 214, 277}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{357, 214}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{357}); + + assertFalse("Fehler: Element 291 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(291)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 771); + Tester.pruefeListenInhalt(dieListe, new int[]{771}); + + dieListe.anhaengen(619); + Tester.pruefeListenInhalt(dieListe, new int[]{771, 619}); + + dieListe.einfuegenBei(2, 245); + Tester.pruefeListenInhalt(dieListe, new int[]{771, 619, 245}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(689); + Tester.pruefeListenInhalt(dieListe, new int[]{689}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(977); + Tester.pruefeListenInhalt(dieListe, new int[]{977}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(318); + Tester.pruefeListenInhalt(dieListe, new int[]{318}); + + dieListe.anhaengen(413); + Tester.pruefeListenInhalt(dieListe, new int[]{318, 413}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{413}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(149); + Tester.pruefeListenInhalt(dieListe, new int[]{149}); + + dieListe.anhaengen(114); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 114}); + + dieListe.einfuegenBei(0, 476); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 114}); + + dieListe.anhaengen(323); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 114, 323}); + + assertTrue("Fehler: Element 114 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(114)); + assertTrue("Fehler: Element 114 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(114)); + dieListe.anhaengen(940); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 114, 323, 940}); + + assertFalse("Fehler: Element 641 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(641)); + dieListe.einfuegenBei(4, 59); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 114, 323, 59, 940}); + + assertTrue("Fehler: Element 149 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(149)); + dieListe.anhaengen(488); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 114, 323, 59, 940, 488}); + + assertTrue("Fehler: Element 149 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(149)); + assertFalse("Fehler: Element 390 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(390)); + dieListe.einfuegenBei(3, 614); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 114, 614, 323, 59, 940, 488}); + + dieListe.einfuegenBei(2, 557); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 557, 114, 614, 323, 59, 940, 488}); + + dieListe.anhaengen(908); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 557, 114, 614, 323, 59, 940, 488, 908}); + + dieListe.anhaengen(155); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 557, 114, 614, 323, 59, 940, 488, 908, 155}); + + dieListe.anhaengen(596); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 557, 114, 614, 323, 59, 940, 488, 908, 155, 596}); + + dieListe.einfuegenBei(5, 416); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 557, 114, 614, 416, 323, 59, 940, 488, 908, 155, 596}); + + dieListe.einfuegenBei(2, 832); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 614, 416, 323, 59, 940, 488, 908, 155, 596}); + + dieListe.einfuegenBei(10, 600); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 614, 416, 323, 59, 940, 600, 488, 908, 155, 596}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 614, 416, 323, 59, 940, 600, 908, 155, 596}); + + dieListe.einfuegenBei(9, 466); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 614, 416, 323, 59, 466, 940, 600, 908, 155, 596}); + + dieListe.anhaengen(670); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 614, 416, 323, 59, 466, 940, 600, 908, 155, 596, 670}); + + dieListe.anhaengen(762); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 614, 416, 323, 59, 466, 940, 600, 908, 155, 596, 670, 762}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 614, 416, 59, 466, 940, 600, 908, 155, 596, 670, 762}); + + dieListe.einfuegenBei(16, 813); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 614, 416, 59, 466, 940, 600, 908, 155, 596, 670, 762, 813}); + + dieListe.anhaengen(759); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 614, 416, 59, 466, 940, 600, 908, 155, 596, 670, 762, 813, 759}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 416, 59, 466, 940, 600, 908, 155, 596, 670, 762, 813, 759}); + + assertFalse("Fehler: Element 783 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(783)); + dieListe.einfuegenBei(15, 961); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 416, 59, 466, 940, 600, 908, 155, 596, 670, 762, 961, 813, 759}); + + dieListe.anhaengen(732); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 114, 416, 59, 466, 940, 600, 908, 155, 596, 670, 762, 961, 813, 759, 732}); + + dieListe.einfuegenBei(4, 414); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 114, 416, 59, 466, 940, 600, 908, 155, 596, 670, 762, 961, 813, 759, 732}); + + assertTrue("Fehler: Element 832 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(832)); + dieListe.einfuegenBei(14, 879); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 114, 416, 59, 466, 940, 600, 908, 155, 596, 879, 670, 762, 961, 813, 759, 732}); + + dieListe.einfuegenBei(8, 971); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 114, 416, 59, 971, 466, 940, 600, 908, 155, 596, 879, 670, 762, 961, 813, 759, 732}); + + dieListe.einfuegenBei(9, 743); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 114, 416, 59, 971, 743, 466, 940, 600, 908, 155, 596, 879, 670, 762, 961, 813, 759, 732}); + + dieListe.einfuegenBei(5, 836); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 155, 596, 879, 670, 762, 961, 813, 759, 732}); + + dieListe.entferneBei(16); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 155, 879, 670, 762, 961, 813, 759, 732}); + + assertTrue("Fehler: Element 961 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(961)); + dieListe.entferneBei(22); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 155, 879, 670, 762, 961, 813, 759}); + + dieListe.einfuegenBei(17, 173); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 155, 879, 173, 670, 762, 961, 813, 759}); + + dieListe.entferneBei(15); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 879, 173, 670, 762, 961, 813, 759}); + + dieListe.einfuegenBei(5, 97); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 149, 832, 557, 414, 97, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 879, 173, 670, 762, 961, 813, 759}); + + assertTrue("Fehler: Element 59 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(59)); + dieListe.einfuegenBei(1, 301); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 301, 149, 832, 557, 414, 97, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 879, 173, 670, 762, 961, 813, 759}); + + assertTrue("Fehler: Element 114 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(114)); + dieListe.einfuegenBei(21, 884); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 301, 149, 832, 557, 414, 97, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 879, 173, 670, 762, 884, 961, 813, 759}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 301, 832, 557, 414, 97, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 879, 173, 670, 762, 884, 961, 813, 759}); + + dieListe.anhaengen(974); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 301, 832, 557, 414, 97, 836, 114, 416, 59, 971, 743, 466, 940, 600, 908, 879, 173, 670, 762, 884, 961, 813, 759, 974}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{476, 301, 832, 557, 414, 97, 836, 114, 416, 59, 971, 743, 466, 600, 908, 879, 173, 670, 762, 884, 961, 813, 759, 974}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(812); + Tester.pruefeListenInhalt(dieListe, new int[]{812}); + + dieListe.anhaengen(57); + Tester.pruefeListenInhalt(dieListe, new int[]{812, 57}); + + dieListe.anhaengen(944); + Tester.pruefeListenInhalt(dieListe, new int[]{812, 57, 944}); + + dieListe.anhaengen(400); + Tester.pruefeListenInhalt(dieListe, new int[]{812, 57, 944, 400}); + + assertTrue("Fehler: Element 57 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(57)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{57, 944, 400}); + + assertFalse("Fehler: Element 854 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(854)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{944, 400}); + + dieListe.einfuegenBei(1, 930); + Tester.pruefeListenInhalt(dieListe, new int[]{944, 930, 400}); + + dieListe.anhaengen(626); + Tester.pruefeListenInhalt(dieListe, new int[]{944, 930, 400, 626}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{930, 400, 626}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{930, 626}); + + dieListe.anhaengen(857); + Tester.pruefeListenInhalt(dieListe, new int[]{930, 626, 857}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{930, 626}); + + dieListe.anhaengen(321); + Tester.pruefeListenInhalt(dieListe, new int[]{930, 626, 321}); + + assertTrue("Fehler: Element 930 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(930)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{930, 321}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{930}); + + dieListe.einfuegenBei(1, 583); + Tester.pruefeListenInhalt(dieListe, new int[]{930, 583}); + + dieListe.anhaengen(118); + Tester.pruefeListenInhalt(dieListe, new int[]{930, 583, 118}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{930, 118}); + + assertFalse("Fehler: Element 152 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(152)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{118}); + + dieListe.einfuegenBei(1, 746); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 746}); + + assertFalse("Fehler: Element 978 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(978)); + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(486); + Tester.pruefeListenInhalt(dieListe, new int[]{486}); + + dieListe.anhaengen(44); + Tester.pruefeListenInhalt(dieListe, new int[]{486, 44}); + + assertTrue("Fehler: Element 486 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(486)); + assertTrue("Fehler: Element 44 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(44)); + dieListe.einfuegenBei(1, 973); + Tester.pruefeListenInhalt(dieListe, new int[]{486, 973, 44}); + + dieListe.anhaengen(17); + Tester.pruefeListenInhalt(dieListe, new int[]{486, 973, 44, 17}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 44, 17}); + + dieListe.anhaengen(126); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 44, 17, 126}); + + dieListe.einfuegenBei(4, 515); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 44, 17, 126, 515}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 44, 17, 515}); + + dieListe.anhaengen(239); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 44, 17, 515, 239}); + + dieListe.einfuegenBei(1, 845); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 845, 44, 17, 515, 239}); + + dieListe.einfuegenBei(3, 462); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 845, 44, 462, 17, 515, 239}); + + dieListe.einfuegenBei(3, 247); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 845, 44, 247, 462, 17, 515, 239}); + + assertFalse("Fehler: Element 759 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(759)); + dieListe.einfuegenBei(3, 118); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 845, 44, 118, 247, 462, 17, 515, 239}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 845, 44, 118, 247, 462, 17, 239}); + + dieListe.einfuegenBei(4, 201); + Tester.pruefeListenInhalt(dieListe, new int[]{973, 845, 44, 118, 201, 247, 462, 17, 239}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 44, 118, 201, 247, 462, 17, 239}); + + dieListe.anhaengen(51); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 44, 118, 201, 247, 462, 17, 239, 51}); + + assertFalse("Fehler: Element 161 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(161)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 44, 201, 247, 462, 17, 239, 51}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{845, 44, 201, 247, 462, 239, 51}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 201, 247, 462, 239, 51}); + + dieListe.anhaengen(694); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 201, 247, 462, 239, 51, 694}); + + dieListe.anhaengen(700); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 201, 247, 462, 239, 51, 694, 700}); + + assertFalse("Fehler: Element 497 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(497)); + assertFalse("Fehler: Element 475 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(475)); + dieListe.einfuegenBei(5, 264); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 201, 247, 462, 239, 264, 51, 694, 700}); + + dieListe.einfuegenBei(1, 353); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 353, 201, 247, 462, 239, 264, 51, 694, 700}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 353, 201, 247, 462, 239, 264, 694, 700}); + + dieListe.einfuegenBei(1, 974); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 247, 462, 239, 264, 694, 700}); + + dieListe.einfuegenBei(5, 874); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 247, 874, 462, 239, 264, 694, 700}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 247, 874, 239, 264, 694, 700}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 247, 239, 264, 694, 700}); + + dieListe.einfuegenBei(6, 26); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 247, 239, 26, 264, 694, 700}); + + assertTrue("Fehler: Element 264 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(264)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 247, 239, 26, 264, 700}); + + assertFalse("Fehler: Element 993 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(993)); + dieListe.anhaengen(882); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 247, 239, 26, 264, 700, 882}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 247, 239, 26, 264, 882}); + + assertFalse("Fehler: Element 680 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(680)); + dieListe.einfuegenBei(2, 340); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 340, 353, 201, 247, 239, 26, 264, 882}); + + assertFalse("Fehler: Element 896 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(896)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 247, 239, 26, 264, 882}); + + dieListe.einfuegenBei(4, 389); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 26, 264, 882}); + + dieListe.anhaengen(299); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 26, 264, 882, 299}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 264, 882, 299}); + + dieListe.einfuegenBei(3, 195); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 195, 201, 389, 247, 239, 264, 882, 299}); + + assertTrue("Fehler: Element 195 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(195)); + dieListe.anhaengen(613); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 195, 201, 389, 247, 239, 264, 882, 299, 613}); + + dieListe.einfuegenBei(5, 611); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 195, 201, 611, 389, 247, 239, 264, 882, 299, 613}); + + assertTrue("Fehler: Element 264 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(264)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 611, 389, 247, 239, 264, 882, 299, 613}); + + dieListe.anhaengen(242); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 611, 389, 247, 239, 264, 882, 299, 613, 242}); + + assertFalse("Fehler: Element 75 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(75)); + assertTrue("Fehler: Element 389 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(389)); + dieListe.einfuegenBei(13, 140); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 611, 389, 247, 239, 264, 882, 299, 613, 242, 140}); + + assertFalse("Fehler: Element 388 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(388)); + dieListe.anhaengen(288); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 611, 389, 247, 239, 264, 882, 299, 613, 242, 140, 288}); + + assertFalse("Fehler: Element 759 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(759)); + dieListe.entferneBei(14); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 611, 389, 247, 239, 264, 882, 299, 613, 242, 140}); + + dieListe.anhaengen(352); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 611, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352}); + + dieListe.anhaengen(363); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 611, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352, 363}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352, 363}); + + assertTrue("Fehler: Element 264 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(264)); + dieListe.anhaengen(218); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352, 363, 218}); + + dieListe.anhaengen(644); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352, 363, 218, 644}); + + dieListe.einfuegenBei(16, 756); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352, 363, 218, 756, 644}); + + dieListe.anhaengen(900); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352, 363, 218, 756, 644, 900}); + + dieListe.einfuegenBei(15, 183); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352, 363, 183, 218, 756, 644, 900}); + + assertTrue("Fehler: Element 644 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(644)); + dieListe.entferneBei(15); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352, 363, 218, 756, 644, 900}); + + dieListe.einfuegenBei(14, 348); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 974, 353, 201, 389, 247, 239, 264, 882, 299, 613, 242, 140, 352, 348, 363, 218, 756, 644, 900}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(43); + Tester.pruefeListenInhalt(dieListe, new int[]{43}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 504); + Tester.pruefeListenInhalt(dieListe, new int[]{504}); + + dieListe.einfuegenBei(1, 667); + Tester.pruefeListenInhalt(dieListe, new int[]{504, 667}); + + assertFalse("Fehler: Element 187 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(187)); + dieListe.anhaengen(452); + Tester.pruefeListenInhalt(dieListe, new int[]{504, 667, 452}); + + dieListe.anhaengen(647); + Tester.pruefeListenInhalt(dieListe, new int[]{504, 667, 452, 647}); + + dieListe.einfuegenBei(3, 463); + Tester.pruefeListenInhalt(dieListe, new int[]{504, 667, 452, 463, 647}); + + dieListe.einfuegenBei(3, 826); + Tester.pruefeListenInhalt(dieListe, new int[]{504, 667, 452, 826, 463, 647}); + + dieListe.einfuegenBei(1, 532); + Tester.pruefeListenInhalt(dieListe, new int[]{504, 532, 667, 452, 826, 463, 647}); + + dieListe.einfuegenBei(5, 90); + Tester.pruefeListenInhalt(dieListe, new int[]{504, 532, 667, 452, 826, 90, 463, 647}); + + assertTrue("Fehler: Element 647 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(647)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{504, 532, 452, 826, 90, 463, 647}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{504, 532, 452, 826, 90, 647}); + + assertFalse("Fehler: Element 265 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(265)); + dieListe.einfuegenBei(0, 669); + Tester.pruefeListenInhalt(dieListe, new int[]{669, 504, 532, 452, 826, 90, 647}); + + assertFalse("Fehler: Element 687 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(687)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 454); + Tester.pruefeListenInhalt(dieListe, new int[]{454}); + + dieListe.einfuegenBei(0, 620); + Tester.pruefeListenInhalt(dieListe, new int[]{620, 454}); + + dieListe.anhaengen(450); + Tester.pruefeListenInhalt(dieListe, new int[]{620, 454, 450}); + + dieListe.anhaengen(955); + Tester.pruefeListenInhalt(dieListe, new int[]{620, 454, 450, 955}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{620, 450, 955}); + + dieListe.anhaengen(292); + Tester.pruefeListenInhalt(dieListe, new int[]{620, 450, 955, 292}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 753); + Tester.pruefeListenInhalt(dieListe, new int[]{753}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 61); + Tester.pruefeListenInhalt(dieListe, new int[]{61}); + + assertFalse("Fehler: Element 938 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(938)); + dieListe.anhaengen(705); + Tester.pruefeListenInhalt(dieListe, new int[]{61, 705}); + + dieListe.einfuegenBei(2, 124); + Tester.pruefeListenInhalt(dieListe, new int[]{61, 705, 124}); + + assertFalse("Fehler: Element 306 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(306)); + dieListe.anhaengen(920); + Tester.pruefeListenInhalt(dieListe, new int[]{61, 705, 124, 920}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{705, 124, 920}); + + dieListe.einfuegenBei(0, 569); + Tester.pruefeListenInhalt(dieListe, new int[]{569, 705, 124, 920}); + + dieListe.anhaengen(963); + Tester.pruefeListenInhalt(dieListe, new int[]{569, 705, 124, 920, 963}); + + dieListe.anhaengen(6); + Tester.pruefeListenInhalt(dieListe, new int[]{569, 705, 124, 920, 963, 6}); + + dieListe.anhaengen(749); + Tester.pruefeListenInhalt(dieListe, new int[]{569, 705, 124, 920, 963, 6, 749}); + + dieListe.anhaengen(883); + Tester.pruefeListenInhalt(dieListe, new int[]{569, 705, 124, 920, 963, 6, 749, 883}); + + dieListe.einfuegenBei(0, 875); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 124, 920, 963, 6, 749, 883}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 124, 920, 6, 749, 883}); + + dieListe.einfuegenBei(5, 554); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 124, 920, 554, 6, 749, 883}); + + assertFalse("Fehler: Element 165 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(165)); + assertFalse("Fehler: Element 444 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(444)); + dieListe.einfuegenBei(6, 313); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 124, 920, 554, 313, 6, 749, 883}); + + dieListe.einfuegenBei(3, 949); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 949, 124, 920, 554, 313, 6, 749, 883}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 949, 124, 920, 554, 313, 6, 883}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 949, 124, 920, 554, 313, 883}); + + dieListe.einfuegenBei(3, 449); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 449, 949, 124, 920, 554, 313, 883}); + + assertFalse("Fehler: Element 486 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(486)); + assertTrue("Fehler: Element 705 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(705)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 449, 949, 124, 554, 313, 883}); + + dieListe.einfuegenBei(9, 788); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 449, 949, 124, 554, 313, 883, 788}); + + assertFalse("Fehler: Element 335 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(335)); + dieListe.anhaengen(170); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 449, 949, 124, 554, 313, 883, 788, 170}); + + dieListe.einfuegenBei(4, 10); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 449, 10, 949, 124, 554, 313, 883, 788, 170}); + + dieListe.anhaengen(431); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 449, 10, 949, 124, 554, 313, 883, 788, 170, 431}); + + assertFalse("Fehler: Element 161 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(161)); + assertFalse("Fehler: Element 542 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(542)); + assertFalse("Fehler: Element 726 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(726)); + assertTrue("Fehler: Element 875 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(875)); + assertTrue("Fehler: Element 569 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(569)); + dieListe.einfuegenBei(7, 949); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 449, 10, 949, 124, 949, 554, 313, 883, 788, 170, 431}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 449, 10, 949, 124, 949, 554, 313, 883, 788, 431}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 569, 705, 449, 10, 949, 124, 949, 313, 883, 788, 431}); + + assertTrue("Fehler: Element 875 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(875)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 949, 313, 883, 788, 431}); + + dieListe.einfuegenBei(9, 600); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 949, 313, 883, 600, 788, 431}); + + assertFalse("Fehler: Element 93 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(93)); + assertFalse("Fehler: Element 368 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(368)); + dieListe.anhaengen(212); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 949, 313, 883, 600, 788, 431, 212}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 949, 313, 883, 600, 788, 431}); + + dieListe.anhaengen(575); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 949, 313, 883, 600, 788, 431, 575}); + + dieListe.anhaengen(157); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 949, 313, 883, 600, 788, 431, 575, 157}); + + dieListe.anhaengen(838); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 949, 313, 883, 600, 788, 431, 575, 157, 838}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 788, 431, 575, 157, 838}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 788, 431, 575, 157}); + + dieListe.einfuegenBei(12, 980); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 788, 431, 575, 980, 157}); + + dieListe.anhaengen(677); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 788, 431, 575, 980, 157, 677}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 788, 575, 980, 157, 677}); + + dieListe.einfuegenBei(9, 693); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 693, 788, 575, 980, 157, 677}); + + dieListe.anhaengen(37); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 693, 788, 575, 980, 157, 677, 37}); + + dieListe.anhaengen(212); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 693, 788, 575, 980, 157, 677, 37, 212}); + + dieListe.anhaengen(838); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 693, 788, 575, 980, 157, 677, 37, 212, 838}); + + dieListe.einfuegenBei(9, 427); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 427, 693, 788, 575, 980, 157, 677, 37, 212, 838}); + + dieListe.anhaengen(971); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 427, 693, 788, 575, 980, 157, 677, 37, 212, 838, 971}); + + dieListe.einfuegenBei(13, 708); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 427, 693, 788, 575, 708, 980, 157, 677, 37, 212, 838, 971}); + + dieListe.entferneBei(16); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 427, 693, 788, 575, 708, 980, 157, 37, 212, 838, 971}); + + dieListe.einfuegenBei(16, 67); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 427, 693, 788, 575, 708, 980, 157, 67, 37, 212, 838, 971}); + + dieListe.einfuegenBei(15, 133); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 313, 883, 600, 427, 693, 788, 575, 708, 980, 133, 157, 67, 37, 212, 838, 971}); + + dieListe.einfuegenBei(6, 525); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 949, 124, 525, 313, 883, 600, 427, 693, 788, 575, 708, 980, 133, 157, 67, 37, 212, 838, 971}); + + dieListe.einfuegenBei(4, 977); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 977, 949, 124, 525, 313, 883, 600, 427, 693, 788, 575, 708, 980, 133, 157, 67, 37, 212, 838, 971}); + + assertTrue("Fehler: Element 600 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(600)); + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{875, 705, 449, 10, 977, 124, 525, 313, 883, 600, 427, 693, 788, 575, 708, 980, 133, 157, 67, 37, 212, 838, 971}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(834); + Tester.pruefeListenInhalt(dieListe, new int[]{834}); + + assertTrue("Fehler: Element 834 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(834)); + dieListe.einfuegenBei(0, 657); + Tester.pruefeListenInhalt(dieListe, new int[]{657, 834}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{657}); + + assertTrue("Fehler: Element 657 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(657)); + dieListe.einfuegenBei(1, 884); + Tester.pruefeListenInhalt(dieListe, new int[]{657, 884}); + + dieListe.anhaengen(45); + Tester.pruefeListenInhalt(dieListe, new int[]{657, 884, 45}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 45}); + + dieListe.anhaengen(644); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 45, 644}); + + assertTrue("Fehler: Element 884 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(884)); + dieListe.anhaengen(413); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 45, 644, 413}); + + assertTrue("Fehler: Element 644 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(644)); + dieListe.anhaengen(686); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 45, 644, 413, 686}); + + assertFalse("Fehler: Element 804 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(804)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 45, 644, 413}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 644, 413}); + + dieListe.anhaengen(881); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 644, 413, 881}); + + dieListe.einfuegenBei(4, 685); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 644, 413, 881, 685}); + + assertFalse("Fehler: Element 87 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(87)); + assertTrue("Fehler: Element 884 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(884)); + assertTrue("Fehler: Element 413 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(413)); + assertTrue("Fehler: Element 413 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(413)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 644, 413, 881}); + + dieListe.anhaengen(897); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 644, 413, 881, 897}); + + dieListe.anhaengen(300); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 644, 413, 881, 897, 300}); + + dieListe.einfuegenBei(1, 396); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 396, 644, 413, 881, 897, 300}); + + assertTrue("Fehler: Element 300 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(300)); + assertTrue("Fehler: Element 413 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(413)); + assertTrue("Fehler: Element 884 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(884)); + dieListe.einfuegenBei(6, 568); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 396, 644, 413, 881, 897, 568, 300}); + + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 173); + Tester.pruefeListenInhalt(dieListe, new int[]{173}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 843); + Tester.pruefeListenInhalt(dieListe, new int[]{843}); + + assertFalse("Fehler: Element 602 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(602)); + assertTrue("Fehler: Element 843 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(843)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(914); + Tester.pruefeListenInhalt(dieListe, new int[]{914}); + + dieListe.einfuegenBei(0, 814); + Tester.pruefeListenInhalt(dieListe, new int[]{814, 914}); + + dieListe.einfuegenBei(1, 74); + Tester.pruefeListenInhalt(dieListe, new int[]{814, 74, 914}); + + assertFalse("Fehler: Element 787 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(787)); + dieListe.anhaengen(846); + Tester.pruefeListenInhalt(dieListe, new int[]{814, 74, 914, 846}); + + dieListe.anhaengen(95); + Tester.pruefeListenInhalt(dieListe, new int[]{814, 74, 914, 846, 95}); + + dieListe.einfuegenBei(0, 562); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 814, 74, 914, 846, 95}); + + dieListe.einfuegenBei(6, 84); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 814, 74, 914, 846, 95, 84}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 814, 74, 914, 95, 84}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 74, 914, 95, 84}); + + assertFalse("Fehler: Element 182 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(182)); + assertFalse("Fehler: Element 495 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(495)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 74, 914, 84}); + + dieListe.einfuegenBei(1, 556); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 74, 914, 84}); + + dieListe.einfuegenBei(1, 813); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 813, 556, 74, 914, 84}); + + dieListe.anhaengen(640); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 813, 556, 74, 914, 84, 640}); + + assertFalse("Fehler: Element 601 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(601)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 74, 914, 84, 640}); + + dieListe.einfuegenBei(1, 365); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 365, 556, 74, 914, 84, 640}); + + dieListe.anhaengen(126); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 365, 556, 74, 914, 84, 640, 126}); + + dieListe.einfuegenBei(7, 955); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 365, 556, 74, 914, 84, 640, 955, 126}); + + dieListe.anhaengen(309); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 365, 556, 74, 914, 84, 640, 955, 126, 309}); + + assertFalse("Fehler: Element 638 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(638)); + assertFalse("Fehler: Element 765 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(765)); + dieListe.anhaengen(551); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 365, 556, 74, 914, 84, 640, 955, 126, 309, 551}); + + dieListe.anhaengen(347); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 365, 556, 74, 914, 84, 640, 955, 126, 309, 551, 347}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 365, 556, 74, 914, 84, 640, 955, 309, 551, 347}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 365, 556, 74, 914, 84, 640, 955, 551, 347}); + + dieListe.anhaengen(995); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 365, 556, 74, 914, 84, 640, 955, 551, 347, 995}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 74, 914, 84, 640, 955, 551, 347, 995}); + + assertTrue("Fehler: Element 640 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(640)); + assertFalse("Fehler: Element 864 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(864)); + dieListe.einfuegenBei(7, 115); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 74, 914, 84, 640, 955, 115, 551, 347, 995}); + + dieListe.anhaengen(568); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 74, 914, 84, 640, 955, 115, 551, 347, 995, 568}); + + dieListe.einfuegenBei(2, 54); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 74, 914, 84, 640, 955, 115, 551, 347, 995, 568}); + + dieListe.einfuegenBei(5, 939); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 74, 914, 939, 84, 640, 955, 115, 551, 347, 995, 568}); + + assertTrue("Fehler: Element 84 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(84)); + dieListe.einfuegenBei(8, 790); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 74, 914, 939, 84, 640, 790, 955, 115, 551, 347, 995, 568}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 74, 939, 84, 640, 790, 955, 115, 551, 347, 995, 568}); + + assertTrue("Fehler: Element 84 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(84)); + dieListe.anhaengen(589); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 74, 939, 84, 640, 790, 955, 115, 551, 347, 995, 568, 589}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 939, 84, 640, 790, 955, 115, 551, 347, 995, 568, 589}); + + dieListe.anhaengen(83); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 939, 84, 640, 790, 955, 115, 551, 347, 995, 568, 589, 83}); + + dieListe.einfuegenBei(9, 267); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 939, 84, 640, 790, 955, 115, 267, 551, 347, 995, 568, 589, 83}); + + dieListe.anhaengen(131); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 939, 84, 640, 790, 955, 115, 267, 551, 347, 995, 568, 589, 83, 131}); + + dieListe.einfuegenBei(6, 602); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 939, 84, 640, 602, 790, 955, 115, 267, 551, 347, 995, 568, 589, 83, 131}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 939, 84, 640, 602, 790, 115, 267, 551, 347, 995, 568, 589, 83, 131}); + + dieListe.einfuegenBei(6, 397); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 556, 54, 939, 84, 640, 397, 602, 790, 115, 267, 551, 347, 995, 568, 589, 83, 131}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 781); + Tester.pruefeListenInhalt(dieListe, new int[]{781}); + + dieListe.einfuegenBei(0, 964); + Tester.pruefeListenInhalt(dieListe, new int[]{964, 781}); + + dieListe.einfuegenBei(0, 380); + Tester.pruefeListenInhalt(dieListe, new int[]{380, 964, 781}); + + dieListe.einfuegenBei(0, 991); + Tester.pruefeListenInhalt(dieListe, new int[]{991, 380, 964, 781}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 92); + Tester.pruefeListenInhalt(dieListe, new int[]{92}); + + dieListe.anhaengen(854); + Tester.pruefeListenInhalt(dieListe, new int[]{92, 854}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{854}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(24); + Tester.pruefeListenInhalt(dieListe, new int[]{24}); + + assertFalse("Fehler: Element 994 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(994)); + assertFalse("Fehler: Element 769 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(769)); +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 85); + Tester.pruefeListenInhalt(dieListe, new int[]{85}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 739); + Tester.pruefeListenInhalt(dieListe, new int[]{739}); + + assertTrue("Fehler: Element 739 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(739)); + assertTrue("Fehler: Element 739 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(739)); + dieListe.einfuegenBei(1, 609); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 609}); + + dieListe.anhaengen(646); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 609, 646}); + + assertFalse("Fehler: Element 697 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(697)); + dieListe.anhaengen(611); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 609, 646, 611}); + + dieListe.anhaengen(159); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 609, 646, 611, 159}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 646, 611, 159}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 611, 159}); + + dieListe.einfuegenBei(3, 86); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 611, 159, 86}); + + assertTrue("Fehler: Element 159 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(159)); + dieListe.anhaengen(535); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 611, 159, 86, 535}); + + dieListe.einfuegenBei(2, 607); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 611, 607, 159, 86, 535}); + + dieListe.anhaengen(445); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 611, 607, 159, 86, 535, 445}); + + assertFalse("Fehler: Element 794 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(794)); + dieListe.anhaengen(153); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 611, 607, 159, 86, 535, 445, 153}); + + dieListe.einfuegenBei(1, 866); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 866, 611, 607, 159, 86, 535, 445, 153}); + + dieListe.anhaengen(574); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 866, 611, 607, 159, 86, 535, 445, 153, 574}); + + dieListe.einfuegenBei(7, 169); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 866, 611, 607, 159, 86, 535, 169, 445, 153, 574}); + + dieListe.anhaengen(707); + Tester.pruefeListenInhalt(dieListe, new int[]{739, 866, 611, 607, 159, 86, 535, 169, 445, 153, 574, 707}); + + dieListe.einfuegenBei(0, 911); + Tester.pruefeListenInhalt(dieListe, new int[]{911, 739, 866, 611, 607, 159, 86, 535, 169, 445, 153, 574, 707}); + + assertFalse("Fehler: Element 476 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(476)); + dieListe.anhaengen(353); + Tester.pruefeListenInhalt(dieListe, new int[]{911, 739, 866, 611, 607, 159, 86, 535, 169, 445, 153, 574, 707, 353}); + + dieListe.einfuegenBei(1, 459); + Tester.pruefeListenInhalt(dieListe, new int[]{911, 459, 739, 866, 611, 607, 159, 86, 535, 169, 445, 153, 574, 707, 353}); + + dieListe.einfuegenBei(6, 431); + Tester.pruefeListenInhalt(dieListe, new int[]{911, 459, 739, 866, 611, 607, 431, 159, 86, 535, 169, 445, 153, 574, 707, 353}); + + assertFalse("Fehler: Element 672 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(672)); + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{911, 459, 739, 866, 611, 607, 431, 159, 86, 535, 169, 445, 153, 707, 353}); + + dieListe.einfuegenBei(0, 87); + Tester.pruefeListenInhalt(dieListe, new int[]{87, 911, 459, 739, 866, 611, 607, 431, 159, 86, 535, 169, 445, 153, 707, 353}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{87, 911, 459, 739, 866, 611, 607, 431, 159, 86, 535, 169, 445, 707, 353}); + + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(83); + Tester.pruefeListenInhalt(dieListe, new int[]{83}); + + assertFalse("Fehler: Element 893 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(893)); + dieListe.einfuegenBei(0, 421); + Tester.pruefeListenInhalt(dieListe, new int[]{421, 83}); + + assertFalse("Fehler: Element 714 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(714)); + dieListe.einfuegenBei(0, 175); + Tester.pruefeListenInhalt(dieListe, new int[]{175, 421, 83}); + + assertFalse("Fehler: Element 736 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(736)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{175, 421}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{421}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 639); + Tester.pruefeListenInhalt(dieListe, new int[]{639}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 311); + Tester.pruefeListenInhalt(dieListe, new int[]{311}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 175); + Tester.pruefeListenInhalt(dieListe, new int[]{175}); + + assertFalse("Fehler: Element 352 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(352)); + dieListe.anhaengen(759); + Tester.pruefeListenInhalt(dieListe, new int[]{175, 759}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{175}); + + assertTrue("Fehler: Element 175 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(175)); + assertFalse("Fehler: Element 203 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(203)); + assertTrue("Fehler: Element 175 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(175)); + dieListe.anhaengen(117); + Tester.pruefeListenInhalt(dieListe, new int[]{175, 117}); + + dieListe.anhaengen(664); + Tester.pruefeListenInhalt(dieListe, new int[]{175, 117, 664}); + + dieListe.einfuegenBei(3, 1); + Tester.pruefeListenInhalt(dieListe, new int[]{175, 117, 664, 1}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 661); + Tester.pruefeListenInhalt(dieListe, new int[]{661}); + + assertFalse("Fehler: Element 752 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(752)); + dieListe.anhaengen(285); + Tester.pruefeListenInhalt(dieListe, new int[]{661, 285}); + + dieListe.einfuegenBei(2, 234); + Tester.pruefeListenInhalt(dieListe, new int[]{661, 285, 234}); + + assertTrue("Fehler: Element 234 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(234)); + dieListe.anhaengen(249); + Tester.pruefeListenInhalt(dieListe, new int[]{661, 285, 234, 249}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{285, 234, 249}); + + assertFalse("Fehler: Element 227 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(227)); + assertFalse("Fehler: Element 735 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(735)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{285, 234}); + + dieListe.anhaengen(769); + Tester.pruefeListenInhalt(dieListe, new int[]{285, 234, 769}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{234, 769}); + + dieListe.einfuegenBei(1, 617); + Tester.pruefeListenInhalt(dieListe, new int[]{234, 617, 769}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{234, 617}); + + assertTrue("Fehler: Element 234 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(234)); + dieListe.anhaengen(998); + Tester.pruefeListenInhalt(dieListe, new int[]{234, 617, 998}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{234, 998}); + + assertFalse("Fehler: Element 591 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(591)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{998}); + + dieListe.einfuegenBei(1, 976); + Tester.pruefeListenInhalt(dieListe, new int[]{998, 976}); + + assertTrue("Fehler: Element 976 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(976)); + dieListe.anhaengen(474); + Tester.pruefeListenInhalt(dieListe, new int[]{998, 976, 474}); + + assertFalse("Fehler: Element 806 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(806)); + assertTrue("Fehler: Element 976 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(976)); + dieListe.anhaengen(666); + Tester.pruefeListenInhalt(dieListe, new int[]{998, 976, 474, 666}); + + dieListe.anhaengen(983); + Tester.pruefeListenInhalt(dieListe, new int[]{998, 976, 474, 666, 983}); + + dieListe.anhaengen(428); + Tester.pruefeListenInhalt(dieListe, new int[]{998, 976, 474, 666, 983, 428}); + + assertTrue("Fehler: Element 428 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(428)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 474, 666, 983, 428}); + + assertFalse("Fehler: Element 517 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(517)); + dieListe.anhaengen(778); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 474, 666, 983, 428, 778}); + + dieListe.einfuegenBei(2, 424); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 474, 424, 666, 983, 428, 778}); + + assertTrue("Fehler: Element 424 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(424)); + assertFalse("Fehler: Element 891 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(891)); + assertFalse("Fehler: Element 81 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(81)); + dieListe.einfuegenBei(1, 208); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 666, 983, 428, 778}); + + assertFalse("Fehler: Element 809 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(809)); + dieListe.anhaengen(623); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 666, 983, 428, 778, 623}); + + dieListe.einfuegenBei(4, 412); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 666, 983, 428, 778, 623}); + + dieListe.anhaengen(321); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 666, 983, 428, 778, 623, 321}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 666, 983, 428, 623, 321}); + + dieListe.einfuegenBei(10, 658); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 666, 983, 428, 623, 321, 658}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 983, 428, 623, 321, 658}); + + assertFalse("Fehler: Element 924 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(924)); + dieListe.anhaengen(719); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 983, 428, 623, 321, 658, 719}); + + dieListe.einfuegenBei(8, 367); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 983, 428, 623, 367, 321, 658, 719}); + + dieListe.einfuegenBei(12, 35); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 983, 428, 623, 367, 321, 658, 719, 35}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 983, 428, 623, 367, 321, 658, 35}); + + dieListe.einfuegenBei(7, 973); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 983, 428, 973, 623, 367, 321, 658, 35}); + + assertTrue("Fehler: Element 412 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(412)); + dieListe.anhaengen(840); + Tester.pruefeListenInhalt(dieListe, new int[]{976, 208, 474, 424, 412, 983, 428, 973, 623, 367, 321, 658, 35, 840}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 623, 367, 321, 658, 35, 840}); + + dieListe.anhaengen(95); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 623, 367, 321, 658, 35, 840, 95}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 623, 367, 321, 35, 840, 95}); + + dieListe.einfuegenBei(7, 499); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 499, 623, 367, 321, 35, 840, 95}); + + assertFalse("Fehler: Element 599 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(599)); + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 499, 623, 367, 321, 35, 95}); + + dieListe.anhaengen(448); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 499, 623, 367, 321, 35, 95, 448}); + + assertFalse("Fehler: Element 296 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(296)); + dieListe.anhaengen(105); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 499, 623, 367, 321, 35, 95, 448, 105}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 499, 623, 321, 35, 95, 448, 105}); + + assertFalse("Fehler: Element 903 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(903)); + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 499, 623, 321, 95, 448, 105}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 499, 623, 95, 448, 105}); + + dieListe.einfuegenBei(12, 42); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 412, 983, 428, 973, 499, 623, 95, 448, 105, 42}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 983, 428, 973, 499, 623, 95, 448, 105, 42}); + + assertFalse("Fehler: Element 317 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(317)); + assertTrue("Fehler: Element 42 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(42)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 983, 428, 973, 499, 623, 448, 105, 42}); + + dieListe.anhaengen(874); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 983, 428, 973, 499, 623, 448, 105, 42, 874}); + + assertFalse("Fehler: Element 95 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(95)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 474, 424, 983, 428, 973, 623, 448, 105, 42, 874}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 424, 983, 428, 973, 623, 448, 105, 42, 874}); + + dieListe.einfuegenBei(2, 120); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 424, 120, 983, 428, 973, 623, 448, 105, 42, 874}); + + dieListe.einfuegenBei(4, 683); + Tester.pruefeListenInhalt(dieListe, new int[]{208, 424, 120, 983, 683, 428, 973, 623, 448, 105, 42, 874}); + + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(388); + Tester.pruefeListenInhalt(dieListe, new int[]{388}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 417); + Tester.pruefeListenInhalt(dieListe, new int[]{417}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 85); + Tester.pruefeListenInhalt(dieListe, new int[]{85}); + + dieListe.einfuegenBei(0, 3); + Tester.pruefeListenInhalt(dieListe, new int[]{3, 85}); + + dieListe.anhaengen(725); + Tester.pruefeListenInhalt(dieListe, new int[]{3, 85, 725}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{3, 725}); + + dieListe.anhaengen(707); + Tester.pruefeListenInhalt(dieListe, new int[]{3, 725, 707}); + + assertFalse("Fehler: Element 523 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(523)); + assertTrue("Fehler: Element 707 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(707)); + dieListe.anhaengen(455); + Tester.pruefeListenInhalt(dieListe, new int[]{3, 725, 707, 455}); + + dieListe.anhaengen(196); + Tester.pruefeListenInhalt(dieListe, new int[]{3, 725, 707, 455, 196}); + + assertFalse("Fehler: Element 290 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(290)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 707, 455, 196}); + + dieListe.einfuegenBei(3, 454); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 707, 455, 454, 196}); + + dieListe.anhaengen(489); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 707, 455, 454, 196, 489}); + + assertTrue("Fehler: Element 707 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(707)); + assertTrue("Fehler: Element 196 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(196)); + dieListe.einfuegenBei(3, 772); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 707, 455, 772, 454, 196, 489}); + + dieListe.anhaengen(672); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 707, 455, 772, 454, 196, 489, 672}); + + assertFalse("Fehler: Element 368 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(368)); + assertTrue("Fehler: Element 489 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(489)); + assertTrue("Fehler: Element 672 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(672)); + dieListe.anhaengen(79); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 707, 455, 772, 454, 196, 489, 672, 79}); + + dieListe.anhaengen(219); + Tester.pruefeListenInhalt(dieListe, new int[]{725, 707, 455, 772, 454, 196, 489, 672, 79, 219}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(354); + Tester.pruefeListenInhalt(dieListe, new int[]{354}); + + dieListe.einfuegenBei(1, 780); + Tester.pruefeListenInhalt(dieListe, new int[]{354, 780}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{780}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(221); + Tester.pruefeListenInhalt(dieListe, new int[]{221}); + + dieListe.einfuegenBei(0, 92); + Tester.pruefeListenInhalt(dieListe, new int[]{92, 221}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{92}); + + dieListe.einfuegenBei(0, 799); + Tester.pruefeListenInhalt(dieListe, new int[]{799, 92}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{92}); + + dieListe.einfuegenBei(1, 588); + Tester.pruefeListenInhalt(dieListe, new int[]{92, 588}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(879); + Tester.pruefeListenInhalt(dieListe, new int[]{879}); + + dieListe.anhaengen(409); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 409}); + + assertFalse("Fehler: Element 982 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(982)); + dieListe.anhaengen(688); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 409, 688}); + + dieListe.anhaengen(377); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 409, 688, 377}); + + dieListe.einfuegenBei(3, 763); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 409, 688, 763, 377}); + + assertFalse("Fehler: Element 206 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(206)); + assertFalse("Fehler: Element 461 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(461)); + dieListe.einfuegenBei(4, 306); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 409, 688, 763, 306, 377}); + + dieListe.einfuegenBei(1, 175); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 175, 409, 688, 763, 306, 377}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 175, 688, 763, 306, 377}); + + dieListe.einfuegenBei(4, 148); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 175, 688, 763, 148, 306, 377}); + + dieListe.anhaengen(675); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 175, 688, 763, 148, 306, 377, 675}); + + dieListe.einfuegenBei(7, 893); + Tester.pruefeListenInhalt(dieListe, new int[]{879, 175, 688, 763, 148, 306, 377, 893, 675}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{175, 688, 763, 148, 306, 377, 893, 675}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{175, 688, 763, 306, 377, 893, 675}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 763, 306, 377, 893, 675}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 763, 306, 893, 675}); + + assertFalse("Fehler: Element 68 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(68)); + dieListe.einfuegenBei(4, 97); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 763, 306, 893, 97, 675}); + + assertFalse("Fehler: Element 348 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(348)); + dieListe.anhaengen(868); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 763, 306, 893, 97, 675, 868}); + + dieListe.anhaengen(688); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 763, 306, 893, 97, 675, 868, 688}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{688, 306, 893, 97, 675, 868, 688}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 692); + Tester.pruefeListenInhalt(dieListe, new int[]{692}); + + dieListe.einfuegenBei(0, 130); + Tester.pruefeListenInhalt(dieListe, new int[]{130, 692}); + + dieListe.einfuegenBei(0, 541); + Tester.pruefeListenInhalt(dieListe, new int[]{541, 130, 692}); + + dieListe.anhaengen(92); + Tester.pruefeListenInhalt(dieListe, new int[]{541, 130, 692, 92}); + + dieListe.einfuegenBei(4, 695); + Tester.pruefeListenInhalt(dieListe, new int[]{541, 130, 692, 92, 695}); + + dieListe.einfuegenBei(4, 157); + Tester.pruefeListenInhalt(dieListe, new int[]{541, 130, 692, 92, 157, 695}); + + assertTrue("Fehler: Element 692 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(692)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{541, 130, 692, 92, 695}); + + assertTrue("Fehler: Element 541 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(541)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{130, 692, 92, 695}); + + dieListe.anhaengen(170); + Tester.pruefeListenInhalt(dieListe, new int[]{130, 692, 92, 695, 170}); + + dieListe.einfuegenBei(3, 159); + Tester.pruefeListenInhalt(dieListe, new int[]{130, 692, 92, 159, 695, 170}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{130, 692, 92, 159, 170}); + + dieListe.einfuegenBei(1, 7); + Tester.pruefeListenInhalt(dieListe, new int[]{130, 7, 692, 92, 159, 170}); + + assertFalse("Fehler: Element 216 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(216)); + dieListe.einfuegenBei(0, 828); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 130, 7, 692, 92, 159, 170}); + + assertFalse("Fehler: Element 913 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(913)); + dieListe.anhaengen(526); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 130, 7, 692, 92, 159, 170, 526}); + + dieListe.anhaengen(634); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 130, 7, 692, 92, 159, 170, 526, 634}); + + dieListe.anhaengen(576); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 130, 7, 692, 92, 159, 170, 526, 634, 576}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 130, 692, 92, 159, 170, 526, 634, 576}); + + dieListe.einfuegenBei(2, 967); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 130, 967, 692, 92, 159, 170, 526, 634, 576}); + + dieListe.anhaengen(530); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 130, 967, 692, 92, 159, 170, 526, 634, 576, 530}); + + dieListe.anhaengen(612); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 130, 967, 692, 92, 159, 170, 526, 634, 576, 530, 612}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 130, 967, 692, 92, 159, 170, 526, 634, 576, 530}); + + dieListe.einfuegenBei(1, 941); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 941, 130, 967, 692, 92, 159, 170, 526, 634, 576, 530}); + + assertTrue("Fehler: Element 828 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(828)); + assertTrue("Fehler: Element 941 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(941)); + dieListe.anhaengen(220); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 941, 130, 967, 692, 92, 159, 170, 526, 634, 576, 530, 220}); + + dieListe.anhaengen(11); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 941, 130, 967, 692, 92, 159, 170, 526, 634, 576, 530, 220, 11}); + + assertFalse("Fehler: Element 734 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(734)); + dieListe.einfuegenBei(5, 335); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 941, 130, 967, 692, 335, 92, 159, 170, 526, 634, 576, 530, 220, 11}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 941, 130, 967, 692, 335, 159, 170, 526, 634, 576, 530, 220, 11}); + + assertTrue("Fehler: Element 130 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(130)); + dieListe.einfuegenBei(1, 469); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 469, 941, 130, 967, 692, 335, 159, 170, 526, 634, 576, 530, 220, 11}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 469, 941, 130, 967, 692, 335, 159, 170, 526, 634, 530, 220, 11}); + + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 151); + Tester.pruefeListenInhalt(dieListe, new int[]{151}); + + dieListe.einfuegenBei(0, 709); + Tester.pruefeListenInhalt(dieListe, new int[]{709, 151}); + + assertTrue("Fehler: Element 151 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(151)); + dieListe.anhaengen(262); + Tester.pruefeListenInhalt(dieListe, new int[]{709, 151, 262}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{709, 262}); + + assertTrue("Fehler: Element 262 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(262)); + dieListe.anhaengen(21); + Tester.pruefeListenInhalt(dieListe, new int[]{709, 262, 21}); + + dieListe.anhaengen(502); + Tester.pruefeListenInhalt(dieListe, new int[]{709, 262, 21, 502}); + + dieListe.anhaengen(527); + Tester.pruefeListenInhalt(dieListe, new int[]{709, 262, 21, 502, 527}); + + dieListe.anhaengen(850); + Tester.pruefeListenInhalt(dieListe, new int[]{709, 262, 21, 502, 527, 850}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{709, 21, 502, 527, 850}); + + assertTrue("Fehler: Element 21 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(21)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{709, 502, 527, 850}); + + assertFalse("Fehler: Element 584 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(584)); + dieListe.einfuegenBei(0, 364); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 850}); + + dieListe.anhaengen(89); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 850, 89}); + + dieListe.anhaengen(710); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 850, 89, 710}); + + assertTrue("Fehler: Element 710 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(710)); + dieListe.einfuegenBei(5, 185); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 850, 185, 89, 710}); + + dieListe.einfuegenBei(4, 862); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 185, 89, 710}); + + dieListe.anhaengen(24); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 185, 89, 710, 24}); + + assertTrue("Fehler: Element 364 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(364)); + dieListe.anhaengen(391); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 185, 89, 710, 24, 391}); + + assertTrue("Fehler: Element 850 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(850)); + assertTrue("Fehler: Element 185 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(185)); + dieListe.anhaengen(355); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 185, 89, 710, 24, 391, 355}); + + dieListe.anhaengen(174); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 185, 89, 710, 24, 391, 355, 174}); + + dieListe.einfuegenBei(9, 732); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 185, 89, 710, 732, 24, 391, 355, 174}); + + dieListe.anhaengen(137); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 185, 89, 710, 732, 24, 391, 355, 174, 137}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 185, 89, 710, 732, 24, 391, 355, 137}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 89, 710, 732, 24, 391, 355, 137}); + + dieListe.anhaengen(326); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 89, 710, 732, 24, 391, 355, 137, 326}); + + dieListe.anhaengen(883); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 862, 850, 89, 710, 732, 24, 391, 355, 137, 326, 883}); + + dieListe.einfuegenBei(4, 60); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 60, 862, 850, 89, 710, 732, 24, 391, 355, 137, 326, 883}); + + dieListe.anhaengen(140); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 60, 862, 850, 89, 710, 732, 24, 391, 355, 137, 326, 883, 140}); + + assertFalse("Fehler: Element 792 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(792)); + dieListe.einfuegenBei(5, 368); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 60, 368, 862, 850, 89, 710, 732, 24, 391, 355, 137, 326, 883, 140}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 60, 862, 850, 89, 710, 732, 24, 391, 355, 137, 326, 883, 140}); + + dieListe.einfuegenBei(11, 236); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 60, 862, 850, 89, 710, 732, 24, 236, 391, 355, 137, 326, 883, 140}); + + assertTrue("Fehler: Element 326 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(326)); + dieListe.einfuegenBei(8, 78); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 60, 862, 850, 89, 78, 710, 732, 24, 236, 391, 355, 137, 326, 883, 140}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 709, 502, 527, 60, 862, 850, 78, 710, 732, 24, 236, 391, 355, 137, 326, 883, 140}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 502, 527, 60, 862, 850, 78, 710, 732, 24, 236, 391, 355, 137, 326, 883, 140}); + + dieListe.einfuegenBei(6, 120); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 502, 527, 60, 862, 850, 120, 78, 710, 732, 24, 236, 391, 355, 137, 326, 883, 140}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 502, 527, 60, 862, 850, 120, 78, 732, 24, 236, 391, 355, 137, 326, 883, 140}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 502, 527, 60, 862, 850, 120, 78, 732, 24, 236, 391, 355, 326, 883, 140}); + + dieListe.anhaengen(234); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 502, 527, 60, 862, 850, 120, 78, 732, 24, 236, 391, 355, 326, 883, 140, 234}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(931); + Tester.pruefeListenInhalt(dieListe, new int[]{931}); + + dieListe.einfuegenBei(0, 103); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 931}); + + dieListe.anhaengen(707); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 931, 707}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 931}); + + dieListe.einfuegenBei(0, 77); + Tester.pruefeListenInhalt(dieListe, new int[]{77, 103, 931}); + + dieListe.anhaengen(428); + Tester.pruefeListenInhalt(dieListe, new int[]{77, 103, 931, 428}); + + dieListe.anhaengen(463); + Tester.pruefeListenInhalt(dieListe, new int[]{77, 103, 931, 428, 463}); + + dieListe.einfuegenBei(0, 128); + Tester.pruefeListenInhalt(dieListe, new int[]{128, 77, 103, 931, 428, 463}); + + dieListe.anhaengen(689); + Tester.pruefeListenInhalt(dieListe, new int[]{128, 77, 103, 931, 428, 463, 689}); + + assertTrue("Fehler: Element 77 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(77)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{128, 77, 931, 428, 463, 689}); + + dieListe.anhaengen(135); + Tester.pruefeListenInhalt(dieListe, new int[]{128, 77, 931, 428, 463, 689, 135}); + + dieListe.anhaengen(99); + Tester.pruefeListenInhalt(dieListe, new int[]{128, 77, 931, 428, 463, 689, 135, 99}); + + dieListe.anhaengen(192); + Tester.pruefeListenInhalt(dieListe, new int[]{128, 77, 931, 428, 463, 689, 135, 99, 192}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{128, 77, 931, 428, 463, 135, 99, 192}); + + dieListe.einfuegenBei(7, 905); + Tester.pruefeListenInhalt(dieListe, new int[]{128, 77, 931, 428, 463, 135, 99, 905, 192}); + + dieListe.einfuegenBei(1, 44); + Tester.pruefeListenInhalt(dieListe, new int[]{128, 44, 77, 931, 428, 463, 135, 99, 905, 192}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 77, 931, 428, 463, 135, 99, 905, 192}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 77, 931, 428, 463, 135, 905, 192}); + + assertFalse("Fehler: Element 580 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(580)); + dieListe.einfuegenBei(8, 815); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 77, 931, 428, 463, 135, 905, 192, 815}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 77, 931, 428, 463, 905, 192, 815}); + + dieListe.einfuegenBei(6, 300); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 77, 931, 428, 463, 905, 300, 192, 815}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 77, 931, 428, 905, 300, 192, 815}); + + dieListe.einfuegenBei(1, 607); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 905, 300, 192, 815}); + + dieListe.anhaengen(672); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 905, 300, 192, 815, 672}); + + dieListe.anhaengen(575); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 905, 300, 192, 815, 672, 575}); + + assertFalse("Fehler: Element 670 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(670)); + dieListe.anhaengen(133); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 905, 300, 192, 815, 672, 575, 133}); + + dieListe.anhaengen(967); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 905, 300, 192, 815, 672, 575, 133, 967}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 905, 300, 192, 815, 672, 575, 133}); + + assertTrue("Fehler: Element 300 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(300)); + assertTrue("Fehler: Element 44 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(44)); + assertFalse("Fehler: Element 985 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(985)); + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 905, 300, 192, 815, 575, 133}); + + assertTrue("Fehler: Element 428 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(428)); + dieListe.anhaengen(906); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 905, 300, 192, 815, 575, 133, 906}); + + assertTrue("Fehler: Element 77 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(77)); + assertFalse("Fehler: Element 793 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(793)); + dieListe.einfuegenBei(5, 789); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 789, 905, 300, 192, 815, 575, 133, 906}); + + assertTrue("Fehler: Element 906 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(906)); + dieListe.anhaengen(548); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 789, 905, 300, 192, 815, 575, 133, 906, 548}); + + dieListe.anhaengen(471); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 789, 905, 300, 192, 815, 575, 133, 906, 548, 471}); + + assertTrue("Fehler: Element 300 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(300)); + dieListe.einfuegenBei(15, 540); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 789, 905, 300, 192, 815, 575, 133, 906, 548, 471, 540}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 789, 905, 300, 815, 575, 133, 906, 548, 471, 540}); + + assertFalse("Fehler: Element 541 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(541)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 789, 905, 300, 575, 133, 906, 548, 471, 540}); + + dieListe.anhaengen(999); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 789, 905, 300, 575, 133, 906, 548, 471, 540, 999}); + + assertTrue("Fehler: Element 931 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(931)); + dieListe.anhaengen(382); + Tester.pruefeListenInhalt(dieListe, new int[]{44, 607, 77, 931, 428, 789, 905, 300, 575, 133, 906, 548, 471, 540, 999, 382}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 77, 931, 428, 789, 905, 300, 575, 133, 906, 548, 471, 540, 999, 382}); + + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(449); + Tester.pruefeListenInhalt(dieListe, new int[]{449}); + + assertFalse("Fehler: Element 884 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(884)); +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(948); + Tester.pruefeListenInhalt(dieListe, new int[]{948}); + + dieListe.einfuegenBei(1, 728); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 728}); + + assertTrue("Fehler: Element 948 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(948)); + dieListe.anhaengen(890); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 728, 890}); + + dieListe.einfuegenBei(3, 382); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 728, 890, 382}); + + dieListe.einfuegenBei(4, 168); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 728, 890, 382, 168}); + + assertTrue("Fehler: Element 890 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(890)); + dieListe.anhaengen(849); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 728, 890, 382, 168, 849}); + + assertTrue("Fehler: Element 948 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(948)); + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 728, 890, 382, 168}); + + dieListe.anhaengen(225); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 728, 890, 382, 168, 225}); + + dieListe.einfuegenBei(6, 56); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 728, 890, 382, 168, 225, 56}); + + dieListe.einfuegenBei(6, 256); + Tester.pruefeListenInhalt(dieListe, new int[]{948, 728, 890, 382, 168, 225, 256, 56}); + + dieListe.einfuegenBei(0, 47); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 948, 728, 890, 382, 168, 225, 256, 56}); + + dieListe.einfuegenBei(5, 723); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 948, 728, 890, 382, 723, 168, 225, 256, 56}); + + dieListe.anhaengen(867); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 948, 728, 890, 382, 723, 168, 225, 256, 56, 867}); + + dieListe.anhaengen(497); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 948, 728, 890, 382, 723, 168, 225, 256, 56, 867, 497}); + + dieListe.einfuegenBei(8, 780); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 948, 728, 890, 382, 723, 168, 225, 780, 256, 56, 867, 497}); + + dieListe.anhaengen(11); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 948, 728, 890, 382, 723, 168, 225, 780, 256, 56, 867, 497, 11}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 382, 723, 168, 225, 780, 256, 56, 867, 497, 11}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 382, 723, 168, 225, 256, 56, 867, 497, 11}); + + dieListe.anhaengen(832); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 382, 723, 168, 225, 256, 56, 867, 497, 11, 832}); + + dieListe.einfuegenBei(4, 283); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 382, 283, 723, 168, 225, 256, 56, 867, 497, 11, 832}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 168, 225, 256, 56, 867, 497, 11, 832}); + + dieListe.anhaengen(453); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 168, 225, 256, 56, 867, 497, 11, 832, 453}); + + dieListe.einfuegenBei(5, 598); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 598, 168, 225, 256, 56, 867, 497, 11, 832, 453}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 598, 168, 225, 256, 56, 867, 497, 832, 453}); + + dieListe.anhaengen(859); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 598, 168, 225, 256, 56, 867, 497, 832, 453, 859}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 598, 168, 225, 256, 56, 867, 497, 832, 859}); + + assertFalse("Fehler: Element 802 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(802)); + dieListe.anhaengen(793); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 598, 168, 225, 256, 56, 867, 497, 832, 859, 793}); + + assertTrue("Fehler: Element 598 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(598)); + dieListe.anhaengen(180); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 598, 168, 225, 256, 56, 867, 497, 832, 859, 793, 180}); + + dieListe.einfuegenBei(1, 420); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 420, 728, 890, 283, 723, 598, 168, 225, 256, 56, 867, 497, 832, 859, 793, 180}); + + dieListe.anhaengen(392); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 420, 728, 890, 283, 723, 598, 168, 225, 256, 56, 867, 497, 832, 859, 793, 180, 392}); + + dieListe.entferneBei(17); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 420, 728, 890, 283, 723, 598, 168, 225, 256, 56, 867, 497, 832, 859, 793, 180}); + + assertFalse("Fehler: Element 239 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(239)); + dieListe.einfuegenBei(7, 593); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 420, 728, 890, 283, 723, 598, 593, 168, 225, 256, 56, 867, 497, 832, 859, 793, 180}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 598, 593, 168, 225, 256, 56, 867, 497, 832, 859, 793, 180}); + + dieListe.einfuegenBei(17, 832); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 723, 598, 593, 168, 225, 256, 56, 867, 497, 832, 859, 793, 180, 832}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 598, 593, 168, 225, 256, 56, 867, 497, 832, 859, 793, 180, 832}); + + assertTrue("Fehler: Element 832 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(832)); + dieListe.einfuegenBei(4, 505); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 505, 598, 593, 168, 225, 256, 56, 867, 497, 832, 859, 793, 180, 832}); + + dieListe.einfuegenBei(14, 19); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 505, 598, 593, 168, 225, 256, 56, 867, 497, 832, 19, 859, 793, 180, 832}); + + dieListe.anhaengen(631); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 505, 598, 593, 168, 225, 256, 56, 867, 497, 832, 19, 859, 793, 180, 832, 631}); + + dieListe.anhaengen(534); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 505, 598, 593, 168, 225, 256, 56, 867, 497, 832, 19, 859, 793, 180, 832, 631, 534}); + + dieListe.einfuegenBei(5, 395); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 505, 395, 598, 593, 168, 225, 256, 56, 867, 497, 832, 19, 859, 793, 180, 832, 631, 534}); + + dieListe.anhaengen(718); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 505, 395, 598, 593, 168, 225, 256, 56, 867, 497, 832, 19, 859, 793, 180, 832, 631, 534, 718}); + + dieListe.anhaengen(144); + Tester.pruefeListenInhalt(dieListe, new int[]{47, 728, 890, 283, 505, 395, 598, 593, 168, 225, 256, 56, 867, 497, 832, 19, 859, 793, 180, 832, 631, 534, 718, 144}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(752); + Tester.pruefeListenInhalt(dieListe, new int[]{752}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 885); + Tester.pruefeListenInhalt(dieListe, new int[]{885}); + + assertFalse("Fehler: Element 533 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(533)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(868); + Tester.pruefeListenInhalt(dieListe, new int[]{868}); + + dieListe.anhaengen(490); + Tester.pruefeListenInhalt(dieListe, new int[]{868, 490}); + + dieListe.einfuegenBei(1, 276); + Tester.pruefeListenInhalt(dieListe, new int[]{868, 276, 490}); + + dieListe.einfuegenBei(2, 339); + Tester.pruefeListenInhalt(dieListe, new int[]{868, 276, 339, 490}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{868, 339, 490}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{868, 339}); + + dieListe.einfuegenBei(2, 990); + Tester.pruefeListenInhalt(dieListe, new int[]{868, 339, 990}); + + assertTrue("Fehler: Element 868 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(868)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{868, 990}); + + dieListe.einfuegenBei(0, 185); + Tester.pruefeListenInhalt(dieListe, new int[]{185, 868, 990}); + + assertFalse("Fehler: Element 725 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(725)); + dieListe.einfuegenBei(2, 738); + Tester.pruefeListenInhalt(dieListe, new int[]{185, 868, 738, 990}); + + assertFalse("Fehler: Element 615 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(615)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{185, 868, 990}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{185, 868}); + + assertTrue("Fehler: Element 868 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(868)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{185}); + + assertTrue("Fehler: Element 185 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(185)); + dieListe.einfuegenBei(0, 622); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 185}); + + assertFalse("Fehler: Element 668 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(668)); + dieListe.anhaengen(637); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 185, 637}); + + dieListe.anhaengen(718); + Tester.pruefeListenInhalt(dieListe, new int[]{622, 185, 637, 718}); + + assertTrue("Fehler: Element 637 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(637)); + assertTrue("Fehler: Element 718 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(718)); + assertFalse("Fehler: Element 442 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(442)); + assertFalse("Fehler: Element 419 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(419)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{185, 637, 718}); + + dieListe.einfuegenBei(3, 92); + Tester.pruefeListenInhalt(dieListe, new int[]{185, 637, 718, 92}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{185, 718, 92}); + + assertFalse("Fehler: Element 590 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(590)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{718, 92}); + + dieListe.anhaengen(597); + Tester.pruefeListenInhalt(dieListe, new int[]{718, 92, 597}); + + dieListe.einfuegenBei(1, 401); + Tester.pruefeListenInhalt(dieListe, new int[]{718, 401, 92, 597}); + + dieListe.einfuegenBei(3, 937); + Tester.pruefeListenInhalt(dieListe, new int[]{718, 401, 92, 937, 597}); + + dieListe.einfuegenBei(0, 239); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 718, 401, 92, 937, 597}); + + assertTrue("Fehler: Element 597 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(597)); + dieListe.anhaengen(251); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 718, 401, 92, 937, 597, 251}); + + dieListe.einfuegenBei(2, 492); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 718, 492, 401, 92, 937, 597, 251}); + + dieListe.anhaengen(704); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 718, 492, 401, 92, 937, 597, 251, 704}); + + assertTrue("Fehler: Element 401 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(401)); + assertFalse("Fehler: Element 681 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(681)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{239, 718, 492, 401, 92, 937, 597, 251}); + + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(799); + Tester.pruefeListenInhalt(dieListe, new int[]{799}); + + dieListe.anhaengen(137); + Tester.pruefeListenInhalt(dieListe, new int[]{799, 137}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{799}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(262); + Tester.pruefeListenInhalt(dieListe, new int[]{262}); + + dieListe.einfuegenBei(1, 403); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 403}); + + dieListe.einfuegenBei(2, 118); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 403, 118}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{403, 118}); + + dieListe.anhaengen(905); + Tester.pruefeListenInhalt(dieListe, new int[]{403, 118, 905}); + + dieListe.einfuegenBei(3, 135); + Tester.pruefeListenInhalt(dieListe, new int[]{403, 118, 905, 135}); + + assertTrue("Fehler: Element 118 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(118)); + dieListe.anhaengen(391); + Tester.pruefeListenInhalt(dieListe, new int[]{403, 118, 905, 135, 391}); + + dieListe.anhaengen(452); + Tester.pruefeListenInhalt(dieListe, new int[]{403, 118, 905, 135, 391, 452}); + + assertTrue("Fehler: Element 118 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(118)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 905, 135, 391, 452}); + + dieListe.anhaengen(508); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 905, 135, 391, 452, 508}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{118, 135, 391, 452, 508}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 391, 452, 508}); + + assertTrue("Fehler: Element 135 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(135)); + dieListe.einfuegenBei(3, 68); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 391, 452, 68, 508}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(108); + Tester.pruefeListenInhalt(dieListe, new int[]{108}); + + dieListe.einfuegenBei(1, 989); + Tester.pruefeListenInhalt(dieListe, new int[]{108, 989}); + + assertTrue("Fehler: Element 989 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(989)); + dieListe.anhaengen(912); + Tester.pruefeListenInhalt(dieListe, new int[]{108, 989, 912}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(81); + Tester.pruefeListenInhalt(dieListe, new int[]{81}); + + dieListe.anhaengen(928); + Tester.pruefeListenInhalt(dieListe, new int[]{81, 928}); + + assertFalse("Fehler: Element 400 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(400)); + assertFalse("Fehler: Element 600 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(600)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{81}); + + dieListe.einfuegenBei(0, 700); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 81}); + + dieListe.anhaengen(991); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 81, 991}); + + assertFalse("Fehler: Element 407 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(407)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 81}); + + dieListe.einfuegenBei(2, 292); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 81, 292}); + + dieListe.einfuegenBei(1, 379); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 379, 81, 292}); + + dieListe.anhaengen(634); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 379, 81, 292, 634}); + + dieListe.einfuegenBei(5, 319); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 379, 81, 292, 634, 319}); + + assertTrue("Fehler: Element 700 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(700)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 379, 81, 292, 319}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 379, 81, 292}); + + dieListe.anhaengen(4); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 379, 81, 292, 4}); + + dieListe.anhaengen(274); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 379, 81, 292, 4, 274}); + + assertTrue("Fehler: Element 274 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(274)); + assertTrue("Fehler: Element 4 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(4)); + dieListe.anhaengen(822); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 379, 81, 292, 4, 274, 822}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 379, 292, 4, 274, 822}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 292, 4, 274, 822}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 292, 4, 822}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 292, 822}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{700, 292}); + + assertFalse("Fehler: Element 367 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(367)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{292}); + + dieListe.einfuegenBei(1, 203); + Tester.pruefeListenInhalt(dieListe, new int[]{292, 203}); + + assertFalse("Fehler: Element 847 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(847)); + dieListe.einfuegenBei(0, 366); + Tester.pruefeListenInhalt(dieListe, new int[]{366, 292, 203}); + + dieListe.anhaengen(400); + Tester.pruefeListenInhalt(dieListe, new int[]{366, 292, 203, 400}); + + assertTrue("Fehler: Element 400 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(400)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{366, 203, 400}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{366, 400}); + + dieListe.einfuegenBei(0, 963); + Tester.pruefeListenInhalt(dieListe, new int[]{963, 366, 400}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{366, 400}); + + dieListe.einfuegenBei(0, 778); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 366, 400}); + + dieListe.einfuegenBei(3, 813); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 366, 400, 813}); + + dieListe.anhaengen(881); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 366, 400, 813, 881}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 366, 813, 881}); + + dieListe.anhaengen(172); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 366, 813, 881, 172}); + + dieListe.einfuegenBei(1, 509); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 509, 366, 813, 881, 172}); + + assertFalse("Fehler: Element 772 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(772)); + dieListe.einfuegenBei(6, 355); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 509, 366, 813, 881, 172, 355}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 509, 813, 881, 172, 355}); + + dieListe.anhaengen(247); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 509, 813, 881, 172, 355, 247}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 509, 881, 172, 355, 247}); + + dieListe.einfuegenBei(1, 543); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 543, 509, 881, 172, 355, 247}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 543, 509, 172, 355, 247}); + + dieListe.einfuegenBei(6, 59); + Tester.pruefeListenInhalt(dieListe, new int[]{778, 543, 509, 172, 355, 247, 59}); + + assertFalse("Fehler: Element 705 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(705)); + dieListe.einfuegenBei(0, 334); + Tester.pruefeListenInhalt(dieListe, new int[]{334, 778, 543, 509, 172, 355, 247, 59}); + + dieListe.einfuegenBei(0, 137); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 778, 543, 509, 172, 355, 247, 59}); + + dieListe.einfuegenBei(8, 339); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 778, 543, 509, 172, 355, 247, 339, 59}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 778, 543, 172, 355, 247, 339, 59}); + + dieListe.einfuegenBei(4, 754); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 778, 543, 754, 172, 355, 247, 339, 59}); + + dieListe.anhaengen(61); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 778, 543, 754, 172, 355, 247, 339, 59, 61}); + + dieListe.anhaengen(447); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 778, 543, 754, 172, 355, 247, 339, 59, 61, 447}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 778, 543, 754, 172, 355, 339, 59, 61, 447}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 778, 754, 172, 355, 339, 59, 61, 447}); + + assertFalse("Fehler: Element 138 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(138)); + dieListe.einfuegenBei(2, 18); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 18, 778, 754, 172, 355, 339, 59, 61, 447}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 18, 778, 754, 172, 355, 339, 59, 447}); + + dieListe.einfuegenBei(7, 355); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 18, 778, 754, 172, 355, 355, 339, 59, 447}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 18, 778, 754, 172, 355, 339, 59, 447}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 334, 18, 778, 754, 355, 339, 59, 447}); + + dieListe.einfuegenBei(1, 666); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 666, 334, 18, 778, 754, 355, 339, 59, 447}); + + dieListe.einfuegenBei(4, 343); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 666, 334, 18, 343, 778, 754, 355, 339, 59, 447}); + + dieListe.einfuegenBei(10, 268); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 666, 334, 18, 343, 778, 754, 355, 339, 59, 268, 447}); + + dieListe.einfuegenBei(10, 539); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 666, 334, 18, 343, 778, 754, 355, 339, 59, 539, 268, 447}); + + dieListe.anhaengen(968); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 666, 334, 18, 343, 778, 754, 355, 339, 59, 539, 268, 447, 968}); + + dieListe.anhaengen(186); + Tester.pruefeListenInhalt(dieListe, new int[]{137, 666, 334, 18, 343, 778, 754, 355, 339, 59, 539, 268, 447, 968, 186}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest8.java b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest8.java new file mode 100644 index 0000000..d8dc5a3 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest8.java @@ -0,0 +1,2821 @@ +package tests; + +import static org.junit.Assert.*; + +import liste.*; + +/** + * Die Test-Klasse SubTest8. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest8 { + + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(801); + Tester.pruefeListenInhalt(dieListe, new int[]{801}); + + dieListe.einfuegenBei(0, 658); + Tester.pruefeListenInhalt(dieListe, new int[]{658, 801}); + + dieListe.anhaengen(896); + Tester.pruefeListenInhalt(dieListe, new int[]{658, 801, 896}); + + dieListe.einfuegenBei(0, 618); + Tester.pruefeListenInhalt(dieListe, new int[]{618, 658, 801, 896}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{618, 658, 801}); + + assertTrue("Fehler: Element 658 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(658)); + dieListe.einfuegenBei(1, 715); + Tester.pruefeListenInhalt(dieListe, new int[]{618, 715, 658, 801}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{618, 715, 658}); + + dieListe.anhaengen(888); + Tester.pruefeListenInhalt(dieListe, new int[]{618, 715, 658, 888}); + + dieListe.einfuegenBei(0, 224); + Tester.pruefeListenInhalt(dieListe, new int[]{224, 618, 715, 658, 888}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{224, 618, 715, 888}); + + dieListe.einfuegenBei(3, 550); + Tester.pruefeListenInhalt(dieListe, new int[]{224, 618, 715, 550, 888}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{224, 618, 715, 550}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{224, 715, 550}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{715, 550}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{715}); + + dieListe.einfuegenBei(0, 109); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715}); + + dieListe.anhaengen(687); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687}); + + dieListe.anhaengen(939); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 939}); + + dieListe.anhaengen(967); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 939, 967}); + + dieListe.anhaengen(40); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 939, 967, 40}); + + assertFalse("Fehler: Element 879 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(879)); + dieListe.einfuegenBei(6, 55); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 939, 967, 40, 55}); + + dieListe.anhaengen(80); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 939, 967, 40, 55, 80}); + + assertTrue("Fehler: Element 939 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(939)); + dieListe.einfuegenBei(4, 357); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 939, 357, 967, 40, 55, 80}); + + dieListe.anhaengen(245); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 939, 357, 967, 40, 55, 80, 245}); + + assertFalse("Fehler: Element 311 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(311)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 967, 40, 55, 80, 245}); + + dieListe.anhaengen(395); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 967, 40, 55, 80, 245, 395}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 967, 40, 80, 245, 395}); + + dieListe.anhaengen(437); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 967, 40, 80, 245, 395, 437}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 245, 395, 437}); + + dieListe.anhaengen(494); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 245, 395, 437, 494}); + + assertFalse("Fehler: Element 762 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(762)); + dieListe.einfuegenBei(8, 282); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 245, 395, 282, 437, 494}); + + assertTrue("Fehler: Element 40 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(40)); + assertFalse("Fehler: Element 855 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(855)); + assertTrue("Fehler: Element 40 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(40)); + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 245, 395, 282, 437}); + + assertTrue("Fehler: Element 395 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(395)); + dieListe.einfuegenBei(8, 123); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 245, 395, 123, 282, 437}); + + dieListe.anhaengen(82); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 245, 395, 123, 282, 437, 82}); + + dieListe.anhaengen(437); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 245, 395, 123, 282, 437, 82, 437}); + + dieListe.anhaengen(77); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 245, 395, 123, 282, 437, 82, 437, 77}); + + assertTrue("Fehler: Element 77 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(77)); + dieListe.einfuegenBei(6, 155); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 155, 245, 395, 123, 282, 437, 82, 437, 77}); + + dieListe.anhaengen(570); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 687, 357, 40, 80, 155, 245, 395, 123, 282, 437, 82, 437, 77, 570}); + + assertFalse("Fehler: Element 456 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(456)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 357, 40, 80, 155, 245, 395, 123, 282, 437, 82, 437, 77, 570}); + + assertFalse("Fehler: Element 379 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(379)); + assertTrue("Fehler: Element 40 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(40)); + dieListe.einfuegenBei(11, 585); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 357, 40, 80, 155, 245, 395, 123, 282, 437, 585, 82, 437, 77, 570}); + + assertFalse("Fehler: Element 303 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(303)); + assertTrue("Fehler: Element 40 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(40)); + assertFalse("Fehler: Element 306 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(306)); + dieListe.entferneBei(15); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 357, 40, 80, 155, 245, 395, 123, 282, 437, 585, 82, 437, 77}); + + assertFalse("Fehler: Element 560 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(560)); + dieListe.einfuegenBei(12, 53); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 357, 40, 80, 155, 245, 395, 123, 282, 437, 585, 53, 82, 437, 77}); + + dieListe.einfuegenBei(0, 512); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 357, 40, 80, 155, 245, 395, 123, 282, 437, 585, 53, 82, 437, 77}); + + assertTrue("Fehler: Element 715 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(715)); + dieListe.einfuegenBei(1, 142); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 142, 109, 715, 357, 40, 80, 155, 245, 395, 123, 282, 437, 585, 53, 82, 437, 77}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 357, 40, 80, 155, 245, 395, 123, 282, 437, 585, 53, 82, 437, 77}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 357, 40, 80, 245, 395, 123, 282, 437, 585, 53, 82, 437, 77}); + + dieListe.anhaengen(877); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 357, 40, 80, 245, 395, 123, 282, 437, 585, 53, 82, 437, 77, 877}); + + dieListe.anhaengen(853); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 357, 40, 80, 245, 395, 123, 282, 437, 585, 53, 82, 437, 77, 877, 853}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 357, 40, 80, 395, 123, 282, 437, 585, 53, 82, 437, 77, 877, 853}); + + assertTrue("Fehler: Element 437 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(437)); + dieListe.anhaengen(797); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 357, 40, 80, 395, 123, 282, 437, 585, 53, 82, 437, 77, 877, 853, 797}); + + assertTrue("Fehler: Element 877 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(877)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 40, 80, 395, 123, 282, 437, 585, 53, 82, 437, 77, 877, 853, 797}); + + assertTrue("Fehler: Element 40 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(40)); + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 40, 80, 395, 123, 282, 437, 585, 53, 82, 437, 877, 853, 797}); + + dieListe.anhaengen(405); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 40, 80, 395, 123, 282, 437, 585, 53, 82, 437, 877, 853, 797, 405}); + + dieListe.einfuegenBei(3, 454); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 80, 395, 123, 282, 437, 585, 53, 82, 437, 877, 853, 797, 405}); + + dieListe.anhaengen(642); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 80, 395, 123, 282, 437, 585, 53, 82, 437, 877, 853, 797, 405, 642}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 80, 123, 282, 437, 585, 53, 82, 437, 877, 853, 797, 405, 642}); + + dieListe.anhaengen(438); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 80, 123, 282, 437, 585, 53, 82, 437, 877, 853, 797, 405, 642, 438}); + + dieListe.entferneBei(14); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 80, 123, 282, 437, 585, 53, 82, 437, 877, 797, 405, 642, 438}); + + assertTrue("Fehler: Element 282 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(282)); + dieListe.entferneBei(17); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 80, 123, 282, 437, 585, 53, 82, 437, 877, 797, 405, 642}); + + dieListe.einfuegenBei(15, 425); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 80, 123, 282, 437, 585, 53, 82, 437, 877, 797, 425, 405, 642}); + + assertFalse("Fehler: Element 61 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(61)); + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 80, 123, 437, 585, 53, 82, 437, 877, 797, 425, 405, 642}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 123, 437, 585, 53, 82, 437, 877, 797, 425, 405, 642}); + + dieListe.einfuegenBei(15, 75); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 123, 437, 585, 53, 82, 437, 877, 797, 425, 405, 75, 642}); + + dieListe.anhaengen(22); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 123, 437, 585, 53, 82, 437, 877, 797, 425, 405, 75, 642, 22}); + + dieListe.anhaengen(25); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 123, 437, 585, 53, 82, 437, 877, 797, 425, 405, 75, 642, 22, 25}); + + assertFalse("Fehler: Element 752 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(752)); + assertTrue("Fehler: Element 405 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(405)); + dieListe.anhaengen(591); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 123, 437, 585, 53, 82, 437, 877, 797, 425, 405, 75, 642, 22, 25, 591}); + + assertFalse("Fehler: Element 161 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(161)); + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{512, 109, 715, 454, 40, 123, 437, 585, 53, 82, 877, 797, 425, 405, 75, 642, 22, 25, 591}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{109, 715, 454, 40, 123, 437, 585, 53, 82, 877, 797, 425, 405, 75, 642, 22, 25, 591}); + + dieListe.einfuegenBei(0, 181); + Tester.pruefeListenInhalt(dieListe, new int[]{181, 109, 715, 454, 40, 123, 437, 585, 53, 82, 877, 797, 425, 405, 75, 642, 22, 25, 591}); + + dieListe.anhaengen(145); + Tester.pruefeListenInhalt(dieListe, new int[]{181, 109, 715, 454, 40, 123, 437, 585, 53, 82, 877, 797, 425, 405, 75, 642, 22, 25, 591, 145}); + + dieListe.einfuegenBei(6, 117); + Tester.pruefeListenInhalt(dieListe, new int[]{181, 109, 715, 454, 40, 123, 117, 437, 585, 53, 82, 877, 797, 425, 405, 75, 642, 22, 25, 591, 145}); + + dieListe.einfuegenBei(6, 495); + Tester.pruefeListenInhalt(dieListe, new int[]{181, 109, 715, 454, 40, 123, 495, 117, 437, 585, 53, 82, 877, 797, 425, 405, 75, 642, 22, 25, 591, 145}); + + dieListe.einfuegenBei(15, 918); + Tester.pruefeListenInhalt(dieListe, new int[]{181, 109, 715, 454, 40, 123, 495, 117, 437, 585, 53, 82, 877, 797, 425, 918, 405, 75, 642, 22, 25, 591, 145}); + + assertFalse("Fehler: Element 39 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(39)); + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(449); + Tester.pruefeListenInhalt(dieListe, new int[]{449}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(136); + Tester.pruefeListenInhalt(dieListe, new int[]{136}); + + assertTrue("Fehler: Element 136 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(136)); + dieListe.einfuegenBei(0, 783); + Tester.pruefeListenInhalt(dieListe, new int[]{783, 136}); + + dieListe.anhaengen(630); + Tester.pruefeListenInhalt(dieListe, new int[]{783, 136, 630}); + + assertTrue("Fehler: Element 783 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(783)); + dieListe.einfuegenBei(2, 107); + Tester.pruefeListenInhalt(dieListe, new int[]{783, 136, 107, 630}); + + assertFalse("Fehler: Element 697 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(697)); + dieListe.einfuegenBei(0, 986); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 783, 136, 107, 630}); + + dieListe.anhaengen(441); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 783, 136, 107, 630, 441}); + + dieListe.einfuegenBei(1, 403); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 403, 783, 136, 107, 630, 441}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 403, 783, 136, 107, 441}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 403, 783, 107, 441}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 403, 107, 441}); + + dieListe.anhaengen(758); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 403, 107, 441, 758}); + + assertTrue("Fehler: Element 986 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(986)); + dieListe.einfuegenBei(1, 70); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 70, 403, 107, 441, 758}); + + dieListe.anhaengen(19); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 70, 403, 107, 441, 758, 19}); + + dieListe.anhaengen(465); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 70, 403, 107, 441, 758, 19, 465}); + + dieListe.einfuegenBei(3, 602); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 70, 403, 602, 107, 441, 758, 19, 465}); + + assertFalse("Fehler: Element 230 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(230)); + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{986, 70, 403, 602, 107, 441, 758, 465}); + + assertTrue("Fehler: Element 758 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(758)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 623); + Tester.pruefeListenInhalt(dieListe, new int[]{623}); + + assertFalse("Fehler: Element 98 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(98)); + dieListe.einfuegenBei(0, 96); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 623}); + + assertTrue("Fehler: Element 623 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(623)); + dieListe.einfuegenBei(2, 146); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 623, 146}); + + dieListe.einfuegenBei(3, 268); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 623, 146, 268}); + + dieListe.einfuegenBei(1, 195); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 195, 623, 146, 268}); + + assertFalse("Fehler: Element 619 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(619)); + assertFalse("Fehler: Element 835 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(835)); + assertTrue("Fehler: Element 96 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(96)); + assertTrue("Fehler: Element 195 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(195)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 195, 146, 268}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 195, 146}); + + dieListe.einfuegenBei(2, 115); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 195, 115, 146}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 115, 146}); + + dieListe.einfuegenBei(3, 850); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 115, 146, 850}); + + assertFalse("Fehler: Element 944 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(944)); + dieListe.einfuegenBei(4, 532); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 115, 146, 850, 532}); + + dieListe.einfuegenBei(1, 95); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 95, 115, 146, 850, 532}); + + dieListe.anhaengen(6); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 95, 115, 146, 850, 532, 6}); + + dieListe.anhaengen(631); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 95, 115, 146, 850, 532, 6, 631}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 95, 146, 850, 532, 6, 631}); + + assertFalse("Fehler: Element 695 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(695)); + dieListe.anhaengen(257); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 95, 146, 850, 532, 6, 631, 257}); + + assertFalse("Fehler: Element 772 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(772)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 95, 146, 850, 532, 6, 257}); + + assertFalse("Fehler: Element 833 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(833)); + assertTrue("Fehler: Element 146 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(146)); + dieListe.einfuegenBei(3, 655); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 95, 146, 655, 850, 532, 6, 257}); + + dieListe.anhaengen(358); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 95, 146, 655, 850, 532, 6, 257, 358}); + + assertFalse("Fehler: Element 249 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(249)); + dieListe.anhaengen(154); + Tester.pruefeListenInhalt(dieListe, new int[]{96, 95, 146, 655, 850, 532, 6, 257, 358, 154}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 584); + Tester.pruefeListenInhalt(dieListe, new int[]{584}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(557); + Tester.pruefeListenInhalt(dieListe, new int[]{557}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 520); + Tester.pruefeListenInhalt(dieListe, new int[]{520}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 26); + Tester.pruefeListenInhalt(dieListe, new int[]{26}); + + assertTrue("Fehler: Element 26 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(26)); + dieListe.einfuegenBei(0, 791); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 26}); + + dieListe.einfuegenBei(2, 198); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 26, 198}); + + assertFalse("Fehler: Element 29 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(29)); + assertFalse("Fehler: Element 876 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(876)); + dieListe.einfuegenBei(1, 78); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 78, 26, 198}); + + dieListe.anhaengen(925); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 78, 26, 198, 925}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 26, 198, 925}); + + dieListe.anhaengen(568); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 26, 198, 925, 568}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 26, 198, 568}); + + assertFalse("Fehler: Element 847 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(847)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 198, 568}); + + dieListe.einfuegenBei(3, 436); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 198, 568, 436}); + + dieListe.anhaengen(137); + Tester.pruefeListenInhalt(dieListe, new int[]{791, 198, 568, 436, 137}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 623); + Tester.pruefeListenInhalt(dieListe, new int[]{623}); + + dieListe.anhaengen(731); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 731}); + + dieListe.einfuegenBei(1, 808); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 808, 731}); + + dieListe.anhaengen(329); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 808, 731, 329}); + + dieListe.anhaengen(33); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 808, 731, 329, 33}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 808, 329, 33}); + + assertFalse("Fehler: Element 617 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(617)); + assertTrue("Fehler: Element 623 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(623)); + dieListe.anhaengen(620); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 808, 329, 33, 620}); + + dieListe.einfuegenBei(0, 425); + Tester.pruefeListenInhalt(dieListe, new int[]{425, 623, 808, 329, 33, 620}); + + dieListe.anhaengen(718); + Tester.pruefeListenInhalt(dieListe, new int[]{425, 623, 808, 329, 33, 620, 718}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 808, 329, 33, 620, 718}); + + dieListe.anhaengen(951); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 808, 329, 33, 620, 718, 951}); + + dieListe.einfuegenBei(5, 928); + Tester.pruefeListenInhalt(dieListe, new int[]{623, 808, 329, 33, 620, 928, 718, 951}); + + assertFalse("Fehler: Element 390 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(390)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{808, 329, 33, 620, 928, 718, 951}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{329, 33, 620, 928, 718, 951}); + + dieListe.einfuegenBei(2, 897); + Tester.pruefeListenInhalt(dieListe, new int[]{329, 33, 897, 620, 928, 718, 951}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{329, 33, 897, 620, 718, 951}); + + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(414); + Tester.pruefeListenInhalt(dieListe, new int[]{414}); + + dieListe.anhaengen(521); + Tester.pruefeListenInhalt(dieListe, new int[]{414, 521}); + + dieListe.anhaengen(63); + Tester.pruefeListenInhalt(dieListe, new int[]{414, 521, 63}); + + assertFalse("Fehler: Element 265 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(265)); + dieListe.einfuegenBei(1, 736); + Tester.pruefeListenInhalt(dieListe, new int[]{414, 736, 521, 63}); + + dieListe.anhaengen(724); + Tester.pruefeListenInhalt(dieListe, new int[]{414, 736, 521, 63, 724}); + + assertFalse("Fehler: Element 316 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(316)); + dieListe.einfuegenBei(5, 890); + Tester.pruefeListenInhalt(dieListe, new int[]{414, 736, 521, 63, 724, 890}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{414, 736, 521, 63, 724}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{414, 521, 63, 724}); + + assertTrue("Fehler: Element 724 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(724)); + assertFalse("Fehler: Element 93 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(93)); + dieListe.anhaengen(157); + Tester.pruefeListenInhalt(dieListe, new int[]{414, 521, 63, 724, 157}); + + assertTrue("Fehler: Element 521 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(521)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{414, 63, 724, 157}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{63, 724, 157}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{63, 157}); + + dieListe.einfuegenBei(0, 533); + Tester.pruefeListenInhalt(dieListe, new int[]{533, 63, 157}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{63, 157}); + + dieListe.einfuegenBei(2, 647); + Tester.pruefeListenInhalt(dieListe, new int[]{63, 157, 647}); + + assertFalse("Fehler: Element 781 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(781)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 647}); + + dieListe.anhaengen(386); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 647, 386}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 647}); + + dieListe.einfuegenBei(2, 247); + Tester.pruefeListenInhalt(dieListe, new int[]{157, 647, 247}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 629); + Tester.pruefeListenInhalt(dieListe, new int[]{629}); + + dieListe.einfuegenBei(1, 5); + Tester.pruefeListenInhalt(dieListe, new int[]{629, 5}); + + dieListe.einfuegenBei(2, 290); + Tester.pruefeListenInhalt(dieListe, new int[]{629, 5, 290}); + + dieListe.einfuegenBei(1, 167); + Tester.pruefeListenInhalt(dieListe, new int[]{629, 167, 5, 290}); + + assertTrue("Fehler: Element 629 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(629)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{167, 5, 290}); + + assertTrue("Fehler: Element 167 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(167)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{167, 290}); + + assertTrue("Fehler: Element 290 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(290)); + assertFalse("Fehler: Element 762 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(762)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{290}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(748); + Tester.pruefeListenInhalt(dieListe, new int[]{748}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(967); + Tester.pruefeListenInhalt(dieListe, new int[]{967}); + + assertTrue("Fehler: Element 967 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(967)); + dieListe.einfuegenBei(1, 797); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797}); + + dieListe.anhaengen(445); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797, 445}); + + assertFalse("Fehler: Element 996 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(996)); + assertFalse("Fehler: Element 708 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(708)); + dieListe.anhaengen(328); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797, 445, 328}); + + dieListe.anhaengen(434); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797, 445, 328, 434}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797, 328, 434}); + + dieListe.einfuegenBei(3, 183); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797, 328, 183, 434}); + + assertTrue("Fehler: Element 434 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(434)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797, 328, 183}); + + dieListe.einfuegenBei(2, 154); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797, 154, 328, 183}); + + dieListe.einfuegenBei(1, 361); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 361, 797, 154, 328, 183}); + + dieListe.anhaengen(171); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 361, 797, 154, 328, 183, 171}); + + dieListe.einfuegenBei(1, 153); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 153, 361, 797, 154, 328, 183, 171}); + + assertFalse("Fehler: Element 966 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(966)); + assertTrue("Fehler: Element 967 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(967)); + dieListe.einfuegenBei(0, 842); + Tester.pruefeListenInhalt(dieListe, new int[]{842, 967, 153, 361, 797, 154, 328, 183, 171}); + + assertTrue("Fehler: Element 154 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(154)); + dieListe.anhaengen(86); + Tester.pruefeListenInhalt(dieListe, new int[]{842, 967, 153, 361, 797, 154, 328, 183, 171, 86}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 153, 361, 797, 154, 328, 183, 171, 86}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 153, 361, 797, 328, 183, 171, 86}); + + dieListe.anhaengen(745); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 153, 361, 797, 328, 183, 171, 86, 745}); + + assertFalse("Fehler: Element 283 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(283)); + dieListe.einfuegenBei(7, 945); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 153, 361, 797, 328, 183, 171, 945, 86, 745}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 153, 797, 328, 183, 171, 945, 86, 745}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797, 328, 183, 171, 945, 86, 745}); + + assertTrue("Fehler: Element 171 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(171)); + assertTrue("Fehler: Element 171 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(171)); + assertTrue("Fehler: Element 171 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(171)); + assertFalse("Fehler: Element 772 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(772)); + assertTrue("Fehler: Element 745 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(745)); + dieListe.einfuegenBei(5, 926); + Tester.pruefeListenInhalt(dieListe, new int[]{967, 797, 328, 183, 171, 926, 945, 86, 745}); + + dieListe.einfuegenBei(0, 374); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 967, 797, 328, 183, 171, 926, 945, 86, 745}); + + dieListe.einfuegenBei(7, 68); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 967, 797, 328, 183, 171, 926, 68, 945, 86, 745}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 967, 328, 183, 171, 926, 68, 945, 86, 745}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 967, 183, 171, 926, 68, 945, 86, 745}); + + assertFalse("Fehler: Element 695 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(695)); + assertTrue("Fehler: Element 86 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(86)); + assertFalse("Fehler: Element 378 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(378)); + dieListe.anhaengen(71); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 967, 183, 171, 926, 68, 945, 86, 745, 71}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 171, 926, 68, 945, 86, 745, 71}); + + dieListe.anhaengen(615); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 171, 926, 68, 945, 86, 745, 71, 615}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 171, 926, 68, 945, 745, 71, 615}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 171, 926, 945, 745, 71, 615}); + + dieListe.einfuegenBei(2, 529); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 529, 171, 926, 945, 745, 71, 615}); + + assertFalse("Fehler: Element 617 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(617)); + assertTrue("Fehler: Element 926 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(926)); + dieListe.anhaengen(335); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 529, 171, 926, 945, 745, 71, 615, 335}); + + assertTrue("Fehler: Element 945 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(945)); + dieListe.anhaengen(857); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 529, 171, 926, 945, 745, 71, 615, 335, 857}); + + dieListe.anhaengen(784); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 529, 171, 926, 945, 745, 71, 615, 335, 857, 784}); + + dieListe.anhaengen(248); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 529, 171, 926, 945, 745, 71, 615, 335, 857, 784, 248}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 529, 171, 926, 945, 745, 71, 615, 335, 857, 784}); + + assertTrue("Fehler: Element 857 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(857)); + dieListe.anhaengen(717); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 529, 171, 926, 945, 745, 71, 615, 335, 857, 784, 717}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 183, 529, 171, 926, 945, 745, 71, 615, 335, 784, 717}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{374, 529, 171, 926, 945, 745, 71, 615, 335, 784, 717}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 481); + Tester.pruefeListenInhalt(dieListe, new int[]{481}); + + dieListe.einfuegenBei(0, 263); + Tester.pruefeListenInhalt(dieListe, new int[]{263, 481}); + + dieListe.einfuegenBei(0, 85); + Tester.pruefeListenInhalt(dieListe, new int[]{85, 263, 481}); + + dieListe.einfuegenBei(0, 424); + Tester.pruefeListenInhalt(dieListe, new int[]{424, 85, 263, 481}); + + dieListe.einfuegenBei(0, 565); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 424, 85, 263, 481}); + + assertTrue("Fehler: Element 481 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(481)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 424, 263, 481}); + + dieListe.einfuegenBei(4, 272); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 424, 263, 481, 272}); + + dieListe.anhaengen(3); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 424, 263, 481, 272, 3}); + + dieListe.einfuegenBei(3, 803); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 424, 263, 803, 481, 272, 3}); + + dieListe.einfuegenBei(2, 980); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 424, 980, 263, 803, 481, 272, 3}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 424, 980, 803, 481, 272, 3}); + + dieListe.anhaengen(658); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 424, 980, 803, 481, 272, 3, 658}); + + dieListe.einfuegenBei(0, 893); + Tester.pruefeListenInhalt(dieListe, new int[]{893, 565, 424, 980, 803, 481, 272, 3, 658}); + + dieListe.anhaengen(572); + Tester.pruefeListenInhalt(dieListe, new int[]{893, 565, 424, 980, 803, 481, 272, 3, 658, 572}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{893, 565, 424, 803, 481, 272, 3, 658, 572}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{893, 565, 803, 481, 272, 3, 658, 572}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{893, 565, 803, 481, 272, 3, 658}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(388); + Tester.pruefeListenInhalt(dieListe, new int[]{388}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(204); + Tester.pruefeListenInhalt(dieListe, new int[]{204}); + + dieListe.anhaengen(935); + Tester.pruefeListenInhalt(dieListe, new int[]{204, 935}); + + assertFalse("Fehler: Element 524 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(524)); + dieListe.anhaengen(19); + Tester.pruefeListenInhalt(dieListe, new int[]{204, 935, 19}); + + dieListe.anhaengen(458); + Tester.pruefeListenInhalt(dieListe, new int[]{204, 935, 19, 458}); + + dieListe.anhaengen(379); + Tester.pruefeListenInhalt(dieListe, new int[]{204, 935, 19, 458, 379}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{935, 19, 458, 379}); + + assertTrue("Fehler: Element 935 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(935)); + dieListe.einfuegenBei(0, 127); + Tester.pruefeListenInhalt(dieListe, new int[]{127, 935, 19, 458, 379}); + + assertTrue("Fehler: Element 935 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(935)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 828); + Tester.pruefeListenInhalt(dieListe, new int[]{828}); + + dieListe.einfuegenBei(1, 714); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 714}); + + dieListe.anhaengen(863); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 714, 863}); + + dieListe.einfuegenBei(2, 333); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 714, 333, 863}); + + dieListe.einfuegenBei(0, 203); + Tester.pruefeListenInhalt(dieListe, new int[]{203, 828, 714, 333, 863}); + + dieListe.anhaengen(266); + Tester.pruefeListenInhalt(dieListe, new int[]{203, 828, 714, 333, 863, 266}); + + assertTrue("Fehler: Element 203 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(203)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 714, 333, 863, 266}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 333, 863, 266}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 333, 266}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{828, 333}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 876); + Tester.pruefeListenInhalt(dieListe, new int[]{876}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(484); + Tester.pruefeListenInhalt(dieListe, new int[]{484}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 24); + Tester.pruefeListenInhalt(dieListe, new int[]{24}); + + dieListe.einfuegenBei(1, 810); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 810}); + + assertFalse("Fehler: Element 303 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(303)); + dieListe.einfuegenBei(1, 723); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 723, 810}); + + assertFalse("Fehler: Element 727 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(727)); + dieListe.anhaengen(693); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 723, 810, 693}); + + dieListe.anhaengen(340); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 723, 810, 693, 340}); + + dieListe.anhaengen(86); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 723, 810, 693, 340, 86}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 810, 693, 340, 86}); + + dieListe.anhaengen(796); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 810, 693, 340, 86, 796}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 810, 693, 340, 796}); + + assertTrue("Fehler: Element 340 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(340)); + dieListe.einfuegenBei(5, 218); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 810, 693, 340, 796, 218}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 810, 693, 340, 218}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 810, 340, 218}); + + assertFalse("Fehler: Element 732 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(732)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{24, 340, 218}); + + dieListe.einfuegenBei(0, 395); + Tester.pruefeListenInhalt(dieListe, new int[]{395, 24, 340, 218}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{395, 24, 218}); + + dieListe.einfuegenBei(0, 279); + Tester.pruefeListenInhalt(dieListe, new int[]{279, 395, 24, 218}); + + dieListe.einfuegenBei(0, 604); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 279, 395, 24, 218}); + + dieListe.einfuegenBei(4, 798); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 279, 395, 24, 798, 218}); + + assertFalse("Fehler: Element 836 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(836)); + dieListe.einfuegenBei(0, 85); + Tester.pruefeListenInhalt(dieListe, new int[]{85, 604, 279, 395, 24, 798, 218}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{85, 604, 395, 24, 798, 218}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{85, 604, 395, 24, 798}); + + dieListe.anhaengen(217); + Tester.pruefeListenInhalt(dieListe, new int[]{85, 604, 395, 24, 798, 217}); + + assertFalse("Fehler: Element 597 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(597)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{85, 604, 395, 24, 217}); + + assertTrue("Fehler: Element 85 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(85)); + assertFalse("Fehler: Element 16 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(16)); + dieListe.einfuegenBei(3, 553); + Tester.pruefeListenInhalt(dieListe, new int[]{85, 604, 395, 553, 24, 217}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 553, 24, 217}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 217}); + + dieListe.anhaengen(429); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 217, 429}); + + dieListe.anhaengen(956); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 217, 429, 956}); + + dieListe.anhaengen(334); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 217, 429, 956, 334}); + + assertTrue("Fehler: Element 334 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(334)); + dieListe.anhaengen(461); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 217, 429, 956, 334, 461}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 217, 429, 334, 461}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 429, 334, 461}); + + dieListe.anhaengen(635); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 429, 334, 461, 635}); + + dieListe.anhaengen(718); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 429, 334, 461, 635, 718}); + + assertTrue("Fehler: Element 461 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(461)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 334, 461, 635, 718}); + + dieListe.anhaengen(651); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 395, 24, 334, 461, 635, 718, 651}); + + dieListe.einfuegenBei(1, 482); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 482, 395, 24, 334, 461, 635, 718, 651}); + + dieListe.anhaengen(108); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 482, 395, 24, 334, 461, 635, 718, 651, 108}); + + dieListe.einfuegenBei(8, 568); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 482, 395, 24, 334, 461, 635, 718, 568, 651, 108}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 482, 395, 24, 334, 461, 718, 568, 651, 108}); + + dieListe.anhaengen(563); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 482, 395, 24, 334, 461, 718, 568, 651, 108, 563}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 482, 395, 24, 334, 461, 568, 651, 108, 563}); + + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 665); + Tester.pruefeListenInhalt(dieListe, new int[]{665}); + + dieListe.anhaengen(262); + Tester.pruefeListenInhalt(dieListe, new int[]{665, 262}); + + dieListe.einfuegenBei(0, 41); + Tester.pruefeListenInhalt(dieListe, new int[]{41, 665, 262}); + + dieListe.einfuegenBei(2, 78); + Tester.pruefeListenInhalt(dieListe, new int[]{41, 665, 78, 262}); + + dieListe.einfuegenBei(0, 647); + Tester.pruefeListenInhalt(dieListe, new int[]{647, 41, 665, 78, 262}); + + assertTrue("Fehler: Element 262 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(262)); + dieListe.anhaengen(340); + Tester.pruefeListenInhalt(dieListe, new int[]{647, 41, 665, 78, 262, 340}); + + dieListe.einfuegenBei(5, 648); + Tester.pruefeListenInhalt(dieListe, new int[]{647, 41, 665, 78, 262, 648, 340}); + + dieListe.einfuegenBei(3, 421); + Tester.pruefeListenInhalt(dieListe, new int[]{647, 41, 665, 421, 78, 262, 648, 340}); + + dieListe.einfuegenBei(4, 829); + Tester.pruefeListenInhalt(dieListe, new int[]{647, 41, 665, 421, 829, 78, 262, 648, 340}); + + dieListe.einfuegenBei(5, 757); + Tester.pruefeListenInhalt(dieListe, new int[]{647, 41, 665, 421, 829, 757, 78, 262, 648, 340}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{41, 665, 421, 829, 757, 78, 262, 648, 340}); + + assertTrue("Fehler: Element 829 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(829)); + dieListe.anhaengen(870); + Tester.pruefeListenInhalt(dieListe, new int[]{41, 665, 421, 829, 757, 78, 262, 648, 340, 870}); + + dieListe.einfuegenBei(0, 720); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 262, 648, 340, 870}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 648, 340, 870}); + + dieListe.einfuegenBei(10, 995); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 648, 340, 870, 995}); + + dieListe.anhaengen(736); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 648, 340, 870, 995, 736}); + + assertTrue("Fehler: Element 648 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(648)); + dieListe.anhaengen(119); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 648, 340, 870, 995, 736, 119}); + + assertTrue("Fehler: Element 41 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(41)); + dieListe.anhaengen(291); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 648, 340, 870, 995, 736, 119, 291}); + + assertFalse("Fehler: Element 394 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(394)); + dieListe.anhaengen(196); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 648, 340, 870, 995, 736, 119, 291, 196}); + + assertTrue("Fehler: Element 119 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(119)); + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 648, 340, 870, 995, 736, 119, 196}); + + dieListe.anhaengen(135); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 648, 340, 870, 995, 736, 119, 196, 135}); + + dieListe.einfuegenBei(7, 712); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 712, 648, 340, 870, 995, 736, 119, 196, 135}); + + dieListe.einfuegenBei(12, 137); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 712, 648, 340, 870, 995, 137, 736, 119, 196, 135}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 41, 665, 421, 829, 757, 78, 712, 648, 340, 870, 995, 736, 119, 196, 135}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 421, 829, 757, 78, 712, 648, 340, 870, 995, 736, 119, 196, 135}); + + dieListe.einfuegenBei(4, 867); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 421, 829, 867, 757, 78, 712, 648, 340, 870, 995, 736, 119, 196, 135}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 829, 867, 757, 78, 712, 648, 340, 870, 995, 736, 119, 196, 135}); + + dieListe.anhaengen(335); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 829, 867, 757, 78, 712, 648, 340, 870, 995, 736, 119, 196, 135, 335}); + + dieListe.einfuegenBei(5, 757); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 829, 867, 757, 757, 78, 712, 648, 340, 870, 995, 736, 119, 196, 135, 335}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 829, 867, 757, 757, 78, 712, 648, 870, 995, 736, 119, 196, 135, 335}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 829, 867, 757, 78, 712, 648, 870, 995, 736, 119, 196, 135, 335}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 829, 867, 757, 78, 712, 648, 870, 995, 736, 119, 135, 335}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 829, 867, 757, 78, 648, 870, 995, 736, 119, 135, 335}); + + dieListe.einfuegenBei(13, 42); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 829, 867, 757, 78, 648, 870, 995, 736, 119, 135, 335, 42}); + + dieListe.anhaengen(461); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 665, 829, 867, 757, 78, 648, 870, 995, 736, 119, 135, 335, 42, 461}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 829, 867, 757, 78, 648, 870, 995, 736, 119, 135, 335, 42, 461}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 829, 867, 757, 78, 648, 995, 736, 119, 135, 335, 42, 461}); + + assertTrue("Fehler: Element 135 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(135)); + dieListe.anhaengen(408); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 829, 867, 757, 78, 648, 995, 736, 119, 135, 335, 42, 461, 408}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 867, 757, 78, 648, 995, 736, 119, 135, 335, 42, 461, 408}); + + dieListe.einfuegenBei(3, 984); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 867, 757, 984, 78, 648, 995, 736, 119, 135, 335, 42, 461, 408}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 867, 757, 984, 78, 995, 736, 119, 135, 335, 42, 461, 408}); + + assertFalse("Fehler: Element 449 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(449)); + assertTrue("Fehler: Element 984 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(984)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 867, 757, 984, 78, 995, 119, 135, 335, 42, 461, 408}); + + assertFalse("Fehler: Element 239 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(239)); + dieListe.einfuegenBei(7, 790); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 867, 757, 984, 78, 995, 119, 790, 135, 335, 42, 461, 408}); + + assertFalse("Fehler: Element 131 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(131)); + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 867, 757, 984, 78, 995, 119, 790, 135, 335, 42, 461}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 896); + Tester.pruefeListenInhalt(dieListe, new int[]{896}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(146); + Tester.pruefeListenInhalt(dieListe, new int[]{146}); + + assertTrue("Fehler: Element 146 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(146)); + dieListe.anhaengen(380); + Tester.pruefeListenInhalt(dieListe, new int[]{146, 380}); + + assertFalse("Fehler: Element 852 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(852)); + dieListe.einfuegenBei(0, 510); + Tester.pruefeListenInhalt(dieListe, new int[]{510, 146, 380}); + + assertFalse("Fehler: Element 996 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(996)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{510, 146}); + + dieListe.einfuegenBei(2, 535); + Tester.pruefeListenInhalt(dieListe, new int[]{510, 146, 535}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 749); + Tester.pruefeListenInhalt(dieListe, new int[]{749}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(826); + Tester.pruefeListenInhalt(dieListe, new int[]{826}); + + dieListe.anhaengen(923); + Tester.pruefeListenInhalt(dieListe, new int[]{826, 923}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{826}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 702); + Tester.pruefeListenInhalt(dieListe, new int[]{702}); + + dieListe.einfuegenBei(0, 754); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 702}); + + dieListe.anhaengen(539); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 702, 539}); + + dieListe.einfuegenBei(0, 638); + Tester.pruefeListenInhalt(dieListe, new int[]{638, 754, 702, 539}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 702, 539}); + + assertTrue("Fehler: Element 702 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(702)); + dieListe.anhaengen(411); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 702, 539, 411}); + + dieListe.einfuegenBei(3, 911); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 702, 539, 911, 411}); + + dieListe.einfuegenBei(5, 138); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 702, 539, 911, 411, 138}); + + dieListe.einfuegenBei(1, 485); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 485, 702, 539, 911, 411, 138}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(869); + Tester.pruefeListenInhalt(dieListe, new int[]{869}); + + dieListe.einfuegenBei(0, 281); + Tester.pruefeListenInhalt(dieListe, new int[]{281, 869}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{869}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 436); + Tester.pruefeListenInhalt(dieListe, new int[]{436}); + + assertTrue("Fehler: Element 436 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(436)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 938); + Tester.pruefeListenInhalt(dieListe, new int[]{938}); + + dieListe.einfuegenBei(1, 397); + Tester.pruefeListenInhalt(dieListe, new int[]{938, 397}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{397}); + + assertFalse("Fehler: Element 274 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(274)); + dieListe.einfuegenBei(0, 502); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 397}); + + dieListe.anhaengen(315); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 397, 315}); + + assertFalse("Fehler: Element 140 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(140)); + dieListe.anhaengen(383); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 397, 315, 383}); + + assertTrue("Fehler: Element 315 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(315)); + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(429); + Tester.pruefeListenInhalt(dieListe, new int[]{429}); + + dieListe.einfuegenBei(1, 324); + Tester.pruefeListenInhalt(dieListe, new int[]{429, 324}); + + assertFalse("Fehler: Element 24 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(24)); + dieListe.einfuegenBei(2, 840); + Tester.pruefeListenInhalt(dieListe, new int[]{429, 324, 840}); + + dieListe.einfuegenBei(0, 173); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 324, 840}); + + assertTrue("Fehler: Element 840 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(840)); + assertFalse("Fehler: Element 984 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(984)); + assertFalse("Fehler: Element 641 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(641)); + assertTrue("Fehler: Element 324 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(324)); + dieListe.einfuegenBei(4, 457); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 324, 840, 457}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 324, 840}); + + dieListe.einfuegenBei(4, 95); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 324, 840, 95}); + + assertFalse("Fehler: Element 52 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(52)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 840, 95}); + + assertFalse("Fehler: Element 669 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(669)); + dieListe.anhaengen(708); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 840, 95, 708}); + + dieListe.einfuegenBei(4, 707); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 840, 95, 707, 708}); + + dieListe.einfuegenBei(3, 33); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 840, 33, 95, 707, 708}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 840, 33, 95, 708}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 840, 33, 95}); + + dieListe.einfuegenBei(2, 128); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 429, 128, 840, 33, 95}); + + dieListe.einfuegenBei(1, 920); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 429, 128, 840, 33, 95}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 33, 95}); + + dieListe.anhaengen(154); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 33, 95, 154}); + + dieListe.anhaengen(640); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 33, 95, 154, 640}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 33, 154, 640}); + + assertTrue("Fehler: Element 128 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(128)); + assertTrue("Fehler: Element 920 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(920)); + assertTrue("Fehler: Element 920 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(920)); + dieListe.anhaengen(738); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 33, 154, 640, 738}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 154, 640, 738}); + + dieListe.einfuegenBei(7, 637); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 154, 640, 738, 637}); + + dieListe.einfuegenBei(8, 532); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 154, 640, 738, 637, 532}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 154, 640, 738, 637}); + + assertFalse("Fehler: Element 511 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(511)); + dieListe.einfuegenBei(7, 742); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 154, 640, 738, 742, 637}); + + dieListe.einfuegenBei(4, 500); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 500, 154, 640, 738, 742, 637}); + + dieListe.anhaengen(392); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 500, 154, 640, 738, 742, 637, 392}); + + dieListe.anhaengen(550); + Tester.pruefeListenInhalt(dieListe, new int[]{173, 920, 128, 840, 500, 154, 640, 738, 742, 637, 392, 550}); + + assertFalse("Fehler: Element 847 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(847)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(426); + Tester.pruefeListenInhalt(dieListe, new int[]{426}); + + dieListe.einfuegenBei(1, 255); + Tester.pruefeListenInhalt(dieListe, new int[]{426, 255}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{426}); + + dieListe.anhaengen(149); + Tester.pruefeListenInhalt(dieListe, new int[]{426, 149}); + + dieListe.anhaengen(387); + Tester.pruefeListenInhalt(dieListe, new int[]{426, 149, 387}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{426, 149}); + + dieListe.einfuegenBei(2, 716); + Tester.pruefeListenInhalt(dieListe, new int[]{426, 149, 716}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{426, 149}); + + dieListe.anhaengen(446); + Tester.pruefeListenInhalt(dieListe, new int[]{426, 149, 446}); + + dieListe.einfuegenBei(0, 349); + Tester.pruefeListenInhalt(dieListe, new int[]{349, 426, 149, 446}); + + dieListe.einfuegenBei(3, 271); + Tester.pruefeListenInhalt(dieListe, new int[]{349, 426, 149, 271, 446}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{426, 149, 271, 446}); + + dieListe.einfuegenBei(0, 838); + Tester.pruefeListenInhalt(dieListe, new int[]{838, 426, 149, 271, 446}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{838, 149, 271, 446}); + + assertTrue("Fehler: Element 271 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(271)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 271, 446}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 271}); + + dieListe.einfuegenBei(1, 496); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 496, 271}); + + dieListe.einfuegenBei(2, 921); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 496, 921, 271}); + + dieListe.einfuegenBei(1, 488); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 488, 496, 921, 271}); + + dieListe.anhaengen(871); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 488, 496, 921, 271, 871}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 496, 921, 271, 871}); + + assertTrue("Fehler: Element 871 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(871)); + assertTrue("Fehler: Element 871 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(871)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 496, 921, 871}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 921, 871}); + + dieListe.anhaengen(105); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 921, 871, 105}); + + dieListe.einfuegenBei(0, 588); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 149, 921, 871, 105}); + + dieListe.einfuegenBei(0, 733); + Tester.pruefeListenInhalt(dieListe, new int[]{733, 588, 149, 921, 871, 105}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 149, 921, 871, 105}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{588, 921, 871, 105}); + + dieListe.einfuegenBei(0, 971); + Tester.pruefeListenInhalt(dieListe, new int[]{971, 588, 921, 871, 105}); + + dieListe.einfuegenBei(2, 738); + Tester.pruefeListenInhalt(dieListe, new int[]{971, 588, 738, 921, 871, 105}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{971, 588, 921, 871, 105}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{971, 921, 871, 105}); + + dieListe.einfuegenBei(0, 959); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 921, 871, 105}); + + assertTrue("Fehler: Element 921 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(921)); + assertTrue("Fehler: Element 871 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(871)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 871, 105}); + + dieListe.einfuegenBei(3, 313); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 871, 313, 105}); + + dieListe.einfuegenBei(3, 611); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 871, 611, 313, 105}); + + dieListe.einfuegenBei(5, 970); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 871, 611, 313, 970, 105}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 871, 611, 313, 105}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 871, 611, 313}); + + dieListe.anhaengen(628); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 871, 611, 313, 628}); + + dieListe.einfuegenBei(0, 214); + Tester.pruefeListenInhalt(dieListe, new int[]{214, 959, 971, 871, 611, 313, 628}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{214, 959, 971, 871, 611, 313}); + + dieListe.anhaengen(860); + Tester.pruefeListenInhalt(dieListe, new int[]{214, 959, 971, 871, 611, 313, 860}); + + assertFalse("Fehler: Element 242 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(242)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 871, 611, 313, 860}); + + dieListe.einfuegenBei(3, 508); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 971, 871, 508, 611, 313, 860}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 871, 508, 611, 313, 860}); + + dieListe.anhaengen(446); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 871, 508, 611, 313, 860, 446}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 871, 611, 313, 860, 446}); + + dieListe.einfuegenBei(6, 546); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 871, 611, 313, 860, 446, 546}); + + dieListe.einfuegenBei(4, 44); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 871, 611, 313, 44, 860, 446, 546}); + + assertTrue("Fehler: Element 871 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(871)); + dieListe.anhaengen(120); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 871, 611, 313, 44, 860, 446, 546, 120}); + + dieListe.anhaengen(43); + Tester.pruefeListenInhalt(dieListe, new int[]{959, 871, 611, 313, 44, 860, 446, 546, 120, 43}); + + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(555); + Tester.pruefeListenInhalt(dieListe, new int[]{555}); + + dieListe.anhaengen(450); + Tester.pruefeListenInhalt(dieListe, new int[]{555, 450}); + + assertTrue("Fehler: Element 450 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(450)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(608); + Tester.pruefeListenInhalt(dieListe, new int[]{608}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(409); + Tester.pruefeListenInhalt(dieListe, new int[]{409}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 884); + Tester.pruefeListenInhalt(dieListe, new int[]{884}); + + dieListe.anhaengen(559); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 559}); + + dieListe.anhaengen(329); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 559, 329}); + + dieListe.anhaengen(65); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 559, 329, 65}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 559, 329}); + + dieListe.einfuegenBei(2, 218); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 559, 218, 329}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 559, 329}); + + assertFalse("Fehler: Element 326 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(326)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{884, 559}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{559}); + + dieListe.einfuegenBei(0, 651); + Tester.pruefeListenInhalt(dieListe, new int[]{651, 559}); + + assertTrue("Fehler: Element 651 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(651)); + dieListe.anhaengen(399); + Tester.pruefeListenInhalt(dieListe, new int[]{651, 559, 399}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{559, 399}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(757); + Tester.pruefeListenInhalt(dieListe, new int[]{757}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(105); + Tester.pruefeListenInhalt(dieListe, new int[]{105}); + + dieListe.einfuegenBei(0, 16); + Tester.pruefeListenInhalt(dieListe, new int[]{16, 105}); + + dieListe.anhaengen(121); + Tester.pruefeListenInhalt(dieListe, new int[]{16, 105, 121}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{16, 105}); + + dieListe.einfuegenBei(1, 245); + Tester.pruefeListenInhalt(dieListe, new int[]{16, 245, 105}); + + dieListe.anhaengen(950); + Tester.pruefeListenInhalt(dieListe, new int[]{16, 245, 105, 950}); + + dieListe.anhaengen(161); + Tester.pruefeListenInhalt(dieListe, new int[]{16, 245, 105, 950, 161}); + + assertFalse("Fehler: Element 130 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(130)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{16, 245, 950, 161}); + + dieListe.einfuegenBei(1, 562); + Tester.pruefeListenInhalt(dieListe, new int[]{16, 562, 245, 950, 161}); + + dieListe.einfuegenBei(0, 352); + Tester.pruefeListenInhalt(dieListe, new int[]{352, 16, 562, 245, 950, 161}); + + assertTrue("Fehler: Element 16 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(16)); + assertFalse("Fehler: Element 466 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(466)); + assertTrue("Fehler: Element 245 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(245)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 77); + Tester.pruefeListenInhalt(dieListe, new int[]{77}); + + dieListe.anhaengen(312); + Tester.pruefeListenInhalt(dieListe, new int[]{77, 312}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{77}); + + assertFalse("Fehler: Element 940 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(940)); + assertTrue("Fehler: Element 77 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(77)); + dieListe.einfuegenBei(1, 806); + Tester.pruefeListenInhalt(dieListe, new int[]{77, 806}); + + dieListe.einfuegenBei(2, 398); + Tester.pruefeListenInhalt(dieListe, new int[]{77, 806, 398}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 398}); + + dieListe.anhaengen(285); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 398, 285}); + + dieListe.anhaengen(565); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 398, 285, 565}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 398, 285}); + + assertFalse("Fehler: Element 446 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(446)); + dieListe.anhaengen(297); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 398, 285, 297}); + + assertTrue("Fehler: Element 806 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(806)); + assertFalse("Fehler: Element 328 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(328)); + dieListe.anhaengen(171); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 398, 285, 297, 171}); + + dieListe.einfuegenBei(0, 39); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 285, 297, 171}); + + dieListe.einfuegenBei(3, 77); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 77, 285, 297, 171}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 77, 297, 171}); + + dieListe.anhaengen(675); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 77, 297, 171, 675}); + + assertFalse("Fehler: Element 301 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(301)); + dieListe.anhaengen(871); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 77, 297, 171, 675, 871}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 77, 297, 171, 675}); + + dieListe.anhaengen(474); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 77, 297, 171, 675, 474}); + + dieListe.anhaengen(351); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 77, 297, 171, 675, 474, 351}); + + dieListe.einfuegenBei(9, 773); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 77, 297, 171, 675, 474, 351, 773}); + + dieListe.anhaengen(780); + Tester.pruefeListenInhalt(dieListe, new int[]{39, 806, 398, 77, 297, 171, 675, 474, 351, 773, 780}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 398, 77, 297, 171, 675, 474, 351, 773, 780}); + + dieListe.einfuegenBei(2, 353); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 398, 353, 77, 297, 171, 675, 474, 351, 773, 780}); + + dieListe.anhaengen(152); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 398, 353, 77, 297, 171, 675, 474, 351, 773, 780, 152}); + + assertFalse("Fehler: Element 824 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(824)); + dieListe.einfuegenBei(1, 133); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 133, 398, 353, 77, 297, 171, 675, 474, 351, 773, 780, 152}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 133, 398, 353, 77, 297, 171, 675, 474, 773, 780, 152}); + + dieListe.einfuegenBei(11, 82); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 133, 398, 353, 77, 297, 171, 675, 474, 773, 780, 82, 152}); + + dieListe.anhaengen(879); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 133, 398, 353, 77, 297, 171, 675, 474, 773, 780, 82, 152, 879}); + + dieListe.anhaengen(526); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 133, 398, 353, 77, 297, 171, 675, 474, 773, 780, 82, 152, 879, 526}); + + dieListe.einfuegenBei(6, 174); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 133, 398, 353, 77, 297, 174, 171, 675, 474, 773, 780, 82, 152, 879, 526}); + + dieListe.anhaengen(586); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 133, 398, 353, 77, 297, 174, 171, 675, 474, 773, 780, 82, 152, 879, 526, 586}); + + dieListe.anhaengen(919); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 133, 398, 353, 77, 297, 174, 171, 675, 474, 773, 780, 82, 152, 879, 526, 586, 919}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{806, 133, 398, 353, 77, 297, 174, 171, 675, 773, 780, 82, 152, 879, 526, 586, 919}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(602); + Tester.pruefeListenInhalt(dieListe, new int[]{602}); + + dieListe.einfuegenBei(0, 135); + Tester.pruefeListenInhalt(dieListe, new int[]{135, 602}); + + assertTrue("Fehler: Element 135 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(135)); + assertTrue("Fehler: Element 602 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(602)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{135}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 43); + Tester.pruefeListenInhalt(dieListe, new int[]{43}); + + assertTrue("Fehler: Element 43 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(43)); + dieListe.anhaengen(440); + Tester.pruefeListenInhalt(dieListe, new int[]{43, 440}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{440}); + + dieListe.einfuegenBei(1, 512); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 512}); + + dieListe.einfuegenBei(0, 483); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 440, 512}); + + assertFalse("Fehler: Element 68 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(68)); + dieListe.anhaengen(80); + Tester.pruefeListenInhalt(dieListe, new int[]{483, 440, 512, 80}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 512, 80}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{440, 512}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{512}); + + assertFalse("Fehler: Element 965 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(965)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(796); + Tester.pruefeListenInhalt(dieListe, new int[]{796}); + + dieListe.anhaengen(55); + Tester.pruefeListenInhalt(dieListe, new int[]{796, 55}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{796}); + + dieListe.anhaengen(499); + Tester.pruefeListenInhalt(dieListe, new int[]{796, 499}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{499}); + + assertTrue("Fehler: Element 499 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(499)); + dieListe.anhaengen(263); + Tester.pruefeListenInhalt(dieListe, new int[]{499, 263}); + + assertTrue("Fehler: Element 263 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(263)); + dieListe.anhaengen(539); + Tester.pruefeListenInhalt(dieListe, new int[]{499, 263, 539}); + + assertFalse("Fehler: Element 212 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(212)); + assertFalse("Fehler: Element 722 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(722)); + assertTrue("Fehler: Element 539 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(539)); + assertTrue("Fehler: Element 499 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(499)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{499, 263}); + + dieListe.anhaengen(368); + Tester.pruefeListenInhalt(dieListe, new int[]{499, 263, 368}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{499, 263}); + + dieListe.einfuegenBei(1, 166); + Tester.pruefeListenInhalt(dieListe, new int[]{499, 166, 263}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 686); + Tester.pruefeListenInhalt(dieListe, new int[]{686}); + + dieListe.anhaengen(998); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998}); + + dieListe.einfuegenBei(0, 506); + Tester.pruefeListenInhalt(dieListe, new int[]{506, 686, 998}); + + dieListe.anhaengen(562); + Tester.pruefeListenInhalt(dieListe, new int[]{506, 686, 998, 562}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998, 562}); + + dieListe.anhaengen(57); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998, 562, 57}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998, 57}); + + assertFalse("Fehler: Element 22 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(22)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998}); + + dieListe.anhaengen(7); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998, 7}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998}); + + dieListe.anhaengen(994); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998, 994}); + + dieListe.anhaengen(699); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998, 994, 699}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998, 699}); + + dieListe.anhaengen(653); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 998, 699, 653}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 699, 653}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{686, 653}); + + assertFalse("Fehler: Element 740 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(740)); + dieListe.einfuegenBei(0, 307); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 653}); + + dieListe.einfuegenBei(3, 633); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 653, 633}); + + dieListe.anhaengen(163); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 653, 633, 163}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 653, 633}); + + dieListe.einfuegenBei(3, 695); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 653, 695, 633}); + + assertTrue("Fehler: Element 653 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(653)); + assertFalse("Fehler: Element 358 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(358)); + dieListe.einfuegenBei(2, 985); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 653, 695, 633}); + + dieListe.anhaengen(243); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 653, 695, 633, 243}); + + dieListe.anhaengen(912); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 653, 695, 633, 243, 912}); + + dieListe.anhaengen(923); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 653, 695, 633, 243, 912, 923}); + + dieListe.einfuegenBei(2, 527); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 527, 985, 653, 695, 633, 243, 912, 923}); + + dieListe.anhaengen(305); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 527, 985, 653, 695, 633, 243, 912, 923, 305}); + + dieListe.einfuegenBei(4, 364); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 527, 985, 364, 653, 695, 633, 243, 912, 923, 305}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 912, 923, 305}); + + dieListe.anhaengen(110); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 912, 923, 305, 110}); + + dieListe.anhaengen(896); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 912, 923, 305, 110, 896}); + + dieListe.einfuegenBei(8, 554); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 912, 923, 305, 110, 896}); + + assertTrue("Fehler: Element 110 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(110)); + dieListe.anhaengen(615); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 912, 923, 305, 110, 896, 615}); + + dieListe.einfuegenBei(14, 220); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 912, 923, 305, 110, 896, 220, 615}); + + dieListe.einfuegenBei(9, 537); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 305, 110, 896, 220, 615}); + + dieListe.anhaengen(360); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 305, 110, 896, 220, 615, 360}); + + dieListe.einfuegenBei(18, 447); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 305, 110, 896, 220, 615, 360, 447}); + + dieListe.anhaengen(326); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 305, 110, 896, 220, 615, 360, 447, 326}); + + assertTrue("Fehler: Element 360 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(360)); + dieListe.einfuegenBei(17, 17); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 305, 110, 896, 220, 615, 17, 360, 447, 326}); + + assertTrue("Fehler: Element 985 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(985)); + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 110, 896, 220, 615, 17, 360, 447, 326}); + + dieListe.anhaengen(593); + Tester.pruefeListenInhalt(dieListe, new int[]{307, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 110, 896, 220, 615, 17, 360, 447, 326, 593}); + + dieListe.einfuegenBei(0, 716); + Tester.pruefeListenInhalt(dieListe, new int[]{716, 307, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 110, 896, 220, 615, 17, 360, 447, 326, 593}); + + dieListe.anhaengen(679); + Tester.pruefeListenInhalt(dieListe, new int[]{716, 307, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 110, 896, 220, 615, 17, 360, 447, 326, 593, 679}); + + dieListe.einfuegenBei(2, 243); + Tester.pruefeListenInhalt(dieListe, new int[]{716, 307, 243, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 110, 896, 220, 615, 17, 360, 447, 326, 593, 679}); + + dieListe.anhaengen(84); + Tester.pruefeListenInhalt(dieListe, new int[]{716, 307, 243, 686, 985, 364, 653, 695, 633, 243, 554, 537, 912, 923, 110, 896, 220, 615, 17, 360, 447, 326, 593, 679, 84}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 70); + Tester.pruefeListenInhalt(dieListe, new int[]{70}); + + dieListe.einfuegenBei(0, 364); + Tester.pruefeListenInhalt(dieListe, new int[]{364, 70}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{70}); + + dieListe.einfuegenBei(1, 998); + Tester.pruefeListenInhalt(dieListe, new int[]{70, 998}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{70}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(143); + Tester.pruefeListenInhalt(dieListe, new int[]{143}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 468); + Tester.pruefeListenInhalt(dieListe, new int[]{468}); + + dieListe.anhaengen(565); + Tester.pruefeListenInhalt(dieListe, new int[]{468, 565}); + + dieListe.einfuegenBei(2, 740); + Tester.pruefeListenInhalt(dieListe, new int[]{468, 565, 740}); + + assertTrue("Fehler: Element 740 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(740)); + assertFalse("Fehler: Element 951 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(951)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 740}); + + assertTrue("Fehler: Element 565 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(565)); + assertFalse("Fehler: Element 793 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(793)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{565}); + + dieListe.einfuegenBei(1, 477); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 477}); + + assertFalse("Fehler: Element 117 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(117)); + assertTrue("Fehler: Element 477 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(477)); + dieListe.einfuegenBei(2, 666); + Tester.pruefeListenInhalt(dieListe, new int[]{565, 477, 666}); + + dieListe.einfuegenBei(0, 255); + Tester.pruefeListenInhalt(dieListe, new int[]{255, 565, 477, 666}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{255, 565, 477}); + + dieListe.anhaengen(965); + Tester.pruefeListenInhalt(dieListe, new int[]{255, 565, 477, 965}); + + dieListe.anhaengen(503); + Tester.pruefeListenInhalt(dieListe, new int[]{255, 565, 477, 965, 503}); + + assertTrue("Fehler: Element 255 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(255)); + assertTrue("Fehler: Element 965 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(965)); + dieListe.einfuegenBei(5, 614); + Tester.pruefeListenInhalt(dieListe, new int[]{255, 565, 477, 965, 503, 614}); + + dieListe.einfuegenBei(3, 105); + Tester.pruefeListenInhalt(dieListe, new int[]{255, 565, 477, 105, 965, 503, 614}); + + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(435); + Tester.pruefeListenInhalt(dieListe, new int[]{435}); + + dieListe.einfuegenBei(1, 445); + Tester.pruefeListenInhalt(dieListe, new int[]{435, 445}); + + assertFalse("Fehler: Element 996 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(996)); + dieListe.anhaengen(728); + Tester.pruefeListenInhalt(dieListe, new int[]{435, 445, 728}); + + dieListe.anhaengen(47); + Tester.pruefeListenInhalt(dieListe, new int[]{435, 445, 728, 47}); + + dieListe.einfuegenBei(0, 416); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47}); + + assertTrue("Fehler: Element 47 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(47)); + dieListe.anhaengen(191); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 191}); + + dieListe.anhaengen(774); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 191, 774}); + + dieListe.anhaengen(779); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 191, 774, 779}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 779}); + + dieListe.anhaengen(838); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 779, 838}); + + dieListe.anhaengen(223); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 779, 838, 223}); + + dieListe.anhaengen(96); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 779, 838, 223, 96}); + + dieListe.einfuegenBei(8, 159); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 779, 838, 159, 223, 96}); + + dieListe.anhaengen(815); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 779, 838, 159, 223, 96, 815}); + + dieListe.einfuegenBei(7, 816); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 779, 816, 838, 159, 223, 96, 815}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 779, 816, 838, 159, 223, 815}); + + dieListe.anhaengen(305); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 779, 816, 838, 159, 223, 815, 305}); + + assertFalse("Fehler: Element 300 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(300)); + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 816, 838, 159, 223, 815, 305}); + + assertFalse("Fehler: Element 297 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(297)); + dieListe.anhaengen(932); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 47, 774, 816, 838, 159, 223, 815, 305, 932}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 816, 838, 159, 223, 815, 305, 932}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 305, 932}); + + dieListe.anhaengen(396); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 305, 932, 396}); + + dieListe.anhaengen(351); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 305, 932, 396, 351}); + + dieListe.anhaengen(267); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 305, 932, 396, 351, 267}); + + dieListe.anhaengen(722); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 305, 932, 396, 351, 267, 722}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 305, 396, 351, 267, 722}); + + dieListe.einfuegenBei(9, 129); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 129, 305, 396, 351, 267, 722}); + + assertTrue("Fehler: Element 267 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(267)); + dieListe.anhaengen(743); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 129, 305, 396, 351, 267, 722, 743}); + + dieListe.anhaengen(737); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 129, 305, 396, 351, 267, 722, 743, 737}); + + dieListe.anhaengen(579); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 129, 305, 396, 351, 267, 722, 743, 737, 579}); + + dieListe.entferneBei(16); + Tester.pruefeListenInhalt(dieListe, new int[]{416, 435, 445, 728, 774, 838, 159, 223, 815, 129, 305, 396, 351, 267, 722, 743, 579}); + + assertTrue("Fehler: Element 815 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(815)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(993); + Tester.pruefeListenInhalt(dieListe, new int[]{993}); + + assertFalse("Fehler: Element 89 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(89)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(604); + Tester.pruefeListenInhalt(dieListe, new int[]{604}); + + dieListe.anhaengen(228); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 228}); + + dieListe.anhaengen(344); + Tester.pruefeListenInhalt(dieListe, new int[]{604, 228, 344}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{228, 344}); + + assertFalse("Fehler: Element 380 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(380)); + dieListe.anhaengen(146); + Tester.pruefeListenInhalt(dieListe, new int[]{228, 344, 146}); + + dieListe.anhaengen(232); + Tester.pruefeListenInhalt(dieListe, new int[]{228, 344, 146, 232}); + + dieListe.einfuegenBei(0, 956); + Tester.pruefeListenInhalt(dieListe, new int[]{956, 228, 344, 146, 232}); + + dieListe.anhaengen(446); + Tester.pruefeListenInhalt(dieListe, new int[]{956, 228, 344, 146, 232, 446}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{956, 228, 146, 232, 446}); + + dieListe.anhaengen(646); + Tester.pruefeListenInhalt(dieListe, new int[]{956, 228, 146, 232, 446, 646}); + + assertTrue("Fehler: Element 232 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(232)); + dieListe.anhaengen(226); + Tester.pruefeListenInhalt(dieListe, new int[]{956, 228, 146, 232, 446, 646, 226}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{956, 228, 232, 446, 646, 226}); + + assertFalse("Fehler: Element 658 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(658)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{228, 232, 446, 646, 226}); + + dieListe.anhaengen(670); + Tester.pruefeListenInhalt(dieListe, new int[]{228, 232, 446, 646, 226, 670}); + + dieListe.einfuegenBei(0, 294); + Tester.pruefeListenInhalt(dieListe, new int[]{294, 228, 232, 446, 646, 226, 670}); + + dieListe.einfuegenBei(0, 633); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 294, 228, 232, 446, 646, 226, 670}); + + assertTrue("Fehler: Element 646 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(646)); + dieListe.einfuegenBei(3, 927); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 294, 228, 927, 232, 446, 646, 226, 670}); + + assertFalse("Fehler: Element 815 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(815)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 294, 927, 232, 446, 646, 226, 670}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{633, 294, 927, 232, 446, 226, 670}); + + dieListe.einfuegenBei(0, 389); + Tester.pruefeListenInhalt(dieListe, new int[]{389, 633, 294, 927, 232, 446, 226, 670}); + + dieListe.anhaengen(736); + Tester.pruefeListenInhalt(dieListe, new int[]{389, 633, 294, 927, 232, 446, 226, 670, 736}); + + assertTrue("Fehler: Element 389 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(389)); + dieListe.anhaengen(369); + Tester.pruefeListenInhalt(dieListe, new int[]{389, 633, 294, 927, 232, 446, 226, 670, 736, 369}); + + dieListe.einfuegenBei(8, 292); + Tester.pruefeListenInhalt(dieListe, new int[]{389, 633, 294, 927, 232, 446, 226, 670, 292, 736, 369}); + + dieListe.einfuegenBei(1, 445); + Tester.pruefeListenInhalt(dieListe, new int[]{389, 445, 633, 294, 927, 232, 446, 226, 670, 292, 736, 369}); + + dieListe.anhaengen(554); + Tester.pruefeListenInhalt(dieListe, new int[]{389, 445, 633, 294, 927, 232, 446, 226, 670, 292, 736, 369, 554}); + + dieListe.anhaengen(861); + Tester.pruefeListenInhalt(dieListe, new int[]{389, 445, 633, 294, 927, 232, 446, 226, 670, 292, 736, 369, 554, 861}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{389, 445, 633, 294, 927, 232, 446, 226, 670, 292, 736, 369, 554}); + + assertFalse("Fehler: Element 91 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(91)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(153); + Tester.pruefeListenInhalt(dieListe, new int[]{153}); + + dieListe.anhaengen(145); + Tester.pruefeListenInhalt(dieListe, new int[]{153, 145}); + + dieListe.anhaengen(309); + Tester.pruefeListenInhalt(dieListe, new int[]{153, 145, 309}); + + dieListe.einfuegenBei(2, 106); + Tester.pruefeListenInhalt(dieListe, new int[]{153, 145, 106, 309}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{153, 106, 309}); + + assertFalse("Fehler: Element 140 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(140)); + assertTrue("Fehler: Element 309 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(309)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{153, 106}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{153}); + + assertTrue("Fehler: Element 153 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(153)); + assertFalse("Fehler: Element 316 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(316)); + dieListe.einfuegenBei(1, 462); + Tester.pruefeListenInhalt(dieListe, new int[]{153, 462}); + + dieListe.anhaengen(988); + Tester.pruefeListenInhalt(dieListe, new int[]{153, 462, 988}); + + dieListe.einfuegenBei(1, 123); + Tester.pruefeListenInhalt(dieListe, new int[]{153, 123, 462, 988}); + + dieListe.einfuegenBei(2, 704); + Tester.pruefeListenInhalt(dieListe, new int[]{153, 123, 704, 462, 988}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 736); + Tester.pruefeListenInhalt(dieListe, new int[]{736}); + + dieListe.anhaengen(100); + Tester.pruefeListenInhalt(dieListe, new int[]{736, 100}); + + dieListe.einfuegenBei(1, 169); + Tester.pruefeListenInhalt(dieListe, new int[]{736, 169, 100}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{736, 100}); + + dieListe.anhaengen(540); + Tester.pruefeListenInhalt(dieListe, new int[]{736, 100, 540}); + + dieListe.anhaengen(486); + Tester.pruefeListenInhalt(dieListe, new int[]{736, 100, 540, 486}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{736, 100, 486}); + + dieListe.einfuegenBei(0, 866); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 736, 100, 486}); + + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 482); + Tester.pruefeListenInhalt(dieListe, new int[]{482}); + + assertTrue("Fehler: Element 482 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(482)); + dieListe.anhaengen(651); + Tester.pruefeListenInhalt(dieListe, new int[]{482, 651}); + + assertFalse("Fehler: Element 459 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(459)); + assertTrue("Fehler: Element 482 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(482)); + dieListe.einfuegenBei(2, 842); + Tester.pruefeListenInhalt(dieListe, new int[]{482, 651, 842}); + + dieListe.einfuegenBei(0, 447); + Tester.pruefeListenInhalt(dieListe, new int[]{447, 482, 651, 842}); + + dieListe.anhaengen(414); + Tester.pruefeListenInhalt(dieListe, new int[]{447, 482, 651, 842, 414}); + + dieListe.einfuegenBei(1, 310); + Tester.pruefeListenInhalt(dieListe, new int[]{447, 310, 482, 651, 842, 414}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{447, 310, 482, 651, 414}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{447, 310, 482, 414}); + + assertFalse("Fehler: Element 415 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(415)); + assertTrue("Fehler: Element 310 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(310)); + dieListe.einfuegenBei(1, 33); + Tester.pruefeListenInhalt(dieListe, new int[]{447, 33, 310, 482, 414}); + + assertFalse("Fehler: Element 439 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(439)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{33, 310, 482, 414}); + + assertTrue("Fehler: Element 414 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(414)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{310, 482, 414}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{310, 414}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{414}); + + dieListe.einfuegenBei(0, 474); + Tester.pruefeListenInhalt(dieListe, new int[]{474, 414}); + + assertFalse("Fehler: Element 644 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(644)); + dieListe.anhaengen(545); + Tester.pruefeListenInhalt(dieListe, new int[]{474, 414, 545}); + + dieListe.anhaengen(510); + Tester.pruefeListenInhalt(dieListe, new int[]{474, 414, 545, 510}); + + dieListe.einfuegenBei(0, 5); + Tester.pruefeListenInhalt(dieListe, new int[]{5, 474, 414, 545, 510}); + + dieListe.einfuegenBei(0, 745); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 5, 474, 414, 545, 510}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 5, 414, 545, 510}); + + dieListe.anhaengen(962); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 5, 414, 545, 510, 962}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 414, 545, 510, 962}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 510, 962}); + + dieListe.einfuegenBei(2, 700); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 700, 510, 962}); + + dieListe.anhaengen(440); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 700, 510, 962, 440}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 700, 510, 962}); + + dieListe.anhaengen(127); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 700, 510, 962, 127}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 700, 962, 127}); + + dieListe.einfuegenBei(2, 569); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 127}); + + dieListe.anhaengen(217); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 127, 217}); + + assertFalse("Fehler: Element 357 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(357)); + assertFalse("Fehler: Element 166 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(166)); + dieListe.einfuegenBei(5, 503); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 503, 127, 217}); + + dieListe.anhaengen(22); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 503, 127, 217, 22}); + + dieListe.einfuegenBei(9, 435); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 503, 127, 217, 22, 435}); + + dieListe.anhaengen(85); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 503, 127, 217, 22, 435, 85}); + + dieListe.einfuegenBei(11, 870); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 503, 127, 217, 22, 435, 85, 870}); + + assertFalse("Fehler: Element 49 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(49)); + assertFalse("Fehler: Element 425 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(425)); + dieListe.anhaengen(878); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 503, 127, 217, 22, 435, 85, 870, 878}); + + dieListe.anhaengen(49); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 503, 127, 217, 22, 435, 85, 870, 878, 49}); + + assertTrue("Fehler: Element 569 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(569)); + assertTrue("Fehler: Element 569 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(569)); + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 503, 127, 217, 22, 435, 870, 878, 49}); + + assertFalse("Fehler: Element 493 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(493)); + dieListe.anhaengen(421); + Tester.pruefeListenInhalt(dieListe, new int[]{745, 545, 569, 700, 962, 503, 127, 217, 22, 435, 870, 878, 49, 421}); + + assertTrue("Fehler: Element 421 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(421)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(659); + Tester.pruefeListenInhalt(dieListe, new int[]{659}); + + assertFalse("Fehler: Element 32 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(32)); + assertFalse("Fehler: Element 899 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(899)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(155); + Tester.pruefeListenInhalt(dieListe, new int[]{155}); + + dieListe.einfuegenBei(0, 205); + Tester.pruefeListenInhalt(dieListe, new int[]{205, 155}); + + assertFalse("Fehler: Element 994 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(994)); + assertFalse("Fehler: Element 146 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(146)); + dieListe.anhaengen(31); + Tester.pruefeListenInhalt(dieListe, new int[]{205, 155, 31}); + + dieListe.anhaengen(557); + Tester.pruefeListenInhalt(dieListe, new int[]{205, 155, 31, 557}); + + assertFalse("Fehler: Element 980 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(980)); + assertTrue("Fehler: Element 205 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(205)); + assertFalse("Fehler: Element 438 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(438)); + dieListe.anhaengen(55); + Tester.pruefeListenInhalt(dieListe, new int[]{205, 155, 31, 557, 55}); + + dieListe.anhaengen(463); + Tester.pruefeListenInhalt(dieListe, new int[]{205, 155, 31, 557, 55, 463}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{205, 155, 557, 55, 463}); + + assertFalse("Fehler: Element 750 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(750)); + dieListe.anhaengen(709); + Tester.pruefeListenInhalt(dieListe, new int[]{205, 155, 557, 55, 463, 709}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{205, 155, 557, 55, 463}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{155, 557, 55, 463}); + + dieListe.anhaengen(624); + Tester.pruefeListenInhalt(dieListe, new int[]{155, 557, 55, 463, 624}); + + assertFalse("Fehler: Element 842 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(842)); + dieListe.anhaengen(518); + Tester.pruefeListenInhalt(dieListe, new int[]{155, 557, 55, 463, 624, 518}); + + assertTrue("Fehler: Element 463 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(463)); + assertTrue("Fehler: Element 557 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(557)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{155, 557, 55, 624, 518}); + + assertTrue("Fehler: Element 624 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(624)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{155, 557, 55, 624}); + + dieListe.anhaengen(217); + Tester.pruefeListenInhalt(dieListe, new int[]{155, 557, 55, 624, 217}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{155, 557, 55, 624}); + + assertTrue("Fehler: Element 557 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(557)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{155, 55, 624}); + + dieListe.einfuegenBei(0, 363); + Tester.pruefeListenInhalt(dieListe, new int[]{363, 155, 55, 624}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{363, 155, 624}); + + dieListe.anhaengen(719); + Tester.pruefeListenInhalt(dieListe, new int[]{363, 155, 624, 719}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 73); + Tester.pruefeListenInhalt(dieListe, new int[]{73}); + + dieListe.anhaengen(957); + Tester.pruefeListenInhalt(dieListe, new int[]{73, 957}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{957}); + + dieListe.anhaengen(854); + Tester.pruefeListenInhalt(dieListe, new int[]{957, 854}); + + dieListe.einfuegenBei(2, 741); + Tester.pruefeListenInhalt(dieListe, new int[]{957, 854, 741}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 741}); + + dieListe.einfuegenBei(0, 598); + Tester.pruefeListenInhalt(dieListe, new int[]{598, 854, 741}); + + dieListe.einfuegenBei(0, 607); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 598, 854, 741}); + + dieListe.anhaengen(874); + Tester.pruefeListenInhalt(dieListe, new int[]{607, 598, 854, 741, 874}); + + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest9.java b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest9.java new file mode 100644 index 0000000..6b3a2a8 --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/SubTest9.java @@ -0,0 +1,2773 @@ +package tests; + +import static org.junit.Assert.*; + +import liste.*; + +/** + * Die Test-Klasse SubTest9. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public class SubTest9 { + + + public static void test1Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 21); + Tester.pruefeListenInhalt(dieListe, new int[]{21}); + + dieListe.anhaengen(515); + Tester.pruefeListenInhalt(dieListe, new int[]{21, 515}); + + dieListe.einfuegenBei(2, 49); + Tester.pruefeListenInhalt(dieListe, new int[]{21, 515, 49}); + + assertFalse("Fehler: Element 949 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(949)); + assertTrue("Fehler: Element 21 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(21)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{21, 49}); + + dieListe.anhaengen(476); + Tester.pruefeListenInhalt(dieListe, new int[]{21, 49, 476}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{49, 476}); + + dieListe.einfuegenBei(0, 927); + Tester.pruefeListenInhalt(dieListe, new int[]{927, 49, 476}); + + dieListe.einfuegenBei(1, 132); + Tester.pruefeListenInhalt(dieListe, new int[]{927, 132, 49, 476}); + + dieListe.einfuegenBei(2, 854); + Tester.pruefeListenInhalt(dieListe, new int[]{927, 132, 854, 49, 476}); + + dieListe.einfuegenBei(2, 624); + Tester.pruefeListenInhalt(dieListe, new int[]{927, 132, 624, 854, 49, 476}); + + dieListe.anhaengen(470); + Tester.pruefeListenInhalt(dieListe, new int[]{927, 132, 624, 854, 49, 476, 470}); + + dieListe.einfuegenBei(1, 558); + Tester.pruefeListenInhalt(dieListe, new int[]{927, 558, 132, 624, 854, 49, 476, 470}); + + assertFalse("Fehler: Element 578 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(578)); + dieListe.einfuegenBei(0, 213); + Tester.pruefeListenInhalt(dieListe, new int[]{213, 927, 558, 132, 624, 854, 49, 476, 470}); + + assertFalse("Fehler: Element 701 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(701)); + dieListe.anhaengen(257); + Tester.pruefeListenInhalt(dieListe, new int[]{213, 927, 558, 132, 624, 854, 49, 476, 470, 257}); + + dieListe.einfuegenBei(4, 742); + Tester.pruefeListenInhalt(dieListe, new int[]{213, 927, 558, 132, 742, 624, 854, 49, 476, 470, 257}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{213, 927, 558, 132, 742, 624, 854, 49, 476, 257}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 984); + Tester.pruefeListenInhalt(dieListe, new int[]{984}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(720); + Tester.pruefeListenInhalt(dieListe, new int[]{720}); + + dieListe.anhaengen(854); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 854}); + + dieListe.anhaengen(821); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 854, 821}); + + dieListe.anhaengen(799); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 854, 821, 799}); + + dieListe.einfuegenBei(3, 240); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 854, 821, 240, 799}); + + dieListe.einfuegenBei(2, 490); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 854, 490, 821, 240, 799}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 854, 490, 821, 799}); + + dieListe.einfuegenBei(0, 880); + Tester.pruefeListenInhalt(dieListe, new int[]{880, 720, 854, 490, 821, 799}); + + dieListe.anhaengen(975); + Tester.pruefeListenInhalt(dieListe, new int[]{880, 720, 854, 490, 821, 799, 975}); + + dieListe.anhaengen(458); + Tester.pruefeListenInhalt(dieListe, new int[]{880, 720, 854, 490, 821, 799, 975, 458}); + + assertTrue("Fehler: Element 854 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(854)); + assertTrue("Fehler: Element 799 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(799)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{880, 720, 490, 821, 799, 975, 458}); + + dieListe.anhaengen(44); + Tester.pruefeListenInhalt(dieListe, new int[]{880, 720, 490, 821, 799, 975, 458, 44}); + + dieListe.einfuegenBei(8, 748); + Tester.pruefeListenInhalt(dieListe, new int[]{880, 720, 490, 821, 799, 975, 458, 44, 748}); + + assertTrue("Fehler: Element 44 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(44)); + dieListe.einfuegenBei(6, 942); + Tester.pruefeListenInhalt(dieListe, new int[]{880, 720, 490, 821, 799, 975, 942, 458, 44, 748}); + + dieListe.einfuegenBei(2, 844); + Tester.pruefeListenInhalt(dieListe, new int[]{880, 720, 844, 490, 821, 799, 975, 942, 458, 44, 748}); + + dieListe.einfuegenBei(4, 89); + Tester.pruefeListenInhalt(dieListe, new int[]{880, 720, 844, 490, 89, 821, 799, 975, 942, 458, 44, 748}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 844, 490, 89, 821, 799, 975, 942, 458, 44, 748}); + + dieListe.anhaengen(907); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 844, 490, 89, 821, 799, 975, 942, 458, 44, 748, 907}); + + dieListe.einfuegenBei(4, 510); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 844, 490, 89, 510, 821, 799, 975, 942, 458, 44, 748, 907}); + + dieListe.anhaengen(496); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 844, 490, 89, 510, 821, 799, 975, 942, 458, 44, 748, 907, 496}); + + assertTrue("Fehler: Element 844 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(844)); + dieListe.einfuegenBei(11, 780); + Tester.pruefeListenInhalt(dieListe, new int[]{720, 844, 490, 89, 510, 821, 799, 975, 942, 458, 44, 780, 748, 907, 496}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{844, 490, 89, 510, 821, 799, 975, 942, 458, 44, 780, 748, 907, 496}); + + assertTrue("Fehler: Element 496 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(496)); + dieListe.anhaengen(142); + Tester.pruefeListenInhalt(dieListe, new int[]{844, 490, 89, 510, 821, 799, 975, 942, 458, 44, 780, 748, 907, 496, 142}); + + dieListe.einfuegenBei(5, 374); + Tester.pruefeListenInhalt(dieListe, new int[]{844, 490, 89, 510, 821, 374, 799, 975, 942, 458, 44, 780, 748, 907, 496, 142}); + + dieListe.einfuegenBei(2, 887); + Tester.pruefeListenInhalt(dieListe, new int[]{844, 490, 887, 89, 510, 821, 374, 799, 975, 942, 458, 44, 780, 748, 907, 496, 142}); + + assertFalse("Fehler: Element 704 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(704)); + dieListe.einfuegenBei(0, 534); + Tester.pruefeListenInhalt(dieListe, new int[]{534, 844, 490, 887, 89, 510, 821, 374, 799, 975, 942, 458, 44, 780, 748, 907, 496, 142}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(746); + Tester.pruefeListenInhalt(dieListe, new int[]{746}); + + dieListe.anhaengen(941); + Tester.pruefeListenInhalt(dieListe, new int[]{746, 941}); + + dieListe.anhaengen(828); + Tester.pruefeListenInhalt(dieListe, new int[]{746, 941, 828}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{941, 828}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{828}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 590); + Tester.pruefeListenInhalt(dieListe, new int[]{590}); + + dieListe.einfuegenBei(1, 562); + Tester.pruefeListenInhalt(dieListe, new int[]{590, 562}); + + dieListe.anhaengen(895); + Tester.pruefeListenInhalt(dieListe, new int[]{590, 562, 895}); + + dieListe.anhaengen(165); + Tester.pruefeListenInhalt(dieListe, new int[]{590, 562, 895, 165}); + + dieListe.einfuegenBei(4, 574); + Tester.pruefeListenInhalt(dieListe, new int[]{590, 562, 895, 165, 574}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{590, 562, 165, 574}); + + dieListe.einfuegenBei(0, 368); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 562, 165, 574}); + + dieListe.einfuegenBei(2, 190); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 190, 562, 165, 574}); + + assertTrue("Fehler: Element 368 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(368)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 562, 165, 574}); + + dieListe.anhaengen(624); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 562, 165, 574, 624}); + + dieListe.einfuegenBei(2, 494); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 494, 562, 165, 574, 624}); + + dieListe.anhaengen(330); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 494, 562, 165, 574, 624, 330}); + + dieListe.einfuegenBei(2, 409); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 409, 494, 562, 165, 574, 624, 330}); + + assertFalse("Fehler: Element 18 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(18)); + assertTrue("Fehler: Element 574 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(574)); + dieListe.einfuegenBei(8, 678); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 409, 494, 562, 165, 574, 624, 678, 330}); + + dieListe.anhaengen(979); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 409, 494, 562, 165, 574, 624, 678, 330, 979}); + + dieListe.anhaengen(19); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 409, 494, 562, 165, 574, 624, 678, 330, 979, 19}); + + assertFalse("Fehler: Element 380 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(380)); + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 409, 494, 562, 165, 574, 624, 678, 330, 979}); + + dieListe.anhaengen(21); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 409, 494, 562, 165, 574, 624, 678, 330, 979, 21}); + + dieListe.anhaengen(499); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 409, 494, 562, 165, 574, 624, 678, 330, 979, 21, 499}); + + dieListe.anhaengen(387); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 590, 409, 494, 562, 165, 574, 624, 678, 330, 979, 21, 499, 387}); + + dieListe.einfuegenBei(1, 42); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 42, 590, 409, 494, 562, 165, 574, 624, 678, 330, 979, 21, 499, 387}); + + assertTrue("Fehler: Element 330 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(330)); + dieListe.einfuegenBei(13, 91); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 42, 590, 409, 494, 562, 165, 574, 624, 678, 330, 979, 21, 91, 499, 387}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 42, 590, 409, 494, 165, 574, 624, 678, 330, 979, 21, 91, 499, 387}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 42, 409, 494, 165, 574, 624, 678, 330, 979, 21, 91, 499, 387}); + + assertFalse("Fehler: Element 210 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(210)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 42, 409, 165, 574, 624, 678, 330, 979, 21, 91, 499, 387}); + + dieListe.anhaengen(967); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 42, 409, 165, 574, 624, 678, 330, 979, 21, 91, 499, 387, 967}); + + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{368, 42, 409, 165, 574, 624, 678, 330, 979, 21, 91, 387, 967}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(287); + Tester.pruefeListenInhalt(dieListe, new int[]{287}); + + dieListe.einfuegenBei(0, 593); + Tester.pruefeListenInhalt(dieListe, new int[]{593, 287}); + + dieListe.anhaengen(196); + Tester.pruefeListenInhalt(dieListe, new int[]{593, 287, 196}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{593, 196}); + + } + + public static void test2Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(765); + Tester.pruefeListenInhalt(dieListe, new int[]{765}); + + assertFalse("Fehler: Element 335 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(335)); + dieListe.anhaengen(575); + Tester.pruefeListenInhalt(dieListe, new int[]{765, 575}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{575}); + + dieListe.einfuegenBei(0, 273); + Tester.pruefeListenInhalt(dieListe, new int[]{273, 575}); + + dieListe.einfuegenBei(2, 39); + Tester.pruefeListenInhalt(dieListe, new int[]{273, 575, 39}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{273, 39}); + + dieListe.anhaengen(989); + Tester.pruefeListenInhalt(dieListe, new int[]{273, 39, 989}); + + assertFalse("Fehler: Element 897 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(897)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{273, 989}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{989}); + + dieListe.anhaengen(23); + Tester.pruefeListenInhalt(dieListe, new int[]{989, 23}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{23}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 792); + Tester.pruefeListenInhalt(dieListe, new int[]{792}); + + dieListe.einfuegenBei(1, 615); + Tester.pruefeListenInhalt(dieListe, new int[]{792, 615}); + + assertTrue("Fehler: Element 615 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(615)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{792}); + + assertFalse("Fehler: Element 220 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(220)); + dieListe.einfuegenBei(0, 803); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 792}); + + dieListe.einfuegenBei(2, 398); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 792, 398}); + + assertFalse("Fehler: Element 986 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(986)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 792}); + + dieListe.einfuegenBei(1, 42); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 42, 792}); + + assertTrue("Fehler: Element 42 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(42)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 792}); + + dieListe.einfuegenBei(2, 757); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 792, 757}); + + dieListe.anhaengen(35); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 792, 757, 35}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 757, 35}); + + dieListe.anhaengen(213); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 757, 35, 213}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 35, 213}); + + dieListe.anhaengen(632); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 35, 213, 632}); + + dieListe.einfuegenBei(3, 559); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 35, 213, 559, 632}); + + assertTrue("Fehler: Element 213 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(213)); + dieListe.anhaengen(141); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 35, 213, 559, 632, 141}); + + dieListe.anhaengen(388); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 35, 213, 559, 632, 141, 388}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{803, 35, 213, 632, 141, 388}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 213, 632, 141, 388}); + + dieListe.anhaengen(961); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 213, 632, 141, 388, 961}); + + assertTrue("Fehler: Element 35 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(35)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 213, 632, 388, 961}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 632, 388, 961}); + + dieListe.anhaengen(349); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 632, 388, 961, 349}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 632, 961, 349}); + + dieListe.anhaengen(175); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 632, 961, 349, 175}); + + dieListe.anhaengen(488); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 632, 961, 349, 175, 488}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 632, 961, 175, 488}); + + dieListe.anhaengen(466); + Tester.pruefeListenInhalt(dieListe, new int[]{35, 632, 961, 175, 488, 466}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 175, 488, 466}); + + dieListe.einfuegenBei(2, 689); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 689, 175, 488, 466}); + + dieListe.einfuegenBei(2, 482); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 175, 488, 466}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466}); + + dieListe.anhaengen(119); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466, 119}); + + assertFalse("Fehler: Element 878 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(878)); + dieListe.anhaengen(715); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466, 119, 715}); + + assertTrue("Fehler: Element 961 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(961)); + dieListe.anhaengen(375); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466, 119, 715, 375}); + + dieListe.anhaengen(152); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466, 119, 715, 375, 152}); + + assertTrue("Fehler: Element 961 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(961)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466, 119, 715, 152}); + + dieListe.anhaengen(43); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466, 119, 715, 152, 43}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466, 715, 152, 43}); + + dieListe.einfuegenBei(6, 136); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466, 136, 715, 152, 43}); + + dieListe.einfuegenBei(6, 16); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 488, 466, 16, 136, 715, 152, 43}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 136, 715, 152, 43}); + + dieListe.einfuegenBei(6, 956); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 956, 136, 715, 152, 43}); + + dieListe.einfuegenBei(10, 160); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 956, 136, 715, 152, 160, 43}); + + dieListe.einfuegenBei(6, 482); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 956, 136, 715, 152, 160, 43}); + + dieListe.anhaengen(632); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 956, 136, 715, 152, 160, 43, 632}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 956, 715, 152, 160, 43, 632}); + + dieListe.anhaengen(809); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 956, 715, 152, 160, 43, 632, 809}); + + dieListe.anhaengen(578); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 956, 715, 152, 160, 43, 632, 809, 578}); + + dieListe.anhaengen(604); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 956, 715, 152, 160, 43, 632, 809, 578, 604}); + + dieListe.anhaengen(726); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 956, 715, 152, 160, 43, 632, 809, 578, 604, 726}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 715, 152, 160, 43, 632, 809, 578, 604, 726}); + + dieListe.anhaengen(273); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 715, 152, 160, 43, 632, 809, 578, 604, 726, 273}); + + dieListe.einfuegenBei(14, 238); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 715, 152, 160, 43, 632, 809, 578, 238, 604, 726, 273}); + + dieListe.einfuegenBei(18, 435); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 715, 152, 160, 43, 632, 809, 578, 238, 604, 726, 273, 435}); + + dieListe.entferneBei(12); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 482, 715, 152, 160, 43, 632, 578, 238, 604, 726, 273, 435}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 715, 152, 160, 43, 632, 578, 238, 604, 726, 273, 435}); + + dieListe.anhaengen(359); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 715, 152, 160, 43, 632, 578, 238, 604, 726, 273, 435, 359}); + + assertFalse("Fehler: Element 521 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(521)); + dieListe.anhaengen(443); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 715, 152, 160, 43, 632, 578, 238, 604, 726, 273, 435, 359, 443}); + + dieListe.einfuegenBei(17, 423); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 715, 152, 160, 43, 632, 578, 238, 604, 726, 273, 435, 423, 359, 443}); + + dieListe.entferneBei(15); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 715, 152, 160, 43, 632, 578, 238, 604, 726, 435, 423, 359, 443}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 43, 632, 578, 238, 604, 726, 435, 423, 359, 443}); + + assertTrue("Fehler: Element 632 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(632)); + dieListe.anhaengen(769); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 43, 632, 578, 238, 604, 726, 435, 423, 359, 443, 769}); + + dieListe.anhaengen(482); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 43, 632, 578, 238, 604, 726, 435, 423, 359, 443, 769, 482}); + + dieListe.einfuegenBei(11, 239); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 43, 632, 578, 239, 238, 604, 726, 435, 423, 359, 443, 769, 482}); + + assertTrue("Fehler: Element 769 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(769)); + dieListe.entferneBei(16); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 43, 632, 578, 239, 238, 604, 726, 435, 359, 443, 769, 482}); + + dieListe.einfuegenBei(10, 504); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 43, 632, 504, 578, 239, 238, 604, 726, 435, 359, 443, 769, 482}); + + dieListe.entferneBei(16); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 43, 632, 504, 578, 239, 238, 604, 726, 359, 443, 769, 482}); + + assertFalse("Fehler: Element 529 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(529)); + assertTrue("Fehler: Element 466 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(466)); + assertFalse("Fehler: Element 281 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(281)); + dieListe.einfuegenBei(10, 525); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 43, 632, 525, 504, 578, 239, 238, 604, 726, 359, 443, 769, 482}); + + dieListe.entferneBei(20); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 43, 632, 525, 504, 578, 239, 238, 604, 726, 359, 443, 769}); + + dieListe.einfuegenBei(8, 301); + Tester.pruefeListenInhalt(dieListe, new int[]{632, 961, 482, 689, 466, 16, 152, 160, 301, 43, 632, 525, 504, 578, 239, 238, 604, 726, 359, 443, 769}); + + } + + public static void test3Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(397); + Tester.pruefeListenInhalt(dieListe, new int[]{397}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 67); + Tester.pruefeListenInhalt(dieListe, new int[]{67}); + + assertTrue("Fehler: Element 67 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(67)); + assertFalse("Fehler: Element 748 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(748)); + dieListe.einfuegenBei(0, 304); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 67}); + + dieListe.einfuegenBei(2, 69); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 67, 69}); + + dieListe.anhaengen(577); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 67, 69, 577}); + + dieListe.anhaengen(436); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 67, 69, 577, 436}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 577, 436}); + + dieListe.anhaengen(260); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 577, 436, 260}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 436, 260}); + + dieListe.anhaengen(541); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 436, 260, 541}); + + dieListe.anhaengen(943); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 436, 260, 541, 943}); + + assertTrue("Fehler: Element 943 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(943)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 436, 541, 943}); + + dieListe.anhaengen(372); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 436, 541, 943, 372}); + + dieListe.anhaengen(846); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 436, 541, 943, 372, 846}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 436, 943, 372, 846}); + + dieListe.anhaengen(689); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 436, 943, 372, 846, 689}); + + dieListe.einfuegenBei(4, 57); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 69, 436, 943, 57, 372, 846, 689}); + + dieListe.einfuegenBei(0, 262); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 846, 689}); + + assertTrue("Fehler: Element 943 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(943)); + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 689}); + + dieListe.anhaengen(129); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 689, 129}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 689}); + + dieListe.anhaengen(437); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 689, 437}); + + dieListe.anhaengen(952); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 689, 437, 952}); + + dieListe.anhaengen(807); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 689, 437, 952, 807}); + + dieListe.einfuegenBei(7, 72); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 72, 689, 437, 952, 807}); + + assertFalse("Fehler: Element 886 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(886)); + assertFalse("Fehler: Element 772 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(772)); + assertTrue("Fehler: Element 72 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(72)); + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 72, 689, 437, 952}); + + dieListe.anhaengen(709); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 72, 689, 437, 952, 709}); + + assertTrue("Fehler: Element 262 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(262)); + dieListe.einfuegenBei(10, 821); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 57, 372, 72, 689, 437, 821, 952, 709}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 372, 72, 689, 437, 821, 952, 709}); + + dieListe.anhaengen(898); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 372, 72, 689, 437, 821, 952, 709, 898}); + + assertTrue("Fehler: Element 72 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(72)); + dieListe.einfuegenBei(5, 139); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 69, 436, 943, 139, 372, 72, 689, 437, 821, 952, 709, 898}); + + dieListe.einfuegenBei(2, 886); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 886, 69, 436, 943, 139, 372, 72, 689, 437, 821, 952, 709, 898}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 886, 69, 436, 943, 139, 372, 72, 689, 821, 952, 709, 898}); + + dieListe.einfuegenBei(9, 836); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 886, 69, 436, 943, 139, 372, 72, 836, 689, 821, 952, 709, 898}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 886, 436, 943, 139, 372, 72, 836, 689, 821, 952, 709, 898}); + + dieListe.entferneBei(13); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 886, 436, 943, 139, 372, 72, 836, 689, 821, 952, 709}); + + assertTrue("Fehler: Element 943 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(943)); + assertFalse("Fehler: Element 237 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(237)); + dieListe.einfuegenBei(13, 803); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 886, 436, 943, 139, 372, 72, 836, 689, 821, 952, 709, 803}); + + dieListe.anhaengen(918); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 886, 436, 943, 139, 372, 72, 836, 689, 821, 952, 709, 803, 918}); + + assertFalse("Fehler: Element 799 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(799)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 436, 943, 139, 372, 72, 836, 689, 821, 952, 709, 803, 918}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 436, 943, 139, 372, 72, 836, 689, 821, 709, 803, 918}); + + assertTrue("Fehler: Element 918 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(918)); + assertFalse("Fehler: Element 652 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(652)); + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 436, 943, 139, 372, 72, 836, 689, 709, 803, 918}); + + dieListe.anhaengen(578); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 436, 943, 139, 372, 72, 836, 689, 709, 803, 918, 578}); + + dieListe.anhaengen(954); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 436, 943, 139, 372, 72, 836, 689, 709, 803, 918, 578, 954}); + + dieListe.einfuegenBei(10, 961); + Tester.pruefeListenInhalt(dieListe, new int[]{262, 304, 436, 943, 139, 372, 72, 836, 689, 709, 961, 803, 918, 578, 954}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 436, 943, 139, 372, 72, 836, 689, 709, 961, 803, 918, 578, 954}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 436, 943, 139, 372, 72, 836, 689, 709, 803, 918, 578, 954}); + + dieListe.anhaengen(178); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 436, 943, 139, 372, 72, 836, 689, 709, 803, 918, 578, 954, 178}); + + dieListe.anhaengen(733); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 436, 943, 139, 372, 72, 836, 689, 709, 803, 918, 578, 954, 178, 733}); + + assertTrue("Fehler: Element 803 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(803)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 436, 943, 372, 72, 836, 689, 709, 803, 918, 578, 954, 178, 733}); + + assertFalse("Fehler: Element 325 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(325)); + assertFalse("Fehler: Element 50 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(50)); + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{304, 436, 943, 372, 72, 836, 689, 709, 803, 918, 954, 178, 733}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 467); + Tester.pruefeListenInhalt(dieListe, new int[]{467}); + + dieListe.einfuegenBei(1, 927); + Tester.pruefeListenInhalt(dieListe, new int[]{467, 927}); + + dieListe.einfuegenBei(0, 242); + Tester.pruefeListenInhalt(dieListe, new int[]{242, 467, 927}); + + dieListe.anhaengen(474); + Tester.pruefeListenInhalt(dieListe, new int[]{242, 467, 927, 474}); + + assertFalse("Fehler: Element 72 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(72)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{242, 467, 927}); + + assertFalse("Fehler: Element 342 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(342)); + assertFalse("Fehler: Element 210 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(210)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{242, 927}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{242}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 111); + Tester.pruefeListenInhalt(dieListe, new int[]{111}); + + assertFalse("Fehler: Element 34 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(34)); + dieListe.einfuegenBei(1, 591); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 591}); + + dieListe.einfuegenBei(1, 308); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 308, 591}); + + dieListe.einfuegenBei(1, 819); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 819, 308, 591}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 819, 308}); + + assertTrue("Fehler: Element 819 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(819)); + dieListe.einfuegenBei(1, 225); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 225, 819, 308}); + + assertTrue("Fehler: Element 111 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(111)); + dieListe.einfuegenBei(1, 680); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 680, 225, 819, 308}); + + assertTrue("Fehler: Element 680 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(680)); + dieListe.einfuegenBei(1, 686); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 686, 680, 225, 819, 308}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 680, 225, 819, 308}); + + dieListe.einfuegenBei(4, 816); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 680, 225, 819, 816, 308}); + + dieListe.anhaengen(124); + Tester.pruefeListenInhalt(dieListe, new int[]{111, 680, 225, 819, 816, 308, 124}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{680, 225, 819, 816, 308, 124}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{680, 819, 816, 308, 124}); + + dieListe.einfuegenBei(4, 19); + Tester.pruefeListenInhalt(dieListe, new int[]{680, 819, 816, 308, 19, 124}); + + dieListe.einfuegenBei(4, 569); + Tester.pruefeListenInhalt(dieListe, new int[]{680, 819, 816, 308, 569, 19, 124}); + + } + + public static void test4Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 298); + Tester.pruefeListenInhalt(dieListe, new int[]{298}); + +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(735); + Tester.pruefeListenInhalt(dieListe, new int[]{735}); + + dieListe.einfuegenBei(0, 474); + Tester.pruefeListenInhalt(dieListe, new int[]{474, 735}); + + dieListe.einfuegenBei(0, 562); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 474, 735}); + + dieListe.anhaengen(201); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 474, 735, 201}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 474, 735}); + + dieListe.einfuegenBei(0, 103); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 474, 735}); + + dieListe.anhaengen(54); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 474, 735, 54}); + + assertTrue("Fehler: Element 735 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(735)); + assertTrue("Fehler: Element 474 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(474)); + dieListe.anhaengen(940); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 474, 735, 54, 940}); + + assertTrue("Fehler: Element 562 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(562)); + dieListe.einfuegenBei(5, 631); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 474, 735, 54, 631, 940}); + + assertFalse("Fehler: Element 250 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(250)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 735, 54, 631, 940}); + + dieListe.einfuegenBei(6, 30); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 735, 54, 631, 940, 30}); + + dieListe.anhaengen(966); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 735, 54, 631, 940, 30, 966}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 735, 54, 631, 940, 966}); + + dieListe.anhaengen(931); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 735, 54, 631, 940, 966, 931}); + + dieListe.anhaengen(748); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 735, 54, 631, 940, 966, 931, 748}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 562, 735, 54, 940, 966, 931, 748}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 735, 54, 940, 966, 931, 748}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 54, 940, 966, 931, 748}); + + dieListe.einfuegenBei(5, 214); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 54, 940, 966, 931, 214, 748}); + + dieListe.einfuegenBei(2, 28); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 54, 28, 940, 966, 931, 214, 748}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 54, 28, 940, 966, 214, 748}); + + dieListe.anhaengen(397); + Tester.pruefeListenInhalt(dieListe, new int[]{562, 54, 28, 940, 966, 214, 748, 397}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(413); + Tester.pruefeListenInhalt(dieListe, new int[]{413}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(950); + Tester.pruefeListenInhalt(dieListe, new int[]{950}); + + dieListe.einfuegenBei(0, 480); + Tester.pruefeListenInhalt(dieListe, new int[]{480, 950}); + + dieListe.anhaengen(962); + Tester.pruefeListenInhalt(dieListe, new int[]{480, 950, 962}); + + assertFalse("Fehler: Element 287 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(287)); + assertTrue("Fehler: Element 962 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(962)); + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{480, 950, 962, 581}); + + dieListe.einfuegenBei(2, 163); + Tester.pruefeListenInhalt(dieListe, new int[]{480, 950, 163, 962, 581}); + + dieListe.einfuegenBei(1, 678); + Tester.pruefeListenInhalt(dieListe, new int[]{480, 678, 950, 163, 962, 581}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 267); + Tester.pruefeListenInhalt(dieListe, new int[]{267}); + + dieListe.einfuegenBei(1, 595); + Tester.pruefeListenInhalt(dieListe, new int[]{267, 595}); + + assertTrue("Fehler: Element 595 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(595)); + dieListe.anhaengen(812); + Tester.pruefeListenInhalt(dieListe, new int[]{267, 595, 812}); + + assertTrue("Fehler: Element 267 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(267)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{267, 812}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{267}); + + assertFalse("Fehler: Element 82 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(82)); + assertFalse("Fehler: Element 256 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(256)); + dieListe.einfuegenBei(0, 968); + Tester.pruefeListenInhalt(dieListe, new int[]{968, 267}); + + assertTrue("Fehler: Element 968 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(968)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 715); + Tester.pruefeListenInhalt(dieListe, new int[]{715}); + + dieListe.einfuegenBei(0, 56); + Tester.pruefeListenInhalt(dieListe, new int[]{56, 715}); + + dieListe.einfuegenBei(0, 332); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 715}); + + dieListe.anhaengen(757); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 715, 757}); + + dieListe.anhaengen(844); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 715, 757, 844}); + + dieListe.einfuegenBei(1, 771); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 771, 56, 715, 757, 844}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 715, 757, 844}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 757, 844}); + + assertTrue("Fehler: Element 332 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(332)); + assertFalse("Fehler: Element 905 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(905)); + dieListe.einfuegenBei(4, 175); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 757, 844, 175}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 757, 175}); + + dieListe.einfuegenBei(2, 774); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 774, 757, 175}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 757, 175}); + + assertTrue("Fehler: Element 56 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(56)); + dieListe.anhaengen(711); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 757, 175, 711}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 757, 711}); + + dieListe.anhaengen(980); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 56, 757, 711, 980}); + + dieListe.einfuegenBei(1, 238); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 56, 757, 711, 980}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 757, 711, 980}); + + dieListe.anhaengen(778); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 757, 711, 980, 778}); + + assertTrue("Fehler: Element 980 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(980)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 757, 711, 778}); + + dieListe.anhaengen(241); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 757, 711, 778, 241}); + + dieListe.einfuegenBei(4, 142); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 757, 711, 142, 778, 241}); + + assertFalse("Fehler: Element 727 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(727)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 711, 142, 778, 241}); + + dieListe.anhaengen(689); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 711, 142, 778, 241, 689}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 711, 778, 241, 689}); + + assertTrue("Fehler: Element 238 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(238)); + dieListe.einfuegenBei(2, 843); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 843, 711, 778, 241, 689}); + + dieListe.anhaengen(267); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 843, 711, 778, 241, 689, 267}); + + assertTrue("Fehler: Element 241 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(241)); + assertFalse("Fehler: Element 412 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(412)); + assertFalse("Fehler: Element 925 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(925)); + dieListe.anhaengen(316); + Tester.pruefeListenInhalt(dieListe, new int[]{332, 238, 843, 711, 778, 241, 689, 267, 316}); + + assertTrue("Fehler: Element 241 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(241)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{238, 843, 711, 778, 241, 689, 267, 316}); + + assertFalse("Fehler: Element 460 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(460)); + assertFalse("Fehler: Element 950 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(950)); + assertTrue("Fehler: Element 241 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(241)); + dieListe.einfuegenBei(5, 368); + Tester.pruefeListenInhalt(dieListe, new int[]{238, 843, 711, 778, 241, 368, 689, 267, 316}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{238, 843, 711, 241, 368, 689, 267, 316}); + + assertFalse("Fehler: Element 335 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(335)); + dieListe.einfuegenBei(2, 902); + Tester.pruefeListenInhalt(dieListe, new int[]{238, 843, 902, 711, 241, 368, 689, 267, 316}); + + dieListe.anhaengen(905); + Tester.pruefeListenInhalt(dieListe, new int[]{238, 843, 902, 711, 241, 368, 689, 267, 316, 905}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 321); + Tester.pruefeListenInhalt(dieListe, new int[]{321}); + + } + + public static void test5Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(194); + Tester.pruefeListenInhalt(dieListe, new int[]{194}); + + dieListe.einfuegenBei(0, 694); + Tester.pruefeListenInhalt(dieListe, new int[]{694, 194}); + + assertFalse("Fehler: Element 927 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(927)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{194}); + + assertFalse("Fehler: Element 555 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(555)); +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(411); + Tester.pruefeListenInhalt(dieListe, new int[]{411}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 598); + Tester.pruefeListenInhalt(dieListe, new int[]{598}); + + assertFalse("Fehler: Element 360 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(360)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 413); + Tester.pruefeListenInhalt(dieListe, new int[]{413}); + + assertFalse("Fehler: Element 340 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(340)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 163); + Tester.pruefeListenInhalt(dieListe, new int[]{163}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 766); + Tester.pruefeListenInhalt(dieListe, new int[]{766}); + + assertTrue("Fehler: Element 766 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(766)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 496); + Tester.pruefeListenInhalt(dieListe, new int[]{496}); + + dieListe.anhaengen(347); + Tester.pruefeListenInhalt(dieListe, new int[]{496, 347}); + + assertFalse("Fehler: Element 196 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(196)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{347}); + + dieListe.einfuegenBei(1, 247); + Tester.pruefeListenInhalt(dieListe, new int[]{347, 247}); + + assertTrue("Fehler: Element 347 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(347)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{347}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(316); + Tester.pruefeListenInhalt(dieListe, new int[]{316}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(210); + Tester.pruefeListenInhalt(dieListe, new int[]{210}); + + assertFalse("Fehler: Element 326 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(326)); + dieListe.einfuegenBei(1, 349); + Tester.pruefeListenInhalt(dieListe, new int[]{210, 349}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{210}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(277); + Tester.pruefeListenInhalt(dieListe, new int[]{277}); + + assertTrue("Fehler: Element 277 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(277)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(594); + Tester.pruefeListenInhalt(dieListe, new int[]{594}); + + dieListe.anhaengen(154); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 154}); + + dieListe.einfuegenBei(1, 586); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 586, 154}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 154}); + + dieListe.einfuegenBei(1, 390); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 390, 154}); + + assertFalse("Fehler: Element 637 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(637)); + dieListe.einfuegenBei(0, 179); + Tester.pruefeListenInhalt(dieListe, new int[]{179, 594, 390, 154}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{179, 594, 154}); + + dieListe.anhaengen(564); + Tester.pruefeListenInhalt(dieListe, new int[]{179, 594, 154, 564}); + + dieListe.einfuegenBei(4, 249); + Tester.pruefeListenInhalt(dieListe, new int[]{179, 594, 154, 564, 249}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{179, 594, 154, 564}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 154, 564}); + + dieListe.einfuegenBei(2, 9); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 154, 9, 564}); + + dieListe.anhaengen(772); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 154, 9, 564, 772}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 154, 9, 564}); + + dieListe.anhaengen(601); + Tester.pruefeListenInhalt(dieListe, new int[]{594, 154, 9, 564, 601}); + + assertFalse("Fehler: Element 178 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(178)); + assertTrue("Fehler: Element 594 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(594)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{154, 9, 564, 601}); + + dieListe.anhaengen(438); + Tester.pruefeListenInhalt(dieListe, new int[]{154, 9, 564, 601, 438}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{154, 9, 564, 438}); + + dieListe.anhaengen(116); + Tester.pruefeListenInhalt(dieListe, new int[]{154, 9, 564, 438, 116}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 564, 438, 116}); + + dieListe.anhaengen(732); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 564, 438, 116, 732}); + + dieListe.anhaengen(748); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 564, 438, 116, 732, 748}); + + dieListe.anhaengen(412); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 564, 438, 116, 732, 748, 412}); + + assertTrue("Fehler: Element 748 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(748)); + dieListe.einfuegenBei(5, 736); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 564, 438, 116, 732, 736, 748, 412}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 438, 116, 732, 736, 748, 412}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 732, 736, 748, 412}); + + assertFalse("Fehler: Element 445 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(445)); + assertFalse("Fehler: Element 52 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(52)); + dieListe.anhaengen(394); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 732, 736, 748, 412, 394}); + + dieListe.einfuegenBei(5, 352); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 732, 736, 748, 352, 412, 394}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 732, 736, 748, 352, 394}); + + dieListe.anhaengen(421); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 732, 736, 748, 352, 394, 421}); + + assertFalse("Fehler: Element 179 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(179)); + assertTrue("Fehler: Element 421 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(421)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 748, 352, 394, 421}); + + assertFalse("Fehler: Element 629 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(629)); + dieListe.anhaengen(377); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 748, 352, 394, 421, 377}); + + dieListe.anhaengen(282); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 748, 352, 394, 421, 377, 282}); + + dieListe.anhaengen(735); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 748, 352, 394, 421, 377, 282, 735}); + + assertTrue("Fehler: Element 9 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(9)); + dieListe.einfuegenBei(3, 170); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 170, 748, 352, 394, 421, 377, 282, 735}); + + assertTrue("Fehler: Element 116 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(116)); + dieListe.anhaengen(737); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 170, 748, 352, 394, 421, 377, 282, 735, 737}); + + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 170, 748, 352, 394, 421, 377, 282, 737}); + + dieListe.anhaengen(78); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 170, 748, 352, 394, 421, 377, 282, 737, 78}); + + dieListe.anhaengen(71); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 170, 748, 352, 394, 421, 377, 282, 737, 78, 71}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 170, 748, 352, 421, 377, 282, 737, 78, 71}); + + dieListe.einfuegenBei(6, 369); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 170, 748, 352, 369, 421, 377, 282, 737, 78, 71}); + + dieListe.einfuegenBei(10, 758); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 170, 748, 352, 369, 421, 377, 282, 758, 737, 78, 71}); + + dieListe.anhaengen(364); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 170, 748, 352, 369, 421, 377, 282, 758, 737, 78, 71, 364}); + + assertFalse("Fehler: Element 275 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(275)); + dieListe.einfuegenBei(3, 727); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 727, 170, 748, 352, 369, 421, 377, 282, 758, 737, 78, 71, 364}); + + dieListe.anhaengen(958); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 727, 170, 748, 352, 369, 421, 377, 282, 758, 737, 78, 71, 364, 958}); + + dieListe.einfuegenBei(16, 555); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 727, 170, 748, 352, 369, 421, 377, 282, 758, 737, 78, 71, 364, 555, 958}); + + dieListe.anhaengen(147); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 727, 170, 748, 352, 369, 421, 377, 282, 758, 737, 78, 71, 364, 555, 958, 147}); + + dieListe.anhaengen(382); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 727, 170, 748, 352, 369, 421, 377, 282, 758, 737, 78, 71, 364, 555, 958, 147, 382}); + + dieListe.entferneBei(17); + Tester.pruefeListenInhalt(dieListe, new int[]{9, 116, 736, 727, 170, 748, 352, 369, 421, 377, 282, 758, 737, 78, 71, 364, 555, 147, 382}); + + } + + public static void test6Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(981); + Tester.pruefeListenInhalt(dieListe, new int[]{981}); + + assertFalse("Fehler: Element 802 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(802)); + dieListe.einfuegenBei(0, 672); + Tester.pruefeListenInhalt(dieListe, new int[]{672, 981}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{981}); + + dieListe.anhaengen(633); + Tester.pruefeListenInhalt(dieListe, new int[]{981, 633}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{981}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(26); + Tester.pruefeListenInhalt(dieListe, new int[]{26}); + + dieListe.einfuegenBei(1, 55); + Tester.pruefeListenInhalt(dieListe, new int[]{26, 55}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 184); + Tester.pruefeListenInhalt(dieListe, new int[]{184}); + + dieListe.einfuegenBei(0, 717); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 184}); + + dieListe.einfuegenBei(2, 994); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 184, 994}); + + assertFalse("Fehler: Element 700 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(700)); + assertFalse("Fehler: Element 574 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(574)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 184}); + + dieListe.einfuegenBei(2, 641); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 184, 641}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 184}); + + dieListe.anhaengen(97); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 184, 97}); + + dieListe.anhaengen(166); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 184, 97, 166}); + + assertFalse("Fehler: Element 178 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(178)); + dieListe.einfuegenBei(1, 362); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 362, 184, 97, 166}); + + assertFalse("Fehler: Element 765 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(765)); + dieListe.einfuegenBei(1, 106); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 106, 362, 184, 97, 166}); + + dieListe.einfuegenBei(6, 495); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 106, 362, 184, 97, 166, 495}); + + dieListe.einfuegenBei(4, 360); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 106, 362, 184, 360, 97, 166, 495}); + + dieListe.einfuegenBei(4, 440); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 106, 362, 184, 440, 360, 97, 166, 495}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 362, 184, 440, 360, 97, 166, 495}); + + assertFalse("Fehler: Element 195 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(195)); + dieListe.einfuegenBei(2, 652); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 362, 652, 184, 440, 360, 97, 166, 495}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 362, 184, 440, 360, 97, 166, 495}); + + dieListe.einfuegenBei(1, 824); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 362, 184, 440, 360, 97, 166, 495}); + + assertTrue("Fehler: Element 360 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(360)); + assertFalse("Fehler: Element 315 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(315)); + assertFalse("Fehler: Element 496 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(496)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 362, 440, 360, 97, 166, 495}); + + dieListe.anhaengen(717); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 362, 440, 360, 97, 166, 495, 717}); + + dieListe.anhaengen(805); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 362, 440, 360, 97, 166, 495, 717, 805}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 362, 360, 97, 166, 495, 717, 805}); + + dieListe.anhaengen(968); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 362, 360, 97, 166, 495, 717, 805, 968}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 362, 360, 97, 166, 495, 717, 968}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 362, 360, 97, 495, 717, 968}); + + dieListe.einfuegenBei(6, 723); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 362, 360, 97, 495, 723, 717, 968}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 360, 97, 495, 723, 717, 968}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 360, 97, 495, 723, 968}); + + dieListe.einfuegenBei(2, 46); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 46, 360, 97, 495, 723, 968}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 46, 360, 97, 723, 968}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 360, 97, 723, 968}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 824, 97, 723, 968}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 97, 723, 968}); + + assertTrue("Fehler: Element 723 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(723)); + assertTrue("Fehler: Element 717 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(717)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 723, 968}); + + assertTrue("Fehler: Element 97 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(97)); + dieListe.einfuegenBei(2, 236); + Tester.pruefeListenInhalt(dieListe, new int[]{97, 723, 236, 968}); + + dieListe.einfuegenBei(0, 103); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 97, 723, 236, 968}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 97, 723, 236}); + + dieListe.anhaengen(990); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 97, 723, 236, 990}); + + dieListe.einfuegenBei(1, 574); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 574, 97, 723, 236, 990}); + + dieListe.einfuegenBei(6, 626); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 574, 97, 723, 236, 990, 626}); + + dieListe.einfuegenBei(6, 19); + Tester.pruefeListenInhalt(dieListe, new int[]{103, 574, 97, 723, 236, 990, 19, 626}); + + assertTrue("Fehler: Element 626 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(626)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(116); + Tester.pruefeListenInhalt(dieListe, new int[]{116}); + + assertFalse("Fehler: Element 306 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(306)); + dieListe.einfuegenBei(1, 512); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 512}); + + dieListe.einfuegenBei(0, 830); + Tester.pruefeListenInhalt(dieListe, new int[]{830, 116, 512}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{830, 512}); + + dieListe.anhaengen(455); + Tester.pruefeListenInhalt(dieListe, new int[]{830, 512, 455}); + + dieListe.einfuegenBei(3, 682); + Tester.pruefeListenInhalt(dieListe, new int[]{830, 512, 455, 682}); + + assertFalse("Fehler: Element 602 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(602)); + dieListe.einfuegenBei(1, 931); + Tester.pruefeListenInhalt(dieListe, new int[]{830, 931, 512, 455, 682}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{830, 931, 512, 682}); + + dieListe.einfuegenBei(1, 566); + Tester.pruefeListenInhalt(dieListe, new int[]{830, 566, 931, 512, 682}); + + dieListe.anhaengen(349); + Tester.pruefeListenInhalt(dieListe, new int[]{830, 566, 931, 512, 682, 349}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{566, 931, 512, 682, 349}); + + dieListe.einfuegenBei(3, 388); + Tester.pruefeListenInhalt(dieListe, new int[]{566, 931, 512, 388, 682, 349}); + + dieListe.einfuegenBei(0, 618); + Tester.pruefeListenInhalt(dieListe, new int[]{618, 566, 931, 512, 388, 682, 349}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{618, 566, 931, 512, 388, 682}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 104); + Tester.pruefeListenInhalt(dieListe, new int[]{104}); + + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 189}); + + dieListe.anhaengen(922); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 189, 922}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 922}); + + assertFalse("Fehler: Element 490 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(490)); + assertFalse("Fehler: Element 507 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(507)); + dieListe.einfuegenBei(1, 910); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 910, 922}); + + dieListe.einfuegenBei(2, 662); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 910, 662, 922}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 910, 662}); + + dieListe.einfuegenBei(1, 820); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 820, 910, 662}); + + assertTrue("Fehler: Element 910 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(910)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 910, 662}); + + dieListe.anhaengen(358); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 910, 662, 358}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 910, 662}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 662}); + + assertFalse("Fehler: Element 846 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(846)); + assertFalse("Fehler: Element 77 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(77)); + dieListe.anhaengen(473); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 662, 473}); + + dieListe.anhaengen(802); + Tester.pruefeListenInhalt(dieListe, new int[]{104, 662, 473, 802}); + + } + + public static void test7Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.einfuegenBei(0, 278); + Tester.pruefeListenInhalt(dieListe, new int[]{278}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(664); + Tester.pruefeListenInhalt(dieListe, new int[]{664}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + +// Alles löschen + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 274); + Tester.pruefeListenInhalt(dieListe, new int[]{274}); + + dieListe.einfuegenBei(1, 839); + Tester.pruefeListenInhalt(dieListe, new int[]{274, 839}); + + dieListe.einfuegenBei(1, 565); + Tester.pruefeListenInhalt(dieListe, new int[]{274, 565, 839}); + + dieListe.einfuegenBei(0, 136); + Tester.pruefeListenInhalt(dieListe, new int[]{136, 274, 565, 839}); + + dieListe.einfuegenBei(1, 93); + Tester.pruefeListenInhalt(dieListe, new int[]{136, 93, 274, 565, 839}); + + dieListe.einfuegenBei(3, 208); + Tester.pruefeListenInhalt(dieListe, new int[]{136, 93, 274, 208, 565, 839}); + + dieListe.einfuegenBei(1, 320); + Tester.pruefeListenInhalt(dieListe, new int[]{136, 320, 93, 274, 208, 565, 839}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{136, 320, 93, 274, 208, 565}); + + assertTrue("Fehler: Element 320 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(320)); + assertTrue("Fehler: Element 320 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(320)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{136, 93, 274, 208, 565}); + + dieListe.einfuegenBei(1, 976); + Tester.pruefeListenInhalt(dieListe, new int[]{136, 976, 93, 274, 208, 565}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(134); + Tester.pruefeListenInhalt(dieListe, new int[]{134}); + + dieListe.einfuegenBei(0, 851); + Tester.pruefeListenInhalt(dieListe, new int[]{851, 134}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{134}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(502); + Tester.pruefeListenInhalt(dieListe, new int[]{502}); + + dieListe.anhaengen(763); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 763}); + + dieListe.einfuegenBei(2, 154); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 763, 154}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 154}); + + dieListe.anhaengen(38); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 154, 38}); + + assertFalse("Fehler: Element 975 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(975)); + dieListe.anhaengen(608); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 154, 38, 608}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 154, 608}); + + dieListe.einfuegenBei(3, 467); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 154, 608, 467}); + + assertFalse("Fehler: Element 715 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(715)); + assertTrue("Fehler: Element 154 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(154)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 154, 467}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 154}); + + dieListe.anhaengen(837); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 154, 837}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 837}); + + dieListe.einfuegenBei(1, 144); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 144, 837}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 144}); + + dieListe.einfuegenBei(0, 957); + Tester.pruefeListenInhalt(dieListe, new int[]{957, 502, 144}); + + assertTrue("Fehler: Element 144 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(144)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 144}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{144}); + + assertTrue("Fehler: Element 144 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(144)); + assertTrue("Fehler: Element 144 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(144)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(216); + Tester.pruefeListenInhalt(dieListe, new int[]{216}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(754); + Tester.pruefeListenInhalt(dieListe, new int[]{754}); + + dieListe.einfuegenBei(1, 375); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 375}); + + assertTrue("Fehler: Element 375 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(375)); + dieListe.anhaengen(922); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 375, 922}); + + dieListe.anhaengen(288); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 375, 922, 288}); + + dieListe.anhaengen(18); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 375, 922, 288, 18}); + + dieListe.anhaengen(490); + Tester.pruefeListenInhalt(dieListe, new int[]{754, 375, 922, 288, 18, 490}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 922, 288, 18, 490}); + + dieListe.anhaengen(841); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 922, 288, 18, 490, 841}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 922, 288, 490, 841}); + + dieListe.anhaengen(23); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 922, 288, 490, 841, 23}); + + dieListe.einfuegenBei(3, 595); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 922, 288, 595, 490, 841, 23}); + + assertTrue("Fehler: Element 490 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(490)); + dieListe.anhaengen(314); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 922, 288, 595, 490, 841, 23, 314}); + + dieListe.einfuegenBei(5, 674); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 922, 288, 595, 490, 674, 841, 23, 314}); + + assertTrue("Fehler: Element 490 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(490)); + assertTrue("Fehler: Element 314 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(314)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 288, 595, 490, 674, 841, 23, 314}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 288, 595, 490, 841, 23, 314}); + + assertTrue("Fehler: Element 490 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(490)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 288, 595, 490, 23, 314}); + + assertFalse("Fehler: Element 107 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(107)); + dieListe.anhaengen(858); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 288, 595, 490, 23, 314, 858}); + + dieListe.anhaengen(892); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 288, 595, 490, 23, 314, 858, 892}); + + dieListe.einfuegenBei(1, 539); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 490, 23, 314, 858, 892}); + + dieListe.anhaengen(875); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 490, 23, 314, 858, 892, 875}); + + dieListe.einfuegenBei(4, 64); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 875}); + + dieListe.anhaengen(588); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 875, 588}); + + dieListe.einfuegenBei(12, 567); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 875, 588, 567}); + + dieListe.anhaengen(261); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 875, 588, 567, 261}); + + dieListe.einfuegenBei(10, 75); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 75, 875, 588, 567, 261}); + + dieListe.anhaengen(528); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 75, 875, 588, 567, 261, 528}); + + dieListe.einfuegenBei(12, 88); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 75, 875, 88, 588, 567, 261, 528}); + + assertFalse("Fehler: Element 433 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(433)); + dieListe.entferneBei(11); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 75, 88, 588, 567, 261, 528}); + + dieListe.anhaengen(630); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630}); + + assertTrue("Fehler: Element 490 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(490)); + dieListe.anhaengen(683); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630, 683}); + + dieListe.anhaengen(211); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 490, 23, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630, 683, 211}); + + assertTrue("Fehler: Element 375 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(375)); + assertTrue("Fehler: Element 588 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(588)); + assertFalse("Fehler: Element 25 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(25)); + dieListe.einfuegenBei(5, 332); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 332, 490, 23, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630, 683, 211}); + + dieListe.anhaengen(414); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 332, 490, 23, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630, 683, 211, 414}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 288, 595, 64, 332, 490, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630, 683, 211, 414}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 595, 64, 332, 490, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630, 683, 211, 414}); + + assertTrue("Fehler: Element 211 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(211)); + dieListe.anhaengen(449); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 595, 64, 332, 490, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630, 683, 211, 414, 449}); + + dieListe.einfuegenBei(16, 77); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 539, 595, 64, 332, 490, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630, 77, 683, 211, 414, 449}); + + dieListe.einfuegenBei(1, 278); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 278, 539, 595, 64, 332, 490, 314, 858, 892, 75, 88, 588, 567, 261, 528, 630, 77, 683, 211, 414, 449}); + + dieListe.entferneBei(15); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 278, 539, 595, 64, 332, 490, 314, 858, 892, 75, 88, 588, 567, 261, 630, 77, 683, 211, 414, 449}); + + dieListe.anhaengen(34); + Tester.pruefeListenInhalt(dieListe, new int[]{375, 278, 539, 595, 64, 332, 490, 314, 858, 892, 75, 88, 588, 567, 261, 630, 77, 683, 211, 414, 449, 34}); + + } + + public static void test8Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(491); + Tester.pruefeListenInhalt(dieListe, new int[]{491}); + + dieListe.einfuegenBei(1, 958); + Tester.pruefeListenInhalt(dieListe, new int[]{491, 958}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{491}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 73); + Tester.pruefeListenInhalt(dieListe, new int[]{73}); + + dieListe.anhaengen(235); + Tester.pruefeListenInhalt(dieListe, new int[]{73, 235}); + + dieListe.einfuegenBei(0, 723); + Tester.pruefeListenInhalt(dieListe, new int[]{723, 73, 235}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 665); + Tester.pruefeListenInhalt(dieListe, new int[]{665}); + + assertFalse("Fehler: Element 695 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(695)); +// Alles löschen + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(257); + Tester.pruefeListenInhalt(dieListe, new int[]{257}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(341); + Tester.pruefeListenInhalt(dieListe, new int[]{341}); + + dieListe.anhaengen(341); + Tester.pruefeListenInhalt(dieListe, new int[]{341, 341}); + + assertTrue("Fehler: Element 341 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(341)); +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(566); + Tester.pruefeListenInhalt(dieListe, new int[]{566}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(121); + Tester.pruefeListenInhalt(dieListe, new int[]{121}); + + dieListe.anhaengen(574); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574}); + + dieListe.anhaengen(935); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 935}); + + dieListe.einfuegenBei(3, 473); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 935, 473}); + + dieListe.anhaengen(655); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 935, 473, 655}); + + assertTrue("Fehler: Element 655 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(655)); + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 935, 473}); + + dieListe.anhaengen(646); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 935, 473, 646}); + + dieListe.anhaengen(337); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 935, 473, 646, 337}); + + dieListe.einfuegenBei(5, 490); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 935, 473, 646, 490, 337}); + + assertTrue("Fehler: Element 490 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(490)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 935, 646, 490, 337}); + + dieListe.einfuegenBei(2, 72); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 72, 935, 646, 490, 337}); + + assertTrue("Fehler: Element 490 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(490)); + assertFalse("Fehler: Element 628 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(628)); + dieListe.anhaengen(313); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 72, 935, 646, 490, 337, 313}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 72, 646, 490, 337, 313}); + + dieListe.anhaengen(909); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 72, 646, 490, 337, 313, 909}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 72, 646, 490, 337, 313}); + + dieListe.einfuegenBei(5, 331); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 72, 646, 490, 331, 337, 313}); + + assertFalse("Fehler: Element 485 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(485)); + dieListe.anhaengen(86); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 574, 72, 646, 490, 331, 337, 313, 86}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 72, 646, 490, 331, 337, 313, 86}); + + assertTrue("Fehler: Element 121 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(121)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 646, 490, 331, 337, 313, 86}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 646, 331, 337, 313, 86}); + + dieListe.anhaengen(600); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 646, 331, 337, 313, 86, 600}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{121, 646, 331, 313, 86, 600}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 437); + Tester.pruefeListenInhalt(dieListe, new int[]{437}); + + assertFalse("Fehler: Element 412 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(412)); + dieListe.anhaengen(788); + Tester.pruefeListenInhalt(dieListe, new int[]{437, 788}); + + assertFalse("Fehler: Element 304 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(304)); + dieListe.anhaengen(286); + Tester.pruefeListenInhalt(dieListe, new int[]{437, 788, 286}); + + assertFalse("Fehler: Element 526 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(526)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{788, 286}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{286}); + + dieListe.anhaengen(618); + Tester.pruefeListenInhalt(dieListe, new int[]{286, 618}); + + dieListe.anhaengen(352); + Tester.pruefeListenInhalt(dieListe, new int[]{286, 618, 352}); + + assertFalse("Fehler: Element 237 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(237)); + dieListe.anhaengen(581); + Tester.pruefeListenInhalt(dieListe, new int[]{286, 618, 352, 581}); + + dieListe.anhaengen(931); + Tester.pruefeListenInhalt(dieListe, new int[]{286, 618, 352, 581, 931}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{286, 618, 352, 931}); + + assertTrue("Fehler: Element 618 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(618)); + dieListe.einfuegenBei(1, 861); + Tester.pruefeListenInhalt(dieListe, new int[]{286, 861, 618, 352, 931}); + + assertTrue("Fehler: Element 931 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(931)); + dieListe.einfuegenBei(3, 190); + Tester.pruefeListenInhalt(dieListe, new int[]{286, 861, 618, 190, 352, 931}); + + assertTrue("Fehler: Element 861 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(861)); + assertTrue("Fehler: Element 618 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(618)); + dieListe.einfuegenBei(1, 699); + Tester.pruefeListenInhalt(dieListe, new int[]{286, 699, 861, 618, 190, 352, 931}); + + dieListe.einfuegenBei(2, 935); + Tester.pruefeListenInhalt(dieListe, new int[]{286, 699, 935, 861, 618, 190, 352, 931}); + + dieListe.einfuegenBei(0, 653); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 699, 935, 861, 618, 190, 352, 931}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 699, 935, 861, 618, 352, 931}); + + assertTrue("Fehler: Element 286 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(286)); + assertFalse("Fehler: Element 781 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(781)); + dieListe.einfuegenBei(8, 959); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 699, 935, 861, 618, 352, 931, 959}); + + dieListe.anhaengen(337); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 699, 935, 861, 618, 352, 931, 959, 337}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 618, 352, 931, 959, 337}); + + dieListe.einfuegenBei(4, 698); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 698, 618, 352, 931, 959, 337}); + + dieListe.anhaengen(333); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 698, 618, 352, 931, 959, 337, 333}); + + assertFalse("Fehler: Element 180 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(180)); + assertFalse("Fehler: Element 702 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(702)); + assertFalse("Fehler: Element 226 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(226)); + dieListe.anhaengen(623); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 698, 618, 352, 931, 959, 337, 333, 623}); + + assertFalse("Fehler: Element 939 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(939)); + dieListe.anhaengen(25); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 698, 618, 352, 931, 959, 337, 333, 623, 25}); + + assertTrue("Fehler: Element 623 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(623)); + dieListe.anhaengen(595); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 698, 618, 352, 931, 959, 337, 333, 623, 25, 595}); + + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 698, 618, 352, 959, 337, 333, 623, 25, 595}); + + dieListe.anhaengen(494); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 698, 618, 352, 959, 337, 333, 623, 25, 595, 494}); + + assertTrue("Fehler: Element 618 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(618)); + dieListe.anhaengen(440); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 698, 618, 352, 959, 337, 333, 623, 25, 595, 494, 440}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 618, 352, 959, 337, 333, 623, 25, 595, 494, 440}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 618, 352, 337, 333, 623, 25, 595, 494, 440}); + + assertTrue("Fehler: Element 337 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(337)); + dieListe.anhaengen(838); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 286, 935, 861, 618, 352, 337, 333, 623, 25, 595, 494, 440, 838}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{653, 935, 861, 618, 352, 337, 333, 623, 25, 595, 494, 440, 838}); + + assertFalse("Fehler: Element 421 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(421)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{935, 861, 618, 352, 337, 333, 623, 25, 595, 494, 440, 838}); + + assertFalse("Fehler: Element 153 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(153)); + assertTrue("Fehler: Element 623 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(623)); + } + + public static void test9Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(202); + Tester.pruefeListenInhalt(dieListe, new int[]{202}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 422); + Tester.pruefeListenInhalt(dieListe, new int[]{422}); + + assertFalse("Fehler: Element 558 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(558)); + assertTrue("Fehler: Element 422 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(422)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(707); + Tester.pruefeListenInhalt(dieListe, new int[]{707}); + + dieListe.einfuegenBei(1, 942); + Tester.pruefeListenInhalt(dieListe, new int[]{707, 942}); + + dieListe.einfuegenBei(0, 116); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 707, 942}); + + dieListe.einfuegenBei(3, 536); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 707, 942, 536}); + + assertTrue("Fehler: Element 942 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(942)); + dieListe.einfuegenBei(2, 339); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 707, 339, 942, 536}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 707, 339, 536}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 707, 339}); + + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{116, 707}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{116}); + + assertFalse("Fehler: Element 465 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(465)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 134); + Tester.pruefeListenInhalt(dieListe, new int[]{134}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(336); + Tester.pruefeListenInhalt(dieListe, new int[]{336}); + + dieListe.anhaengen(417); + Tester.pruefeListenInhalt(dieListe, new int[]{336, 417}); + + dieListe.anhaengen(592); + Tester.pruefeListenInhalt(dieListe, new int[]{336, 417, 592}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{417, 592}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{592}); + + dieListe.einfuegenBei(0, 901); + Tester.pruefeListenInhalt(dieListe, new int[]{901, 592}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{592}); + + assertFalse("Fehler: Element 351 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(351)); + assertTrue("Fehler: Element 592 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(592)); + assertFalse("Fehler: Element 169 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(169)); + dieListe.einfuegenBei(1, 634); + Tester.pruefeListenInhalt(dieListe, new int[]{592, 634}); + + assertTrue("Fehler: Element 592 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(592)); + dieListe.einfuegenBei(2, 862); + Tester.pruefeListenInhalt(dieListe, new int[]{592, 634, 862}); + + assertFalse("Fehler: Element 574 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(574)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{592, 634}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{592}); + + dieListe.anhaengen(866); + Tester.pruefeListenInhalt(dieListe, new int[]{592, 866}); + + dieListe.anhaengen(785); + Tester.pruefeListenInhalt(dieListe, new int[]{592, 866, 785}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 785}); + + dieListe.einfuegenBei(0, 427); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 866, 785}); + + dieListe.anhaengen(189); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 866, 785, 189}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{427, 866, 785}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 785}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{866}); + + dieListe.anhaengen(923); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 923}); + + dieListe.einfuegenBei(1, 904); + Tester.pruefeListenInhalt(dieListe, new int[]{866, 904, 923}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{904, 923}); + + dieListe.einfuegenBei(2, 884); + Tester.pruefeListenInhalt(dieListe, new int[]{904, 923, 884}); + + dieListe.anhaengen(778); + Tester.pruefeListenInhalt(dieListe, new int[]{904, 923, 884, 778}); + + assertTrue("Fehler: Element 778 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(778)); + assertFalse("Fehler: Element 394 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(394)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{904, 923, 884}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{904, 884}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{904}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 956); + Tester.pruefeListenInhalt(dieListe, new int[]{956}); + + assertTrue("Fehler: Element 956 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(956)); + dieListe.einfuegenBei(1, 140); + Tester.pruefeListenInhalt(dieListe, new int[]{956, 140}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{140}); + + assertFalse("Fehler: Element 797 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(797)); + dieListe.einfuegenBei(1, 174); + Tester.pruefeListenInhalt(dieListe, new int[]{140, 174}); + + dieListe.anhaengen(893); + Tester.pruefeListenInhalt(dieListe, new int[]{140, 174, 893}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 893}); + + dieListe.anhaengen(892); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 893, 892}); + + dieListe.einfuegenBei(3, 769); + Tester.pruefeListenInhalt(dieListe, new int[]{174, 893, 892, 769}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{893, 892, 769}); + + assertFalse("Fehler: Element 429 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(429)); + dieListe.anhaengen(193); + Tester.pruefeListenInhalt(dieListe, new int[]{893, 892, 769, 193}); + + dieListe.anhaengen(676); + Tester.pruefeListenInhalt(dieListe, new int[]{893, 892, 769, 193, 676}); + + dieListe.einfuegenBei(0, 723); + Tester.pruefeListenInhalt(dieListe, new int[]{723, 893, 892, 769, 193, 676}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{723, 893, 892, 769, 676}); + + dieListe.einfuegenBei(1, 481); + Tester.pruefeListenInhalt(dieListe, new int[]{723, 481, 893, 892, 769, 676}); + + assertTrue("Fehler: Element 481 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(481)); + assertTrue("Fehler: Element 892 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(892)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{481, 893, 892, 769, 676}); + + dieListe.einfuegenBei(3, 637); + Tester.pruefeListenInhalt(dieListe, new int[]{481, 893, 892, 637, 769, 676}); + + assertFalse("Fehler: Element 870 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(870)); + dieListe.anhaengen(477); + Tester.pruefeListenInhalt(dieListe, new int[]{481, 893, 892, 637, 769, 676, 477}); + + dieListe.einfuegenBei(5, 59); + Tester.pruefeListenInhalt(dieListe, new int[]{481, 893, 892, 637, 769, 59, 676, 477}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{481, 892, 637, 769, 59, 676, 477}); + + assertTrue("Fehler: Element 676 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(676)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 769, 59, 676, 477}); + + dieListe.einfuegenBei(2, 540); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 769, 59, 676, 477}); + + assertFalse("Fehler: Element 861 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(861)); + dieListe.einfuegenBei(7, 857); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 769, 59, 676, 477, 857}); + + dieListe.einfuegenBei(3, 674); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 674, 769, 59, 676, 477, 857}); + + assertTrue("Fehler: Element 59 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(59)); + dieListe.einfuegenBei(5, 382); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 674, 769, 382, 59, 676, 477, 857}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 674, 769, 382, 59, 676, 477}); + + assertTrue("Fehler: Element 674 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(674)); + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 674, 769, 382, 59, 676}); + + dieListe.einfuegenBei(3, 921); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 921, 674, 769, 382, 59, 676}); + + assertTrue("Fehler: Element 637 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(637)); + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 674, 769, 382, 59, 676}); + + dieListe.einfuegenBei(8, 77); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 674, 769, 382, 59, 676, 77}); + + assertTrue("Fehler: Element 769 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(769)); + dieListe.anhaengen(791); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 674, 769, 382, 59, 676, 77, 791}); + + dieListe.einfuegenBei(10, 702); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 674, 769, 382, 59, 676, 77, 791, 702}); + + assertFalse("Fehler: Element 553 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(553)); + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{892, 637, 540, 674, 769, 382, 59, 676, 77, 702}); + + } + + public static void test10Durchfuehren(Liste dieListe) { + assertTrue(dieListe.istLeer()); + dieListe.anhaengen(957); + Tester.pruefeListenInhalt(dieListe, new int[]{957}); + + dieListe.anhaengen(306); + Tester.pruefeListenInhalt(dieListe, new int[]{957, 306}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{306}); + + dieListe.anhaengen(72); + Tester.pruefeListenInhalt(dieListe, new int[]{306, 72}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{306}); + + assertFalse("Fehler: Element 550 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(550)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 149); + Tester.pruefeListenInhalt(dieListe, new int[]{149}); + + dieListe.anhaengen(61); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 61}); + + dieListe.anhaengen(671); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 61, 671}); + + assertTrue("Fehler: Element 61 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(61)); + assertTrue("Fehler: Element 149 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(149)); + dieListe.anhaengen(674); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 61, 671, 674}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 61, 671}); + + dieListe.anhaengen(510); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 61, 671, 510}); + + dieListe.einfuegenBei(1, 519); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 671, 510}); + + dieListe.anhaengen(460); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 671, 510, 460}); + + assertTrue("Fehler: Element 149 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(149)); + dieListe.einfuegenBei(3, 676); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 676, 671, 510, 460}); + + dieListe.einfuegenBei(3, 717); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 676, 671, 510, 460}); + + dieListe.einfuegenBei(6, 941); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 676, 671, 941, 510, 460}); + + assertFalse("Fehler: Element 836 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(836)); + dieListe.anhaengen(470); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 676, 671, 941, 510, 460, 470}); + + dieListe.anhaengen(852); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 676, 671, 941, 510, 460, 470, 852}); + + assertFalse("Fehler: Element 894 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(894)); + dieListe.entferneBei(10); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 676, 671, 941, 510, 460, 470}); + + dieListe.einfuegenBei(4, 126); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 126, 676, 671, 941, 510, 460, 470}); + + dieListe.einfuegenBei(7, 396); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 126, 676, 671, 396, 941, 510, 460, 470}); + + dieListe.entferneBei(6); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 126, 676, 396, 941, 510, 460, 470}); + + dieListe.anhaengen(659); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 126, 676, 396, 941, 510, 460, 470, 659}); + + assertFalse("Fehler: Element 588 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(588)); + dieListe.einfuegenBei(10, 398); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 126, 676, 396, 941, 510, 460, 398, 470, 659}); + + assertTrue("Fehler: Element 398 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(398)); + dieListe.einfuegenBei(12, 366); + Tester.pruefeListenInhalt(dieListe, new int[]{149, 519, 61, 717, 126, 676, 396, 941, 510, 460, 398, 470, 366, 659}); + +// Alles löschen + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + dieListe.entferneBei(0); + assertTrue(dieListe.istLeer()); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(795); + Tester.pruefeListenInhalt(dieListe, new int[]{795}); + + assertTrue("Fehler: Element 795 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(795)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.anhaengen(526); + Tester.pruefeListenInhalt(dieListe, new int[]{526}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 661); + Tester.pruefeListenInhalt(dieListe, new int[]{661}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{}); + + dieListe.einfuegenBei(0, 893); + Tester.pruefeListenInhalt(dieListe, new int[]{893}); + + dieListe.einfuegenBei(0, 502); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 893}); + + dieListe.anhaengen(854); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 893, 854}); + + dieListe.anhaengen(99); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 893, 854, 99}); + + dieListe.anhaengen(808); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 893, 854, 99, 808}); + + dieListe.einfuegenBei(5, 21); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 893, 854, 99, 808, 21}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 893, 854, 99, 21}); + + dieListe.einfuegenBei(2, 211); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 893, 211, 854, 99, 21}); + + dieListe.entferneBei(5); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 893, 211, 854, 99}); + + dieListe.entferneBei(4); + Tester.pruefeListenInhalt(dieListe, new int[]{502, 893, 211, 854}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{893, 211, 854}); + + assertTrue("Fehler: Element 854 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(854)); + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{211, 854}); + + dieListe.einfuegenBei(2, 922); + Tester.pruefeListenInhalt(dieListe, new int[]{211, 854, 922}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{854, 922}); + + assertFalse("Fehler: Element 386 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(386)); + dieListe.einfuegenBei(0, 831); + Tester.pruefeListenInhalt(dieListe, new int[]{831, 854, 922}); + + dieListe.einfuegenBei(1, 252); + Tester.pruefeListenInhalt(dieListe, new int[]{831, 252, 854, 922}); + + dieListe.einfuegenBei(0, 370); + Tester.pruefeListenInhalt(dieListe, new int[]{370, 831, 252, 854, 922}); + + assertFalse("Fehler: Element 492 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(492)); + assertTrue("Fehler: Element 831 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(831)); + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{370, 252, 854, 922}); + + assertFalse("Fehler: Element 718 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(718)); + dieListe.anhaengen(395); + Tester.pruefeListenInhalt(dieListe, new int[]{370, 252, 854, 922, 395}); + + dieListe.entferneBei(0); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 395}); + + dieListe.einfuegenBei(4, 207); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 395, 207}); + + dieListe.anhaengen(974); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 395, 207, 974}); + + dieListe.anhaengen(290); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 395, 207, 974, 290}); + + dieListe.einfuegenBei(3, 915); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 915, 395, 207, 974, 290}); + + dieListe.einfuegenBei(7, 784); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 915, 395, 207, 974, 784, 290}); + + assertFalse("Fehler: Element 870 gefunden, sollte nicht gefunden werden.", dieListe.enthaelt(870)); + assertTrue("Fehler: Element 290 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(290)); + dieListe.anhaengen(708); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 915, 395, 207, 974, 784, 290, 708}); + + assertTrue("Fehler: Element 854 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(854)); + dieListe.entferneBei(7); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 915, 395, 207, 974, 290, 708}); + + dieListe.entferneBei(8); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 915, 395, 207, 974, 290}); + + dieListe.entferneBei(3); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 395, 207, 974, 290}); + + dieListe.anhaengen(722); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 395, 207, 974, 290, 722}); + + dieListe.anhaengen(663); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 854, 922, 395, 207, 974, 290, 722, 663}); + + dieListe.entferneBei(1); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 395, 207, 974, 290, 722, 663}); + + dieListe.anhaengen(746); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 395, 207, 974, 290, 722, 663, 746}); + + dieListe.einfuegenBei(6, 377); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 395, 207, 974, 290, 377, 722, 663, 746}); + + assertTrue("Fehler: Element 974 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(974)); + dieListe.anhaengen(271); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 395, 207, 974, 290, 377, 722, 663, 746, 271}); + + dieListe.anhaengen(708); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 395, 207, 974, 290, 377, 722, 663, 746, 271, 708}); + + assertTrue("Fehler: Element 271 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(271)); + dieListe.einfuegenBei(11, 974); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 395, 207, 974, 290, 377, 722, 663, 746, 271, 974, 708}); + + dieListe.einfuegenBei(8, 426); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 395, 207, 974, 290, 377, 722, 426, 663, 746, 271, 974, 708}); + + assertTrue("Fehler: Element 395 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(395)); + dieListe.entferneBei(2); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 207, 974, 290, 377, 722, 426, 663, 746, 271, 974, 708}); + + dieListe.entferneBei(9); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 207, 974, 290, 377, 722, 426, 663, 271, 974, 708}); + + dieListe.einfuegenBei(9, 132); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 207, 974, 290, 377, 722, 426, 663, 132, 271, 974, 708}); + + dieListe.einfuegenBei(13, 666); + Tester.pruefeListenInhalt(dieListe, new int[]{252, 922, 207, 974, 290, 377, 722, 426, 663, 132, 271, 974, 708, 666}); + + assertTrue("Fehler: Element 252 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(252)); + dieListe.einfuegenBei(0, 717); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 252, 922, 207, 974, 290, 377, 722, 426, 663, 132, 271, 974, 708, 666}); + + assertTrue("Fehler: Element 426 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(426)); + assertTrue("Fehler: Element 974 nicht gefunden, sollte gefunden werden.", dieListe.enthaelt(974)); + dieListe.anhaengen(659); + Tester.pruefeListenInhalt(dieListe, new int[]{717, 252, 922, 207, 974, 290, 377, 722, 426, 663, 132, 271, 974, 708, 666, 659}); + + } +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/Tester.java b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/Tester.java new file mode 100644 index 0000000..eeebb1f --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/Tester.java @@ -0,0 +1,530 @@ +package tests; + +import liste.*; +import tests.*; + +import static org.junit.Assert.*; + +import org.junit.Test; + +/** + * Die Test-Klasse Tester. + * + * @author Rainer Helfrich + * @version 03.10.2020 + */ +public abstract class Tester { + protected Liste dieListe; + + protected static void pruefeListenInhalt(Liste dieListe, int[] erwartet) { + if (erwartet.length == 0) + assertTrue(dieListe.istLeer()); + else + assertFalse(dieListe.istLeer()); + assertEquals("Fehler: Länge stimmt nicht.", erwartet.length, dieListe.laenge()); + for (int i = 0; i < erwartet.length; i++) { + assertEquals("Fehler: Element an Index " + i + " stimmt nicht.", erwartet[i], dieListe.getNtenWert(i).intValue()); + } + } + + @Test + public void test001() { + SubTest1.test1Durchfuehren(dieListe); + } + + @Test + public void test002() { + SubTest1.test2Durchfuehren(dieListe); + } + + @Test + public void test003() { + SubTest1.test3Durchfuehren(dieListe); + } + + @Test + public void test004() { + SubTest1.test4Durchfuehren(dieListe); + } + + @Test + public void test005() { + SubTest1.test5Durchfuehren(dieListe); + } + + @Test + public void test006() { + SubTest1.test6Durchfuehren(dieListe); + } + + @Test + public void test007() { + SubTest1.test7Durchfuehren(dieListe); + } + + @Test + public void test008() { + SubTest1.test8Durchfuehren(dieListe); + } + + @Test + public void test009() { + SubTest1.test9Durchfuehren(dieListe); + } + + @Test + public void test010() { + SubTest1.test10Durchfuehren(dieListe); + } + + @Test + public void test011() { + SubTest2.test1Durchfuehren(dieListe); + } + + @Test + public void test012() { + SubTest2.test2Durchfuehren(dieListe); + } + + @Test + public void test013() { + SubTest2.test3Durchfuehren(dieListe); + } + + @Test + public void test014() { + SubTest2.test4Durchfuehren(dieListe); + } + + @Test + public void test015() { + SubTest2.test5Durchfuehren(dieListe); + } + + @Test + public void test016() { + SubTest2.test6Durchfuehren(dieListe); + } + + @Test + public void test017() { + SubTest2.test7Durchfuehren(dieListe); + } + + @Test + public void test018() { + SubTest2.test8Durchfuehren(dieListe); + } + + @Test + public void test019() { + SubTest2.test9Durchfuehren(dieListe); + } + + @Test + public void test020() { + SubTest2.test10Durchfuehren(dieListe); + } + + @Test + public void test021() { + SubTest3.test1Durchfuehren(dieListe); + } + + @Test + public void test022() { + SubTest3.test2Durchfuehren(dieListe); + } + + @Test + public void test023() { + SubTest3.test3Durchfuehren(dieListe); + } + + @Test + public void test024() { + SubTest3.test4Durchfuehren(dieListe); + } + + @Test + public void test025() { + SubTest3.test5Durchfuehren(dieListe); + } + + @Test + public void test026() { + SubTest3.test6Durchfuehren(dieListe); + } + + @Test + public void test027() { + SubTest3.test7Durchfuehren(dieListe); + } + + @Test + public void test028() { + SubTest3.test8Durchfuehren(dieListe); + } + + @Test + public void test029() { + SubTest3.test9Durchfuehren(dieListe); + } + + @Test + public void test030() { + SubTest3.test10Durchfuehren(dieListe); + } + + @Test + public void test031() { + SubTest4.test1Durchfuehren(dieListe); + } + + @Test + public void test032() { + SubTest4.test2Durchfuehren(dieListe); + } + + @Test + public void test033() { + SubTest4.test3Durchfuehren(dieListe); + } + + @Test + public void test034() { + SubTest4.test4Durchfuehren(dieListe); + } + + @Test + public void test035() { + SubTest4.test5Durchfuehren(dieListe); + } + + @Test + public void test036() { + SubTest4.test6Durchfuehren(dieListe); + } + + @Test + public void test037() { + SubTest4.test7Durchfuehren(dieListe); + } + + @Test + public void test038() { + SubTest4.test8Durchfuehren(dieListe); + } + + @Test + public void test039() { + SubTest4.test9Durchfuehren(dieListe); + } + + @Test + public void test040() { + SubTest4.test10Durchfuehren(dieListe); + } + + @Test + public void test041() { + SubTest5.test1Durchfuehren(dieListe); + } + + @Test + public void test042() { + SubTest5.test2Durchfuehren(dieListe); + } + + @Test + public void test043() { + SubTest5.test3Durchfuehren(dieListe); + } + + @Test + public void test044() { + SubTest5.test4Durchfuehren(dieListe); + } + + @Test + public void test045() { + SubTest5.test5Durchfuehren(dieListe); + } + + @Test + public void test046() { + SubTest5.test6Durchfuehren(dieListe); + } + + @Test + public void test047() { + SubTest5.test7Durchfuehren(dieListe); + } + + @Test + public void test048() { + SubTest5.test8Durchfuehren(dieListe); + } + + @Test + public void test049() { + SubTest5.test9Durchfuehren(dieListe); + } + + @Test + public void test050() { + SubTest5.test10Durchfuehren(dieListe); + } + + @Test + public void test051() { + SubTest6.test1Durchfuehren(dieListe); + } + + @Test + public void test052() { + SubTest6.test2Durchfuehren(dieListe); + } + + @Test + public void test053() { + SubTest6.test3Durchfuehren(dieListe); + } + + @Test + public void test054() { + SubTest6.test4Durchfuehren(dieListe); + } + + @Test + public void test055() { + SubTest6.test5Durchfuehren(dieListe); + } + + @Test + public void test056() { + SubTest6.test6Durchfuehren(dieListe); + } + + @Test + public void test057() { + SubTest6.test7Durchfuehren(dieListe); + } + + @Test + public void test058() { + SubTest6.test8Durchfuehren(dieListe); + } + + @Test + public void test059() { + SubTest6.test9Durchfuehren(dieListe); + } + + @Test + public void test060() { + SubTest6.test10Durchfuehren(dieListe); + } + + @Test + public void test061() { + SubTest7.test1Durchfuehren(dieListe); + } + + @Test + public void test062() { + SubTest7.test2Durchfuehren(dieListe); + } + + @Test + public void test063() { + SubTest7.test3Durchfuehren(dieListe); + } + + @Test + public void test064() { + SubTest7.test4Durchfuehren(dieListe); + } + + @Test + public void test065() { + SubTest7.test5Durchfuehren(dieListe); + } + + @Test + public void test066() { + SubTest7.test6Durchfuehren(dieListe); + } + + @Test + public void test067() { + SubTest7.test7Durchfuehren(dieListe); + } + + @Test + public void test068() { + SubTest7.test8Durchfuehren(dieListe); + } + + @Test + public void test069() { + SubTest7.test9Durchfuehren(dieListe); + } + + @Test + public void test070() { + SubTest7.test10Durchfuehren(dieListe); + } + + @Test + public void test071() { + SubTest8.test1Durchfuehren(dieListe); + } + + @Test + public void test072() { + SubTest8.test2Durchfuehren(dieListe); + } + + @Test + public void test073() { + SubTest8.test3Durchfuehren(dieListe); + } + + @Test + public void test074() { + SubTest8.test4Durchfuehren(dieListe); + } + + @Test + public void test075() { + SubTest8.test5Durchfuehren(dieListe); + } + + @Test + public void test076() { + SubTest8.test6Durchfuehren(dieListe); + } + + @Test + public void test077() { + SubTest8.test7Durchfuehren(dieListe); + } + + @Test + public void test078() { + SubTest8.test8Durchfuehren(dieListe); + } + + @Test + public void test079() { + SubTest8.test9Durchfuehren(dieListe); + } + + @Test + public void test080() { + SubTest8.test10Durchfuehren(dieListe); + } + + @Test + public void test081() { + SubTest9.test1Durchfuehren(dieListe); + } + + @Test + public void test082() { + SubTest9.test2Durchfuehren(dieListe); + } + + @Test + public void test083() { + SubTest9.test3Durchfuehren(dieListe); + } + + @Test + public void test084() { + SubTest9.test4Durchfuehren(dieListe); + } + + @Test + public void test085() { + SubTest9.test5Durchfuehren(dieListe); + } + + @Test + public void test086() { + SubTest9.test6Durchfuehren(dieListe); + } + + @Test + public void test087() { + SubTest9.test7Durchfuehren(dieListe); + } + + @Test + public void test088() { + SubTest9.test8Durchfuehren(dieListe); + } + + @Test + public void test089() { + SubTest9.test9Durchfuehren(dieListe); + } + + @Test + public void test090() { + SubTest9.test10Durchfuehren(dieListe); + } + + @Test + public void test091() { + SubTest10.test1Durchfuehren(dieListe); + } + + @Test + public void test092() { + SubTest10.test2Durchfuehren(dieListe); + } + + @Test + public void test093() { + SubTest10.test3Durchfuehren(dieListe); + } + + @Test + public void test094() { + SubTest10.test4Durchfuehren(dieListe); + } + + @Test + public void test095() { + SubTest10.test5Durchfuehren(dieListe); + } + + @Test + public void test096() { + SubTest10.test6Durchfuehren(dieListe); + } + + @Test + public void test097() { + SubTest10.test7Durchfuehren(dieListe); + } + + @Test + public void test098() { + SubTest10.test8Durchfuehren(dieListe); + } + + @Test + public void test099() { + SubTest10.test9Durchfuehren(dieListe); + } + + @Test + public void test100() { + SubTest10.test10Durchfuehren(dieListe); + } + +} diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/package.bluej b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/package.bluej new file mode 100644 index 0000000..1e8df5a --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/02_verkettete_liste_loes/tests/package.bluej @@ -0,0 +1,157 @@ +#BlueJ package file +dependency1.from=SubTest6 +dependency1.to=Tester +dependency1.type=UsesDependency +dependency10.from=SubTest1 +dependency10.to=Tester +dependency10.type=UsesDependency +dependency11.from=Tester +dependency11.to=SubTest1 +dependency11.type=UsesDependency +dependency12.from=Tester +dependency12.to=SubTest2 +dependency12.type=UsesDependency +dependency13.from=Tester +dependency13.to=SubTest3 +dependency13.type=UsesDependency +dependency14.from=Tester +dependency14.to=SubTest4 +dependency14.type=UsesDependency +dependency15.from=Tester +dependency15.to=SubTest5 +dependency15.type=UsesDependency +dependency16.from=Tester +dependency16.to=SubTest6 +dependency16.type=UsesDependency +dependency17.from=Tester +dependency17.to=SubTest7 +dependency17.type=UsesDependency +dependency18.from=Tester +dependency18.to=SubTest8 +dependency18.type=UsesDependency +dependency19.from=Tester +dependency19.to=SubTest9 +dependency19.type=UsesDependency +dependency2.from=SubTest7 +dependency2.to=Tester +dependency2.type=UsesDependency +dependency20.from=Tester +dependency20.to=SubTest10 +dependency20.type=UsesDependency +dependency3.from=SubTest8 +dependency3.to=Tester +dependency3.type=UsesDependency +dependency4.from=SubTest9 +dependency4.to=Tester +dependency4.type=UsesDependency +dependency5.from=SubTest2 +dependency5.to=Tester +dependency5.type=UsesDependency +dependency6.from=SubTest3 +dependency6.to=Tester +dependency6.type=UsesDependency +dependency7.from=SubTest4 +dependency7.to=Tester +dependency7.type=UsesDependency +dependency8.from=SubTest5 +dependency8.to=Tester +dependency8.type=UsesDependency +dependency9.from=SubTest10 +dependency9.to=Tester +dependency9.type=UsesDependency +objectbench.height=97 +objectbench.width=1004 +package.divider.horizontal=0.5922619047619048 +package.divider.vertical=0.8488372093023255 +package.editor.height=577 +package.editor.width=893 +package.editor.x=0 +package.editor.y=43 +package.frame.height=788 +package.frame.width=1044 +package.numDependencies=20 +package.numTargets=11 +package.showExtends=true +package.showUses=true +readme.height=58 +readme.name=@README +readme.width=47 +readme.x=10 +readme.y=10 +target1.height=50 +target1.name=SubTest6 +target1.showInterface=false +target1.type=ClassTarget +target1.width=80 +target1.x=330 +target1.y=340 +target10.height=50 +target10.name=SubTest10 +target10.showInterface=false +target10.type=ClassTarget +target10.width=90 +target10.x=690 +target10.y=340 +target11.height=50 +target11.name=SubTest1 +target11.showInterface=false +target11.type=ClassTarget +target11.width=80 +target11.x=330 +target11.y=280 +target2.height=50 +target2.name=SubTest7 +target2.showInterface=false +target2.type=ClassTarget +target2.width=80 +target2.x=420 +target2.y=340 +target3.height=50 +target3.name=SubTest8 +target3.showInterface=false +target3.type=ClassTarget +target3.width=80 +target3.x=510 +target3.y=340 +target4.height=50 +target4.name=SubTest9 +target4.showInterface=false +target4.type=ClassTarget +target4.width=80 +target4.x=600 +target4.y=340 +target5.height=50 +target5.name=Tester +target5.showInterface=false +target5.type=AbstractTarget +target5.width=80 +target5.x=510 +target5.y=150 +target6.height=50 +target6.name=SubTest2 +target6.showInterface=false +target6.type=ClassTarget +target6.width=80 +target6.x=420 +target6.y=280 +target7.height=50 +target7.name=SubTest3 +target7.showInterface=false +target7.type=ClassTarget +target7.width=80 +target7.x=510 +target7.y=280 +target8.height=50 +target8.name=SubTest4 +target8.showInterface=false +target8.type=ClassTarget +target8.width=80 +target8.x=600 +target8.y=280 +target9.height=50 +target9.name=SubTest5 +target9.showInterface=false +target9.type=ClassTarget +target9.width=80 +target9.x=690 +target9.y=280 diff --git a/Quellcodes/Alg_DS_Verkettete_Liste/readme.adoc b/Quellcodes/Alg_DS_Verkettete_Liste/readme.adoc new file mode 100644 index 0000000..849992d --- /dev/null +++ b/Quellcodes/Alg_DS_Verkettete_Liste/readme.adoc @@ -0,0 +1,11 @@ += Material : + +|=== +|Zuordnung| +|Klassenstufe| +|Bildungsplanbezug | +|Werkzeug| +|Autoren| +|=== + +== Inhalt

8Z`>5hq9v)tt1Q{ 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

8Z`>5hq9v)tt1Q{ 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