Update to v19

parent 432918be
......@@ -2,7 +2,7 @@
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/inf101.v18.lab5.iml" filepath="$PROJECT_DIR$/inf101.v18.lab5.iml" />
<module fileurl="file://$PROJECT_DIR$/inf101.v19.lab5.iml" filepath="$PROJECT_DIR$/inf101.v19.lab5.iml" />
</modules>
</component>
</project>
......@@ -11,26 +11,26 @@ Når du er ferdig med oppgaven, skal du kunne (på egenhånd, med dokumentasjon
# Oppgave 0: Hent Oppgaven fra git
Som før skal du ha et repository for oppgaven på retting.ii.uib.no.
Se [Hvordan hente og levere oppgaver](https://retting.ii.uib.no/inf101/inf101.v18/wikis/hente-levere-oppgaver) for mer informasjon og instrukser.
Se [Hvordan hente og levere oppgaver](https://retting.ii.uib.no/inf101/inf101.v19/wikis/hente-levere-oppgaver) for mer informasjon og instrukser.
Oppgaven skal dere kunne finne i repositoriet med den følgende
urien:
https://retting.ii.uib.no/<brukernavn>/inf101.v18.lab5.git
https://retting.ii.uib.no/<brukernavn>/inf101.v19.lab5.git
Hvor `<brukernavn>` skal byttes ut med brukernavnet ditt på retting.ii.uib.no. Merk at
det er nødvendig å bruke https (ssh vil ikke fungere).
Se [Lab 1](https://retting.ii.uib.no/inf101.v18.oppgaver/inf101.v18.lab1/blob/master/README.md) for videre veiledning.
Se [Lab 1](https://retting.ii.uib.no/inf101.v19.oppgaver/inf101.v19.lab1/blob/master/README.md) for videre veiledning.
## Innhold
Prosjektet inneholder følgende Java-pakker:
* [inf101.v18.datastructures](https://retting.ii.uib.no/inf101.v18.oppgaver/inf101.v18.lab5/tree/master/src/inf101/v18/datastructures)
– inneholder klasser og grensesnitt for 2D-grid og liste – samme som i [lab 4](https://retting.ii.uib.no/inf101.v18.oppgaver/inf101.v18.lab4/blob/master/README.md).
* [inf101.v18.tests](https://retting.ii.uib.no/inf101.v18.oppgaver/inf101.v18.lab5/tree/master/src/inf101/v18/tests) – pakke for diverse tester av innholdet i de andre pakkene
* [inf101.v18.util](https://retting.ii.uib.no/inf101.v18.oppgaver/inf101.v18.lab5/tree/master/src/inf101/v18/util) – inneholder klasser og grensesnitt for datagenerering
* [inf101.v18.util.generators](https://retting.ii.uib.no/inf101.v18.oppgaver/inf101.v18.lab5/tree/master/src/inf101/v18/util/generators) – klasser for generering av spesifikke typer data
* [inf101.v19.datastructures](https://retting.ii.uib.no/inf101.v19.oppgaver/inf101.v19.lab5/tree/master/src/inf101/v19/datastructures)
– inneholder klasser og grensesnitt for 2D-grid og liste – samme som i [lab 4](https://retting.ii.uib.no/inf101.v19.oppgaver/inf101.v19.lab4/blob/master/README.md).
* [inf101.v19.tests](https://retting.ii.uib.no/inf101.v19.oppgaver/inf101.v19.lab5/tree/master/src/inf101/v19/tests) – pakke for diverse tester av innholdet i de andre pakkene
* [inf101.v19.util](https://retting.ii.uib.no/inf101.v19.oppgaver/inf101.v19.lab5/tree/master/src/inf101/v19/util) – inneholder klasser og grensesnitt for datagenerering
* [inf101.v19.util.generators](https://retting.ii.uib.no/inf101.v19.oppgaver/inf101.v19.lab5/tree/master/src/inf101/v19/util/generators) – klasser for generering av spesifikke typer data
# Om oppgaven
......@@ -40,9 +40,9 @@ I denne oppgaven skal vi jobbe med testing av to datastrukturer. Vi skal teste k
# IGenerator
[IGenerator](https://retting.ii.uib.no/inf101.v18.oppgaver/inf101.v18.lab5/tree/master/src/inf101/v18/util/IGenerator.java) er et grensesnitt for å generere tilfeldige data. Gitt en objekt av typen `IGenerator<T>` og et `Random`-objekt, kan du få produsert et tilfeldig objekt av typen `T` (eller eventuelt en serie objekter som er garantert å være `equals` – dette er nyttig i noen sammenhenger).
[IGenerator](https://retting.ii.uib.no/inf101.v19.oppgaver/inf101.v19.lab5/tree/master/src/inf101/v19/util/IGenerator.java) er et grensesnitt for å generere tilfeldige data. Gitt en objekt av typen `IGenerator<T>` og et `Random`-objekt, kan du få produsert et tilfeldig objekt av typen `T` (eller eventuelt en serie objekter som er garantert å være `equals` – dette er nyttig i noen sammenhenger).
I `inf101.v18.util.generators`-pakken ligger det to klasser for å lage tilfeldige heltall og strenger.
I `inf101.v19.util.generators`-pakken ligger det to klasser for å lage tilfeldige heltall og strenger.
For eksempel:
......@@ -73,7 +73,7 @@ System.out.println("Tilfeldig heltall mellom 0 og 1000: " + intGen.generate(r));
# Oppgave 2: Testing med genererte strenger.
Kikk på klassen [inf101.v18.tests.StringTest](https://retting.ii.uib.no/inf101.v18.oppgaver/inf101.v18.lab5/tree/master/src/inf101/v18/tests/StringTest.java).
Kikk på klassen [inf101.v19.tests.StringTest](https://retting.ii.uib.no/inf101.v19.oppgaver/inf101.v19.lab5/tree/master/src/inf101/v19/tests/StringTest.java).
* Skriv en metode `transitiveProperty` som tar tre strenger og sjekker at `equals` for strenger er *transitiv*, dvs. at:
......@@ -108,9 +108,9 @@ if(s1.equals(s2))
# Oppgave 3: Generator for 2D-Grid.
Grensesnittet
[IGrid](https://retting.ii.uib.no/inf101.v18.oppgaver/inf101.v18.lab5/tree/master/src/inf101/v18/datastructures/IGrid.java)
[IGrid](https://retting.ii.uib.no/inf101.v19.oppgaver/inf101.v19.lab5/tree/master/src/inf101/v19/datastructures/IGrid.java)
er det samme som fra Lab 2–4. Det følger med en implementasjon,
[MyGrid](https://retting.ii.uib.no/inf101.v18.oppgaver/inf101.v18.lab5/tree/master/src/inf101/v18/datastructures/MyGrid.java)
[MyGrid](https://retting.ii.uib.no/inf101.v19.oppgaver/inf101.v19.lab5/tree/master/src/inf101/v19/datastructures/MyGrid.java)
som er tilsvarende den du skal ha laget på Lab 2 og gjort generisk i Lab 4.
Det er *minst én* feil i `MyGrid`. Feil(ene) skal vi nå finne ved hjelp av
......@@ -133,13 +133,13 @@ IGenerator<IGrid<String>> gridGen = new MyGridGenerator<String>(new StringGenera
```
* Fullfør implementeringen av `generate(Random r)` i
[inf101.v18.util.generators.MyGridGenerator](https://retting.ii.uib.no/inf101.v18.oppgaver/inf101.v18.lab5/tree/master/src/inf101/v18/util/generators/MyGridGenerator.java).
[inf101.v19.util.generators.MyGridGenerator](https://retting.ii.uib.no/inf101.v19.oppgaver/inf101.v19.lab5/tree/master/src/inf101/v19/util/generators/MyGridGenerator.java).
De andre metodene er allerede ferdig laget.
# Oppgave 4: Testing av MyGrid2D.
Se på test-klassen
[inf101.tests.MyGridTest](https://retting.ii.uib.no/inf101.v18.oppgaver/inf101.v18.lab5/tree/master/src/inf101/v18/tests/MyGridTest.java).
[inf101.tests.MyGridTest](https://retting.ii.uib.no/inf101.v19.oppgaver/inf101.v19.lab5/tree/master/src/inf101/v19/tests/MyGridTest.java).
Den inneholder noen få tester, og noen property-metoder for å sjekke egenskaper
ved metodene til grid-klassen.
......
# INF101
Dette prosjektet inneholder [Labøvelse 5](LAB-5.md). Du kan også [lese oppgaven online](https://retting.ii.uib.no/inf101.v18.oppgaver/inf101.v18.lab5/blob/master/LAB-5.md) (kan evt. ha små oppdateringer i oppgaveteksten som ikke er med i din private kopi).
Dette prosjektet inneholder [Labøvelse 5](LAB-5.md). Du kan også [lese oppgaven online](https://retting.ii.uib.no/inf101.v19.oppgaver/inf101.v19.lab5/blob/master/LAB-5.md) (kan evt. ha små oppdateringer i oppgaveteksten som ikke er med i din private kopi).
package inf101.v18.datastructures;
package inf101.v19.datastructures;
public interface IGrid<T> {
......
package inf101.v18.datastructures;
package inf101.v19.datastructures;
import java.util.ArrayList;
import java.util.List;
......
package inf101.v18.tests;
package inf101.v19.tests;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
import inf101.v18.util.IGenerator;
import inf101.v18.util.generators.IntGenerator;
import inf101.v18.util.generators.MyGridGenerator;
import inf101.v18.util.generators.StringGenerator;
import inf101.v19.util.IGenerator;
import inf101.v19.util.generators.IntGenerator;
import inf101.v19.util.generators.MyGridGenerator;
import inf101.v19.util.generators.StringGenerator;
import java.util.List;
import java.util.Random;
......
package inf101.v18.tests;
package inf101.v19.tests;
import static org.junit.jupiter.api.Assertions.*;
......@@ -6,11 +6,11 @@ import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import inf101.v18.datastructures.IGrid;
import inf101.v18.util.IGenerator;
import inf101.v18.util.generators.IntGenerator;
import inf101.v18.util.generators.MyGridGenerator;
import inf101.v18.util.generators.StringGenerator;
import inf101.v19.datastructures.IGrid;
import inf101.v19.util.IGenerator;
import inf101.v19.util.generators.IntGenerator;
import inf101.v19.util.generators.MyGridGenerator;
import inf101.v19.util.generators.StringGenerator;
import java.util.Random;
......
package inf101.v18.tests;
package inf101.v19.tests;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
import inf101.v18.util.IGenerator;
import inf101.v18.util.generators.StringGenerator;
import inf101.v19.util.IGenerator;
import inf101.v19.util.generators.StringGenerator;
public class StringTest {
......
package inf101.v18.util;
package inf101.v19.util;
import java.util.Collection;
import java.util.List;
......
package inf101.v18.util.generators;
package inf101.v19.util.generators;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Random;
import inf101.v18.util.IGenerator;
import inf101.v19.util.IGenerator;
public class IntGenerator implements IGenerator<Integer> {
private final long minValue;
......
package inf101.v18.util.generators;
package inf101.v19.util.generators;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Random;
import inf101.v18.datastructures.IGrid;
import inf101.v18.datastructures.MyGrid;
import inf101.v18.util.IGenerator;
import inf101.v19.datastructures.IGrid;
import inf101.v19.datastructures.MyGrid;
import inf101.v19.util.IGenerator;
public class MyGridGenerator<T> implements IGenerator<IGrid<T>> {
/**
......
package inf101.v18.util.generators;
package inf101.v19.util.generators;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Random;
import inf101.v18.util.IGenerator;
import inf101.v19.util.IGenerator;
public class StringGenerator implements IGenerator<String> {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment