Letztes Semester: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Drlue (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Drlue (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 56: | Zeile 56: | ||
} | } | ||
}} | }} | ||
''CalculatorTest.java'' | |||
package at.htldornbirn.swp.grade; | |||
import org.junit.Assert; | |||
import org.junit.Test; | |||
public class GradeCalculatorTest { | |||
/** | |||
* Helper Method for testing the grade calculation | |||
* @param expectedGrade Grade which is expected | |||
* @param testGradeAvg Average grade of tests | |||
* @param score Project score | |||
*/ | |||
private void testCalculator(int expectedGrade, float testGradeAvg, ProjectScore score) { | |||
Assert.assertEquals(expectedGrade, GradeCalculator.calculateGrade(testGradeAvg, score)); | |||
} | |||
@Test | |||
public void testGradeCalculatorAverage() { | |||
testCalculator(1, 1.0f, ProjectScore.AVERAGE); | |||
testCalculator(2, 2.4f, ProjectScore.AVERAGE); | |||
testCalculator(3, 2.6f, ProjectScore.AVERAGE); | |||
testCalculator(4, 5.0f, ProjectScore.AVERAGE); | |||
testCalculator(4, 4.0f, ProjectScore.AVERAGE); | |||
} | |||
@Test | |||
public void testGradeCalculatorSoWeak() { | |||
testCalculator(2, 1.0f, ProjectScore.SO_WEAK); | |||
testCalculator(3, 2.4f, ProjectScore.SO_WEAK); | |||
testCalculator(4, 2.6f, ProjectScore.SO_WEAK); | |||
testCalculator(5, 5.0f, ProjectScore.SO_WEAK); | |||
testCalculator(4, 4.0f, ProjectScore.SO_WEAK); | |||
} | |||
@Test | |||
public void testGradeCalculatorCool() { | |||
testCalculator(1, 1.0f, ProjectScore.COOL); | |||
testCalculator(1, 2.4f, ProjectScore.COOL); | |||
testCalculator(2, 2.6f, ProjectScore.COOL); | |||
testCalculator(4, 5.0f, ProjectScore.COOL); | |||
testCalculator(3, 4.0f, ProjectScore.COOL); | |||
} | |||
@Test | |||
public void testGradeCalculatorNoProject() { | |||
testCalculator(3, 1.0f, ProjectScore.NONE); | |||
testCalculator(3, 2.4f, ProjectScore.NONE); | |||
testCalculator(4, 2.6f, ProjectScore.NONE); | |||
testCalculator(5, 5.0f, ProjectScore.NONE); | |||
testCalculator(4, 4.0f, ProjectScore.NONE); | |||
} | |||
} | |||
== Jahresnote == | == Jahresnote == | ||
Machma alle 1er...guade Ideeee | Machma alle 1er...guade Ideeee | ||
Version vom 19. Februar 2021, 09:29 Uhr
Da wir ja im letzten Semester wieder den super 50/50 Anwesenheitsmodus haben, hab ich mir folgendes überlegt.
Unterricht an der Schule
Wir gehen pro Einheit 2 Bereiche vom Wiki durch. Am Nachmittag in der letzten Stunde gibts dann dazu eine Mitarbeitsüberprüfung, angepasst auf das was wir gelernt haben.
Zuhause
Ihr macht ein cooles Softwareprojekt, was euch gefällt. Voraussetzungen dazu:
- Ihr macht euch ein git Repository dafür
- Wenn ihr das Projekt angebt muss es für mich möglich sein das Projekt über das git Repository zu starten.
Irgend was feines mit React wäre eine gute Idee.
Notengebung
Noten zweites Semester
Siehe folgenden krassen Berechnungscode.
ProjectScore.java
package at.htldornbirn.swp.grade;
public enum ProjectScore {
COOL, AVERAGE, SO_WEAK, NONE
}
GradeCalculator.java
package at.htldornbirn.swp.grade;
public class GradeCalculator {
public static int calculateGrade(float testGradeAvg, ProjectScore projectScore) {
int grade = Math.round(testGradeAvg);
switch (projectScore) {
case COOL:
grade--;
break;
case AVERAGE:
if (grade == 5) {
grade--;
}
break;
case SO_WEAK:
if (grade < 4) {
grade++;
}
break;
default:
if (grade < 3) {
grade = 3;
} else if (grade < 4) {
grade++;
}
}
return grade < 1 ? 1 : Math.min(grade, 5);
}
}
CalculatorTest.java package at.htldornbirn.swp.grade;
import org.junit.Assert; import org.junit.Test;
public class GradeCalculatorTest {
/**
* Helper Method for testing the grade calculation
* @param expectedGrade Grade which is expected
* @param testGradeAvg Average grade of tests
* @param score Project score
*/
private void testCalculator(int expectedGrade, float testGradeAvg, ProjectScore score) {
Assert.assertEquals(expectedGrade, GradeCalculator.calculateGrade(testGradeAvg, score));
}
@Test
public void testGradeCalculatorAverage() {
testCalculator(1, 1.0f, ProjectScore.AVERAGE);
testCalculator(2, 2.4f, ProjectScore.AVERAGE);
testCalculator(3, 2.6f, ProjectScore.AVERAGE);
testCalculator(4, 5.0f, ProjectScore.AVERAGE);
testCalculator(4, 4.0f, ProjectScore.AVERAGE);
}
@Test
public void testGradeCalculatorSoWeak() {
testCalculator(2, 1.0f, ProjectScore.SO_WEAK);
testCalculator(3, 2.4f, ProjectScore.SO_WEAK);
testCalculator(4, 2.6f, ProjectScore.SO_WEAK);
testCalculator(5, 5.0f, ProjectScore.SO_WEAK);
testCalculator(4, 4.0f, ProjectScore.SO_WEAK);
}
@Test
public void testGradeCalculatorCool() {
testCalculator(1, 1.0f, ProjectScore.COOL);
testCalculator(1, 2.4f, ProjectScore.COOL);
testCalculator(2, 2.6f, ProjectScore.COOL);
testCalculator(4, 5.0f, ProjectScore.COOL);
testCalculator(3, 4.0f, ProjectScore.COOL);
}
@Test
public void testGradeCalculatorNoProject() {
testCalculator(3, 1.0f, ProjectScore.NONE);
testCalculator(3, 2.4f, ProjectScore.NONE);
testCalculator(4, 2.6f, ProjectScore.NONE);
testCalculator(5, 5.0f, ProjectScore.NONE);
testCalculator(4, 4.0f, ProjectScore.NONE);
}
}
Jahresnote
Machma alle 1er...guade Ideeee