fransonsr / java-excellence

Java Excellence Excercises

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

java-excellence

Java Excellence Excercises

IDE Resources

Test-Driven Development

The tdd directory contains problem and solution code for the TDD class.

Refactoring module

The tdd/refactoring directory contains projects that you can import into your IDE (Eclipse / Intellij IDEA) for practice or to view the solutions. The projects are set up as standard Maven projects, so as to make them easier to import into any IDE that supports Maven.

Directory Description
0.0‑CollectingParameter‑Example Code for the "Collecting Parameter" example. (This is optional.)
1.0‑AutomatedRefactoring‑Problem Code for the "Automated Refactoring" exercise. (Including "Rename Method", "Rename Field", "Extract Method" and "Pull Up".)
1.5‑AutomatedRefactoring‑Solution Solution code for the "Automated Refactoring" exercise.
2.0‑SmellectionsPart1‑Problem Code for the "Smellections, Part 1" exercise. (Including "Compose Method", "Safe Delete", "Inline Variable" and "Extract Method".)
2.5‑SmellectionsPart1‑Solution Solution code for "Smellections, Part 1."
3.0‑SmellectionsPart2‑Problem Code for the "Smellections, Part 2" exercise. (Including "Caller Creates", "Caller Swap" and "Encapsulate Field".)
3.5‑SmellectionsPart2‑Solution Solution code for "Smellections, Part 2."
4.0‑SmellectionsPart3‑Problem Code for the "Smellections, Part 3" exercise. (Including "Extract Method", "Rename Method", "Pull Up", "Extract Local Variable" and "Rename local Variable"
4.5‑SmellectionsPart3‑Solution Solution code for "Smellections, Part 3."
5.0‑SmellectionsPart4‑Problem Code for the "Smellections, Part 4" exercise. (Including "Introduce Scaffolding".)
5.5‑SmellectionsPart4‑Solution Solution code for "Smellections, Part 4."

Microtesting module

The tdd/microtesting directory contains projects you can import into your IDE (Eclipse / IntelliJ IDEA) for the Microtesting module. The projects are standard Maven projects. Note that in some projects, the tests fail intentionally.

Directory Description
0.0‑AllAboutXUnit‑Example Example using xUnit. (Optional.)
1.0‑SoundCheck‑Problem Sound Check exercise.
2.0‑SmallIsSuperb‑Problem Small is Superb exercise (refactoring a large test into microtests).
2.5‑SmallIsSuperb‑Solution Instructor solution to the Small is Superb exercise.
3.0‑AssertThat‑Example Example of using AssertJ's assertThat().
4.0‑TailQueuePart1‑Problem Tail queue exercise, part 1. (Basic microtesting.)
4.5‑TailQueuePart1‑Solution Solution to Tail queue exercise, part 1.
5.0‑TailQueuePart3‑Problem Tail queue exercise, part 3. (Complex scenarios.)
5.5‑TailQueuePart3‑Solution Solution to the Tail queue exercise, part 3.

(Yes, that is correct; there is no "part 2" of the Tail queue exercise.)

Test Driven Development module

The tdd/testDrivenDevelopment directory contains projects you can import into your IDE for the Test Driven Development module. The projects are standard Maven projects.

Directory Description
1.0‑SoundCheckTest‑Problem Sound Check exercise (duplicate of the microtesting project).
2.0‑TDDRhythm‑Problem TDD Rhythm problem.
2.5‑TDDRhythm‑Solution TDD Rhythm solution.
3.0‑WildWildWireless‑Problem Initial project structure for the Wild West Wireless problem.
3.5.1‑WildWestWirelessTask1‑Solution Instructor's solution to Task 1 of the Wild West Wireless problem.
3.5.2‑WildWestWirelessTask2‑Solution Instructor's solution to Task 2 of the Wild West Wireless problem.
3.5.3‑WildWestWirelessTask3‑Solution Instructor's solution to Task 3 of the Wild West Wireless problem.
3.5.4‑WildWestWirelessTask4‑Solution Instructor's solution to Task 4 of the Wild West Wireless problem.

Faking & Mocking module

The tdd/fakingAndMocking directory contains projects you can import into your IDE for the Faking & Mocking module. The projects are standard maven project. Note that some projects will contain a Maven warning because of the system import of a supporting jar file.

Directory Description
1.0-DiceRollFakeless-Problem Using a fake-less to resolve a problem.
1.5-DiceRollFakeless-Solution Instructor's solution to using a fake-less solution.
2.0-DiceRollFake-Problem Using a fake to resolve a problem.
2.5-DiceRollFake-Solution Instructor's solution to using a fake solution.
3.0-DiceRollAutoMock-Problem Using an auto-mock to resolve a problem.
3.5-DiceRollAutoMock-Solution Instructor's solution to using an auto-mock.
4.0-Orders-ListeningFake-Problem Using a listening fake to resolve a problem.
4.5-Orders-ListeningFake-Solution Instructor's solution for using a listening fake.
5.0-Orders-Singleton-Problem Dealing with a singleton.
5.5-Orders-Singleton-Solution Instructor's solution for dealing with a singleton.
6.0-Orders-AutoMock-Problem Using an auto-mock.
6.5-Orders-AutoMock-Solution Instructor's solution for using an auto-mock.

About

Java Excellence Excercises


Languages

Language:Java 100.0%