First working version
[+] Test for King class
[+] Test for Bishop class
[+] Test for Rook class
[+] Test for Queen class
[*] Common code for movements moved from pieces' classes to SquareBoardPiece class
[+] Added .iml file to ignore lise
[+] Test for Knight class
[+] Test for PieceType class
[+] Test for SquareBoardPiece
[+] Test for SquareChessBoard class
[-] Unnecessary error handling in SimplePieceFactory class
[+] Test for SimplePieceFactory class
[*] SimplePieceFactory renamed to SquareBoardPieceFactory, because it works only with SquareChessBoard
[*] Some class replacements according previous comment
[+] Hamcrest dependency
[+] Simple tests for SquareBoardDrawer and SquareBoardSolver
[*] Small optimization, so algorithm doesn't check if square is already under attack
[+] Some more optimizations based on idea that if we have already checked square for one chess piece, we don't need to do it if next is the same. It works better when pieces are sorted by it's type.
[*] Some memory usage optimizations in solver
[*] SquareBoardPieceFactory now returns predefined values instead of creating new ones