Code Monkey home page Code Monkey logo

hitori's Introduction

Introduction

The Hitori application recreates the Hitori puzzle by Nikoli. It allows the user to play the game, assist with solving Hitori games, and generate new puzzles.

Building

Hitori uses Maven to build. Run:

mvn clean package

The resultant jar will be found in /target/

hitori's People

Contributors

schmoller avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

hitori's Issues

Empty Boards

Make sure each field is filled out before submitting.

The severity rating should be one of: Trivial, Minor, Major, Critical

Description Board instances can be constructed with 0 size
Operating system Linux Mint 17.1
Java version 1.8.0_60
Severity Trivial
Steps to reproduce (or link to test case) Call new Board(0,0, new BoardNumber[0])
Expected result The input is rejected as invalid
Actual result The board is created successfully leading to problems using it

GUI Step button does not always shade a cell

Make sure each field is filled out before submitting.

The severity rating should be one of: Trivial, Minor, Major, Critical

Description In the GUI, clicking the Step button does not always shade a cell
Operating system Windows 10
Java version 1.8.0_131
Severity Minor
Steps to reproduce (or link to test case) Forked repo illustrates this failure. To manually see it
  1. Open the Hitori GUI
  2. Click the Step button
  3. Observe that no cell shading occurred
Expected result A cell should be shaded either black to indicate a selected cell, or pink or grey to indicate that it is still confirming a solution
Actual result No cell shading is done for the first click of Step

TabledSet no precondition checking

Make sure each field is filled out before submitting.

The severity rating should be one of: Trivial, Minor, Major, Critical

Description getCol() and getRow() have no precondition checking on the column or row index
Operating system Linux Mint 17.1
Java version 1.8.0_60
Severity Minor
Steps to reproduce (or link to test case) call TabledSet.getCol(-1) or TabledSet.getRow(-1)
Expected result The input is rejected as invalid
Actual result Lists are returned that will error if anything is called on them

GUI: Solve and then Generate leads to incorrect solution state text

Make sure each field is filled out before submitting.

The severity rating should be one of: Trivial, Minor, Major, Critical

Description Clicking Solve and then Generate leaves the solved state text as "Solved"
Operating system Windows 10
Java version 1.8.0_131
Severity Minor
Steps to reproduce (or link to test case) Forked Repo is an Eye Automate test which highlights the problem. To manually reproduce
  1. Open the Hitori GUI
  2. Click the Solve button
  3. Click the Generate button
  4. Check that state text on the left hand side
Expected result Once a board has been solved and a new one Generated, the state text should be updated to say "Incomplete" or something else along those lines
Actual result Once a board has been solved and a new one Generated, the state text does not change and remains as "Solved"

Board can be created in invalid state

Make sure each field is filled out before submitting.

The severity rating should be one of: Trivial, Minor, Major, Critical

Description The board class can be created using the Board.from() method. There is no precondition checking on this method and due to its design, it will produce values that can be passed safely through the Board constructor without causing problems. If trying to use the Board later though, almost all methods will cause an exception. However since in normal operation this does not currently happen, this issue is of minor importance.
Operating system Linux Mint 17.1
Java version 1.8.0_60
Severity Minor
Steps to reproduce (or link to test case) Call Board.from(9, 9, new int[] {1}) then call Board.getBoardState()
Expected result The inputs should be rejected due to not containing enough information to build a board
Actual result The board is created and a NullPointerException is thrown when attempting to get the board state

GUI clicking Solve button and then a number on the board unshades multiple numbers

Make sure each field is filled out before submitting.

The severity rating should be one of: Trivial, Minor, Major, Critical

Description Clicking Solve and then a number on the board can sometimes unshade multiple numbers. This is an intermittent bug, but very reproducible
Operating system Windows 10
Java version 1.8.0_131
Severity Major
Steps to reproduce (or link to test case) Forked Repo is an Eye Automate test which highlights the problem. To manually reproduce
  1. Open the Hitori GUI
  2. Click Solve
  3. Click on a number inside the Board
  4. Observe if the number changes shading correctly or if random other numbers also disappear
Expected result After clicking Solve, clicking a number on the board should change the cell shading for that number to Marked
Actual result Intermittently, clicking a number on the board after clicking solve will unshade multiple numbers, not just the one you have clicked on

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.