// Path: src/omr/QuestionGroup.java
// public enum Orientation {
// 	VERTICAL("vertical"), HORIZONTAL("horizontal"), STUDENT_NUMBER("student-number"), CHECK_LETTER("check-letter");
//     	
// 	private String name;
// 	private Orientation(String name) {
// 		this.name = name;
// 	}
//     	
// 	@Override
//     public String toString() {
// 		return this.name;
// 	}
// };


import omr.QuestionGroup.Orientation;
     * @param group QuestionGroup from the SheetStructure 
     */
    public double getScore(Sheet sheet, QuestionGroup group) {
        double score = 0.0;
        
        for (int i = 0; i < group.getQuestionsCount(); i++) {
            score += getScore(sheet, group, i); 
        }
        
        return score;
    }
    
    /**
     * Returns the score from a single question.
     * @param sheet
     * @param group
     * @param question Local question number (row number)
     */
    public double getScore(Sheet sheet, QuestionGroup group, int question) {
        int alternativesSelected = 0;
        boolean correctAnswerSelected = false;
        boolean incorrectAnswerSelected = false;
        
        if (group.getOrientation() != Orientation.VERTICAL && group.getOrientation() != Orientation.HORIZONTAL) {
        	return 0.0;
        }
        
        // Iterate through alternatives
        for (int alternative = 0; alternative < group.getAlternativesCount(); alternative++) {
            boolean selected;
// Path: src/omr/QuestionGroup.java
// public enum Orientation {
// 	VERTICAL("vertical"), HORIZONTAL("horizontal"), STUDENT_NUMBER("student-number"), CHECK_LETTER("check-letter");
//     	
// 	private String name;
// 	private Orientation(String name) {
// 		this.name = name;
// 	}
//     	
// 	@Override
//     public String toString() {
// 		return this.name;
// 	}
// };


// Path: src/omr/GradingScheme.java
import omr.QuestionGroup.Orientation;

     * @param group QuestionGroup from the SheetStructure 
     */
    public double getScore(Sheet sheet, QuestionGroup group) {
        double score = 0.0;
        
        for (int i = 0; i < group.getQuestionsCount(); i++) {
            score += getScore(sheet, group, i); 
        }
        
        return score;
    }
    
    /**
     * Returns the score from a single question.
     * @param sheet
     * @param group
     * @param question Local question number (row number)
     */
    public double getScore(Sheet sheet, QuestionGroup group, int question) {
        int alternativesSelected = 0;
        boolean correctAnswerSelected = false;
        boolean incorrectAnswerSelected = false;
        
        if (group.getOrientation() != Orientation.VERTICAL && group.getOrientation() != Orientation.HORIZONTAL) {
        	return 0.0;
        }
        
        // Iterate through alternatives
        for (int alternative = 0; alternative < group.getAlternativesCount(); alternative++) {
            boolean selected;
            if (group.getOrientation() == Orientation.HORIZONTAL) {