	@Test
	public void testIfInvalidMove(){

		Matrix testMatrix = getTestMatrix(MoveValidator.MIN_SIZE_FOR_SCRAMBLING);
		
		for(Map.Entry<ScrambleMoves, ScrambleMove> curEntry : validMoves.entrySet()){
			MoveValidator.throwIfInvalidMove(testMatrix, curEntry.getValue());
			MoveValidator.throwIfInvalidMove(testMatrix, curEntry.getValue(), curEntry.getKey());
		}
		
		for(Map.Entry<Integer, ScrambleMove> curEntry : invalidMoves.entrySet()){
			try {
				MoveValidator.throwIfInvalidMove(testMatrix, curEntry.getValue());
				Assert.fail();
			}catch (IllegalArgumentException|IndexOutOfBoundsException e){
				//nothing to do
			}
		}
		
		for(Map.Entry<ScrambleMoves, ScrambleMove> curEntry : invalidMovesBadType.entrySet()){
			try {
				MoveValidator.throwIfInvalidMove(testMatrix, curEntry.getValue(), curEntry.getKey());
				Assert.fail();
			}catch (IllegalArgumentException|IndexOutOfBoundsException e){
				//nothing to do
			}
		}
	}