Companion code repository for "Object-Oriented Design Interview" by ByteByteGo.
git clone <repo-url>
cd oo-design
# Build all projects
./gradlew buildAll
# Test a specific project
./gradlew :vendingmachine:test
./gradlew :blackjack:test
./gradlew :tictactoe:test| Project | Command |
|---|---|
| ATM System | ./gradlew :atm:test |
| Blackjack | ./gradlew :blackjack:test |
| Elevator System | ./gradlew :elevator:test |
| File Search | ./gradlew :filesearch:test |
| Grocery Store | ./gradlew :grocerystore:test |
| Movie Ticket | ./gradlew :movieticket:test |
| Parking Lot | ./gradlew :parkinglot:test |
| Restaurant | ./gradlew :restaurant:test |
| Shipping Locker | ./gradlew :shippinglocker:test |
| Tic-Tac-Toe | ./gradlew :tictactoe:test |
| Vending Machine | ./gradlew :vendingmachine:test |
- Java 17+ (Java 21 LTS recommended)
# List all available projects
./gradlew projects
# Build specific project
./gradlew :vendingmachine:build
# Test specific project
./gradlew :vendingmachine:test
# Build everything
./gradlew buildAll
# Test everything
./gradlew runAllTestsTests are configured to always show output (stdout/stderr) and run every time (no caching). This makes it easier to see test results and debug issues.
# Run tests for a specific project
./gradlew :vendingmachine:test
# If you need to force re-run cached tests in other projects
./gradlew :projectname:cleanTest :projectname:test