├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── goldenMasterData ├── 0.txt ├── 1.txt ├── 10.txt ├── 11.txt ├── 12.txt ├── 13.txt ├── 14.txt ├── 15.txt ├── 16.txt ├── 17.txt ├── 18.txt ├── 19.txt ├── 2.txt ├── 20.txt ├── 21.txt ├── 22.txt ├── 23.txt ├── 24.txt ├── 25.txt ├── 26.txt ├── 27.txt ├── 28.txt ├── 29.txt ├── 3.txt ├── 30.txt ├── 31.txt ├── 32.txt ├── 33.txt ├── 34.txt ├── 35.txt ├── 36.txt ├── 37.txt ├── 38.txt ├── 39.txt ├── 4.txt ├── 40.txt ├── 41.txt ├── 42.txt ├── 43.txt ├── 44.txt ├── 45.txt ├── 46.txt ├── 47.txt ├── 48.txt ├── 49.txt ├── 5.txt ├── 50.txt ├── 51.txt ├── 52.txt ├── 53.txt ├── 54.txt ├── 55.txt ├── 56.txt ├── 57.txt ├── 58.txt ├── 59.txt ├── 6.txt ├── 60.txt ├── 61.txt ├── 62.txt ├── 63.txt ├── 64.txt ├── 65.txt ├── 66.txt ├── 67.txt ├── 68.txt ├── 69.txt ├── 7.txt ├── 70.txt ├── 71.txt ├── 72.txt ├── 73.txt ├── 74.txt ├── 75.txt ├── 76.txt ├── 77.txt ├── 78.txt ├── 79.txt ├── 8.txt ├── 80.txt ├── 81.txt ├── 82.txt ├── 83.txt ├── 84.txt ├── 85.txt ├── 86.txt ├── 87.txt ├── 88.txt ├── 89.txt ├── 9.txt ├── 90.txt ├── 91.txt ├── 92.txt ├── 93.txt ├── 94.txt ├── 95.txt ├── 96.txt ├── 97.txt ├── 98.txt └── 99.txt ├── pom.xml ├── shippable.yml └── src ├── main └── java │ └── de │ └── stevenschwenke │ └── java │ └── writingawesomejavacodeworkshop │ └── part1JavaLanguageAndMethods │ └── c02_visibility │ ├── PackagePrivateClass.java │ └── PublicClass.java └── test └── java └── de └── stevenschwenke └── java └── writingawesomejavacodeworkshop ├── exercises_and_test_questions.adoc ├── part1JavaLanguageAndMethods ├── APIDesignWithLambdas.java ├── APIDesignWithLambdasExercises.java ├── FileManipulator.java ├── NiceStuff.java ├── SerialVersionUID.java ├── ThingsToKnowAboutStrings.java ├── bigdecimal │ └── BigDecimalCompareEqual.java ├── c01_comments │ └── Comments.java ├── c02_visibility │ ├── VisibilityTest.java │ └── another │ │ └── Subclass.java ├── c03_hashcodeandequals │ ├── HashCodeTest.java │ └── Person.java ├── c04_purefunctions │ ├── PureFunctions.java │ └── PureFunctionsExercises.java ├── c05_immutable │ ├── ImmutabilityExercises.java │ ├── cc1_withPlainJavaAndAFoundation │ │ ├── Account.java │ │ ├── AccountBalance.java │ │ └── ImmutabilityWithPlainJavaAndAFoundation.java │ ├── cc2_immutablesOrg │ │ ├── AbstractAmountOfMoneyWithCurrency.java │ │ ├── AbstractOrder.java │ │ ├── AmountOfMoneyExample.java │ │ ├── AmountOfMoneyWithCurrencyAsInterface.java │ │ ├── AmountOfMoneyWithOptionalCurrencyAsInterface.java │ │ ├── BagOfMoney.java │ │ ├── Car.java │ │ ├── OrderItemsAsInterface.java │ │ └── OtherFeatures.java │ └── immutability.md ├── c06_null │ ├── NullAndOptional.java │ └── NullAndOptionalExercises.java ├── c07_fluentAPI │ ├── FluentAPIs.java │ └── FluentAPIsExercises.java ├── c08_junit │ ├── MockitoDemo.java │ ├── junit4.md │ └── junit5.md └── c09_lombok │ ├── builder │ ├── BuilderExample.java │ └── BuilderExampleTest.java │ ├── constructor │ ├── data │ ├── DataExample.java │ ├── DataExampleLombok.java │ └── DataExampleLombokTest.java │ ├── gettersetter │ ├── GetterSetterExampleLombok.java │ └── GetterSetterTest.java │ ├── lazyGetter │ ├── GetterLazyExample.java │ └── GetterLazyExampleTest.java │ ├── lombok.md │ ├── nonnull │ ├── NonNullExampleLombok.java │ ├── NonNullTest.java │ └── Person.java │ └── value │ ├── ValueObject.java │ ├── ValueObjectTest.java │ ├── ValueWithCollection.java │ └── ValueWithCollectionTest.java ├── part2MethodsForLegacyCode ├── GoldenMaster.pptx ├── HowToDealWithLegacyCode.md ├── Neumann_TELDEC-DMM_Kupferfolien-Schneidemaschine.jpg ├── adrianbolboaca │ ├── ep_1_from_nothing_to_system_tests │ │ └── GameTestsEpisode1.java │ ├── ep_2_golden_master │ │ ├── GameRunner.java │ │ ├── GameTestsEpisode2.java │ │ └── GoldenMaster.java │ ├── ep_3_fix_a_bug │ │ ├── Game.java │ │ ├── GameTestsEpisode3.java │ │ └── Game_unmodified.java │ └── uglyTriviaRefactoringByAdrianBolboaca.md └── mikadoMethod │ ├── MikadoMethod.md │ ├── images │ ├── mikado_1.png │ ├── mikado_2.png │ ├── mikado_3.png │ ├── mikado_4.png │ └── mikado_5.png │ └── spaceExercise │ ├── README.md │ ├── src │ ├── PhysicalObject.java │ └── Space.java │ └── test │ ├── TestBounce.java │ ├── TestGravitation.java │ └── TestMergeObjects.java └── part3ApplyingToLegacyCode ├── legacy_real_code ├── BitSet.java ├── CalenderExcelExportRenderer.java ├── CellRangeAddress.java ├── DayShortDTOImpl.java ├── FactoryCalendarReportModel.java ├── HSSFCell.java ├── HSSFCellStyle.java ├── HSSFRichTextString.java ├── HSSFRow.java ├── HSSFSheet.java ├── LegacyJUnitTesting.java └── StringCharBuffer.java ├── legacy_ugly_trivia ├── Game.java └── GameRunner.java └── refactoring └── refactoring_checklist.md /.gitignore: -------------------------------------------------------------------------------- 1 | /.settings 2 | /.project 3 | /.classpath 4 | /.idea 5 | /bin 6 | *.iml 7 | /target/ 8 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # language 2 | language: java 3 | 4 | # version numbers 5 | jdk: 6 | - oraclejdk8 7 | 8 | # Use JDK 8u45. The above line just causes the use of a minor version of Java 8. 9 | addons: 10 | apt: 11 | packages: 12 | - oracle-java8-installer 13 | -------------------------------------------------------------------------------- /goldenMasterData/1.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 1 9 | Chet's new location is 1 10 | The category is Science 11 | Science Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 3 16 | Pat's new location is 3 17 | The category is Rock 18 | Rock Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 5 23 | Sue's new location is 5 24 | The category is Science 25 | Science Question 1 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 5 30 | Chet's new location is 6 31 | The category is Sports 32 | Sports Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 4 37 | Pat's new location is 7 38 | The category is Rock 39 | Rock Question 1 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 5 44 | Sue's new location is 10 45 | The category is Sports 46 | Sports Question 1 47 | Question was incorrectly answered 48 | Sue was sent to the penalty box 49 | Chet is the current player 50 | They have rolled a 3 51 | Chet's new location is 9 52 | The category is Science 53 | Science Question 2 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 3 58 | Pat's new location is 10 59 | The category is Sports 60 | Sports Question 2 61 | Question was incorrectly answered 62 | Pat was sent to the penalty box 63 | Sue is the current player 64 | They have rolled a 3 65 | Sue is getting out of the penalty box 66 | Sue's new location is 1 67 | The category is Science 68 | Science Question 3 69 | Answer was correct!!!! 70 | Sue now has 2 Gold Coins. 71 | Chet is the current player 72 | They have rolled a 2 73 | Chet's new location is 11 74 | The category is Rock 75 | Rock Question 2 76 | Answer was corrent!!!! 77 | Chet now has 4 Gold Coins. 78 | Pat is the current player 79 | They have rolled a 2 80 | Pat is not getting out of the penalty box 81 | Sue is the current player 82 | They have rolled a 1 83 | Sue is getting out of the penalty box 84 | Sue's new location is 2 85 | The category is Sports 86 | Sports Question 3 87 | Answer was correct!!!! 88 | Sue now has 3 Gold Coins. 89 | Chet is the current player 90 | They have rolled a 5 91 | Chet's new location is 4 92 | The category is Pop 93 | Pop Question 0 94 | Answer was corrent!!!! 95 | Chet now has 5 Gold Coins. 96 | Pat is the current player 97 | They have rolled a 4 98 | Pat is not getting out of the penalty box 99 | Sue is the current player 100 | They have rolled a 3 101 | Sue is getting out of the penalty box 102 | Sue's new location is 5 103 | The category is Science 104 | Science Question 4 105 | Answer was correct!!!! 106 | Sue now has 4 Gold Coins. 107 | Chet is the current player 108 | They have rolled a 1 109 | Chet's new location is 5 110 | The category is Science 111 | Science Question 5 112 | Answer was corrent!!!! 113 | Chet now has 6 Gold Coins. 114 | -------------------------------------------------------------------------------- /goldenMasterData/11.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 4 9 | Chet's new location is 4 10 | The category is Pop 11 | Pop Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 2 16 | Pat's new location is 2 17 | The category is Sports 18 | Sports Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 4 23 | Sue's new location is 4 24 | The category is Pop 25 | Pop Question 1 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 1 30 | Chet's new location is 5 31 | The category is Science 32 | Science Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 4 37 | Pat's new location is 6 38 | The category is Sports 39 | Sports Question 1 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 5 44 | Sue's new location is 9 45 | The category is Science 46 | Science Question 1 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 3 51 | Chet's new location is 8 52 | The category is Pop 53 | Pop Question 2 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 3 58 | Pat's new location is 9 59 | The category is Science 60 | Science Question 2 61 | Question was incorrectly answered 62 | Pat was sent to the penalty box 63 | Sue is the current player 64 | They have rolled a 5 65 | Sue's new location is 2 66 | The category is Sports 67 | Sports Question 2 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 4 72 | Chet's new location is 0 73 | The category is Pop 74 | Pop Question 3 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 1 79 | Pat is getting out of the penalty box 80 | Pat's new location is 10 81 | The category is Sports 82 | Sports Question 3 83 | Answer was correct!!!! 84 | Pat now has 3 Gold Coins. 85 | Sue is the current player 86 | They have rolled a 2 87 | Sue's new location is 4 88 | The category is Pop 89 | Pop Question 4 90 | Answer was corrent!!!! 91 | Sue now has 4 Gold Coins. 92 | Chet is the current player 93 | They have rolled a 3 94 | Chet's new location is 3 95 | The category is Rock 96 | Rock Question 0 97 | Answer was corrent!!!! 98 | Chet now has 5 Gold Coins. 99 | Pat is the current player 100 | They have rolled a 2 101 | Pat is not getting out of the penalty box 102 | Sue is the current player 103 | They have rolled a 5 104 | Sue's new location is 9 105 | The category is Science 106 | Science Question 3 107 | Answer was corrent!!!! 108 | Sue now has 5 Gold Coins. 109 | Chet is the current player 110 | They have rolled a 4 111 | Chet's new location is 7 112 | The category is Rock 113 | Rock Question 1 114 | Answer was corrent!!!! 115 | Chet now has 6 Gold Coins. 116 | -------------------------------------------------------------------------------- /goldenMasterData/12.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 2 9 | Chet's new location is 2 10 | The category is Sports 11 | Sports Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 2 16 | Pat's new location is 2 17 | The category is Sports 18 | Sports Question 1 19 | Question was incorrectly answered 20 | Pat was sent to the penalty box 21 | Sue is the current player 22 | They have rolled a 5 23 | Sue's new location is 5 24 | The category is Science 25 | Science Question 0 26 | Question was incorrectly answered 27 | Sue was sent to the penalty box 28 | Chet is the current player 29 | They have rolled a 1 30 | Chet's new location is 3 31 | The category is Rock 32 | Rock Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 2 37 | Pat is not getting out of the penalty box 38 | Sue is the current player 39 | They have rolled a 4 40 | Sue is not getting out of the penalty box 41 | Chet is the current player 42 | They have rolled a 2 43 | Chet's new location is 5 44 | The category is Science 45 | Science Question 1 46 | Answer was corrent!!!! 47 | Chet now has 3 Gold Coins. 48 | Pat is the current player 49 | They have rolled a 1 50 | Pat is getting out of the penalty box 51 | Pat's new location is 3 52 | The category is Rock 53 | Rock Question 1 54 | Answer was correct!!!! 55 | Pat now has 1 Gold Coins. 56 | Sue is the current player 57 | They have rolled a 2 58 | Sue is not getting out of the penalty box 59 | Chet is the current player 60 | They have rolled a 1 61 | Chet's new location is 6 62 | The category is Sports 63 | Sports Question 2 64 | Answer was corrent!!!! 65 | Chet now has 4 Gold Coins. 66 | Pat is the current player 67 | They have rolled a 1 68 | Pat is getting out of the penalty box 69 | Pat's new location is 4 70 | The category is Pop 71 | Pop Question 0 72 | Answer was correct!!!! 73 | Pat now has 2 Gold Coins. 74 | Sue is the current player 75 | They have rolled a 2 76 | Sue is not getting out of the penalty box 77 | Chet is the current player 78 | They have rolled a 2 79 | Chet's new location is 8 80 | The category is Pop 81 | Pop Question 1 82 | Answer was corrent!!!! 83 | Chet now has 5 Gold Coins. 84 | Pat is the current player 85 | They have rolled a 3 86 | Pat is getting out of the penalty box 87 | Pat's new location is 7 88 | The category is Rock 89 | Rock Question 2 90 | Answer was correct!!!! 91 | Pat now has 3 Gold Coins. 92 | Sue is the current player 93 | They have rolled a 3 94 | Sue is getting out of the penalty box 95 | Sue's new location is 8 96 | The category is Pop 97 | Pop Question 2 98 | Answer was correct!!!! 99 | Sue now has 1 Gold Coins. 100 | Chet is the current player 101 | They have rolled a 2 102 | Chet's new location is 10 103 | The category is Sports 104 | Sports Question 3 105 | Answer was corrent!!!! 106 | Chet now has 6 Gold Coins. 107 | -------------------------------------------------------------------------------- /goldenMasterData/17.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 2 9 | Chet's new location is 2 10 | The category is Sports 11 | Sports Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 5 16 | Pat's new location is 5 17 | The category is Science 18 | Science Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 3 23 | Sue's new location is 3 24 | The category is Rock 25 | Rock Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 5 30 | Chet's new location is 7 31 | The category is Rock 32 | Rock Question 1 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 3 37 | Pat's new location is 8 38 | The category is Pop 39 | Pop Question 0 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 4 44 | Sue's new location is 7 45 | The category is Rock 46 | Rock Question 2 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 1 51 | Chet's new location is 8 52 | The category is Pop 53 | Pop Question 1 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 4 58 | Pat's new location is 0 59 | The category is Pop 60 | Pop Question 2 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 3 65 | Sue's new location is 10 66 | The category is Sports 67 | Sports Question 1 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 4 72 | Chet's new location is 0 73 | The category is Pop 74 | Pop Question 3 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 3 79 | Pat's new location is 3 80 | The category is Rock 81 | Rock Question 3 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 5 86 | Sue's new location is 3 87 | The category is Rock 88 | Rock Question 4 89 | Answer was corrent!!!! 90 | Sue now has 4 Gold Coins. 91 | Chet is the current player 92 | They have rolled a 4 93 | Chet's new location is 4 94 | The category is Pop 95 | Pop Question 4 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 1 100 | Pat's new location is 4 101 | The category is Pop 102 | Pop Question 5 103 | Answer was corrent!!!! 104 | Pat now has 5 Gold Coins. 105 | Sue is the current player 106 | They have rolled a 5 107 | Sue's new location is 8 108 | The category is Pop 109 | Pop Question 6 110 | Answer was corrent!!!! 111 | Sue now has 5 Gold Coins. 112 | Chet is the current player 113 | They have rolled a 5 114 | Chet's new location is 9 115 | The category is Science 116 | Science Question 1 117 | Answer was corrent!!!! 118 | Chet now has 6 Gold Coins. 119 | -------------------------------------------------------------------------------- /goldenMasterData/2.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 4 9 | Chet's new location is 4 10 | The category is Pop 11 | Pop Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 1 16 | Pat's new location is 1 17 | The category is Science 18 | Science Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 5 23 | Sue's new location is 5 24 | The category is Science 25 | Science Question 1 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 2 30 | Chet's new location is 6 31 | The category is Sports 32 | Sports Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 3 37 | Pat's new location is 4 38 | The category is Pop 39 | Pop Question 1 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 5 44 | Sue's new location is 10 45 | The category is Sports 46 | Sports Question 1 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 5 51 | Chet's new location is 11 52 | The category is Rock 53 | Rock Question 0 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 5 58 | Pat's new location is 9 59 | The category is Science 60 | Science Question 2 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 3 65 | Sue's new location is 1 66 | The category is Science 67 | Science Question 3 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 1 72 | Chet's new location is 0 73 | The category is Pop 74 | Pop Question 2 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 4 79 | Pat's new location is 1 80 | The category is Science 81 | Science Question 4 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 5 86 | Sue's new location is 6 87 | The category is Sports 88 | Sports Question 2 89 | Question was incorrectly answered 90 | Sue was sent to the penalty box 91 | Chet is the current player 92 | They have rolled a 2 93 | Chet's new location is 2 94 | The category is Sports 95 | Sports Question 3 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 3 100 | Pat's new location is 4 101 | The category is Pop 102 | Pop Question 3 103 | Answer was corrent!!!! 104 | Pat now has 5 Gold Coins. 105 | Sue is the current player 106 | They have rolled a 4 107 | Sue is not getting out of the penalty box 108 | Chet is the current player 109 | They have rolled a 5 110 | Chet's new location is 7 111 | The category is Rock 112 | Rock Question 1 113 | Answer was corrent!!!! 114 | Chet now has 6 Gold Coins. 115 | -------------------------------------------------------------------------------- /goldenMasterData/20.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 4 9 | Chet's new location is 4 10 | The category is Pop 11 | Pop Question 0 12 | Question was incorrectly answered 13 | Chet was sent to the penalty box 14 | Pat is the current player 15 | They have rolled a 2 16 | Pat's new location is 2 17 | The category is Sports 18 | Sports Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 1 23 | Sue's new location is 1 24 | The category is Science 25 | Science Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 4 30 | Chet is not getting out of the penalty box 31 | Pat is the current player 32 | They have rolled a 4 33 | Pat's new location is 6 34 | The category is Sports 35 | Sports Question 1 36 | Answer was corrent!!!! 37 | Pat now has 2 Gold Coins. 38 | Sue is the current player 39 | They have rolled a 2 40 | Sue's new location is 3 41 | The category is Rock 42 | Rock Question 0 43 | Answer was corrent!!!! 44 | Sue now has 2 Gold Coins. 45 | Chet is the current player 46 | They have rolled a 1 47 | Chet is getting out of the penalty box 48 | Chet's new location is 5 49 | The category is Science 50 | Science Question 1 51 | Answer was correct!!!! 52 | Chet now has 1 Gold Coins. 53 | Pat is the current player 54 | They have rolled a 4 55 | Pat's new location is 10 56 | The category is Sports 57 | Sports Question 2 58 | Answer was corrent!!!! 59 | Pat now has 3 Gold Coins. 60 | Sue is the current player 61 | They have rolled a 5 62 | Sue's new location is 8 63 | The category is Pop 64 | Pop Question 1 65 | Answer was corrent!!!! 66 | Sue now has 3 Gold Coins. 67 | Chet is the current player 68 | They have rolled a 3 69 | Chet is getting out of the penalty box 70 | Chet's new location is 8 71 | The category is Pop 72 | Pop Question 2 73 | Answer was correct!!!! 74 | Chet now has 2 Gold Coins. 75 | Pat is the current player 76 | They have rolled a 1 77 | Pat's new location is 11 78 | The category is Rock 79 | Rock Question 1 80 | Answer was corrent!!!! 81 | Pat now has 4 Gold Coins. 82 | Sue is the current player 83 | They have rolled a 1 84 | Sue's new location is 9 85 | The category is Science 86 | Science Question 2 87 | Answer was corrent!!!! 88 | Sue now has 4 Gold Coins. 89 | Chet is the current player 90 | They have rolled a 2 91 | Chet is not getting out of the penalty box 92 | Pat is the current player 93 | They have rolled a 3 94 | Pat's new location is 2 95 | The category is Sports 96 | Sports Question 3 97 | Answer was corrent!!!! 98 | Pat now has 5 Gold Coins. 99 | Sue is the current player 100 | They have rolled a 2 101 | Sue's new location is 11 102 | The category is Rock 103 | Rock Question 2 104 | Answer was corrent!!!! 105 | Sue now has 5 Gold Coins. 106 | Chet is the current player 107 | They have rolled a 2 108 | Chet is not getting out of the penalty box 109 | Pat is the current player 110 | They have rolled a 1 111 | Pat's new location is 3 112 | The category is Rock 113 | Rock Question 3 114 | Answer was corrent!!!! 115 | Pat now has 6 Gold Coins. 116 | -------------------------------------------------------------------------------- /goldenMasterData/22.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 3 9 | Chet's new location is 3 10 | The category is Rock 11 | Rock Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 3 16 | Pat's new location is 3 17 | The category is Rock 18 | Rock Question 1 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 5 23 | Sue's new location is 5 24 | The category is Science 25 | Science Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 3 30 | Chet's new location is 6 31 | The category is Sports 32 | Sports Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 2 37 | Pat's new location is 5 38 | The category is Science 39 | Science Question 1 40 | Question was incorrectly answered 41 | Pat was sent to the penalty box 42 | Sue is the current player 43 | They have rolled a 3 44 | Sue's new location is 8 45 | The category is Pop 46 | Pop Question 0 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 2 51 | Chet's new location is 8 52 | The category is Pop 53 | Pop Question 1 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 5 58 | Pat is getting out of the penalty box 59 | Pat's new location is 10 60 | The category is Sports 61 | Sports Question 1 62 | Answer was correct!!!! 63 | Pat now has 2 Gold Coins. 64 | Sue is the current player 65 | They have rolled a 1 66 | Sue's new location is 9 67 | The category is Science 68 | Science Question 2 69 | Answer was corrent!!!! 70 | Sue now has 3 Gold Coins. 71 | Chet is the current player 72 | They have rolled a 2 73 | Chet's new location is 10 74 | The category is Sports 75 | Sports Question 2 76 | Answer was corrent!!!! 77 | Chet now has 4 Gold Coins. 78 | Pat is the current player 79 | They have rolled a 5 80 | Pat is getting out of the penalty box 81 | Pat's new location is 3 82 | The category is Rock 83 | Rock Question 2 84 | Answer was correct!!!! 85 | Pat now has 3 Gold Coins. 86 | Sue is the current player 87 | They have rolled a 3 88 | Sue's new location is 0 89 | The category is Pop 90 | Pop Question 2 91 | Answer was corrent!!!! 92 | Sue now has 4 Gold Coins. 93 | Chet is the current player 94 | They have rolled a 3 95 | Chet's new location is 1 96 | The category is Science 97 | Science Question 3 98 | Answer was corrent!!!! 99 | Chet now has 5 Gold Coins. 100 | Pat is the current player 101 | They have rolled a 2 102 | Pat is not getting out of the penalty box 103 | Sue is the current player 104 | They have rolled a 3 105 | Sue's new location is 3 106 | The category is Rock 107 | Rock Question 3 108 | Answer was corrent!!!! 109 | Sue now has 5 Gold Coins. 110 | Chet is the current player 111 | They have rolled a 4 112 | Chet's new location is 5 113 | The category is Science 114 | Science Question 4 115 | Answer was corrent!!!! 116 | Chet now has 6 Gold Coins. 117 | -------------------------------------------------------------------------------- /goldenMasterData/23.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 3 9 | Chet's new location is 3 10 | The category is Rock 11 | Rock Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 4 16 | Pat's new location is 4 17 | The category is Pop 18 | Pop Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 4 23 | Sue's new location is 4 24 | The category is Pop 25 | Pop Question 1 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 1 30 | Chet's new location is 4 31 | The category is Pop 32 | Pop Question 2 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 2 37 | Pat's new location is 6 38 | The category is Sports 39 | Sports Question 0 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 5 44 | Sue's new location is 9 45 | The category is Science 46 | Science Question 0 47 | Question was incorrectly answered 48 | Sue was sent to the penalty box 49 | Chet is the current player 50 | They have rolled a 5 51 | Chet's new location is 9 52 | The category is Science 53 | Science Question 1 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 2 58 | Pat's new location is 8 59 | The category is Pop 60 | Pop Question 3 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 5 65 | Sue is getting out of the penalty box 66 | Sue's new location is 2 67 | The category is Sports 68 | Sports Question 1 69 | Question was incorrectly answered 70 | Sue was sent to the penalty box 71 | Chet is the current player 72 | They have rolled a 3 73 | Chet's new location is 0 74 | The category is Pop 75 | Pop Question 4 76 | Answer was corrent!!!! 77 | Chet now has 4 Gold Coins. 78 | Pat is the current player 79 | They have rolled a 3 80 | Pat's new location is 11 81 | The category is Rock 82 | Rock Question 1 83 | Answer was corrent!!!! 84 | Pat now has 4 Gold Coins. 85 | Sue is the current player 86 | They have rolled a 5 87 | Sue is getting out of the penalty box 88 | Sue's new location is 7 89 | The category is Rock 90 | Rock Question 2 91 | Answer was correct!!!! 92 | Sue now has 2 Gold Coins. 93 | Chet is the current player 94 | They have rolled a 5 95 | Chet's new location is 5 96 | The category is Science 97 | Science Question 2 98 | Answer was corrent!!!! 99 | Chet now has 5 Gold Coins. 100 | Pat is the current player 101 | They have rolled a 2 102 | Pat's new location is 1 103 | The category is Science 104 | Science Question 3 105 | Answer was corrent!!!! 106 | Pat now has 5 Gold Coins. 107 | Sue is the current player 108 | They have rolled a 4 109 | Sue is not getting out of the penalty box 110 | Chet is the current player 111 | They have rolled a 3 112 | Chet's new location is 8 113 | The category is Pop 114 | Pop Question 5 115 | Answer was corrent!!!! 116 | Chet now has 6 Gold Coins. 117 | -------------------------------------------------------------------------------- /goldenMasterData/29.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 4 9 | Chet's new location is 4 10 | The category is Pop 11 | Pop Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 2 16 | Pat's new location is 2 17 | The category is Sports 18 | Sports Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 5 23 | Sue's new location is 5 24 | The category is Science 25 | Science Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 1 30 | Chet's new location is 5 31 | The category is Science 32 | Science Question 1 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 3 37 | Pat's new location is 5 38 | The category is Science 39 | Science Question 2 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 5 44 | Sue's new location is 10 45 | The category is Sports 46 | Sports Question 1 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 4 51 | Chet's new location is 9 52 | The category is Science 53 | Science Question 3 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 3 58 | Pat's new location is 8 59 | The category is Pop 60 | Pop Question 1 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 5 65 | Sue's new location is 3 66 | The category is Rock 67 | Rock Question 0 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 1 72 | Chet's new location is 10 73 | The category is Sports 74 | Sports Question 2 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 4 79 | Pat's new location is 0 80 | The category is Pop 81 | Pop Question 2 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 3 86 | Sue's new location is 6 87 | The category is Sports 88 | Sports Question 3 89 | Answer was corrent!!!! 90 | Sue now has 4 Gold Coins. 91 | Chet is the current player 92 | They have rolled a 5 93 | Chet's new location is 3 94 | The category is Rock 95 | Rock Question 1 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 2 100 | Pat's new location is 2 101 | The category is Sports 102 | Sports Question 4 103 | Answer was corrent!!!! 104 | Pat now has 5 Gold Coins. 105 | Sue is the current player 106 | They have rolled a 3 107 | Sue's new location is 9 108 | The category is Science 109 | Science Question 4 110 | Answer was corrent!!!! 111 | Sue now has 5 Gold Coins. 112 | Chet is the current player 113 | They have rolled a 1 114 | Chet's new location is 4 115 | The category is Pop 116 | Pop Question 3 117 | Answer was corrent!!!! 118 | Chet now has 6 Gold Coins. 119 | -------------------------------------------------------------------------------- /goldenMasterData/33.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 4 9 | Chet's new location is 4 10 | The category is Pop 11 | Pop Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 4 16 | Pat's new location is 4 17 | The category is Pop 18 | Pop Question 1 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 4 23 | Sue's new location is 4 24 | The category is Pop 25 | Pop Question 2 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 4 30 | Chet's new location is 8 31 | The category is Pop 32 | Pop Question 3 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 2 37 | Pat's new location is 6 38 | The category is Sports 39 | Sports Question 0 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 4 44 | Sue's new location is 8 45 | The category is Pop 46 | Pop Question 4 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 3 51 | Chet's new location is 11 52 | The category is Rock 53 | Rock Question 0 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 3 58 | Pat's new location is 9 59 | The category is Science 60 | Science Question 0 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 1 65 | Sue's new location is 9 66 | The category is Science 67 | Science Question 1 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 2 72 | Chet's new location is 1 73 | The category is Science 74 | Science Question 2 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 2 79 | Pat's new location is 11 80 | The category is Rock 81 | Rock Question 1 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 3 86 | Sue's new location is 0 87 | The category is Pop 88 | Pop Question 5 89 | Answer was corrent!!!! 90 | Sue now has 4 Gold Coins. 91 | Chet is the current player 92 | They have rolled a 5 93 | Chet's new location is 6 94 | The category is Sports 95 | Sports Question 1 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 2 100 | Pat's new location is 1 101 | The category is Science 102 | Science Question 3 103 | Answer was corrent!!!! 104 | Pat now has 5 Gold Coins. 105 | Sue is the current player 106 | They have rolled a 4 107 | Sue's new location is 4 108 | The category is Pop 109 | Pop Question 6 110 | Answer was corrent!!!! 111 | Sue now has 5 Gold Coins. 112 | Chet is the current player 113 | They have rolled a 2 114 | Chet's new location is 8 115 | The category is Pop 116 | Pop Question 7 117 | Answer was corrent!!!! 118 | Chet now has 6 Gold Coins. 119 | -------------------------------------------------------------------------------- /goldenMasterData/35.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 3 9 | Chet's new location is 3 10 | The category is Rock 11 | Rock Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 2 16 | Pat's new location is 2 17 | The category is Sports 18 | Sports Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 3 23 | Sue's new location is 3 24 | The category is Rock 25 | Rock Question 1 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 3 30 | Chet's new location is 6 31 | The category is Sports 32 | Sports Question 1 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 2 37 | Pat's new location is 4 38 | The category is Pop 39 | Pop Question 0 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 3 44 | Sue's new location is 6 45 | The category is Sports 46 | Sports Question 2 47 | Question was incorrectly answered 48 | Sue was sent to the penalty box 49 | Chet is the current player 50 | They have rolled a 4 51 | Chet's new location is 10 52 | The category is Sports 53 | Sports Question 3 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 5 58 | Pat's new location is 9 59 | The category is Science 60 | Science Question 0 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 2 65 | Sue is not getting out of the penalty box 66 | Chet is the current player 67 | They have rolled a 2 68 | Chet's new location is 0 69 | The category is Pop 70 | Pop Question 1 71 | Answer was corrent!!!! 72 | Chet now has 4 Gold Coins. 73 | Pat is the current player 74 | They have rolled a 1 75 | Pat's new location is 10 76 | The category is Sports 77 | Sports Question 4 78 | Answer was corrent!!!! 79 | Pat now has 4 Gold Coins. 80 | Sue is the current player 81 | They have rolled a 3 82 | Sue is getting out of the penalty box 83 | Sue's new location is 9 84 | The category is Science 85 | Science Question 1 86 | Answer was correct!!!! 87 | Sue now has 2 Gold Coins. 88 | Chet is the current player 89 | They have rolled a 4 90 | Chet's new location is 4 91 | The category is Pop 92 | Pop Question 2 93 | Answer was corrent!!!! 94 | Chet now has 5 Gold Coins. 95 | Pat is the current player 96 | They have rolled a 3 97 | Pat's new location is 1 98 | The category is Science 99 | Science Question 2 100 | Question was incorrectly answered 101 | Pat was sent to the penalty box 102 | Sue is the current player 103 | They have rolled a 5 104 | Sue is getting out of the penalty box 105 | Sue's new location is 2 106 | The category is Sports 107 | Sports Question 5 108 | Answer was correct!!!! 109 | Sue now has 3 Gold Coins. 110 | Chet is the current player 111 | They have rolled a 4 112 | Chet's new location is 8 113 | The category is Pop 114 | Pop Question 3 115 | Answer was corrent!!!! 116 | Chet now has 6 Gold Coins. 117 | -------------------------------------------------------------------------------- /goldenMasterData/37.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 1 9 | Chet's new location is 1 10 | The category is Science 11 | Science Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 1 16 | Pat's new location is 1 17 | The category is Science 18 | Science Question 1 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 1 23 | Sue's new location is 1 24 | The category is Science 25 | Science Question 2 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 3 30 | Chet's new location is 4 31 | The category is Pop 32 | Pop Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 5 37 | Pat's new location is 6 38 | The category is Sports 39 | Sports Question 0 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 4 44 | Sue's new location is 5 45 | The category is Science 46 | Science Question 3 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 2 51 | Chet's new location is 6 52 | The category is Sports 53 | Sports Question 1 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 5 58 | Pat's new location is 11 59 | The category is Rock 60 | Rock Question 0 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 4 65 | Sue's new location is 9 66 | The category is Science 67 | Science Question 4 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 4 72 | Chet's new location is 10 73 | The category is Sports 74 | Sports Question 2 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 3 79 | Pat's new location is 2 80 | The category is Sports 81 | Sports Question 3 82 | Question was incorrectly answered 83 | Pat was sent to the penalty box 84 | Sue is the current player 85 | They have rolled a 1 86 | Sue's new location is 10 87 | The category is Sports 88 | Sports Question 4 89 | Answer was corrent!!!! 90 | Sue now has 4 Gold Coins. 91 | Chet is the current player 92 | They have rolled a 2 93 | Chet's new location is 0 94 | The category is Pop 95 | Pop Question 1 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 4 100 | Pat is not getting out of the penalty box 101 | Sue is the current player 102 | They have rolled a 2 103 | Sue's new location is 0 104 | The category is Pop 105 | Pop Question 2 106 | Answer was corrent!!!! 107 | Sue now has 5 Gold Coins. 108 | Chet is the current player 109 | They have rolled a 2 110 | Chet's new location is 2 111 | The category is Sports 112 | Sports Question 5 113 | Answer was corrent!!!! 114 | Chet now has 6 Gold Coins. 115 | -------------------------------------------------------------------------------- /goldenMasterData/38.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 4 9 | Chet's new location is 4 10 | The category is Pop 11 | Pop Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 5 16 | Pat's new location is 5 17 | The category is Science 18 | Science Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 3 23 | Sue's new location is 3 24 | The category is Rock 25 | Rock Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 2 30 | Chet's new location is 6 31 | The category is Sports 32 | Sports Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 4 37 | Pat's new location is 9 38 | The category is Science 39 | Science Question 1 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 1 44 | Sue's new location is 4 45 | The category is Pop 46 | Pop Question 1 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 4 51 | Chet's new location is 10 52 | The category is Sports 53 | Sports Question 1 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 5 58 | Pat's new location is 2 59 | The category is Sports 60 | Sports Question 2 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 4 65 | Sue's new location is 8 66 | The category is Pop 67 | Pop Question 2 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 3 72 | Chet's new location is 1 73 | The category is Science 74 | Science Question 2 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 5 79 | Pat's new location is 7 80 | The category is Rock 81 | Rock Question 1 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 4 86 | Sue's new location is 0 87 | The category is Pop 88 | Pop Question 3 89 | Answer was corrent!!!! 90 | Sue now has 4 Gold Coins. 91 | Chet is the current player 92 | They have rolled a 1 93 | Chet's new location is 2 94 | The category is Sports 95 | Sports Question 3 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 4 100 | Pat's new location is 11 101 | The category is Rock 102 | Rock Question 2 103 | Answer was corrent!!!! 104 | Pat now has 5 Gold Coins. 105 | Sue is the current player 106 | They have rolled a 3 107 | Sue's new location is 3 108 | The category is Rock 109 | Rock Question 3 110 | Answer was corrent!!!! 111 | Sue now has 5 Gold Coins. 112 | Chet is the current player 113 | They have rolled a 1 114 | Chet's new location is 3 115 | The category is Rock 116 | Rock Question 4 117 | Answer was corrent!!!! 118 | Chet now has 6 Gold Coins. 119 | -------------------------------------------------------------------------------- /goldenMasterData/39.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 5 9 | Chet's new location is 5 10 | The category is Science 11 | Science Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 3 16 | Pat's new location is 3 17 | The category is Rock 18 | Rock Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 5 23 | Sue's new location is 5 24 | The category is Science 25 | Science Question 1 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 2 30 | Chet's new location is 7 31 | The category is Rock 32 | Rock Question 1 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 4 37 | Pat's new location is 7 38 | The category is Rock 39 | Rock Question 2 40 | Question was incorrectly answered 41 | Pat was sent to the penalty box 42 | Sue is the current player 43 | They have rolled a 5 44 | Sue's new location is 10 45 | The category is Sports 46 | Sports Question 0 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 2 51 | Chet's new location is 9 52 | The category is Science 53 | Science Question 2 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 2 58 | Pat is not getting out of the penalty box 59 | Sue is the current player 60 | They have rolled a 2 61 | Sue's new location is 0 62 | The category is Pop 63 | Pop Question 0 64 | Answer was corrent!!!! 65 | Sue now has 3 Gold Coins. 66 | Chet is the current player 67 | They have rolled a 3 68 | Chet's new location is 0 69 | The category is Pop 70 | Pop Question 1 71 | Answer was corrent!!!! 72 | Chet now has 4 Gold Coins. 73 | Pat is the current player 74 | They have rolled a 2 75 | Pat is not getting out of the penalty box 76 | Sue is the current player 77 | They have rolled a 1 78 | Sue's new location is 1 79 | The category is Science 80 | Science Question 3 81 | Answer was corrent!!!! 82 | Sue now has 4 Gold Coins. 83 | Chet is the current player 84 | They have rolled a 3 85 | Chet's new location is 3 86 | The category is Rock 87 | Rock Question 3 88 | Answer was corrent!!!! 89 | Chet now has 5 Gold Coins. 90 | Pat is the current player 91 | They have rolled a 3 92 | Pat is getting out of the penalty box 93 | Pat's new location is 10 94 | The category is Sports 95 | Sports Question 1 96 | Answer was correct!!!! 97 | Pat now has 2 Gold Coins. 98 | Sue is the current player 99 | They have rolled a 3 100 | Sue's new location is 4 101 | The category is Pop 102 | Pop Question 2 103 | Answer was corrent!!!! 104 | Sue now has 5 Gold Coins. 105 | Chet is the current player 106 | They have rolled a 5 107 | Chet's new location is 8 108 | The category is Pop 109 | Pop Question 3 110 | Answer was corrent!!!! 111 | Chet now has 6 Gold Coins. 112 | -------------------------------------------------------------------------------- /goldenMasterData/41.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 3 9 | Chet's new location is 3 10 | The category is Rock 11 | Rock Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 2 16 | Pat's new location is 2 17 | The category is Sports 18 | Sports Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 1 23 | Sue's new location is 1 24 | The category is Science 25 | Science Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 3 30 | Chet's new location is 6 31 | The category is Sports 32 | Sports Question 1 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 1 37 | Pat's new location is 3 38 | The category is Rock 39 | Rock Question 1 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 1 44 | Sue's new location is 2 45 | The category is Sports 46 | Sports Question 2 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 2 51 | Chet's new location is 8 52 | The category is Pop 53 | Pop Question 0 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 2 58 | Pat's new location is 5 59 | The category is Science 60 | Science Question 1 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 2 65 | Sue's new location is 4 66 | The category is Pop 67 | Pop Question 1 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 5 72 | Chet's new location is 1 73 | The category is Science 74 | Science Question 2 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 2 79 | Pat's new location is 7 80 | The category is Rock 81 | Rock Question 2 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 4 86 | Sue's new location is 8 87 | The category is Pop 88 | Pop Question 2 89 | Answer was corrent!!!! 90 | Sue now has 4 Gold Coins. 91 | Chet is the current player 92 | They have rolled a 1 93 | Chet's new location is 2 94 | The category is Sports 95 | Sports Question 3 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 1 100 | Pat's new location is 8 101 | The category is Pop 102 | Pop Question 3 103 | Answer was corrent!!!! 104 | Pat now has 5 Gold Coins. 105 | Sue is the current player 106 | They have rolled a 5 107 | Sue's new location is 1 108 | The category is Science 109 | Science Question 3 110 | Answer was corrent!!!! 111 | Sue now has 5 Gold Coins. 112 | Chet is the current player 113 | They have rolled a 3 114 | Chet's new location is 5 115 | The category is Science 116 | Science Question 4 117 | Answer was corrent!!!! 118 | Chet now has 6 Gold Coins. 119 | -------------------------------------------------------------------------------- /goldenMasterData/42.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 1 9 | Chet's new location is 1 10 | The category is Science 11 | Science Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 4 16 | Pat's new location is 4 17 | The category is Pop 18 | Pop Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 1 23 | Sue's new location is 1 24 | The category is Science 25 | Science Question 1 26 | Question was incorrectly answered 27 | Sue was sent to the penalty box 28 | Chet is the current player 29 | They have rolled a 1 30 | Chet's new location is 2 31 | The category is Sports 32 | Sports Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 5 37 | Pat's new location is 9 38 | The category is Science 39 | Science Question 2 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 3 44 | Sue is getting out of the penalty box 45 | Sue's new location is 4 46 | The category is Pop 47 | Pop Question 1 48 | Answer was correct!!!! 49 | Sue now has 1 Gold Coins. 50 | Chet is the current player 51 | They have rolled a 2 52 | Chet's new location is 4 53 | The category is Pop 54 | Pop Question 2 55 | Answer was corrent!!!! 56 | Chet now has 3 Gold Coins. 57 | Pat is the current player 58 | They have rolled a 2 59 | Pat's new location is 11 60 | The category is Rock 61 | Rock Question 0 62 | Answer was corrent!!!! 63 | Pat now has 3 Gold Coins. 64 | Sue is the current player 65 | They have rolled a 2 66 | Sue is not getting out of the penalty box 67 | Chet is the current player 68 | They have rolled a 4 69 | Chet's new location is 8 70 | The category is Pop 71 | Pop Question 3 72 | Answer was corrent!!!! 73 | Chet now has 4 Gold Coins. 74 | Pat is the current player 75 | They have rolled a 1 76 | Pat's new location is 0 77 | The category is Pop 78 | Pop Question 4 79 | Answer was corrent!!!! 80 | Pat now has 4 Gold Coins. 81 | Sue is the current player 82 | They have rolled a 2 83 | Sue is not getting out of the penalty box 84 | Chet is the current player 85 | They have rolled a 4 86 | Chet's new location is 0 87 | The category is Pop 88 | Pop Question 5 89 | Answer was corrent!!!! 90 | Chet now has 5 Gold Coins. 91 | Pat is the current player 92 | They have rolled a 1 93 | Pat's new location is 1 94 | The category is Science 95 | Science Question 3 96 | Answer was corrent!!!! 97 | Pat now has 5 Gold Coins. 98 | Sue is the current player 99 | They have rolled a 3 100 | Sue is getting out of the penalty box 101 | Sue's new location is 7 102 | The category is Rock 103 | Rock Question 1 104 | Answer was correct!!!! 105 | Sue now has 2 Gold Coins. 106 | Chet is the current player 107 | They have rolled a 1 108 | Chet's new location is 1 109 | The category is Science 110 | Science Question 4 111 | Answer was corrent!!!! 112 | Chet now has 6 Gold Coins. 113 | -------------------------------------------------------------------------------- /goldenMasterData/44.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 5 9 | Chet's new location is 5 10 | The category is Science 11 | Science Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 3 16 | Pat's new location is 3 17 | The category is Rock 18 | Rock Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 4 23 | Sue's new location is 4 24 | The category is Pop 25 | Pop Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 4 30 | Chet's new location is 9 31 | The category is Science 32 | Science Question 1 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 3 37 | Pat's new location is 6 38 | The category is Sports 39 | Sports Question 0 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 4 44 | Sue's new location is 8 45 | The category is Pop 46 | Pop Question 1 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 5 51 | Chet's new location is 2 52 | The category is Sports 53 | Sports Question 1 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 2 58 | Pat's new location is 8 59 | The category is Pop 60 | Pop Question 2 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 2 65 | Sue's new location is 10 66 | The category is Sports 67 | Sports Question 2 68 | Question was incorrectly answered 69 | Sue was sent to the penalty box 70 | Chet is the current player 71 | They have rolled a 1 72 | Chet's new location is 3 73 | The category is Rock 74 | Rock Question 1 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 5 79 | Pat's new location is 1 80 | The category is Science 81 | Science Question 2 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 3 86 | Sue is getting out of the penalty box 87 | Sue's new location is 1 88 | The category is Science 89 | Science Question 3 90 | Answer was correct!!!! 91 | Sue now has 3 Gold Coins. 92 | Chet is the current player 93 | They have rolled a 2 94 | Chet's new location is 5 95 | The category is Science 96 | Science Question 4 97 | Answer was corrent!!!! 98 | Chet now has 5 Gold Coins. 99 | Pat is the current player 100 | They have rolled a 4 101 | Pat's new location is 5 102 | The category is Science 103 | Science Question 5 104 | Answer was corrent!!!! 105 | Pat now has 5 Gold Coins. 106 | Sue is the current player 107 | They have rolled a 4 108 | Sue is not getting out of the penalty box 109 | Chet is the current player 110 | They have rolled a 4 111 | Chet's new location is 9 112 | The category is Science 113 | Science Question 6 114 | Answer was corrent!!!! 115 | Chet now has 6 Gold Coins. 116 | -------------------------------------------------------------------------------- /goldenMasterData/48.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 4 9 | Chet's new location is 4 10 | The category is Pop 11 | Pop Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 2 16 | Pat's new location is 2 17 | The category is Sports 18 | Sports Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 3 23 | Sue's new location is 3 24 | The category is Rock 25 | Rock Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 3 30 | Chet's new location is 7 31 | The category is Rock 32 | Rock Question 1 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 3 37 | Pat's new location is 5 38 | The category is Science 39 | Science Question 0 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 4 44 | Sue's new location is 7 45 | The category is Rock 46 | Rock Question 2 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 1 51 | Chet's new location is 8 52 | The category is Pop 53 | Pop Question 1 54 | Question was incorrectly answered 55 | Chet was sent to the penalty box 56 | Pat is the current player 57 | They have rolled a 3 58 | Pat's new location is 8 59 | The category is Pop 60 | Pop Question 2 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 5 65 | Sue's new location is 0 66 | The category is Pop 67 | Pop Question 3 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 2 72 | Chet is not getting out of the penalty box 73 | Pat is the current player 74 | They have rolled a 4 75 | Pat's new location is 0 76 | The category is Pop 77 | Pop Question 4 78 | Answer was corrent!!!! 79 | Pat now has 4 Gold Coins. 80 | Sue is the current player 81 | They have rolled a 5 82 | Sue's new location is 5 83 | The category is Science 84 | Science Question 1 85 | Answer was corrent!!!! 86 | Sue now has 4 Gold Coins. 87 | Chet is the current player 88 | They have rolled a 2 89 | Chet is not getting out of the penalty box 90 | Pat is the current player 91 | They have rolled a 5 92 | Pat's new location is 5 93 | The category is Science 94 | Science Question 2 95 | Answer was corrent!!!! 96 | Pat now has 5 Gold Coins. 97 | Sue is the current player 98 | They have rolled a 1 99 | Sue's new location is 6 100 | The category is Sports 101 | Sports Question 1 102 | Answer was corrent!!!! 103 | Sue now has 5 Gold Coins. 104 | Chet is the current player 105 | They have rolled a 2 106 | Chet is not getting out of the penalty box 107 | Pat is the current player 108 | They have rolled a 5 109 | Pat's new location is 10 110 | The category is Sports 111 | Sports Question 2 112 | Answer was corrent!!!! 113 | Pat now has 6 Gold Coins. 114 | -------------------------------------------------------------------------------- /goldenMasterData/5.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 3 9 | Chet's new location is 3 10 | The category is Rock 11 | Rock Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 5 16 | Pat's new location is 5 17 | The category is Science 18 | Science Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 2 23 | Sue's new location is 2 24 | The category is Sports 25 | Sports Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 5 30 | Chet's new location is 8 31 | The category is Pop 32 | Pop Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 3 37 | Pat's new location is 8 38 | The category is Pop 39 | Pop Question 1 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 2 44 | Sue's new location is 4 45 | The category is Pop 46 | Pop Question 2 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 3 51 | Chet's new location is 11 52 | The category is Rock 53 | Rock Question 1 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 4 58 | Pat's new location is 0 59 | The category is Pop 60 | Pop Question 3 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 4 65 | Sue's new location is 8 66 | The category is Pop 67 | Pop Question 4 68 | Question was incorrectly answered 69 | Sue was sent to the penalty box 70 | Chet is the current player 71 | They have rolled a 3 72 | Chet's new location is 2 73 | The category is Sports 74 | Sports Question 1 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 4 79 | Pat's new location is 4 80 | The category is Pop 81 | Pop Question 5 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 4 86 | Sue is not getting out of the penalty box 87 | Chet is the current player 88 | They have rolled a 2 89 | Chet's new location is 4 90 | The category is Pop 91 | Pop Question 6 92 | Answer was corrent!!!! 93 | Chet now has 5 Gold Coins. 94 | Pat is the current player 95 | They have rolled a 1 96 | Pat's new location is 5 97 | The category is Science 98 | Science Question 1 99 | Answer was corrent!!!! 100 | Pat now has 5 Gold Coins. 101 | Sue is the current player 102 | They have rolled a 1 103 | Sue is getting out of the penalty box 104 | Sue's new location is 9 105 | The category is Science 106 | Science Question 2 107 | Answer was correct!!!! 108 | Sue now has 3 Gold Coins. 109 | Chet is the current player 110 | They have rolled a 5 111 | Chet's new location is 9 112 | The category is Science 113 | Science Question 3 114 | Answer was corrent!!!! 115 | Chet now has 6 Gold Coins. 116 | -------------------------------------------------------------------------------- /goldenMasterData/51.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 4 9 | Chet's new location is 4 10 | The category is Pop 11 | Pop Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 3 16 | Pat's new location is 3 17 | The category is Rock 18 | Rock Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 1 23 | Sue's new location is 1 24 | The category is Science 25 | Science Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 5 30 | Chet's new location is 9 31 | The category is Science 32 | Science Question 1 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 4 37 | Pat's new location is 7 38 | The category is Rock 39 | Rock Question 1 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 2 44 | Sue's new location is 3 45 | The category is Rock 46 | Rock Question 2 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 2 51 | Chet's new location is 11 52 | The category is Rock 53 | Rock Question 3 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 1 58 | Pat's new location is 8 59 | The category is Pop 60 | Pop Question 1 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 2 65 | Sue's new location is 5 66 | The category is Science 67 | Science Question 2 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 2 72 | Chet's new location is 1 73 | The category is Science 74 | Science Question 3 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 1 79 | Pat's new location is 9 80 | The category is Science 81 | Science Question 4 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 3 86 | Sue's new location is 8 87 | The category is Pop 88 | Pop Question 2 89 | Answer was corrent!!!! 90 | Sue now has 4 Gold Coins. 91 | Chet is the current player 92 | They have rolled a 5 93 | Chet's new location is 6 94 | The category is Sports 95 | Sports Question 0 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 1 100 | Pat's new location is 10 101 | The category is Sports 102 | Sports Question 1 103 | Answer was corrent!!!! 104 | Pat now has 5 Gold Coins. 105 | Sue is the current player 106 | They have rolled a 2 107 | Sue's new location is 10 108 | The category is Sports 109 | Sports Question 2 110 | Answer was corrent!!!! 111 | Sue now has 5 Gold Coins. 112 | Chet is the current player 113 | They have rolled a 5 114 | Chet's new location is 11 115 | The category is Rock 116 | Rock Question 4 117 | Answer was corrent!!!! 118 | Chet now has 6 Gold Coins. 119 | -------------------------------------------------------------------------------- /goldenMasterData/52.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 2 9 | Chet's new location is 2 10 | The category is Sports 11 | Sports Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 3 16 | Pat's new location is 3 17 | The category is Rock 18 | Rock Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 2 23 | Sue's new location is 2 24 | The category is Sports 25 | Sports Question 1 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 2 30 | Chet's new location is 4 31 | The category is Pop 32 | Pop Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 2 37 | Pat's new location is 5 38 | The category is Science 39 | Science Question 0 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 1 44 | Sue's new location is 3 45 | The category is Rock 46 | Rock Question 1 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 4 51 | Chet's new location is 8 52 | The category is Pop 53 | Pop Question 1 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 4 58 | Pat's new location is 9 59 | The category is Science 60 | Science Question 1 61 | Question was incorrectly answered 62 | Pat was sent to the penalty box 63 | Sue is the current player 64 | They have rolled a 5 65 | Sue's new location is 8 66 | The category is Pop 67 | Pop Question 2 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 3 72 | Chet's new location is 11 73 | The category is Rock 74 | Rock Question 2 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 1 79 | Pat is getting out of the penalty box 80 | Pat's new location is 10 81 | The category is Sports 82 | Sports Question 2 83 | Answer was correct!!!! 84 | Pat now has 3 Gold Coins. 85 | Sue is the current player 86 | They have rolled a 3 87 | Sue's new location is 11 88 | The category is Rock 89 | Rock Question 3 90 | Answer was corrent!!!! 91 | Sue now has 4 Gold Coins. 92 | Chet is the current player 93 | They have rolled a 1 94 | Chet's new location is 0 95 | The category is Pop 96 | Pop Question 3 97 | Answer was corrent!!!! 98 | Chet now has 5 Gold Coins. 99 | Pat is the current player 100 | They have rolled a 2 101 | Pat is not getting out of the penalty box 102 | Sue is the current player 103 | They have rolled a 4 104 | Sue's new location is 3 105 | The category is Rock 106 | Rock Question 4 107 | Answer was corrent!!!! 108 | Sue now has 5 Gold Coins. 109 | Chet is the current player 110 | They have rolled a 4 111 | Chet's new location is 4 112 | The category is Pop 113 | Pop Question 4 114 | Answer was corrent!!!! 115 | Chet now has 6 Gold Coins. 116 | -------------------------------------------------------------------------------- /goldenMasterData/53.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 2 9 | Chet's new location is 2 10 | The category is Sports 11 | Sports Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 2 16 | Pat's new location is 2 17 | The category is Sports 18 | Sports Question 1 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 4 23 | Sue's new location is 4 24 | The category is Pop 25 | Pop Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 3 30 | Chet's new location is 5 31 | The category is Science 32 | Science Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 1 37 | Pat's new location is 3 38 | The category is Rock 39 | Rock Question 0 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 3 44 | Sue's new location is 7 45 | The category is Rock 46 | Rock Question 1 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 5 51 | Chet's new location is 10 52 | The category is Sports 53 | Sports Question 2 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 1 58 | Pat's new location is 4 59 | The category is Pop 60 | Pop Question 1 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 4 65 | Sue's new location is 11 66 | The category is Rock 67 | Rock Question 2 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 4 72 | Chet's new location is 2 73 | The category is Sports 74 | Sports Question 3 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 3 79 | Pat's new location is 7 80 | The category is Rock 81 | Rock Question 3 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 4 86 | Sue's new location is 3 87 | The category is Rock 88 | Rock Question 4 89 | Answer was corrent!!!! 90 | Sue now has 4 Gold Coins. 91 | Chet is the current player 92 | They have rolled a 3 93 | Chet's new location is 5 94 | The category is Science 95 | Science Question 1 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 4 100 | Pat's new location is 11 101 | The category is Rock 102 | Rock Question 5 103 | Answer was corrent!!!! 104 | Pat now has 5 Gold Coins. 105 | Sue is the current player 106 | They have rolled a 4 107 | Sue's new location is 7 108 | The category is Rock 109 | Rock Question 6 110 | Answer was corrent!!!! 111 | Sue now has 5 Gold Coins. 112 | Chet is the current player 113 | They have rolled a 1 114 | Chet's new location is 6 115 | The category is Sports 116 | Sports Question 4 117 | Answer was corrent!!!! 118 | Chet now has 6 Gold Coins. 119 | -------------------------------------------------------------------------------- /goldenMasterData/55.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 1 9 | Chet's new location is 1 10 | The category is Science 11 | Science Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 5 16 | Pat's new location is 5 17 | The category is Science 18 | Science Question 1 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 3 23 | Sue's new location is 3 24 | The category is Rock 25 | Rock Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 4 30 | Chet's new location is 5 31 | The category is Science 32 | Science Question 2 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 5 37 | Pat's new location is 10 38 | The category is Sports 39 | Sports Question 0 40 | Question was incorrectly answered 41 | Pat was sent to the penalty box 42 | Sue is the current player 43 | They have rolled a 2 44 | Sue's new location is 5 45 | The category is Science 46 | Science Question 3 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 1 51 | Chet's new location is 6 52 | The category is Sports 53 | Sports Question 1 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 2 58 | Pat is not getting out of the penalty box 59 | Sue is the current player 60 | They have rolled a 2 61 | Sue's new location is 7 62 | The category is Rock 63 | Rock Question 1 64 | Answer was corrent!!!! 65 | Sue now has 3 Gold Coins. 66 | Chet is the current player 67 | They have rolled a 3 68 | Chet's new location is 9 69 | The category is Science 70 | Science Question 4 71 | Answer was corrent!!!! 72 | Chet now has 4 Gold Coins. 73 | Pat is the current player 74 | They have rolled a 3 75 | Pat is getting out of the penalty box 76 | Pat's new location is 1 77 | The category is Science 78 | Science Question 5 79 | Answer was correct!!!! 80 | Pat now has 2 Gold Coins. 81 | Sue is the current player 82 | They have rolled a 1 83 | Sue's new location is 8 84 | The category is Pop 85 | Pop Question 0 86 | Answer was corrent!!!! 87 | Sue now has 4 Gold Coins. 88 | Chet is the current player 89 | They have rolled a 2 90 | Chet's new location is 11 91 | The category is Rock 92 | Rock Question 2 93 | Answer was corrent!!!! 94 | Chet now has 5 Gold Coins. 95 | Pat is the current player 96 | They have rolled a 3 97 | Pat is getting out of the penalty box 98 | Pat's new location is 4 99 | The category is Pop 100 | Pop Question 1 101 | Answer was correct!!!! 102 | Pat now has 3 Gold Coins. 103 | Sue is the current player 104 | They have rolled a 5 105 | Sue's new location is 1 106 | The category is Science 107 | Science Question 6 108 | Answer was corrent!!!! 109 | Sue now has 5 Gold Coins. 110 | Chet is the current player 111 | They have rolled a 5 112 | Chet's new location is 4 113 | The category is Pop 114 | Pop Question 2 115 | Answer was corrent!!!! 116 | Chet now has 6 Gold Coins. 117 | -------------------------------------------------------------------------------- /goldenMasterData/56.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 4 9 | Chet's new location is 4 10 | The category is Pop 11 | Pop Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 5 16 | Pat's new location is 5 17 | The category is Science 18 | Science Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 5 23 | Sue's new location is 5 24 | The category is Science 25 | Science Question 1 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 2 30 | Chet's new location is 6 31 | The category is Sports 32 | Sports Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 3 37 | Pat's new location is 8 38 | The category is Pop 39 | Pop Question 1 40 | Question was incorrectly answered 41 | Pat was sent to the penalty box 42 | Sue is the current player 43 | They have rolled a 1 44 | Sue's new location is 6 45 | The category is Sports 46 | Sports Question 1 47 | Question was incorrectly answered 48 | Sue was sent to the penalty box 49 | Chet is the current player 50 | They have rolled a 5 51 | Chet's new location is 11 52 | The category is Rock 53 | Rock Question 0 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 4 58 | Pat is not getting out of the penalty box 59 | Sue is the current player 60 | They have rolled a 4 61 | Sue is not getting out of the penalty box 62 | Chet is the current player 63 | They have rolled a 5 64 | Chet's new location is 4 65 | The category is Pop 66 | Pop Question 2 67 | Answer was corrent!!!! 68 | Chet now has 4 Gold Coins. 69 | Pat is the current player 70 | They have rolled a 4 71 | Pat is not getting out of the penalty box 72 | Question was incorrectly answered 73 | Pat was sent to the penalty box 74 | Sue is the current player 75 | They have rolled a 1 76 | Sue is getting out of the penalty box 77 | Sue's new location is 7 78 | The category is Rock 79 | Rock Question 1 80 | Answer was correct!!!! 81 | Sue now has 2 Gold Coins. 82 | Chet is the current player 83 | They have rolled a 4 84 | Chet's new location is 8 85 | The category is Pop 86 | Pop Question 3 87 | Answer was corrent!!!! 88 | Chet now has 5 Gold Coins. 89 | Pat is the current player 90 | They have rolled a 4 91 | Pat is not getting out of the penalty box 92 | Sue is the current player 93 | They have rolled a 3 94 | Sue is getting out of the penalty box 95 | Sue's new location is 10 96 | The category is Sports 97 | Sports Question 2 98 | Answer was correct!!!! 99 | Sue now has 3 Gold Coins. 100 | Chet is the current player 101 | They have rolled a 3 102 | Chet's new location is 11 103 | The category is Rock 104 | Rock Question 2 105 | Answer was corrent!!!! 106 | Chet now has 6 Gold Coins. 107 | -------------------------------------------------------------------------------- /goldenMasterData/57.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 4 9 | Chet's new location is 4 10 | The category is Pop 11 | Pop Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 3 16 | Pat's new location is 3 17 | The category is Rock 18 | Rock Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 2 23 | Sue's new location is 2 24 | The category is Sports 25 | Sports Question 0 26 | Question was incorrectly answered 27 | Sue was sent to the penalty box 28 | Chet is the current player 29 | They have rolled a 5 30 | Chet's new location is 9 31 | The category is Science 32 | Science Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 3 37 | Pat's new location is 6 38 | The category is Sports 39 | Sports Question 1 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 2 44 | Sue is not getting out of the penalty box 45 | Chet is the current player 46 | They have rolled a 4 47 | Chet's new location is 1 48 | The category is Science 49 | Science Question 1 50 | Answer was corrent!!!! 51 | Chet now has 3 Gold Coins. 52 | Pat is the current player 53 | They have rolled a 5 54 | Pat's new location is 11 55 | The category is Rock 56 | Rock Question 1 57 | Answer was corrent!!!! 58 | Pat now has 3 Gold Coins. 59 | Sue is the current player 60 | They have rolled a 2 61 | Sue is not getting out of the penalty box 62 | Chet is the current player 63 | They have rolled a 5 64 | Chet's new location is 6 65 | The category is Sports 66 | Sports Question 2 67 | Answer was corrent!!!! 68 | Chet now has 4 Gold Coins. 69 | Pat is the current player 70 | They have rolled a 2 71 | Pat's new location is 1 72 | The category is Science 73 | Science Question 2 74 | Answer was corrent!!!! 75 | Pat now has 4 Gold Coins. 76 | Sue is the current player 77 | They have rolled a 2 78 | Sue is not getting out of the penalty box 79 | Chet is the current player 80 | They have rolled a 1 81 | Chet's new location is 7 82 | The category is Rock 83 | Rock Question 2 84 | Answer was corrent!!!! 85 | Chet now has 5 Gold Coins. 86 | Pat is the current player 87 | They have rolled a 1 88 | Pat's new location is 2 89 | The category is Sports 90 | Sports Question 3 91 | Answer was corrent!!!! 92 | Pat now has 5 Gold Coins. 93 | Sue is the current player 94 | They have rolled a 2 95 | Sue is not getting out of the penalty box 96 | Chet is the current player 97 | They have rolled a 3 98 | Chet's new location is 10 99 | The category is Sports 100 | Sports Question 4 101 | Question was incorrectly answered 102 | Chet was sent to the penalty box 103 | Pat is the current player 104 | They have rolled a 4 105 | Pat's new location is 6 106 | The category is Sports 107 | Sports Question 5 108 | Answer was corrent!!!! 109 | Pat now has 6 Gold Coins. 110 | -------------------------------------------------------------------------------- /goldenMasterData/58.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 3 9 | Chet's new location is 3 10 | The category is Rock 11 | Rock Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 5 16 | Pat's new location is 5 17 | The category is Science 18 | Science Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 4 23 | Sue's new location is 4 24 | The category is Pop 25 | Pop Question 0 26 | Question was incorrectly answered 27 | Sue was sent to the penalty box 28 | Chet is the current player 29 | They have rolled a 1 30 | Chet's new location is 4 31 | The category is Pop 32 | Pop Question 1 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 1 37 | Pat's new location is 6 38 | The category is Sports 39 | Sports Question 0 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 5 44 | Sue is getting out of the penalty box 45 | Sue's new location is 9 46 | The category is Science 47 | Science Question 1 48 | Answer was correct!!!! 49 | Sue now has 1 Gold Coins. 50 | Chet is the current player 51 | They have rolled a 1 52 | Chet's new location is 5 53 | The category is Science 54 | Science Question 2 55 | Answer was corrent!!!! 56 | Chet now has 3 Gold Coins. 57 | Pat is the current player 58 | They have rolled a 5 59 | Pat's new location is 11 60 | The category is Rock 61 | Rock Question 1 62 | Answer was corrent!!!! 63 | Pat now has 3 Gold Coins. 64 | Sue is the current player 65 | They have rolled a 2 66 | Sue is not getting out of the penalty box 67 | Chet is the current player 68 | They have rolled a 4 69 | Chet's new location is 9 70 | The category is Science 71 | Science Question 3 72 | Answer was corrent!!!! 73 | Chet now has 4 Gold Coins. 74 | Pat is the current player 75 | They have rolled a 1 76 | Pat's new location is 0 77 | The category is Pop 78 | Pop Question 2 79 | Answer was corrent!!!! 80 | Pat now has 4 Gold Coins. 81 | Sue is the current player 82 | They have rolled a 1 83 | Sue is getting out of the penalty box 84 | Sue's new location is 10 85 | The category is Sports 86 | Sports Question 1 87 | Answer was correct!!!! 88 | Sue now has 2 Gold Coins. 89 | Chet is the current player 90 | They have rolled a 5 91 | Chet's new location is 2 92 | The category is Sports 93 | Sports Question 2 94 | Answer was corrent!!!! 95 | Chet now has 5 Gold Coins. 96 | Pat is the current player 97 | They have rolled a 3 98 | Pat's new location is 3 99 | The category is Rock 100 | Rock Question 2 101 | Answer was corrent!!!! 102 | Pat now has 5 Gold Coins. 103 | Sue is the current player 104 | They have rolled a 4 105 | Sue is not getting out of the penalty box 106 | Chet is the current player 107 | They have rolled a 5 108 | Chet's new location is 7 109 | The category is Rock 110 | Rock Question 3 111 | Answer was corrent!!!! 112 | Chet now has 6 Gold Coins. 113 | -------------------------------------------------------------------------------- /goldenMasterData/60.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 1 9 | Chet's new location is 1 10 | The category is Science 11 | Science Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 4 16 | Pat's new location is 4 17 | The category is Pop 18 | Pop Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 2 23 | Sue's new location is 2 24 | The category is Sports 25 | Sports Question 0 26 | Question was incorrectly answered 27 | Sue was sent to the penalty box 28 | Chet is the current player 29 | They have rolled a 1 30 | Chet's new location is 2 31 | The category is Sports 32 | Sports Question 1 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 4 37 | Pat's new location is 8 38 | The category is Pop 39 | Pop Question 1 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 5 44 | Sue is getting out of the penalty box 45 | Sue's new location is 7 46 | The category is Rock 47 | Rock Question 0 48 | Answer was correct!!!! 49 | Sue now has 1 Gold Coins. 50 | Chet is the current player 51 | They have rolled a 4 52 | Chet's new location is 6 53 | The category is Sports 54 | Sports Question 2 55 | Answer was corrent!!!! 56 | Chet now has 3 Gold Coins. 57 | Pat is the current player 58 | They have rolled a 5 59 | Pat's new location is 1 60 | The category is Science 61 | Science Question 1 62 | Answer was corrent!!!! 63 | Pat now has 3 Gold Coins. 64 | Sue is the current player 65 | They have rolled a 2 66 | Sue is not getting out of the penalty box 67 | Question was incorrectly answered 68 | Sue was sent to the penalty box 69 | Chet is the current player 70 | They have rolled a 1 71 | Chet's new location is 7 72 | The category is Rock 73 | Rock Question 1 74 | Answer was corrent!!!! 75 | Chet now has 4 Gold Coins. 76 | Pat is the current player 77 | They have rolled a 5 78 | Pat's new location is 6 79 | The category is Sports 80 | Sports Question 3 81 | Answer was corrent!!!! 82 | Pat now has 4 Gold Coins. 83 | Sue is the current player 84 | They have rolled a 4 85 | Sue is not getting out of the penalty box 86 | Question was incorrectly answered 87 | Sue was sent to the penalty box 88 | Chet is the current player 89 | They have rolled a 3 90 | Chet's new location is 10 91 | The category is Sports 92 | Sports Question 4 93 | Answer was corrent!!!! 94 | Chet now has 5 Gold Coins. 95 | Pat is the current player 96 | They have rolled a 1 97 | Pat's new location is 7 98 | The category is Rock 99 | Rock Question 2 100 | Answer was corrent!!!! 101 | Pat now has 5 Gold Coins. 102 | Sue is the current player 103 | They have rolled a 1 104 | Sue is getting out of the penalty box 105 | Sue's new location is 8 106 | The category is Pop 107 | Pop Question 2 108 | Answer was correct!!!! 109 | Sue now has 2 Gold Coins. 110 | Chet is the current player 111 | They have rolled a 3 112 | Chet's new location is 1 113 | The category is Science 114 | Science Question 2 115 | Answer was corrent!!!! 116 | Chet now has 6 Gold Coins. 117 | -------------------------------------------------------------------------------- /goldenMasterData/68.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 3 9 | Chet's new location is 3 10 | The category is Rock 11 | Rock Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 3 16 | Pat's new location is 3 17 | The category is Rock 18 | Rock Question 1 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 3 23 | Sue's new location is 3 24 | The category is Rock 25 | Rock Question 2 26 | Question was incorrectly answered 27 | Sue was sent to the penalty box 28 | Chet is the current player 29 | They have rolled a 4 30 | Chet's new location is 7 31 | The category is Rock 32 | Rock Question 3 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 1 37 | Pat's new location is 4 38 | The category is Pop 39 | Pop Question 0 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 4 44 | Sue is not getting out of the penalty box 45 | Chet is the current player 46 | They have rolled a 1 47 | Chet's new location is 8 48 | The category is Pop 49 | Pop Question 1 50 | Answer was corrent!!!! 51 | Chet now has 3 Gold Coins. 52 | Pat is the current player 53 | They have rolled a 2 54 | Pat's new location is 6 55 | The category is Sports 56 | Sports Question 0 57 | Answer was corrent!!!! 58 | Pat now has 3 Gold Coins. 59 | Sue is the current player 60 | They have rolled a 1 61 | Sue is getting out of the penalty box 62 | Sue's new location is 4 63 | The category is Pop 64 | Pop Question 2 65 | Answer was correct!!!! 66 | Sue now has 1 Gold Coins. 67 | Chet is the current player 68 | They have rolled a 4 69 | Chet's new location is 0 70 | The category is Pop 71 | Pop Question 3 72 | Answer was corrent!!!! 73 | Chet now has 4 Gold Coins. 74 | Pat is the current player 75 | They have rolled a 5 76 | Pat's new location is 11 77 | The category is Rock 78 | Rock Question 4 79 | Answer was corrent!!!! 80 | Pat now has 4 Gold Coins. 81 | Sue is the current player 82 | They have rolled a 4 83 | Sue is not getting out of the penalty box 84 | Chet is the current player 85 | They have rolled a 5 86 | Chet's new location is 5 87 | The category is Science 88 | Science Question 0 89 | Answer was corrent!!!! 90 | Chet now has 5 Gold Coins. 91 | Pat is the current player 92 | They have rolled a 4 93 | Pat's new location is 3 94 | The category is Rock 95 | Rock Question 5 96 | Answer was corrent!!!! 97 | Pat now has 5 Gold Coins. 98 | Sue is the current player 99 | They have rolled a 5 100 | Sue is getting out of the penalty box 101 | Sue's new location is 9 102 | The category is Science 103 | Science Question 1 104 | Answer was correct!!!! 105 | Sue now has 2 Gold Coins. 106 | Chet is the current player 107 | They have rolled a 4 108 | Chet's new location is 9 109 | The category is Science 110 | Science Question 2 111 | Answer was corrent!!!! 112 | Chet now has 6 Gold Coins. 113 | -------------------------------------------------------------------------------- /goldenMasterData/69.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 3 9 | Chet's new location is 3 10 | The category is Rock 11 | Rock Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 1 16 | Pat's new location is 1 17 | The category is Science 18 | Science Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 5 23 | Sue's new location is 5 24 | The category is Science 25 | Science Question 1 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 2 30 | Chet's new location is 5 31 | The category is Science 32 | Science Question 2 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 3 37 | Pat's new location is 4 38 | The category is Pop 39 | Pop Question 0 40 | Question was incorrectly answered 41 | Pat was sent to the penalty box 42 | Sue is the current player 43 | They have rolled a 3 44 | Sue's new location is 8 45 | The category is Pop 46 | Pop Question 1 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 2 51 | Chet's new location is 7 52 | The category is Rock 53 | Rock Question 1 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 4 58 | Pat is not getting out of the penalty box 59 | Sue is the current player 60 | They have rolled a 4 61 | Sue's new location is 0 62 | The category is Pop 63 | Pop Question 2 64 | Answer was corrent!!!! 65 | Sue now has 3 Gold Coins. 66 | Chet is the current player 67 | They have rolled a 4 68 | Chet's new location is 11 69 | The category is Rock 70 | Rock Question 2 71 | Answer was corrent!!!! 72 | Chet now has 4 Gold Coins. 73 | Pat is the current player 74 | They have rolled a 3 75 | Pat is getting out of the penalty box 76 | Pat's new location is 7 77 | The category is Rock 78 | Rock Question 3 79 | Question was incorrectly answered 80 | Pat was sent to the penalty box 81 | Sue is the current player 82 | They have rolled a 3 83 | Sue's new location is 3 84 | The category is Rock 85 | Rock Question 4 86 | Answer was corrent!!!! 87 | Sue now has 4 Gold Coins. 88 | Chet is the current player 89 | They have rolled a 2 90 | Chet's new location is 1 91 | The category is Science 92 | Science Question 3 93 | Answer was corrent!!!! 94 | Chet now has 5 Gold Coins. 95 | Pat is the current player 96 | They have rolled a 5 97 | Pat is getting out of the penalty box 98 | Pat's new location is 0 99 | The category is Pop 100 | Pop Question 3 101 | Answer was correct!!!! 102 | Pat now has 2 Gold Coins. 103 | Sue is the current player 104 | They have rolled a 3 105 | Sue's new location is 6 106 | The category is Sports 107 | Sports Question 0 108 | Answer was corrent!!!! 109 | Sue now has 5 Gold Coins. 110 | Chet is the current player 111 | They have rolled a 3 112 | Chet's new location is 4 113 | The category is Pop 114 | Pop Question 4 115 | Answer was corrent!!!! 116 | Chet now has 6 Gold Coins. 117 | -------------------------------------------------------------------------------- /goldenMasterData/72.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 5 9 | Chet's new location is 5 10 | The category is Science 11 | Science Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 4 16 | Pat's new location is 4 17 | The category is Pop 18 | Pop Question 0 19 | Question was incorrectly answered 20 | Pat was sent to the penalty box 21 | Sue is the current player 22 | They have rolled a 1 23 | Sue's new location is 1 24 | The category is Science 25 | Science Question 1 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 3 30 | Chet's new location is 8 31 | The category is Pop 32 | Pop Question 1 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 4 37 | Pat is not getting out of the penalty box 38 | Sue is the current player 39 | They have rolled a 1 40 | Sue's new location is 2 41 | The category is Sports 42 | Sports Question 0 43 | Answer was corrent!!!! 44 | Sue now has 2 Gold Coins. 45 | Chet is the current player 46 | They have rolled a 2 47 | Chet's new location is 10 48 | The category is Sports 49 | Sports Question 1 50 | Answer was corrent!!!! 51 | Chet now has 3 Gold Coins. 52 | Pat is the current player 53 | They have rolled a 4 54 | Pat is not getting out of the penalty box 55 | Sue is the current player 56 | They have rolled a 4 57 | Sue's new location is 6 58 | The category is Sports 59 | Sports Question 2 60 | Answer was corrent!!!! 61 | Sue now has 3 Gold Coins. 62 | Chet is the current player 63 | They have rolled a 5 64 | Chet's new location is 3 65 | The category is Rock 66 | Rock Question 0 67 | Answer was corrent!!!! 68 | Chet now has 4 Gold Coins. 69 | Pat is the current player 70 | They have rolled a 3 71 | Pat is getting out of the penalty box 72 | Pat's new location is 7 73 | The category is Rock 74 | Rock Question 1 75 | Answer was correct!!!! 76 | Pat now has 1 Gold Coins. 77 | Sue is the current player 78 | They have rolled a 2 79 | Sue's new location is 8 80 | The category is Pop 81 | Pop Question 2 82 | Answer was corrent!!!! 83 | Sue now has 4 Gold Coins. 84 | Chet is the current player 85 | They have rolled a 2 86 | Chet's new location is 5 87 | The category is Science 88 | Science Question 2 89 | Answer was corrent!!!! 90 | Chet now has 5 Gold Coins. 91 | Pat is the current player 92 | They have rolled a 1 93 | Pat is getting out of the penalty box 94 | Pat's new location is 8 95 | The category is Pop 96 | Pop Question 3 97 | Answer was correct!!!! 98 | Pat now has 2 Gold Coins. 99 | Sue is the current player 100 | They have rolled a 3 101 | Sue's new location is 11 102 | The category is Rock 103 | Rock Question 2 104 | Answer was corrent!!!! 105 | Sue now has 5 Gold Coins. 106 | Chet is the current player 107 | They have rolled a 1 108 | Chet's new location is 6 109 | The category is Sports 110 | Sports Question 3 111 | Answer was corrent!!!! 112 | Chet now has 6 Gold Coins. 113 | -------------------------------------------------------------------------------- /goldenMasterData/73.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 1 9 | Chet's new location is 1 10 | The category is Science 11 | Science Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 3 16 | Pat's new location is 3 17 | The category is Rock 18 | Rock Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 5 23 | Sue's new location is 5 24 | The category is Science 25 | Science Question 1 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 1 30 | Chet's new location is 2 31 | The category is Sports 32 | Sports Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 4 37 | Pat's new location is 7 38 | The category is Rock 39 | Rock Question 1 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 3 44 | Sue's new location is 8 45 | The category is Pop 46 | Pop Question 0 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 1 51 | Chet's new location is 3 52 | The category is Rock 53 | Rock Question 2 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 5 58 | Pat's new location is 0 59 | The category is Pop 60 | Pop Question 1 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 2 65 | Sue's new location is 10 66 | The category is Sports 67 | Sports Question 1 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 5 72 | Chet's new location is 8 73 | The category is Pop 74 | Pop Question 2 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 1 79 | Pat's new location is 1 80 | The category is Science 81 | Science Question 2 82 | Question was incorrectly answered 83 | Pat was sent to the penalty box 84 | Sue is the current player 85 | They have rolled a 5 86 | Sue's new location is 3 87 | The category is Rock 88 | Rock Question 3 89 | Answer was corrent!!!! 90 | Sue now has 4 Gold Coins. 91 | Chet is the current player 92 | They have rolled a 4 93 | Chet's new location is 0 94 | The category is Pop 95 | Pop Question 3 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 2 100 | Pat is not getting out of the penalty box 101 | Sue is the current player 102 | They have rolled a 3 103 | Sue's new location is 6 104 | The category is Sports 105 | Sports Question 2 106 | Answer was corrent!!!! 107 | Sue now has 5 Gold Coins. 108 | Chet is the current player 109 | They have rolled a 3 110 | Chet's new location is 3 111 | The category is Rock 112 | Rock Question 4 113 | Answer was corrent!!!! 114 | Chet now has 6 Gold Coins. 115 | -------------------------------------------------------------------------------- /goldenMasterData/77.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 3 9 | Chet's new location is 3 10 | The category is Rock 11 | Rock Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 4 16 | Pat's new location is 4 17 | The category is Pop 18 | Pop Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 2 23 | Sue's new location is 2 24 | The category is Sports 25 | Sports Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 1 30 | Chet's new location is 4 31 | The category is Pop 32 | Pop Question 1 33 | Question was incorrectly answered 34 | Chet was sent to the penalty box 35 | Pat is the current player 36 | They have rolled a 2 37 | Pat's new location is 6 38 | The category is Sports 39 | Sports Question 1 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 2 44 | Sue's new location is 4 45 | The category is Pop 46 | Pop Question 2 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 4 51 | Chet is not getting out of the penalty box 52 | Question was incorrectly answered 53 | Chet was sent to the penalty box 54 | Pat is the current player 55 | They have rolled a 2 56 | Pat's new location is 8 57 | The category is Pop 58 | Pop Question 3 59 | Answer was corrent!!!! 60 | Pat now has 3 Gold Coins. 61 | Sue is the current player 62 | They have rolled a 3 63 | Sue's new location is 7 64 | The category is Rock 65 | Rock Question 1 66 | Answer was corrent!!!! 67 | Sue now has 3 Gold Coins. 68 | Chet is the current player 69 | They have rolled a 2 70 | Chet is not getting out of the penalty box 71 | Pat is the current player 72 | They have rolled a 2 73 | Pat's new location is 10 74 | The category is Sports 75 | Sports Question 2 76 | Answer was corrent!!!! 77 | Pat now has 4 Gold Coins. 78 | Sue is the current player 79 | They have rolled a 1 80 | Sue's new location is 8 81 | The category is Pop 82 | Pop Question 4 83 | Answer was corrent!!!! 84 | Sue now has 4 Gold Coins. 85 | Chet is the current player 86 | They have rolled a 4 87 | Chet is not getting out of the penalty box 88 | Pat is the current player 89 | They have rolled a 4 90 | Pat's new location is 2 91 | The category is Sports 92 | Sports Question 3 93 | Answer was corrent!!!! 94 | Pat now has 5 Gold Coins. 95 | Sue is the current player 96 | They have rolled a 1 97 | Sue's new location is 9 98 | The category is Science 99 | Science Question 0 100 | Answer was corrent!!!! 101 | Sue now has 5 Gold Coins. 102 | Chet is the current player 103 | They have rolled a 4 104 | Chet is not getting out of the penalty box 105 | Question was incorrectly answered 106 | Chet was sent to the penalty box 107 | Pat is the current player 108 | They have rolled a 3 109 | Pat's new location is 5 110 | The category is Science 111 | Science Question 1 112 | Answer was corrent!!!! 113 | Pat now has 6 Gold Coins. 114 | -------------------------------------------------------------------------------- /goldenMasterData/78.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 1 9 | Chet's new location is 1 10 | The category is Science 11 | Science Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 1 16 | Pat's new location is 1 17 | The category is Science 18 | Science Question 1 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 2 23 | Sue's new location is 2 24 | The category is Sports 25 | Sports Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 4 30 | Chet's new location is 5 31 | The category is Science 32 | Science Question 2 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 4 37 | Pat's new location is 5 38 | The category is Science 39 | Science Question 3 40 | Question was incorrectly answered 41 | Pat was sent to the penalty box 42 | Sue is the current player 43 | They have rolled a 4 44 | Sue's new location is 6 45 | The category is Sports 46 | Sports Question 1 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 1 51 | Chet's new location is 6 52 | The category is Sports 53 | Sports Question 2 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 2 58 | Pat is not getting out of the penalty box 59 | Sue is the current player 60 | They have rolled a 1 61 | Sue's new location is 7 62 | The category is Rock 63 | Rock Question 0 64 | Answer was corrent!!!! 65 | Sue now has 3 Gold Coins. 66 | Chet is the current player 67 | They have rolled a 1 68 | Chet's new location is 7 69 | The category is Rock 70 | Rock Question 1 71 | Answer was corrent!!!! 72 | Chet now has 4 Gold Coins. 73 | Pat is the current player 74 | They have rolled a 4 75 | Pat is not getting out of the penalty box 76 | Sue is the current player 77 | They have rolled a 2 78 | Sue's new location is 9 79 | The category is Science 80 | Science Question 4 81 | Answer was corrent!!!! 82 | Sue now has 4 Gold Coins. 83 | Chet is the current player 84 | They have rolled a 3 85 | Chet's new location is 10 86 | The category is Sports 87 | Sports Question 3 88 | Answer was corrent!!!! 89 | Chet now has 5 Gold Coins. 90 | Pat is the current player 91 | They have rolled a 2 92 | Pat is not getting out of the penalty box 93 | Sue is the current player 94 | They have rolled a 2 95 | Sue's new location is 11 96 | The category is Rock 97 | Rock Question 2 98 | Answer was corrent!!!! 99 | Sue now has 5 Gold Coins. 100 | Chet is the current player 101 | They have rolled a 2 102 | Chet's new location is 0 103 | The category is Pop 104 | Pop Question 0 105 | Answer was corrent!!!! 106 | Chet now has 6 Gold Coins. 107 | -------------------------------------------------------------------------------- /goldenMasterData/79.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 2 9 | Chet's new location is 2 10 | The category is Sports 11 | Sports Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 5 16 | Pat's new location is 5 17 | The category is Science 18 | Science Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 1 23 | Sue's new location is 1 24 | The category is Science 25 | Science Question 1 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 2 30 | Chet's new location is 4 31 | The category is Pop 32 | Pop Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 1 37 | Pat's new location is 6 38 | The category is Sports 39 | Sports Question 1 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 4 44 | Sue's new location is 5 45 | The category is Science 46 | Science Question 2 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 5 51 | Chet's new location is 9 52 | The category is Science 53 | Science Question 3 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 3 58 | Pat's new location is 9 59 | The category is Science 60 | Science Question 4 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 4 65 | Sue's new location is 9 66 | The category is Science 67 | Science Question 5 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 1 72 | Chet's new location is 10 73 | The category is Sports 74 | Sports Question 2 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 2 79 | Pat's new location is 11 80 | The category is Rock 81 | Rock Question 0 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 3 86 | Sue's new location is 0 87 | The category is Pop 88 | Pop Question 1 89 | Answer was corrent!!!! 90 | Sue now has 4 Gold Coins. 91 | Chet is the current player 92 | They have rolled a 5 93 | Chet's new location is 3 94 | The category is Rock 95 | Rock Question 1 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 3 100 | Pat's new location is 2 101 | The category is Sports 102 | Sports Question 3 103 | Answer was corrent!!!! 104 | Pat now has 5 Gold Coins. 105 | Sue is the current player 106 | They have rolled a 2 107 | Sue's new location is 2 108 | The category is Sports 109 | Sports Question 4 110 | Answer was corrent!!!! 111 | Sue now has 5 Gold Coins. 112 | Chet is the current player 113 | They have rolled a 1 114 | Chet's new location is 4 115 | The category is Pop 116 | Pop Question 2 117 | Answer was corrent!!!! 118 | Chet now has 6 Gold Coins. 119 | -------------------------------------------------------------------------------- /goldenMasterData/80.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 2 9 | Chet's new location is 2 10 | The category is Sports 11 | Sports Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 4 16 | Pat's new location is 4 17 | The category is Pop 18 | Pop Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 4 23 | Sue's new location is 4 24 | The category is Pop 25 | Pop Question 1 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 1 30 | Chet's new location is 3 31 | The category is Rock 32 | Rock Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 1 37 | Pat's new location is 5 38 | The category is Science 39 | Science Question 0 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 3 44 | Sue's new location is 7 45 | The category is Rock 46 | Rock Question 1 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 1 51 | Chet's new location is 4 52 | The category is Pop 53 | Pop Question 2 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 1 58 | Pat's new location is 6 59 | The category is Sports 60 | Sports Question 1 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 2 65 | Sue's new location is 9 66 | The category is Science 67 | Science Question 1 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 2 72 | Chet's new location is 6 73 | The category is Sports 74 | Sports Question 2 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 4 79 | Pat's new location is 10 80 | The category is Sports 81 | Sports Question 3 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 1 86 | Sue's new location is 10 87 | The category is Sports 88 | Sports Question 4 89 | Answer was corrent!!!! 90 | Sue now has 4 Gold Coins. 91 | Chet is the current player 92 | They have rolled a 2 93 | Chet's new location is 8 94 | The category is Pop 95 | Pop Question 3 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 1 100 | Pat's new location is 11 101 | The category is Rock 102 | Rock Question 2 103 | Answer was corrent!!!! 104 | Pat now has 5 Gold Coins. 105 | Sue is the current player 106 | They have rolled a 2 107 | Sue's new location is 0 108 | The category is Pop 109 | Pop Question 4 110 | Answer was corrent!!!! 111 | Sue now has 5 Gold Coins. 112 | Chet is the current player 113 | They have rolled a 4 114 | Chet's new location is 0 115 | The category is Pop 116 | Pop Question 5 117 | Answer was corrent!!!! 118 | Chet now has 6 Gold Coins. 119 | -------------------------------------------------------------------------------- /goldenMasterData/84.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 4 9 | Chet's new location is 4 10 | The category is Pop 11 | Pop Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 1 16 | Pat's new location is 1 17 | The category is Science 18 | Science Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 1 23 | Sue's new location is 1 24 | The category is Science 25 | Science Question 1 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 5 30 | Chet's new location is 9 31 | The category is Science 32 | Science Question 2 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 2 37 | Pat's new location is 3 38 | The category is Rock 39 | Rock Question 0 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 3 44 | Sue's new location is 4 45 | The category is Pop 46 | Pop Question 1 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 5 51 | Chet's new location is 2 52 | The category is Sports 53 | Sports Question 0 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 3 58 | Pat's new location is 6 59 | The category is Sports 60 | Sports Question 1 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 1 65 | Sue's new location is 5 66 | The category is Science 67 | Science Question 3 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 4 72 | Chet's new location is 6 73 | The category is Sports 74 | Sports Question 2 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 5 79 | Pat's new location is 11 80 | The category is Rock 81 | Rock Question 1 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 4 86 | Sue's new location is 9 87 | The category is Science 88 | Science Question 4 89 | Answer was corrent!!!! 90 | Sue now has 4 Gold Coins. 91 | Chet is the current player 92 | They have rolled a 4 93 | Chet's new location is 10 94 | The category is Sports 95 | Sports Question 3 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 3 100 | Pat's new location is 2 101 | The category is Sports 102 | Sports Question 4 103 | Answer was corrent!!!! 104 | Pat now has 5 Gold Coins. 105 | Sue is the current player 106 | They have rolled a 2 107 | Sue's new location is 11 108 | The category is Rock 109 | Rock Question 2 110 | Answer was corrent!!!! 111 | Sue now has 5 Gold Coins. 112 | Chet is the current player 113 | They have rolled a 3 114 | Chet's new location is 1 115 | The category is Science 116 | Science Question 5 117 | Answer was corrent!!!! 118 | Chet now has 6 Gold Coins. 119 | -------------------------------------------------------------------------------- /goldenMasterData/86.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 3 9 | Chet's new location is 3 10 | The category is Rock 11 | Rock Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 2 16 | Pat's new location is 2 17 | The category is Sports 18 | Sports Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 5 23 | Sue's new location is 5 24 | The category is Science 25 | Science Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 5 30 | Chet's new location is 8 31 | The category is Pop 32 | Pop Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 3 37 | Pat's new location is 5 38 | The category is Science 39 | Science Question 1 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 5 44 | Sue's new location is 10 45 | The category is Sports 46 | Sports Question 1 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 5 51 | Chet's new location is 1 52 | The category is Science 53 | Science Question 2 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 4 58 | Pat's new location is 9 59 | The category is Science 60 | Science Question 3 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 4 65 | Sue's new location is 2 66 | The category is Sports 67 | Sports Question 2 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 3 72 | Chet's new location is 4 73 | The category is Pop 74 | Pop Question 1 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 4 79 | Pat's new location is 1 80 | The category is Science 81 | Science Question 4 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 1 86 | Sue's new location is 3 87 | The category is Rock 88 | Rock Question 1 89 | Answer was corrent!!!! 90 | Sue now has 4 Gold Coins. 91 | Chet is the current player 92 | They have rolled a 5 93 | Chet's new location is 9 94 | The category is Science 95 | Science Question 5 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 2 100 | Pat's new location is 3 101 | The category is Rock 102 | Rock Question 2 103 | Answer was corrent!!!! 104 | Pat now has 5 Gold Coins. 105 | Sue is the current player 106 | They have rolled a 3 107 | Sue's new location is 6 108 | The category is Sports 109 | Sports Question 3 110 | Answer was corrent!!!! 111 | Sue now has 5 Gold Coins. 112 | Chet is the current player 113 | They have rolled a 2 114 | Chet's new location is 11 115 | The category is Rock 116 | Rock Question 3 117 | Answer was corrent!!!! 118 | Chet now has 6 Gold Coins. 119 | -------------------------------------------------------------------------------- /goldenMasterData/88.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 1 9 | Chet's new location is 1 10 | The category is Science 11 | Science Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 5 16 | Pat's new location is 5 17 | The category is Science 18 | Science Question 1 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 4 23 | Sue's new location is 4 24 | The category is Pop 25 | Pop Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 5 30 | Chet's new location is 6 31 | The category is Sports 32 | Sports Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 5 37 | Pat's new location is 10 38 | The category is Sports 39 | Sports Question 1 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 2 44 | Sue's new location is 6 45 | The category is Sports 46 | Sports Question 2 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 3 51 | Chet's new location is 9 52 | The category is Science 53 | Science Question 2 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 4 58 | Pat's new location is 2 59 | The category is Sports 60 | Sports Question 3 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 4 65 | Sue's new location is 10 66 | The category is Sports 67 | Sports Question 4 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 5 72 | Chet's new location is 2 73 | The category is Sports 74 | Sports Question 5 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 3 79 | Pat's new location is 5 80 | The category is Science 81 | Science Question 3 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 2 86 | Sue's new location is 0 87 | The category is Pop 88 | Pop Question 1 89 | Answer was corrent!!!! 90 | Sue now has 4 Gold Coins. 91 | Chet is the current player 92 | They have rolled a 3 93 | Chet's new location is 5 94 | The category is Science 95 | Science Question 4 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 5 100 | Pat's new location is 10 101 | The category is Sports 102 | Sports Question 6 103 | Answer was corrent!!!! 104 | Pat now has 5 Gold Coins. 105 | Sue is the current player 106 | They have rolled a 5 107 | Sue's new location is 5 108 | The category is Science 109 | Science Question 5 110 | Answer was corrent!!!! 111 | Sue now has 5 Gold Coins. 112 | Chet is the current player 113 | They have rolled a 5 114 | Chet's new location is 10 115 | The category is Sports 116 | Sports Question 7 117 | Answer was corrent!!!! 118 | Chet now has 6 Gold Coins. 119 | -------------------------------------------------------------------------------- /goldenMasterData/9.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 5 9 | Chet's new location is 5 10 | The category is Science 11 | Science Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 4 16 | Pat's new location is 4 17 | The category is Pop 18 | Pop Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 5 23 | Sue's new location is 5 24 | The category is Science 25 | Science Question 1 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 4 30 | Chet's new location is 9 31 | The category is Science 32 | Science Question 2 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 4 37 | Pat's new location is 8 38 | The category is Pop 39 | Pop Question 1 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 2 44 | Sue's new location is 7 45 | The category is Rock 46 | Rock Question 0 47 | Question was incorrectly answered 48 | Sue was sent to the penalty box 49 | Chet is the current player 50 | They have rolled a 2 51 | Chet's new location is 11 52 | The category is Rock 53 | Rock Question 1 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 1 58 | Pat's new location is 9 59 | The category is Science 60 | Science Question 3 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 2 65 | Sue is not getting out of the penalty box 66 | Chet is the current player 67 | They have rolled a 5 68 | Chet's new location is 4 69 | The category is Pop 70 | Pop Question 2 71 | Answer was corrent!!!! 72 | Chet now has 4 Gold Coins. 73 | Pat is the current player 74 | They have rolled a 2 75 | Pat's new location is 11 76 | The category is Rock 77 | Rock Question 2 78 | Answer was corrent!!!! 79 | Pat now has 4 Gold Coins. 80 | Sue is the current player 81 | They have rolled a 2 82 | Sue is not getting out of the penalty box 83 | Chet is the current player 84 | They have rolled a 2 85 | Chet's new location is 6 86 | The category is Sports 87 | Sports Question 0 88 | Answer was corrent!!!! 89 | Chet now has 5 Gold Coins. 90 | Pat is the current player 91 | They have rolled a 3 92 | Pat's new location is 2 93 | The category is Sports 94 | Sports Question 1 95 | Answer was corrent!!!! 96 | Pat now has 5 Gold Coins. 97 | Sue is the current player 98 | They have rolled a 4 99 | Sue is not getting out of the penalty box 100 | Chet is the current player 101 | They have rolled a 2 102 | Chet's new location is 8 103 | The category is Pop 104 | Pop Question 3 105 | Answer was corrent!!!! 106 | Chet now has 6 Gold Coins. 107 | -------------------------------------------------------------------------------- /goldenMasterData/92.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 4 9 | Chet's new location is 4 10 | The category is Pop 11 | Pop Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 2 16 | Pat's new location is 2 17 | The category is Sports 18 | Sports Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 1 23 | Sue's new location is 1 24 | The category is Science 25 | Science Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 5 30 | Chet's new location is 9 31 | The category is Science 32 | Science Question 1 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 2 37 | Pat's new location is 4 38 | The category is Pop 39 | Pop Question 1 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 5 44 | Sue's new location is 6 45 | The category is Sports 46 | Sports Question 1 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 4 51 | Chet's new location is 1 52 | The category is Science 53 | Science Question 2 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 1 58 | Pat's new location is 5 59 | The category is Science 60 | Science Question 3 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 2 65 | Sue's new location is 8 66 | The category is Pop 67 | Pop Question 2 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 1 72 | Chet's new location is 2 73 | The category is Sports 74 | Sports Question 2 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 5 79 | Pat's new location is 10 80 | The category is Sports 81 | Sports Question 3 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 5 86 | Sue's new location is 1 87 | The category is Science 88 | Science Question 4 89 | Answer was corrent!!!! 90 | Sue now has 4 Gold Coins. 91 | Chet is the current player 92 | They have rolled a 1 93 | Chet's new location is 3 94 | The category is Rock 95 | Rock Question 0 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 2 100 | Pat's new location is 0 101 | The category is Pop 102 | Pop Question 3 103 | Answer was corrent!!!! 104 | Pat now has 5 Gold Coins. 105 | Sue is the current player 106 | They have rolled a 2 107 | Sue's new location is 3 108 | The category is Rock 109 | Rock Question 1 110 | Answer was corrent!!!! 111 | Sue now has 5 Gold Coins. 112 | Chet is the current player 113 | They have rolled a 5 114 | Chet's new location is 8 115 | The category is Pop 116 | Pop Question 4 117 | Answer was corrent!!!! 118 | Chet now has 6 Gold Coins. 119 | -------------------------------------------------------------------------------- /goldenMasterData/95.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 3 9 | Chet's new location is 3 10 | The category is Rock 11 | Rock Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 3 16 | Pat's new location is 3 17 | The category is Rock 18 | Rock Question 1 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 4 23 | Sue's new location is 4 24 | The category is Pop 25 | Pop Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 2 30 | Chet's new location is 5 31 | The category is Science 32 | Science Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 2 37 | Pat's new location is 5 38 | The category is Science 39 | Science Question 1 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 5 44 | Sue's new location is 9 45 | The category is Science 46 | Science Question 2 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 3 51 | Chet's new location is 8 52 | The category is Pop 53 | Pop Question 1 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 4 58 | Pat's new location is 9 59 | The category is Science 60 | Science Question 3 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 4 65 | Sue's new location is 1 66 | The category is Science 67 | Science Question 4 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 1 72 | Chet's new location is 9 73 | The category is Science 74 | Science Question 5 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 2 79 | Pat's new location is 11 80 | The category is Rock 81 | Rock Question 2 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 4 86 | Sue's new location is 5 87 | The category is Science 88 | Science Question 6 89 | Answer was corrent!!!! 90 | Sue now has 4 Gold Coins. 91 | Chet is the current player 92 | They have rolled a 4 93 | Chet's new location is 1 94 | The category is Science 95 | Science Question 7 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 5 100 | Pat's new location is 4 101 | The category is Pop 102 | Pop Question 2 103 | Answer was corrent!!!! 104 | Pat now has 5 Gold Coins. 105 | Sue is the current player 106 | They have rolled a 4 107 | Sue's new location is 9 108 | The category is Science 109 | Science Question 8 110 | Answer was corrent!!!! 111 | Sue now has 5 Gold Coins. 112 | Chet is the current player 113 | They have rolled a 5 114 | Chet's new location is 6 115 | The category is Sports 116 | Sports Question 0 117 | Answer was corrent!!!! 118 | Chet now has 6 Gold Coins. 119 | -------------------------------------------------------------------------------- /goldenMasterData/96.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 3 9 | Chet's new location is 3 10 | The category is Rock 11 | Rock Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 4 16 | Pat's new location is 4 17 | The category is Pop 18 | Pop Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 5 23 | Sue's new location is 5 24 | The category is Science 25 | Science Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 2 30 | Chet's new location is 5 31 | The category is Science 32 | Science Question 1 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 2 37 | Pat's new location is 6 38 | The category is Sports 39 | Sports Question 0 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 4 44 | Sue's new location is 9 45 | The category is Science 46 | Science Question 2 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 1 51 | Chet's new location is 6 52 | The category is Sports 53 | Sports Question 1 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 1 58 | Pat's new location is 7 59 | The category is Rock 60 | Rock Question 1 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 3 65 | Sue's new location is 0 66 | The category is Pop 67 | Pop Question 1 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 3 72 | Chet's new location is 9 73 | The category is Science 74 | Science Question 3 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 3 79 | Pat's new location is 10 80 | The category is Sports 81 | Sports Question 2 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 5 86 | Sue's new location is 5 87 | The category is Science 88 | Science Question 4 89 | Question was incorrectly answered 90 | Sue was sent to the penalty box 91 | Chet is the current player 92 | They have rolled a 5 93 | Chet's new location is 2 94 | The category is Sports 95 | Sports Question 3 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 2 100 | Pat's new location is 0 101 | The category is Pop 102 | Pop Question 2 103 | Answer was corrent!!!! 104 | Pat now has 5 Gold Coins. 105 | Sue is the current player 106 | They have rolled a 3 107 | Sue is getting out of the penalty box 108 | Sue's new location is 8 109 | The category is Pop 110 | Pop Question 3 111 | Answer was correct!!!! 112 | Sue now has 4 Gold Coins. 113 | Chet is the current player 114 | They have rolled a 1 115 | Chet's new location is 3 116 | The category is Rock 117 | Rock Question 2 118 | Answer was corrent!!!! 119 | Chet now has 6 Gold Coins. 120 | -------------------------------------------------------------------------------- /goldenMasterData/97.txt: -------------------------------------------------------------------------------- 1 | Chet was added 2 | They are player number 1 3 | Pat was added 4 | They are player number 2 5 | Sue was added 6 | They are player number 3 7 | Chet is the current player 8 | They have rolled a 4 9 | Chet's new location is 4 10 | The category is Pop 11 | Pop Question 0 12 | Answer was corrent!!!! 13 | Chet now has 1 Gold Coins. 14 | Pat is the current player 15 | They have rolled a 3 16 | Pat's new location is 3 17 | The category is Rock 18 | Rock Question 0 19 | Answer was corrent!!!! 20 | Pat now has 1 Gold Coins. 21 | Sue is the current player 22 | They have rolled a 2 23 | Sue's new location is 2 24 | The category is Sports 25 | Sports Question 0 26 | Answer was corrent!!!! 27 | Sue now has 1 Gold Coins. 28 | Chet is the current player 29 | They have rolled a 5 30 | Chet's new location is 9 31 | The category is Science 32 | Science Question 0 33 | Answer was corrent!!!! 34 | Chet now has 2 Gold Coins. 35 | Pat is the current player 36 | They have rolled a 2 37 | Pat's new location is 5 38 | The category is Science 39 | Science Question 1 40 | Answer was corrent!!!! 41 | Pat now has 2 Gold Coins. 42 | Sue is the current player 43 | They have rolled a 5 44 | Sue's new location is 7 45 | The category is Rock 46 | Rock Question 1 47 | Answer was corrent!!!! 48 | Sue now has 2 Gold Coins. 49 | Chet is the current player 50 | They have rolled a 2 51 | Chet's new location is 11 52 | The category is Rock 53 | Rock Question 2 54 | Answer was corrent!!!! 55 | Chet now has 3 Gold Coins. 56 | Pat is the current player 57 | They have rolled a 3 58 | Pat's new location is 8 59 | The category is Pop 60 | Pop Question 1 61 | Answer was corrent!!!! 62 | Pat now has 3 Gold Coins. 63 | Sue is the current player 64 | They have rolled a 1 65 | Sue's new location is 8 66 | The category is Pop 67 | Pop Question 2 68 | Answer was corrent!!!! 69 | Sue now has 3 Gold Coins. 70 | Chet is the current player 71 | They have rolled a 3 72 | Chet's new location is 2 73 | The category is Sports 74 | Sports Question 1 75 | Answer was corrent!!!! 76 | Chet now has 4 Gold Coins. 77 | Pat is the current player 78 | They have rolled a 1 79 | Pat's new location is 9 80 | The category is Science 81 | Science Question 2 82 | Answer was corrent!!!! 83 | Pat now has 4 Gold Coins. 84 | Sue is the current player 85 | They have rolled a 1 86 | Sue's new location is 9 87 | The category is Science 88 | Science Question 3 89 | Answer was corrent!!!! 90 | Sue now has 4 Gold Coins. 91 | Chet is the current player 92 | They have rolled a 2 93 | Chet's new location is 4 94 | The category is Pop 95 | Pop Question 3 96 | Answer was corrent!!!! 97 | Chet now has 5 Gold Coins. 98 | Pat is the current player 99 | They have rolled a 2 100 | Pat's new location is 11 101 | The category is Rock 102 | Rock Question 3 103 | Answer was corrent!!!! 104 | Pat now has 5 Gold Coins. 105 | Sue is the current player 106 | They have rolled a 2 107 | Sue's new location is 11 108 | The category is Rock 109 | Rock Question 4 110 | Answer was corrent!!!! 111 | Sue now has 5 Gold Coins. 112 | Chet is the current player 113 | They have rolled a 5 114 | Chet's new location is 9 115 | The category is Science 116 | Science Question 4 117 | Answer was corrent!!!! 118 | Chet now has 6 Gold Coins. 119 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | de.stevenschwenke.java 8 | WritingAwesomeJavaCodeWorkshop 9 | 1.0 10 | 11 | 12 | UTF-8 13 | 1.8 14 | 1.8 15 | 16 | 17 | 18 | 19 | org.junit.jupiter 20 | junit-jupiter-engine 21 | 5.3.1 22 | test 23 | 24 | 25 | org.mockito 26 | mockito-core 27 | 2.23.4 28 | test 29 | 30 | 31 | org.apache.commons 32 | commons-lang3 33 | 3.6 34 | test 35 | 36 | 37 | com.ajjpj.a-foundation 38 | a-foundation 39 | 1.0-pre19 40 | 41 | 42 | commons-io 43 | commons-io 44 | 2.5 45 | test 46 | 47 | 48 | org.immutables 49 | value 50 | 2.7.1 51 | provided 52 | 53 | 54 | org.projectlombok 55 | lombok 56 | 1.18.10 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | org.apache.maven.plugins 65 | maven-surefire-plugin 66 | 2.22.1 67 | 68 | 69 | * 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /shippable.yml: -------------------------------------------------------------------------------- 1 | # language 2 | language: java 3 | 4 | # version numbers 5 | jdk: 6 | - oraclejdk8 7 | -------------------------------------------------------------------------------- /src/main/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c02_visibility/PackagePrivateClass.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c02_visibility; 2 | 3 | /** 4 | * This class is only visible for classes in this package. 5 | */ 6 | class PackagePrivateClass { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c02_visibility/PublicClass.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c02_visibility; 2 | 3 | /** 4 | * This class is visible everywhere. 5 | */ 6 | public class PublicClass { 7 | 8 | public void publicMethod() { 9 | 10 | } 11 | 12 | private void privateMethod() { 13 | 14 | } 15 | 16 | protected void protectedMethod() { 17 | 18 | } 19 | 20 | void packagePrivateMethod() { 21 | 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/exercises_and_test_questions.adoc: -------------------------------------------------------------------------------- 1 | == Java 2 | . What comment types exist in Java? What is their syntax and purpose? 3 | . What visibility modifier exist in Java? Explain each of them with an example. 4 | . In just *one word*: What is the general idea behind visibility modifier? 5 | . What is the general idea of the answer for the previous question? 6 | . What are hashCode and equals? 7 | . Why must hashCode and equals always be implemented together? -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/APIDesignWithLambdasExercises.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods; 2 | 3 | /** 4 | * Exercises for {@link APIDesignWithLambdas}. 5 | */ 6 | public class APIDesignWithLambdasExercises { 7 | 8 | /* 9 | 10 | Again, look at your own codebase. 11 | 12 | 1. Do you find a class that would profit from having a "flexible API" as shown in the 13 | example? Hint: If a class has a lot of methods to publish information about its state or 14 | value, it could benefit from having a flexible API. 15 | 16 | 2. Search code with a lot of catch-phrases that is used in more than one places. Can it be 17 | enhanced using the execute-around-pattern? 18 | 19 | */ 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/FileManipulator.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods; 2 | 3 | import java.io.IOException; 4 | import java.nio.file.FileSystems; 5 | import java.nio.file.Path; 6 | import java.nio.file.Paths; 7 | import java.nio.file.WatchEvent; 8 | import java.nio.file.WatchKey; 9 | import java.nio.file.WatchService; 10 | 11 | import static java.nio.file.StandardWatchEventKinds.ENTRY_CREATE; 12 | import static java.nio.file.StandardWatchEventKinds.ENTRY_DELETE; 13 | import static java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY; 14 | 15 | /** 16 | * This program demonstrates how to use the Watch Service API to monitor change events for a 17 | * specific directory. 18 | * 19 | * @author www.codejava.net, Steven Schwenke 20 | */ 21 | public class FileManipulator { 22 | 23 | public static void main(String[] args) { 24 | try { 25 | WatchService watcher = FileSystems.getDefault().newWatchService(); 26 | Path directory = Paths.get("C:/Test"); 27 | directory.register(watcher, ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY); 28 | 29 | System.out 30 | .println("Watch Service registered for directory: " + directory.getFileName()); 31 | 32 | while (true) { 33 | WatchKey key; 34 | try { 35 | key = watcher.take(); 36 | } catch (InterruptedException ex) { 37 | return; 38 | } 39 | 40 | for (WatchEvent event : key.pollEvents()) { 41 | WatchEvent.Kind kind = event.kind(); 42 | 43 | @SuppressWarnings("unchecked") 44 | WatchEvent ev = (WatchEvent) event; 45 | Path fileName = ev.context(); 46 | 47 | System.out.println(kind.name() + ": " + fileName); 48 | } 49 | 50 | boolean valid = key.reset(); 51 | if (!valid) { 52 | break; 53 | } 54 | } 55 | 56 | } catch (IOException ex) { 57 | System.err.println(ex.getMessage()); 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/NiceStuff.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | /** 6 | * Demonstrates some nice features. 7 | */ 8 | class NiceStuff { 9 | 10 | @Test 11 | void readabilityOfBigIntegers() { 12 | 13 | // big integers can have separators with "_": 14 | int x = 1_000_000; 15 | 16 | // However, these are not semantically checked: 17 | int y = 1_00; 18 | } 19 | 20 | @Test 21 | void switchOverStrings() { 22 | 23 | String string = "a"; 24 | 25 | // Since Java 7 it's possible to switch over a String: 26 | 27 | switch (string) { 28 | case "a": 29 | System.out.println("a"); 30 | 31 | default: 32 | System.out.println("not a"); 33 | } 34 | 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/SerialVersionUID.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Often, the usage of the serial version UID is not understood. This chapter explains its usage. 7 | */ 8 | public class SerialVersionUID { 9 | 10 | /* 11 | * From API of Serializable and Joshua Blochs famous "Effective Java": 12 | * - Serializable = marker interface 13 | * - every serializable class must have a non-argument (default) constructor. Absence of this is 14 | * only detected at runtime. 15 | * - special handling possible with writeObject and readObject methods 16 | * - each serializable class: version number "serialVersionUID" 17 | * - during deserialization sender and receiver compatible classes? 18 | * - if different serialVersionUID InvalidClassException 19 | * - declaration of serialVersionUID by static, final long field serialVersionUID 20 | * - if no serialVersionUID, calculation of default serialVersionUID 21 | * - serialVersionUID strongly recommended 22 | * 23 | * - let IDE generate id for you. In IntelliJ IDEA, enable 24 | * File => Settings... => Inspections => Serialization issues => Serializable class without 'serialVersionUID' 25 | * 26 | */ 27 | 28 | private class SerializableClass implements Serializable { 29 | // Adding attributes here will change the generated UID ... 30 | 31 | // private static final long serialVersionUID = -6622066385258934578L; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/ThingsToKnowAboutStrings.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | /** 6 | * This class contains things to know about {@link String}. 7 | * 8 | * Extracted from Bernd Müllers talk, see 9 | * http://www.jug-ostfalen.de/article/2016/02/04/string-folien.html 10 | */ 11 | class ThingsToKnowAboutStrings { 12 | 13 | @Test 14 | void stringBufferAndStringBuilder() { 15 | // Know the difference between 16 | 17 | String sbuffer = new StringBuffer("a").append("b").append("c").toString(); 18 | // and 19 | String sbuilder = new StringBuilder("a").append("b").append("c").toString(); 20 | // ? 21 | 22 | // Note the warning at StringBuffer and StringBuilder? That's because "+" is optimized in 23 | // today's JDKs and its performance is as well as those two. 24 | // HOWEVER: Don't use "+" in for-loops because the compiler optimization doesn't work there. 25 | } 26 | 27 | // There are many more things to know about Strings, but that is not the focus of this workshop. 28 | } 29 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/bigdecimal/BigDecimalCompareEqual.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.bigdecimal; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import java.math.BigDecimal; 6 | 7 | /** 8 | * Tests to visualize the difference between compareTo() and equals() 9 | */ 10 | class BigDecimalCompareEqual { 11 | 12 | /** 13 | * The method compareTo() returns an int -1, 0, +1 based on the difference of both numbers. 14 | * 15 | * Figurative: Like a pointer that points to the smaller number: 16 | * 0: there is no smaller number 17 | * -1: the smaller number is on the left 18 | * +1: the smaller number is on the right 19 | * 20 | * <- - - - - -> 21 | * -1 0 +1 22 | */ 23 | @Test 24 | void compareTo() { 25 | int c1_5 = new BigDecimal("1").compareTo(new BigDecimal("5")); 26 | int c1_1 = new BigDecimal("1").compareTo(new BigDecimal("1")); 27 | int c5_1 = new BigDecimal("5").compareTo(new BigDecimal("1")); 28 | 29 | System.out.println(c1_5); // 1 < 5 : -1 30 | System.out.println(c1_1); // 1 = 1 : 0 31 | System.out.println(c5_1); // 5 > 1 : +1 32 | } 33 | 34 | /** 35 | * The method equals() returns a boolean based on whether the numbers are equal or not. 36 | */ 37 | @Test 38 | void equals() { 39 | boolean e1_1 = new BigDecimal("1").equals(new BigDecimal("1")); 40 | boolean e1_5 = new BigDecimal("1").equals(new BigDecimal("5")); 41 | boolean e5_1 = new BigDecimal("5").equals(new BigDecimal("1")); 42 | 43 | System.out.println(e1_1); // 1 = 1 : true 44 | System.out.println(e1_5); // 1 < 5 : false 45 | System.out.println(e5_1); // 5 > 1 : false 46 | } 47 | 48 | /** 49 | * The reason behind the difference of the results of compareTo() and equals() in this test lies in the fact that: 50 | * 51 | * {@link BigDecimal#compareTo(BigDecimal)} - compares based on the difference(!) 52 | * {@link BigDecimal#equals(Object)} - compares the equality of both numbers including the scale(!) 53 | * 54 | * Look inside the respective JavaDoc for more information. 55 | */ 56 | @Test 57 | void differenceOnScale() { 58 | BigDecimal dec1_5 = new BigDecimal("1.5"); 59 | BigDecimal dec1_50 = new BigDecimal("1.50"); 60 | 61 | System.out.println( dec1_5.compareTo(dec1_50) == 0 ); // 1.5 = 1.50 : true 62 | System.out.println( dec1_5.equals(dec1_50) ); // 1.5 = 1.50 : false ?! 63 | } 64 | 65 | } 66 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c01_comments/Comments.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c01_comments; 2 | 3 | /** 4 | * Shows different comment types in Java and when they are used. 5 | */ 6 | public class Comments { 7 | 8 | // This comment is often seen, however it is the wrong choice. Line comments like these are there 9 | // to add non-technical information and are not parsed in any way by the IDE. 10 | private int x = 0; 11 | 12 | /** 13 | * This comment is additional technical information that gets connected with the variable. See 14 | * how your IDE displays this comment when you hover over the variable y. 15 | */ 16 | private int y = 1; 17 | 18 | /* 19 | Can you see how this is not a JavaDoc? Also, there is no IDE support for the parameters or 20 | return type of this method. 21 | */ 22 | public String someMethodWithWrongComment(String anyString) { 23 | return "blubber"; 24 | } 25 | 26 | /** 27 | * This is a "good" comment because it is recognized as JavaDoc. You can automatically create 28 | * such a comment by typing "/**" above a method and let your IDE fill in the reset of the text 29 | * like the parameters or return type. In Eclipse this is done by Alt + Enter, in IntelliJ IDEA 30 | * you simply have to press Enter. 31 | * 32 | * @param anyString you can put anything in here, it will not be used. :) 33 | * @return some return value 34 | */ 35 | public String someMethodWithRightComment(String anyString) { 36 | return "blubber"; 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c02_visibility/another/Subclass.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c02_visibility.another; 2 | 3 | import de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c02_visibility.PublicClass; 4 | 5 | public class Subclass extends PublicClass { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c03_hashcodeandequals/HashCodeTest.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c03_hashcodeandequals; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import java.util.HashSet; 6 | import java.util.Set; 7 | 8 | import static org.junit.jupiter.api.Assertions.assertTrue; 9 | 10 | class HashCodeTest { 11 | 12 | /* 13 | 14 | Beginners question: What are hashCode() and equals() ? Why are they the best friends (BFF) ever? 15 | 16 | Pro-question: What ways do you know to implement hashCode() and equals() ? What are the (dis)advantages? 17 | 18 | */ 19 | 20 | @Test 21 | void objectInHashSetGetsLostWhenHashCodeChanges() { 22 | Set crowd = new HashSet<>(); 23 | Person hans = new Person("Hans"); 24 | crowd.add(hans); 25 | 26 | // If this line is uncommented, the person known as Hans cannot be found in the crowd, 27 | // because his name changed and each person is identified by its name. The change of 28 | // the name changed the hash code of the object, which causes the HashSet to "loose" 29 | // the object. 30 | // hans.setName("Peter"); 31 | 32 | assertTrue(crowd.contains(hans)); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c03_hashcodeandequals/Person.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c03_hashcodeandequals; 2 | 3 | import org.apache.commons.lang3.builder.EqualsBuilder; 4 | import org.apache.commons.lang3.builder.HashCodeBuilder; 5 | 6 | /** 7 | * This class represents a person. Each person is identified solely by its name. 8 | */ 9 | class Person { 10 | 11 | private String name; 12 | 13 | Person(String name) { 14 | this.name = name; 15 | } 16 | 17 | public String getName() { 18 | return name; 19 | } 20 | 21 | public void setName(String name) { 22 | this.name = name; 23 | } 24 | 25 | @Override 26 | public boolean equals(Object o) { 27 | if (this == o) { 28 | return true; 29 | } 30 | 31 | if (o == null || getClass() != o.getClass()) { 32 | return false; 33 | } 34 | 35 | Person person = (Person) o; 36 | 37 | return new EqualsBuilder().append(name, person.name) 38 | .isEquals(); 39 | } 40 | 41 | @Override 42 | public int hashCode() { 43 | return new HashCodeBuilder(17, 37).append(name) 44 | .toHashCode(); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c04_purefunctions/PureFunctions.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c04_purefunctions; 2 | 3 | /** 4 | * Pure functions can be used to write maintainable code that is much easier to debug. 5 | */ 6 | public class PureFunctions { 7 | 8 | /* 9 | Pure functions are functions that 10 | 1. always evaluates the same result value given the same argument value(s) 11 | 2. don't have any side effects. 12 | */ 13 | 14 | private int y; 15 | 16 | private int myPureFunction(int x) { 17 | return x + 1; 18 | } 19 | 20 | // According to IDEA, this impure function is pure. However, it uses the environment and cannot be made static. 21 | private int myPureFunction2(int x) { 22 | return x + y +1; 23 | } 24 | 25 | private int myNotSoPureFunction(int x) { 26 | System.out.println(x); // Side effect! 27 | return x + 1; 28 | } 29 | 30 | private int myNotSoPureFunction2(int x) { 31 | y = 0; // Side effect! 32 | return x + 1; 33 | } 34 | 35 | /* 36 | Main benefits of using pure functions: 37 | - Much easier to understand, especially when debugging. 38 | - Developers tend to write shorter methods when these methods are pure functions 39 | 40 | Finding out if a method is a pure function: 41 | - (just a hint) add a temporary "static" => doesn't work for myPureFunction2! 42 | - let the IDE do the work for you: IDEA shows a little icon at the line of the method 43 | */ 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c04_purefunctions/PureFunctionsExercises.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c04_purefunctions; 2 | 3 | /** 4 | * Exercises for {@link PureFunctions}. 5 | */ 6 | public class PureFunctionsExercises { 7 | 8 | /* 9 | 10 | Have a look at the code you brought with you to this workshop. 11 | 12 | 1. Do you find a pure function already in there? Try to find out why it was written as a 13 | pure function. Why aren't other methods in your code base a pure function, too? 14 | 15 | 2. Pick a method from your codebase. Try to refactor it to one or more pure functions. 16 | Hint: Because pure functions are smaller than regular functions, it's likely that you'll 17 | extract more than one pure function. 18 | 19 | */ 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c05_immutable/ImmutabilityExercises.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c05_immutable; 2 | 3 | import de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c05_immutable.cc1_withPlainJavaAndAFoundation.ImmutabilityWithPlainJavaAndAFoundation; 4 | 5 | /** 6 | * Exercises for {@link ImmutabilityWithPlainJavaAndAFoundation}. 7 | */ 8 | public class ImmutabilityExercises { 9 | 10 | /* 11 | Search your code base for classes that could be refactored to be immutable. What would that 12 | mean? Are there downsides to this? 13 | 14 | */ 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c05_immutable/cc1_withPlainJavaAndAFoundation/Account.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c05_immutable.cc1_withPlainJavaAndAFoundation; 2 | 3 | import com.ajjpj.afoundation.collection.immutable.AList; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | /** 9 | * Immutable implementation of an account that has a number of balances. 10 | */ 11 | final class Account { 12 | 13 | private final String name; 14 | 15 | /** 16 | * There is no c05_immutable list in Java. We use Arno Haases library. 17 | */ 18 | private final AList transactions; 19 | 20 | Account(String name, Iterable transactions) { 21 | this(name, AList.create(transactions)); 22 | } 23 | 24 | // Because we don't want to expose the AList implementation, we have the constructor with Iterable above. 25 | 26 | private Account(String name, 27 | AList transactions) { 28 | this.name = name; 29 | this.transactions = transactions; 30 | } 31 | 32 | String getName() { 33 | return name; 34 | } 35 | 36 | AList getTransactions() { 37 | return transactions; 38 | } 39 | 40 | Account rename(String name) { 41 | return new Account(name, transactions); 42 | } 43 | 44 | Account addTransaction(AccountBalance transaction) { 45 | final List newBalanceList = 46 | new ArrayList<>(this.transactions.asJavaUtilList()); 47 | newBalanceList.add(transaction); 48 | return new Account(name, AList.create(newBalanceList)); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c05_immutable/cc1_withPlainJavaAndAFoundation/AccountBalance.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c05_immutable.cc1_withPlainJavaAndAFoundation; 2 | 3 | /** 4 | * Immutable implementation of an account balance. 5 | */ 6 | final class AccountBalance { 7 | 8 | /** 9 | * final so that this attribute cannot be changed 10 | */ 11 | private final double balance; 12 | 13 | /** 14 | * Only way to set the balance: via constructor 15 | */ 16 | AccountBalance(double balance) { 17 | this.balance = balance; 18 | } 19 | 20 | /** 21 | * Normally, new balance would be set by a setter-method. Because this object is immutable, this 22 | * method creates a new object. 23 | */ 24 | AccountBalance add(final long transferal) { 25 | return new AccountBalance(balance + transferal); 26 | } 27 | 28 | double getBalance() { 29 | return balance; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c05_immutable/cc1_withPlainJavaAndAFoundation/ImmutabilityWithPlainJavaAndAFoundation.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c05_immutable.cc1_withPlainJavaAndAFoundation; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import java.util.ArrayList; 6 | 7 | import static org.junit.jupiter.api.Assertions.assertEquals; 8 | 9 | public class ImmutabilityWithPlainJavaAndAFoundation { 10 | 11 | @Test 12 | void someImmutability() { 13 | AccountBalance b1 = new AccountBalance(42.4); 14 | assertEquals(42.4, b1.getBalance()); 15 | 16 | b1 = b1.add(2); 17 | assertEquals(44.4, b1.getBalance()); 18 | 19 | Account account = new Account("Stevens Account", new ArrayList<>()); 20 | assertEquals(0, account.getTransactions().size()); 21 | 22 | account = account.addTransaction(b1); 23 | assertEquals(1, account.getTransactions().size()); 24 | assertEquals(b1, account.getTransactions().head()); 25 | 26 | // interesting: Normally, there would be a method setName(). We don't want setters here, so name it "rename" :) 27 | account = account.rename("Former Stevens Account"); 28 | assertEquals("Former Stevens Account", account.getName()); 29 | assertEquals(1, account.getTransactions().size()); 30 | assertEquals(b1, account.getTransactions().head()); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c05_immutable/cc2_immutablesOrg/AbstractAmountOfMoneyWithCurrency.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c05_immutable.cc2_immutablesOrg; 2 | 3 | import org.immutables.value.Value; 4 | 5 | @Value.Immutable 6 | public abstract class AbstractAmountOfMoneyWithCurrency { 7 | public abstract long getAmount(); 8 | public abstract String getCurrency(); 9 | // Class-specific methods 10 | } -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c05_immutable/cc2_immutablesOrg/AbstractOrder.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c05_immutable.cc2_immutablesOrg; 2 | 3 | import org.immutables.value.Value; 4 | 5 | import java.util.List; 6 | 7 | @Value.Immutable 8 | public abstract class AbstractOrder 9 | { 10 | public abstract List getOrderItems(); 11 | 12 | /** 13 | * This method will be overriden by the implementation of this class. The result of this method is calculated only 14 | * once when the class is called for the very first time. The result will be stored in the class. 15 | * 16 | * @return price for whole order 17 | */ 18 | @Value.Lazy 19 | public long getAllRoundPrice() { 20 | 21 | // This will only be printed once to console, even if this method is called multiple times. 22 | System.out.println("Calculating ..."); 23 | 24 | long price = 0; 25 | for (OrderItemsAsInterface bp : getOrderItems() ) { 26 | price += bp.getPrice() * bp.getAmount(); 27 | } 28 | return price; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c05_immutable/cc2_immutablesOrg/AmountOfMoneyWithCurrencyAsInterface.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c05_immutable.cc2_immutablesOrg; 2 | 3 | import org.immutables.value.Value; 4 | 5 | @Value.Immutable 6 | public interface AmountOfMoneyWithCurrencyAsInterface 7 | { 8 | long getAmount(); 9 | String getCurrency(); 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c05_immutable/cc2_immutablesOrg/AmountOfMoneyWithOptionalCurrencyAsInterface.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c05_immutable.cc2_immutablesOrg; 2 | 3 | import org.immutables.value.Value; 4 | 5 | import java.util.Optional; 6 | 7 | @Value.Immutable 8 | public interface AmountOfMoneyWithOptionalCurrencyAsInterface 9 | { 10 | long getAmount(); 11 | Optional getCurrency(); 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c05_immutable/cc2_immutablesOrg/BagOfMoney.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c05_immutable.cc2_immutablesOrg; 2 | 3 | import org.immutables.value.Value; 4 | 5 | import java.util.Set; 6 | 7 | @Value.Immutable 8 | public interface BagOfMoney { 9 | 10 | Set getMoney(); 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c05_immutable/cc2_immutablesOrg/Car.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c05_immutable.cc2_immutablesOrg; 2 | 3 | import org.immutables.value.Value; 4 | 5 | @Value.Immutable 6 | public interface Car { 7 | 8 | @Value.Parameter(order = 1) 9 | public Integer getAmountOfWheels(); 10 | 11 | @Value.Parameter(order = 2) 12 | public String getColor(); 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c05_immutable/cc2_immutablesOrg/OrderItemsAsInterface.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c05_immutable.cc2_immutablesOrg; 2 | 3 | import org.immutables.value.Value; 4 | 5 | @Value.Immutable 6 | public interface OrderItemsAsInterface { 7 | 8 | public Integer getPrice(); 9 | 10 | public Integer getAmount(); 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c05_immutable/cc2_immutablesOrg/OtherFeatures.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c05_immutable.cc2_immutablesOrg; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | class OtherFeatures { 6 | 7 | @Test 8 | void constructorMethod() { 9 | 10 | // of()- method = constructor with attributes annotated with "@Value.Parameter": 11 | ImmutableCar redCar = ImmutableCar.of(4, "red"); 12 | 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c06_null/NullAndOptionalExercises.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c06_null; 2 | 3 | /** 4 | * Exercises for {@link NullAndOptional}. 5 | */ 6 | public class NullAndOptionalExercises { 7 | 8 | /* 9 | Have a look at the code you brought with you to this workshop. 10 | 11 | 1. Do a fulltext search and find out how many not-null-checks your codebase has. 12 | 13 | 2. Pick one of those checks. If you can use Java 8 Optional, apply it to your code. If you 14 | cannot use Java 8, write a custom Null Object or use Guava: 15 | https://github.com/google/guava 16 | 17 | */ 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c07_fluentAPI/FluentAPIsExercises.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c07_fluentAPI; 2 | 3 | /** 4 | * Exercises for {@link FluentAPIs}. 5 | */ 6 | public class FluentAPIsExercises { 7 | 8 | /* 9 | Have a look at the code you brought with you to this workshop. Spot at least one of the 10 | following: 11 | 12 | 1. Code that can be refactored to a fluent API (maybe even a DSL) to make the usage more 13 | readable, more intuitive and less error-prone. 14 | 15 | 2. Code that could be refactored to a fluent API or DSL but shouldn't because it would 16 | obscure the meaning or readability of your code. 17 | 18 | 3. Begin to refactor your code to have a fluent API. 19 | 20 | Hint: The creation and filling of data classes can often be written with fluent API. 21 | 22 | */ 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c08_junit/MockitoDemo.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c08_junit; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.mockito.InOrder; 5 | 6 | import java.util.LinkedList; 7 | import java.util.List; 8 | 9 | import static org.mockito.Mockito.*; 10 | 11 | /** 12 | * This class demonstrates the library Mockito. 13 | */ 14 | class MockitoDemo { 15 | 16 | @Test 17 | void mockitoUsageViaMockitoWebsite() { 18 | // mock creation 19 | List mockedList = mock(List.class); 20 | 21 | // using mock object - it does not throw any "unexpected interaction" exception 22 | mockedList.add("one"); 23 | mockedList.clear(); 24 | 25 | // selective, explicit, highly readable verification 26 | verify(mockedList).add("one"); 27 | verify(mockedList).clear(); 28 | 29 | // you can mock concrete classes, not only interfaces 30 | mockedList = mock(LinkedList.class); 31 | 32 | // stubbing appears before the actual execution 33 | when(mockedList.get(0)).thenReturn("first"); 34 | 35 | // the following prints "first" 36 | System.out.println(mockedList.get(0)); 37 | 38 | // the following prints "null" because get(999) was not stubbed 39 | System.out.println(mockedList.get(999)); 40 | 41 | // Important difference in "grammar" of mocking: 42 | MyClass spy = spy(new MyClass()); 43 | System.out.println("This will actually call the doSomeStuff method, see console:"); 44 | when(spy.doSomeStuff()).thenReturn(1); 45 | System.out.println("This will not call the method - there's nothing here:"); 46 | doReturn(1).when(spy).doSomeStuff(); 47 | 48 | // Capturing argument of multiple subsequent calls 49 | 50 | MyClass myClassSpy = spy(new MyClass()); 51 | 52 | myClassSpy.receivingAnArgument(1); 53 | myClassSpy.receivingAnArgument(2); 54 | myClassSpy.receivingAnArgument(3); 55 | 56 | InOrder inOrder = inOrder(myClassSpy); 57 | inOrder.verify(myClassSpy).receivingAnArgument(argThat((i) -> (i == 1))); 58 | inOrder.verify(myClassSpy).subsequentlyCalledMethod(argThat((i) -> (i == 1))); 59 | inOrder.verify(myClassSpy).receivingAnArgument(argThat((i) -> (i == 2))); 60 | inOrder.verify(myClassSpy).subsequentlyCalledMethod(argThat((i) -> (i == 2))); 61 | inOrder.verify(myClassSpy).receivingAnArgument(argThat((i) -> (i == 3))); 62 | inOrder.verify(myClassSpy).subsequentlyCalledMethod(argThat((i) -> (i == 3))); 63 | 64 | } 65 | 66 | class MyClass { 67 | 68 | int doSomeStuff() { 69 | System.out.println("Method doSomeStuff called!"); 70 | return 0; 71 | } 72 | 73 | void receivingAnArgument(Integer i) { 74 | System.out.println("Received a " + i); 75 | subsequentlyCalledMethod(i); 76 | } 77 | 78 | void subsequentlyCalledMethod(Integer i) { 79 | System.out.println("Private method called with " + i); 80 | } 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c08_junit/junit4.md: -------------------------------------------------------------------------------- 1 | ... will be shown in detail in part 3. Just one quick mention: Do you know about the message parameter nearly every junit method has? Consider this: 2 | 3 | assertNotNull(stream); 4 | assertNotNull("Stream should not be null because test file exists", stream); -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c08_junit/junit5.md: -------------------------------------------------------------------------------- 1 | See https://github.com/dmitrij-drandarov/JUnit5-Quick-Start-Guide-and-Advanced -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c09_lombok/builder/BuilderExample.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c09_lombok.builder; 2 | 3 | import lombok.Builder; 4 | import lombok.NonNull; 5 | import lombok.Singular; 6 | 7 | import java.util.Set; 8 | 9 | @Builder 10 | public class BuilderExample { 11 | @NonNull private String name; 12 | @NonNull private int age; 13 | @Singular private Set occupations; 14 | } -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c09_lombok/builder/BuilderExampleTest.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c09_lombok.builder; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | class BuilderExampleTest { 6 | 7 | @Test 8 | void name() { 9 | BuilderExample builder1 = BuilderExample.builder().name("Name").age(12).build(); 10 | 11 | // BuilderExample builder2 = BuilderExample.builder().age(12).build(); //NPE 12 | 13 | // @Singular builds methods to add objects to collections: 14 | BuilderExample builder2 = BuilderExample.builder().name("name").age(12).occupation("occupation1").occupation("occupation2").build(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c09_lombok/constructor/ConstructorExample.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c09_lombok.constructor; 2 | 3 | import lombok.*; 4 | 5 | @RequiredArgsConstructor(staticName = "of") 6 | @AllArgsConstructor(access = AccessLevel.PROTECTED) 7 | public class ConstructorExample { 8 | private int x, y; 9 | @NonNull private T description; 10 | 11 | @NoArgsConstructor 12 | public static class NoArgsExample { 13 | @NonNull private String field; 14 | } 15 | } -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c09_lombok/constructor/ConstructorExampleTest.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c09_lombok.constructor; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | class ConstructorExampleTest { 6 | 7 | @Test 8 | void constructorExampleTest() { 9 | 10 | // "of"-Constructor: 11 | ConstructorExample description = ConstructorExample.of("description"); 12 | 13 | // no-args-constructor: 14 | ConstructorExample.NoArgsExample noArgsExample1 = new ConstructorExample.NoArgsExample(); 15 | 16 | // all-args-constructor: 17 | ConstructorExample allArgs = new ConstructorExample<>(1, 2, "description"); 18 | } 19 | } -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c09_lombok/data/DataExampleLombok.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c09_lombok.data; 2 | 3 | import lombok.AccessLevel; 4 | import lombok.Data; 5 | import lombok.Setter; 6 | import lombok.ToString; 7 | 8 | @Data 9 | public class DataExampleLombok { 10 | private final String name; 11 | @Setter(AccessLevel.PACKAGE) 12 | private int age; 13 | private double score; 14 | private String[] tags; 15 | 16 | @ToString(includeFieldNames = true) 17 | @Data(staticConstructor = "of") 18 | public static class Exercise { 19 | private final String name; 20 | private final T value; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c09_lombok/data/DataExampleLombokTest.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c09_lombok.data; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import static org.junit.jupiter.api.Assertions.assertEquals; 6 | 7 | 8 | class DataExampleLombokTest { 9 | 10 | @Test 11 | void lombokGeneratesConstructorAndGetter() { 12 | 13 | // Annotation "data" = toString + equalsAndHashCode + Getter + Setter + RequiredArgsConstructor 14 | 15 | DataExampleLombok data = new DataExampleLombok("name"); 16 | assertEquals("name", data.getName()); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c09_lombok/gettersetter/GetterSetterExampleLombok.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c09_lombok.gettersetter; 2 | 3 | 4 | import lombok.AccessLevel; 5 | import lombok.Getter; 6 | import lombok.Setter; 7 | 8 | public class GetterSetterExampleLombok { 9 | /** 10 | * Age of the person. Water is wet. 11 | * 12 | * @param age New value for this person's age. Sky is blue. 13 | * @return The current value of this person's age. Circles are round. 14 | */ 15 | @Getter @Setter private int age = 10; 16 | 17 | /** 18 | * Name of the person. 19 | * -- SETTER -- 20 | * Changes the name of this person. 21 | * 22 | * @param name The new value. 23 | */ 24 | @Setter(AccessLevel.PROTECTED) private String name; 25 | 26 | @Override public String toString() { 27 | return String.format("%s (age: %d)", name, age); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c09_lombok/gettersetter/GetterSetterTest.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c09_lombok.gettersetter; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import static org.junit.jupiter.api.Assertions.assertEquals; 6 | 7 | class GetterSetterTest { 8 | 9 | @Test 10 | void name() { 11 | GetterSetterExampleLombok object = new GetterSetterExampleLombok(); 12 | object.setAge(12); 13 | assertEquals(12, object.getAge()); 14 | object.setName("name"); 15 | //object.getName(); // Only setter specified! 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c09_lombok/lazyGetter/GetterLazyExample.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c09_lombok.lazyGetter; 2 | 3 | import lombok.Getter; 4 | 5 | public class GetterLazyExample { 6 | @Getter(lazy=true) private final double[] cached = expensive(); 7 | 8 | private double[] expensive() { 9 | System.out.println("expensive() called!"); 10 | double[] result = new double[1000000]; 11 | for (int i = 0; i < result.length; i++) { 12 | result[i] = Math.asin(i); 13 | } 14 | return result; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c09_lombok/lazyGetter/GetterLazyExampleTest.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c09_lombok.lazyGetter; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | class GetterLazyExampleTest { 6 | 7 | @Test 8 | void getterLazyExampleTest() { 9 | GetterLazyExample getterLazyExample = new GetterLazyExample(); 10 | 11 | // "expensive() called!" only once in terminal, but method called three times: 12 | getterLazyExample.getCached(); 13 | getterLazyExample.getCached(); 14 | getterLazyExample.getCached(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c09_lombok/nonnull/NonNullExampleLombok.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c09_lombok.nonnull; 2 | 3 | import lombok.NonNull; 4 | 5 | public class NonNullExampleLombok { 6 | private String name; 7 | 8 | public NonNullExampleLombok(@NonNull Person person) { // NPE in this line ... 9 | this.name = person.getName(); // ... not this one (too late). 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c09_lombok/nonnull/NonNullTest.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c09_lombok.nonnull; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import static org.junit.jupiter.api.Assertions.assertThrows; 6 | 7 | class NonNullTest { 8 | 9 | @Test 10 | void nonNullTest() { 11 | assertThrows(NullPointerException.class, () -> { 12 | NonNullExampleLombok x = new NonNullExampleLombok(null); 13 | }); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c09_lombok/nonnull/Person.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c09_lombok.nonnull; 2 | 3 | public class Person { 4 | private String name; 5 | 6 | public String getName() { 7 | return name; 8 | } 9 | 10 | public void setName(String name) { 11 | this.name = name; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c09_lombok/value/ValueObject.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c09_lombok.value; 2 | 3 | import lombok.AccessLevel; 4 | import lombok.ToString; 5 | import lombok.Value; 6 | import lombok.experimental.NonFinal; 7 | import lombok.experimental.Wither; 8 | 9 | @Value 10 | public class ValueObject { 11 | String name; 12 | 13 | @Wither(AccessLevel.PACKAGE) 14 | @NonFinal 15 | int age; 16 | 17 | double score; 18 | 19 | protected String[] tags; 20 | 21 | @ToString(includeFieldNames = true) 22 | @Value(staticConstructor = "of") 23 | public static class Exercise { 24 | String name; 25 | T value; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c09_lombok/value/ValueObjectTest.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c09_lombok.value; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import static org.junit.jupiter.api.Assertions.assertFalse; 6 | import static org.junit.jupiter.api.Assertions.assertNotEquals; 7 | 8 | class ValueObjectTest { 9 | 10 | @Test 11 | void value() { 12 | 13 | // normal constructor 14 | ValueObject value1 = new ValueObject("name", 12, 12d, new String[]{}); 15 | 16 | //value1.set // no setter 17 | 18 | // "wither" 19 | ValueObject value2 = value1.withAge(42); 20 | 21 | assertNotEquals(value1, value2); 22 | assertFalse(value1 == value2); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c09_lombok/value/ValueWithCollection.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c09_lombok.value; 2 | 3 | import lombok.AccessLevel; 4 | import lombok.ToString; 5 | import lombok.Value; 6 | import lombok.experimental.NonFinal; 7 | import lombok.experimental.Wither; 8 | 9 | import java.util.List; 10 | 11 | @Value 12 | public class ValueWithCollection { 13 | String name; 14 | 15 | @Wither(AccessLevel.PACKAGE) 16 | @NonFinal 17 | int age; 18 | 19 | double score; 20 | 21 | protected String[] tags; 22 | 23 | private List blubbers; 24 | 25 | @ToString(includeFieldNames = true) 26 | @Value(staticConstructor = "of") 27 | public static class Exercise { 28 | String name; 29 | T value; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part1JavaLanguageAndMethods/c09_lombok/value/ValueWithCollectionTest.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part1JavaLanguageAndMethods.c09_lombok.value; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import java.util.ArrayList; 6 | 7 | import static org.junit.jupiter.api.Assertions.assertEquals; 8 | 9 | 10 | class ValueWithCollectionTest { 11 | 12 | @Test 13 | void collectionsInLombokAreNotImmutable() { 14 | 15 | ValueWithCollection value = new ValueWithCollection("name", 12, 12d, new String[]{}, new ArrayList<>()); 16 | 17 | assertEquals(0, value.getBlubbers().size()); 18 | 19 | value.getBlubbers().add("blubber2"); 20 | 21 | assertEquals(1, value.getBlubbers().size()); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/GoldenMaster.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenschwenke/WritingAwesomeJavaCodeWorkshop/cdbb1350cd786861bbc3980a0505859b3935b4e6/src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/GoldenMaster.pptx -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/Neumann_TELDEC-DMM_Kupferfolien-Schneidemaschine.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenschwenke/WritingAwesomeJavaCodeWorkshop/cdbb1350cd786861bbc3980a0505859b3935b4e6/src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/Neumann_TELDEC-DMM_Kupferfolien-Schneidemaschine.jpg -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/adrianbolboaca/ep_2_golden_master/GameRunner.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part2MethodsForLegacyCode.adrianbolboaca.ep_2_golden_master; 2 | 3 | 4 | import de.stevenschwenke.java.writingawesomejavacodeworkshop.part3ApplyingToLegacyCode.legacy_ugly_trivia.Game; 5 | 6 | import java.util.Random; 7 | 8 | /** 9 | * This is a modivide implementation of the "ugly trivia game" from 10 | * https://github.com/jbrains/trivia/blob/master/java/src/main/java/com/adaptionsoft/games/uglytrivia/Game.java 11 | * 12 | * Difference to original: method play() has been extracted to allow usage of Golden Master. 13 | */ 14 | public class GameRunner { 15 | 16 | private static boolean notAWinner; 17 | 18 | public static void main(String[] args) { 19 | Random rand = new Random(); 20 | play(rand); 21 | 22 | } 23 | 24 | static void play(Random rand) { 25 | Game aGame = new Game(); 26 | 27 | aGame.add("Chet"); 28 | aGame.add("Pat"); 29 | aGame.add("Sue"); 30 | 31 | 32 | do { 33 | 34 | aGame.roll(rand.nextInt(5) + 1); 35 | 36 | if (rand.nextInt(9) == 7) { 37 | notAWinner = aGame.wrongAnswer(); 38 | } else { 39 | notAWinner = aGame.wasCorrectlyAnswered(); 40 | } 41 | 42 | 43 | 44 | } while (notAWinner); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/adrianbolboaca/ep_2_golden_master/GameTestsEpisode2.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part2MethodsForLegacyCode.adrianbolboaca.ep_2_golden_master; 2 | 3 | import org.junit.jupiter.api.Disabled; 4 | import org.junit.jupiter.api.Test; 5 | 6 | import java.io.IOException; 7 | 8 | import static org.junit.jupiter.api.Assertions.assertEquals; 9 | 10 | 11 | /** 12 | * These are the resulting tests from Adrian Bolboacas great Code Cast, see 13 | * http://blog.adrianbolboaca.ro/2014/05/golden-master-code-cast/. 14 | */ 15 | class GameTestsEpisode2 { 16 | 17 | @Disabled("Ignored because this should only be called once to create Golden Master data.") 18 | @Test 19 | void generateGoldenMasters() throws IOException { 20 | GoldenMaster goldenMaster = new GoldenMaster(); 21 | goldenMaster.generateGoldenMaster(); 22 | } 23 | 24 | @Test 25 | void checkTriviaAgainstGoldenMaster() throws IOException { 26 | GoldenMaster goldenMaster = new GoldenMaster(); 27 | 28 | for (long seed = 0; seed < GoldenMaster.SAMPLESIZE; seed++) { 29 | String expected = goldenMaster.getGoldenMaster(seed); 30 | String actual = goldenMaster.getGameResult(seed); 31 | assertEquals(expected, actual); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/adrianbolboaca/ep_2_golden_master/GoldenMaster.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part2MethodsForLegacyCode.adrianbolboaca.ep_2_golden_master; 2 | 3 | import org.apache.commons.io.FileUtils; 4 | 5 | import java.io.ByteArrayOutputStream; 6 | import java.io.File; 7 | import java.io.IOException; 8 | import java.io.PrintStream; 9 | import java.nio.charset.Charset; 10 | import java.util.Random; 11 | 12 | class GoldenMaster { 13 | 14 | static final long SAMPLESIZE = 100L; 15 | 16 | private ByteArrayOutputStream getConsoleOutput() { 17 | ByteArrayOutputStream stream = new ByteArrayOutputStream(); 18 | PrintStream printStream = new PrintStream(stream); 19 | System.setOut(printStream); 20 | return stream; 21 | } 22 | 23 | private File generateFile(long seed) { 24 | return new File("goldenMasterData/" + seed + ".txt"); 25 | } 26 | 27 | void generateGoldenMaster() throws IOException { 28 | for (long seed = 0; seed < SAMPLESIZE; seed++) { 29 | FileUtils.write(generateFile(seed), getGameResult(seed), Charset.defaultCharset()); 30 | } 31 | } 32 | 33 | String getGameResult(long seed) { 34 | ByteArrayOutputStream stream = getConsoleOutput(); 35 | GameRunner.play(new Random(seed)); 36 | return stream.toString(); 37 | } 38 | 39 | String getGoldenMaster(long seed) throws IOException { 40 | return FileUtils.readFileToString(generateFile(seed), Charset.defaultCharset()); 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/adrianbolboaca/ep_3_fix_a_bug/GameTestsEpisode3.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part2MethodsForLegacyCode.adrianbolboaca.ep_3_fix_a_bug; 2 | 3 | import org.junit.jupiter.api.BeforeEach; 4 | import org.junit.jupiter.api.Disabled; 5 | import org.junit.jupiter.api.Test; 6 | 7 | import java.io.ByteArrayOutputStream; 8 | import java.io.PrintStream; 9 | 10 | import static org.junit.jupiter.api.Assertions.assertEquals; 11 | import static org.junit.jupiter.api.Assertions.assertThrows; 12 | 13 | /** 14 | * These are the resulting tests from Adrian Bolboacas great Code Cast, see 15 | * http://blog.adrianbolboaca.ro/2014/05/fix-bugs-on-legacy-code-code-cast/. 16 | *

