@Test
    public void test_solvable_matrix_size_2_solve() throws 
            ImpossibleSolutionException,UnsquaredMatrixException,
            ElementOutOfRangeException{
        
        int height=2;
        int width=2;
        float[][] matrix; 
        float[]   resultVector;
        float[][] knownMatrix = new float[height][width];
        float[]   knownResults = new float[height];
        
        knownMatrix[0][0] = .333f;
        knownMatrix[0][1] = -.333f;
        knownMatrix[1][0] = -.667f;
        knownMatrix[1][1] = 1.667f;
    
        knownResults[0] = .667f;
        knownResults[1] = -.333f;
        try{
            test_matrix = new LinearEquationSystem(height,width);
        }catch(UnsquaredMatrixException e){
            throw e;
        }
        try{
            test_matrix.setValueAt(0,0,5.0f);
            test_matrix.setValueAt(0,1,1.0f);
            test_matrix.setValueAt(0,2,3.0f);
            test_matrix.setValueAt(1,0,2.0f);
            test_matrix.setValueAt(1,1,1.0f);
            test_matrix.setValueAt(1,2,1.0f);
        }catch(ElementOutOfRangeException e){
            throw e;
        }
        try{
            resultVector = test_matrix.solve();
        }catch(ImpossibleSolutionException e){
            throw e;
        }
        matrix = test_matrix.returnMatrix();
        Assert.assertArrayEquals(knownResults,resultVector,.01f);
        Assert.assertArrayEquals(knownMatrix[0],matrix[0],.01f);
        Assert.assertArrayEquals(knownMatrix[1],matrix[1],.01f);
    }