Erster Commit, Aufgaben und Tests

This commit is contained in:
Frank Schiebel 2024-10-09 20:24:23 +02:00
commit 2cff7468ce
5 changed files with 204 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
*.class
*.ctxt

48
Birdwatching.java Normal file
View file

@ -0,0 +1,48 @@
/**
* Die Übungen dieser Klasse sind stark an die Vorlage "bird-watcher"
* des Java-Tracks bei exercism.org angelehnt.
*
* https://github.com/exercism/java/tree/main/exercises/concept/bird-watcher
*
* Dieser Track steht unter einer MIT License:
* https://github.com/exercism/java/blob/main/LICENSE
*
* Anpassungen fürs Wiki
* @author Frank Schiebel
* @version Oktober 2024
*/
public class Birdwatching
{
private int[] birdsPerDay;
public Birdwatching()
{
this.birdsPerDay = getNumbersOfLast7Days();
}
public int[] getNumbersOfLast7Days() {
throw new UnsupportedOperationException("Lösche diese Zeile und implementiere die Lösung zur Aufgabe!");
}
public int getToday() {
throw new UnsupportedOperationException("Lösche diese Zeile und implementiere die Lösung zur Aufgabe!");
}
public void incrementTodaysCount() {
throw new UnsupportedOperationException("Lösche diese Zeile und implementiere die Lösung zur Aufgabe!");
}
public boolean hasDayWithoutBirds() {
throw new UnsupportedOperationException("Lösche diese Zeile und implementiere die Lösung zur Aufgabe!");
}
public int getCountForFirstDays(int numberOfDays) {
throw new UnsupportedOperationException("Lösche diese Zeile und implementiere die Lösung zur Aufgabe!");
}
public int getBusyDays() {
throw new UnsupportedOperationException("Lösche diese Zeile und implementiere die Lösung zur Aufgabe!");
}
}

100
BirdwatchingTest.java Normal file
View file

@ -0,0 +1,100 @@
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* Die Test-Klasse BirdwatchingTest.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class BirdwatchingTest
{
/**
* Konstruktor fuer die Test-Klasse BirdwatchingTest
*/
public BirdwatchingTest()
{
}
/**
* Setzt das Testgerüst fuer den Test.
*
* Wird vor jeder Testfall-Methode aufgerufen.
*/
@BeforeEach
public void setUp()
{
}
/**
* Gibt das Testgerüst wieder frei.
*
* Wird nach jeder Testfall-Methode aufgerufen.
*/
@AfterEach
public void tearDown()
{
}
@Test
public void testNumbersOfLast7Days()
{
Birdwatching bw = new Birdwatching();
int[] numbers = bw.getNumbersOfLast7Days();
assertEquals(numbers[0], 12);
assertEquals(numbers[1], 7);
assertEquals(numbers[2], 0);
assertEquals(numbers[3], 6);
assertEquals(numbers[4], 15);
assertEquals(numbers[5], 8);
assertEquals(numbers[6], 7);
}
@Test
public void testToday()
{
Birdwatching bw = new Birdwatching();
assertEquals(bw.getToday(), 7);
}
@Test
public void testIncrementTodaysCount()
{
Birdwatching bw = new Birdwatching();
bw.incrementTodaysCount();
assertEquals(bw.getToday(),8);
}
@Test
public void testCountForFirstDays()
{
Birdwatching bw = new Birdwatching();
int[] sums = {0, 12, 19, 19, 25, 40, 48, 55};
for(int i=0; i<7; i++ ) {
assertEquals(bw.getCountForFirstDays(i),sums[i]);
}
}
@Test
public void testGetCountForMoreDaysThanTheArraySize() {
Birdwatching bw = new Birdwatching();
assertEquals(bw.getCountForFirstDays(10),55);
}
@Test
public void testGetBusyDays() {
Birdwatching bw = new Birdwatching();
assertEquals(bw.getBusyDays(),3);
}
}

11
README.TXT Normal file
View file

@ -0,0 +1,11 @@
PROJEKTBEZEICHNUNG: Birdwatching
PROJEKTZWECK: Einführung in Arrays, Wiki: https://info-bw.de/faecher:informatik:oberstufe:java:algorithmen:arrays:definition:start
VERSION oder DATUM: 09.10.2024
Die Übungen dieses Projekts sind stark an die Vorlage "bird-watcher"
des Java-Tracks bei exercism.org angelehnt.
https://github.com/exercism/java/tree/main/exercises/concept/bird-watcher
Dieser Track steht unter einer MIT License:
https://github.com/exercism/java/blob/main/LICENSE

43
package.bluej Normal file
View file

@ -0,0 +1,43 @@
#BlueJ package file
dependency1.from=BirdwatchingTest
dependency1.to=Birdwatching
dependency1.type=UsesDependency
editor.fx.0.height=1036
editor.fx.0.width=1920
editor.fx.0.x=1914
editor.fx.0.y=0
objectbench.height=94
objectbench.width=776
package.divider.horizontal=0.6
package.divider.vertical=0.8007889546351085
package.editor.height=399
package.editor.width=654
package.editor.x=2428
package.editor.y=219
package.frame.height=600
package.frame.width=800
package.numDependencies=1
package.numTargets=2
package.showExtends=true
package.showUses=true
project.charset=UTF-8
readme.height=60
readme.name=@README
readme.width=49
readme.x=10
readme.y=10
target1.association=BirdwatchingTest
target1.height=70
target1.name=Birdwatching
target1.showInterface=false
target1.type=ClassTarget
target1.width=120
target1.x=60
target1.y=100
target2.height=70
target2.name=BirdwatchingTest
target2.showInterface=false
target2.type=UnitTestTargetJunit5
target2.width=120
target2.x=90
target2.y=70