Giter Site home page Giter Site logo

chess-core-buggy-zwang's Introduction

###Chess Core... Now featuring Bugs!

This repo is meant as a tool to explore different aspects of a day in the life of Software Engineer in Test: finding bugs, fixing bugs, and writing tests.

We assume you have at least passing knowledge of the game of chess, but no strategy is necessary for this project. If you have little knowledge of chess, the Wikipedia article is an excellent reference:

http://en.wikipedia.org/wiki/Chess

Your Goals

We've intentionally planted several bugs in this chess app. Your goal is to identify the bugs, write tests for them, and fix them.

Notes:

  • Test coverage corresponding to these bugs has been removed or modified. Ideally a candidate would add tests, perhaps even before starting work to resolve the bug.
  • Find bugs any way that comes naturally to you: examine existing test coverage and try to identify gaps, manually test the app, etc.
  • This exercise is open-ended and you're encouraged to ask questions and communicate often with the problem administrator. The goal isn't to find every last bug necessarily, but to showcase the best of your abilities.

Getting Started With The App

The initial state of the project provides very little; not much more than a basic structure for displaying a chess board via a CLI. After you fork the directory, you can run the program via Maven:

$ mvn compile exec:java
{{ Maven output deleted for brevity }}
Welcome to Chess!
Type 'help' for a list of commands.

    a   b   c   d   e   f   g   h  
  +---+---+---+---+---+---+---+---+
8 | R | N | B | Q | K | B | N | R | 8
  +---+---+---+---+---+---+---+---+
7 | P | P | P | P | P | P | P | P | 7
  +---+---+---+---+---+---+---+---+
6 |   |   |   |   |   |   |   |   | 6
  +---+---+---+---+---+---+---+---+
5 |   |   |   |   |   |   |   |   | 5
  +---+---+---+---+---+---+---+---+
4 |   |   |   |   |   |   |   |   | 4
  +---+---+---+---+---+---+---+---+
3 |   |   |   |   |   |   |   |   | 3
  +---+---+---+---+---+---+---+---+
2 | p | p | p | p | p | p | p | p | 2
  +---+---+---+---+---+---+---+---+
1 | r | n | b | q | k | b | n | r | 1
  +---+---+---+---+---+---+---+---+
    a   b   c   d   e   f   g   h  

White's Move
> help
Possible commands:
    'help'                       Show this menu
    'quit'                       Quit Chess
    'new'                        Create a new game
    'board'                      Show the chess board
    'list'                       List all possible moves
    'move <colrow> <colrow>'     Make a move
{{ Board redisplayed }}
> quit
Goodbye!

Congrats!

All done? Congratulations! Please send us a Pull Request so we can review your work.

chess-core-buggy-zwang's People

Contributors

jeato avatar

Watchers

James Cloos avatar  avatar

Forkers

winter1990

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.