17 | * Bug report: 18 | * The message announcing a correct answer should be 19 | * "Answer was correct!!!!" 20 | * but it is 21 | * "Answer was corrent!!!!" 22 | */ 23 | class GameTestsEpisode3 { 24 | 25 | private ByteArrayOutputStream consoleOutput; 26 | 27 | @BeforeEach 28 | void setup() { 29 | consoleOutput = getConsoleOutput(); 30 | } 31 | 32 | private ByteArrayOutputStream getConsoleOutput() { 33 | ByteArrayOutputStream stream = new ByteArrayOutputStream(); 34 | PrintStream printStream = new PrintStream(stream); 35 | System.setOut(printStream); 36 | return stream; 37 | } 38 | 39 | /** 40 | * Attempt to write a system test: Simply calling method with defect in it. Results in an exception. 41 | */ 42 | @Test 43 | void createSystemTestAttempt1() { 44 | 45 | assertThrows(IndexOutOfBoundsException.class, () -> { 46 | 47 | Game_unmodified game = new Game_unmodified(); 48 | game.wasCorrectlyAnswered(); 49 | 50 | assertEquals("", consoleOutput.toString()); 51 | }); 52 | } 53 | 54 | /** 55 | * Final version of system test: Trace source of exception -> There has to be a player added to the game. 56 | */ 57 | @Test 58 | void gameWasCorrectlyAnsweredWhenNotInPenaltyBox() { 59 | Game_unmodified game = new Game_unmodified(); 60 | game.add("player1"); 61 | game.wasCorrectlyAnswered(); 62 | 63 | assertEquals("player1 was added" + System.lineSeparator() + 64 | "They are player number 1" + System.lineSeparator() + 65 | "Answer was corrent!!!!" + System.lineSeparator() + 66 | "player1 now has 1 Gold Coins." + System.lineSeparator(), consoleOutput.toString()); 67 | } 68 | 69 | @Disabled("Will be deleted later on") 70 | @Test 71 | void correctAnswerMessageIsValid() { 72 | Game game = new Game(); 73 | String expected = "Answer was corrent!!!!"; 74 | String actual = game.getCorrectAnswerMessage(); 75 | 76 | assertEquals(expected, actual); 77 | } 78 | 79 | @Test 80 | void correctAnswerMessageChangedBecauseOfBug() { 81 | Game game = new Game(); 82 | String expected = "Answer was correct!!!!"; 83 | String actual = game.getCorrectAnswerMessage(); 84 | 85 | assertEquals(expected, actual); 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/mikadoMethod/MikadoMethod.md: -------------------------------------------------------------------------------- 1 | # Mikado Method 2 | ## Problem 3 | ![](images/mikado_1.png) 4 | 5 | Problem: a simple refactoring ... 6 | 7 | ![](images/mikado_2.png) 8 | 9 | ... leads to another necessary refactoring 10 | 11 | ![](images/mikado_3.png) 12 | 13 | That way, a tree of dependent refactorings is created 14 | 15 | Solution: only handle one issue at a time 16 | 17 | ## Algorithm 18 | 1. attempt refactoring 19 | 2. run into some issue 20 | 3. write down information about issue in a graph (first refactoring = parent, new issue = child) 21 | 4. revert all changes 22 | 5. begin refactoring issue => 1. step 23 | 6. repeat until all issues are doable (= leaves of the graph) 24 | 7. refactor issues from leaves to the root of the graph 25 | 26 | ![](images/mikado_4.png) 27 | 28 | With this algorithm, the tree will be resolved by doing one tiny refactoring after the other, ... 29 | 30 | ![](images/mikado_5.png) 31 | 32 | ... until the first refactoring can be implemented without problems. 33 | 34 | ## Exercises 35 | Taken from [Mikado method examples and exercises](https://github.com/mikadomethod), [here](spaceExercise/README.md) are three exercises for the method, including a sample codebase. 36 | 37 | ## Tipps 38 | - Use simple, digital means to "draw" the graph, for example plain text with indentation as levels. Paper doesn't scale well. 39 | - task notation: [ ] for open tasks, [X] for closed tasks 40 | - (huge) Mikado graph can be processed over time instead of in one huge leap. Attention: Too much time = possible changes in graph due to changed codebase 41 | 42 | ## Application 43 | - common trap: thinking to complicated, doing multiple tasks "in parallel" (not possible!) 44 | - method very useful for error tracking, debugging and explorative testing 45 | - very useful for longer analysis 46 | - "I know that I forgot something, but I don't know what ..." - bad feeling! 47 | - Guy that does your code reviews will be happy about smaller commits! 48 | - Drawing forces different thinking processes. 49 | 50 | ## Sources 51 | - Stefan Lieser "Die Mikado Methode" ([youtube](https://www.youtube.com/watch?v=qtIGDc6LTls)) 52 | - [Mikado method examples and exercises](https://github.com/mikadomethod) 53 | - [Home of the Mikado Method](https://mikadomethod.wordpress.com) -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/mikadoMethod/images/mikado_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenschwenke/WritingAwesomeJavaCodeWorkshop/cdbb1350cd786861bbc3980a0505859b3935b4e6/src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/mikadoMethod/images/mikado_1.png -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/mikadoMethod/images/mikado_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenschwenke/WritingAwesomeJavaCodeWorkshop/cdbb1350cd786861bbc3980a0505859b3935b4e6/src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/mikadoMethod/images/mikado_2.png -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/mikadoMethod/images/mikado_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenschwenke/WritingAwesomeJavaCodeWorkshop/cdbb1350cd786861bbc3980a0505859b3935b4e6/src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/mikadoMethod/images/mikado_3.png -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/mikadoMethod/images/mikado_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenschwenke/WritingAwesomeJavaCodeWorkshop/cdbb1350cd786861bbc3980a0505859b3935b4e6/src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/mikadoMethod/images/mikado_4.png -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/mikadoMethod/images/mikado_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stevenschwenke/WritingAwesomeJavaCodeWorkshop/cdbb1350cd786861bbc3980a0505859b3935b4e6/src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/mikadoMethod/images/mikado_5.png -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/mikadoMethod/spaceExercise/README.md: -------------------------------------------------------------------------------- 1 | This repository contains messy code for practicing the Mikado Method, 2 | refactorings and restructurings, clean code and object-oriented design. 3 | 4 | RUNNING THE CODE 5 | ================ 6 | The project has a `Space` class that is the main class. The `main()` method takes no parameters. 7 | 8 | The Space class has two static boolean members that control behavior, `IS_BOUNCING_BALLS` and 9 | `IS_BREAKOUT`. 10 | 11 | If `IS_BOUNCING_BALLS` is `false`, the application is a simulation of a solar system, 12 | not that different from ours. 13 | The value of `IS_BREAKOUT` doesn't matter. 14 | 15 | If `IS_BOUNCING_BALLS` is `true`, the application shows a box of bouncing balls. 16 | If `IS_BREAKOUT` is `true`, the balls can exit through the lower side of the box. 17 | If `IS_BREAKOUT` is `false`, the balls just keep bouncing in the box. 18 | 19 | There are also some tests available. They don't cover all the code, just as in real life. ;-) 20 | 21 | EXERCISES 22 | ========= 23 | Each of the exercises can start from a fresh pull of the code. They can also start from 24 | the previous (working) state as the exercises are completed. 25 | 26 | Easy level 27 | ---------- 28 | ##### Background 29 | The `PhysicalObject` is to be used in another project. However, the entire `Space` class must NOT be shared. 30 | Your task is to extract the `PhysicalObject` to a new project. 31 | ##### Goal 32 | Enable reuse of `PhysicalObject` 33 | 34 | 35 | Intermediate level 36 | ------------------ 37 | ##### Background 38 | The solar system and bouncing balls applications are to be sold in separate delivery packages. 39 | Due to legal issues, the solar system may not contain any bouncing balls logic and vice versa. 40 | ##### Goal 41 | Two separate, minimal, deliverables for bouncing balls and solar system. 42 | 43 | 44 | Difficult level 45 | --------------- 46 | ##### Background 47 | The application is a huge success, and will be ported to a limited 48 | device without Swing/AWT support. The exact API of the new graphics support is 49 | not ready, but to be first on the market when it arrives, you need to start 50 | separating presentation logic from domain ASAP. 51 | ##### Goal 52 | The domain logic is compilable without Swing/AWT dependencies. When Swing/AWT + 53 | any bridging code is available, the application should be runnable. 54 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part2MethodsForLegacyCode/mikadoMethod/spaceExercise/test/TestMergeObjects.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part2MethodsForLegacyCode.mikadoMethod.spaceExercise.test; 2 | 3 | import de.stevenschwenke.java.writingawesomejavacodeworkshop.part2MethodsForLegacyCode.mikadoMethod.spaceExercise.src.PhysicalObject; 4 | import org.junit.jupiter.api.Test; 5 | 6 | import static org.junit.jupiter.api.Assertions.assertEquals; 7 | 8 | 9 | /** 10 | * This example code is taken from https://github.com/mikadomethod/space. 11 | */ 12 | class TestMergeObjects { 13 | @Test 14 | void mergeWithoutSpeed() { 15 | PhysicalObject one = new PhysicalObject(1, 1, 0, 0, 0, 1); 16 | PhysicalObject other = new PhysicalObject(1, 0, 1, 0, 0, 1); 17 | PhysicalObject merge = one.absorb(other); 18 | assertEquals(0.5, merge.x, 0.00001); 19 | assertEquals(0.5, merge.y, 0.00001); 20 | assertEquals(0.0, merge.vx, 0.00001); 21 | assertEquals(0.0, merge.vy, 0.00001); 22 | } 23 | 24 | @Test 25 | void mergeWithSpeed() { 26 | PhysicalObject one = new PhysicalObject(1, 1, 0, 1, 0, 1); 27 | PhysicalObject other = new PhysicalObject(1, 0, 1, 0, 1, 1); 28 | PhysicalObject merge = one.absorb(other); 29 | assertEquals(0.5, merge.x, 0.00001); 30 | assertEquals(0.5, merge.y, 0.00001); 31 | assertEquals(0.5, merge.vx, 0.00001); 32 | assertEquals(0.5, merge.vy, 0.00001); 33 | assertEquals(2, merge.mass, 0.00001); 34 | } 35 | 36 | @Test 37 | void mergeWithSpeedAndDifferentMasses() { 38 | PhysicalObject one = new PhysicalObject(1, 1, 1, 1, 0, 1); 39 | PhysicalObject other = new PhysicalObject(4, 0, 0, 0, 1, 1); 40 | PhysicalObject merge = one.absorb(other); 41 | assertEquals(0.2, merge.x, 0.00001); 42 | assertEquals(0.2, merge.y, 0.00001); 43 | assertEquals(0.2, merge.vx, 0.00001); 44 | assertEquals(0.8, merge.vy, 0.00001); 45 | assertEquals(5, merge.mass, 0.00001); 46 | } 47 | 48 | @Test 49 | void headsOnMergeConservesZeroSumMomentum() { 50 | PhysicalObject one = new PhysicalObject(10, 0, 0, 100, 100, 1); 51 | PhysicalObject other = new PhysicalObject(100, 0, 0, -10, -10, 1); 52 | PhysicalObject merge = one.absorb(other); 53 | assertEquals(0, merge.x, 0.00001); 54 | assertEquals(0, merge.y, 0.00001); 55 | assertEquals(0, merge.vx, 0.00001); 56 | assertEquals(0, merge.vy, 0.00001); 57 | assertEquals(110, merge.mass, 0.00001); 58 | } 59 | 60 | @Test 61 | void headsOnMergeConservesMomentum() { 62 | PhysicalObject one = new PhysicalObject(10, 0, 0, 10, 10, 1); 63 | PhysicalObject other = new PhysicalObject(100, 0, 0, 0, 0, 1); 64 | PhysicalObject merge = one.absorb(other); 65 | assertEquals(0, merge.x, 0.00001); 66 | assertEquals(0, merge.y, 0.00001); 67 | assertEquals(100 / 110.0, merge.vx, 0.00001); 68 | assertEquals(100 / 110.0, merge.vy, 0.00001); 69 | assertEquals(110, merge.mass, 0.00001); 70 | } 71 | 72 | } 73 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part3ApplyingToLegacyCode/legacy_real_code/BitSet.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part3ApplyingToLegacyCode.legacy_real_code; 2 | 3 | public class BitSet { 4 | 5 | public String get(Long factoryOID) { 6 | return null; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part3ApplyingToLegacyCode/legacy_real_code/CalenderExcelExportRenderer.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part3ApplyingToLegacyCode.legacy_real_code; 2 | 3 | public class CalenderExcelExportRenderer { 4 | 5 | public HSSFCellStyle prepareClientCellStyle(Object workBook, boolean b, boolean b1, boolean b2) { 6 | return null; 7 | } 8 | 9 | public HSSFCellStyle prepareFactoryCellStyle(Object workBook, boolean b, boolean b1, boolean b2) { 10 | return null; 11 | } 12 | 13 | public HSSFCellStyle prepareLinieCellStyle(Object workBook, boolean b, boolean b1, boolean b2) { 14 | return null; 15 | } 16 | 17 | public HSSFCellStyle prepareModellCellStyle(Object workBook, boolean b, boolean b1, boolean b2, boolean b3, 18 | boolean color) { 19 | return null; 20 | } 21 | 22 | public HSSFCellStyle getProgrammDatenCellStyle(Object workBook) { 23 | return null; 24 | } 25 | 26 | public HSSFCellStyle getWocheSummeDatenCellStyle(Object workBook) { 27 | return null; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part3ApplyingToLegacyCode/legacy_real_code/CellRangeAddress.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part3ApplyingToLegacyCode.legacy_real_code; 2 | 3 | public class CellRangeAddress { 4 | 5 | public CellRangeAddress(int rowNum, int rowNum1, int eopAnfangsColumn, int eopEndeColumn) { 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part3ApplyingToLegacyCode/legacy_real_code/DayShortDTOImpl.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part3ApplyingToLegacyCode.legacy_real_code; 2 | 3 | public class DayShortDTOImpl { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part3ApplyingToLegacyCode/legacy_real_code/FactoryCalendarReportModel.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part3ApplyingToLegacyCode.legacy_real_code; 2 | 3 | 4 | public class FactoryCalendarReportModel { 5 | 6 | private BitSet factoryNames; 7 | private BitSet linienNamen; 8 | private BitSet produktNamen; 9 | private String markeName; 10 | private boolean quartal; 11 | private boolean clientFactoryLinieModell; 12 | private boolean clientFactoryModell; 13 | private boolean clientFactory; 14 | private boolean clientFactoryLine; 15 | 16 | public BitSet getFactoryNames() { 17 | return factoryNames; 18 | } 19 | 20 | public void setFactoryNames(BitSet factoryNames) { 21 | this.factoryNames = factoryNames; 22 | } 23 | 24 | public BitSet getLinienNamen() { 25 | return linienNamen; 26 | } 27 | 28 | public void setLinienNamen(BitSet linienNamen) { 29 | this.linienNamen = linienNamen; 30 | } 31 | 32 | public BitSet getProduktNamen() { 33 | return produktNamen; 34 | } 35 | 36 | public void setProduktNamen(BitSet produktNamen) { 37 | this.produktNamen = produktNamen; 38 | } 39 | 40 | public String getClientName() { 41 | return markeName; 42 | } 43 | 44 | public void setMarkeName(String markeName) { 45 | this.markeName = markeName; 46 | } 47 | 48 | public boolean isQuartal() { 49 | return quartal; 50 | } 51 | 52 | public void setQuartal(boolean quartal) { 53 | this.quartal = quartal; 54 | } 55 | 56 | public boolean isClientFactoryLinieModell() { 57 | return clientFactoryLinieModell; 58 | } 59 | 60 | public void setClientFactoryLinieModell(boolean clientFactoryLinieModell) { 61 | this.clientFactoryLinieModell = clientFactoryLinieModell; 62 | } 63 | 64 | public boolean isClientFactoryModell() { 65 | return clientFactoryModell; 66 | } 67 | 68 | public void setClientFactoryModell(boolean clientFactoryModell) { 69 | this.clientFactoryModell = clientFactoryModell; 70 | } 71 | 72 | public boolean isClientFactory() { 73 | return clientFactory; 74 | } 75 | 76 | public void setClientFactory(boolean clientFactory) { 77 | this.clientFactory = clientFactory; 78 | } 79 | 80 | public boolean isClientFactoryLinie() { 81 | return clientFactoryLine; 82 | } 83 | 84 | public void setClientFactoryLine(boolean clientFactoryLine) { 85 | this.clientFactoryLine = clientFactoryLine; 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part3ApplyingToLegacyCode/legacy_real_code/HSSFCell.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part3ApplyingToLegacyCode.legacy_real_code; 2 | 3 | public class HSSFCell { 4 | 5 | private HSSFRichTextString cellValue; 6 | private HSSFCellStyle cellStyle; 7 | 8 | public void setCellValue(double cellValue) { 9 | 10 | } 11 | 12 | public HSSFRichTextString getCellValue() { 13 | return cellValue; 14 | } 15 | 16 | public void setCellStyle(HSSFCellStyle cellStyle) { 17 | this.cellStyle = cellStyle; 18 | } 19 | 20 | public HSSFCellStyle getCellStyle() { 21 | return cellStyle; 22 | } 23 | 24 | public void setCellValue(String s) { 25 | 26 | } 27 | 28 | public void setCellValue(HSSFRichTextString cellValue) { 29 | this.cellValue = cellValue; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part3ApplyingToLegacyCode/legacy_real_code/HSSFCellStyle.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part3ApplyingToLegacyCode.legacy_real_code; 2 | 3 | public class HSSFCellStyle { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part3ApplyingToLegacyCode/legacy_real_code/HSSFRichTextString.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part3ApplyingToLegacyCode.legacy_real_code; 2 | 3 | public class HSSFRichTextString { 4 | 5 | public HSSFRichTextString(String markeName) { 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part3ApplyingToLegacyCode/legacy_real_code/HSSFRow.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part3ApplyingToLegacyCode.legacy_real_code; 2 | 3 | public class HSSFRow { 4 | 5 | private int rowNum; 6 | 7 | public HSSFCell createCell(int i) { 8 | return null; 9 | } 10 | 11 | public int getRowNum() { 12 | return rowNum; 13 | } 14 | 15 | public void setRowNum(int rowNum) { 16 | this.rowNum = rowNum; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part3ApplyingToLegacyCode/legacy_real_code/HSSFSheet.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part3ApplyingToLegacyCode.legacy_real_code; 2 | 3 | public class HSSFSheet { 4 | 5 | public void autoSizeColumn(int i) { 6 | 7 | } 8 | 9 | public void setColumnWidth(int i, Object quartalprogrammdatencolumnwidth) { 10 | 11 | } 12 | 13 | public void addMergedRegion(CellRangeAddress cellRangeAddress) { 14 | 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part3ApplyingToLegacyCode/legacy_real_code/StringCharBuffer.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part3ApplyingToLegacyCode.legacy_real_code; 2 | 3 | public class StringCharBuffer { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part3ApplyingToLegacyCode/legacy_ugly_trivia/GameRunner.java: -------------------------------------------------------------------------------- 1 | package de.stevenschwenke.java.writingawesomejavacodeworkshop.part3ApplyingToLegacyCode.legacy_ugly_trivia; 2 | 3 | 4 | import java.util.Random; 5 | 6 | /** 7 | * This is the Java implementation of the "ugly trivia game", see 8 | * https://github.com/jbrains/trivia/blob/master/java/src/main/java/com/adaptionsoft/games/uglytrivia/Game.java 9 | */ 10 | public class GameRunner { 11 | 12 | private static boolean notAWinner; 13 | 14 | public static void main(String[] args) { 15 | Game aGame = new Game(); 16 | 17 | aGame.add("Chet"); 18 | aGame.add("Pat"); 19 | aGame.add("Sue"); 20 | 21 | Random rand = new Random(); 22 | 23 | do { 24 | 25 | aGame.roll(rand.nextInt(5) + 1); 26 | 27 | if (rand.nextInt(9) == 7) { 28 | notAWinner = aGame.wrongAnswer(); 29 | } else { 30 | notAWinner = aGame.wasCorrectlyAnswered(); 31 | } 32 | 33 | 34 | 35 | } while (notAWinner); 36 | 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/test/java/de/stevenschwenke/java/writingawesomejavacodeworkshop/part3ApplyingToLegacyCode/refactoring/refactoring_checklist.md: -------------------------------------------------------------------------------- 1 | These checklists is extracted from "Refactoring" by Martin Fowler. It can be used together with code that has to be refactored, for example the ugly trivia game. 2 | 3 | # checklist 1: identifying bad smells 4 | [ ] Duplicated Code 5 | [ ] Long method 6 | [ ] Large Class 7 | [ ] Long parameter list 8 | [ ] Divergent Change 9 | [ ] Shotgun Surgery 10 | [ ] Feature Envy 11 | [ ] Data Clumps 12 | [ ] Primitive Obsession 13 | [ ] Switch Statements 14 | [ ] Parallel Inheritance Hierarchies 15 | [ ] Lazy Class 16 | [ ] Speculative Generality 17 | [ ] Temporary Field 18 | [ ] Message Chains 19 | [ ] Middle Man 20 | [ ] Inappropriate Intimacy 21 | [ ] Alternative Classes with Different Interfaces 22 | [ ] Refused Bequest 23 | [ ] Comments 24 | 25 | # checklist 2: doing the refactorings 26 | ## Simple refactorings 27 | [ ] extract method 28 | [ ] Renaming 29 | [ ] Move Method 30 | [ ] Replace Temporary Variables with Query 31 | [ ] extract method 32 | [ ] replace temp with query 33 | [ ] extract and move methods to create consistent classes 34 | [ ] Introduce inheritance 35 | 36 | ## Composing methods 37 | [ ] Extract method 38 | [ ] Inline method 39 | [ ] Inline temp 40 | [ ] Replace temp with query 41 | [ ] Introduce explaining variable 42 | [ ] Split temporary variable 43 | [ ] Remove assignments to parameters 44 | [ ] Replace method with method object 45 | 46 | ## Moving features between objects 47 | [ ] Move method 48 | [ ] Move field 49 | [ ] Extract class 50 | [ ] Inline class 51 | [ ] Hide delegate 52 | [ ] Remove middle man 53 | [ ] Introduce foreign method 54 | [ ] Introduce local extension 55 | 56 | ## Organizing Data 57 | [ ] Self encapsulate field 58 | [ ] Replace data value with object 59 | [ ] Change value object to reference object 60 | [ ] Change reference object to value object 61 | [ ] Replace array with object 62 | [ ] Duplicate observed data 63 | [ ] Change unidirectional association to bidirectional 64 | [ ] Change bidirectional association with unidirectional 65 | [ ] Replace magic number with symbolic constant 66 | [ ] Encapsulate field 67 | [ ] Encapsulate collection 68 | [ ] Replace record with data class 69 | [ ] Replace type code with class 70 | [ ] Replace type code with subclasses 71 | [ ] Replace type code with state / strategy 72 | [ ] Replace subclass with fields 73 | 74 | ## Simplifying conditional expressions 75 | [ ] Decompose Conditional 76 | [ ] Consolidate Conditional Expression 77 | [ ] Consolidate duplicate conditional fragments 78 | [ ] Remove control flag 79 | [ ] Replace nested conditional with guard clauses 80 | [ ] Replace conditional with polymorphism 81 | [ ] Introduce null object 82 | [ ] Introduce assertion --------------------------------------------------------------------------------