Compare commits
No commits in common. "de8a70f1be2392d0ac795b0c2d3eb03d36518691" and "e6c0ac4727366b49c982ad32807ca7e3cbabcef0" have entirely different histories.
de8a70f1be
...
e6c0ac4727
3 changed files with 28 additions and 102 deletions
|
@ -83,9 +83,9 @@ document.getElementById('lisää-tunti').addEventListener('submit', (tapahtuma)
|
||||||
suorita(
|
suorita(
|
||||||
tapahtumaTyypit.lisääTunti,
|
tapahtumaTyypit.lisääTunti,
|
||||||
nimi,
|
nimi,
|
||||||
[luokka],
|
luokka,
|
||||||
[opettajaLyhenne],
|
opettajaLyhenne,
|
||||||
[tila],
|
tila,
|
||||||
);
|
);
|
||||||
|
|
||||||
nimiElementti.value = '';
|
nimiElementti.value = '';
|
||||||
|
@ -329,18 +329,8 @@ function luoTuntiLista() {
|
||||||
for (let [id, tunti] of tunnit.järjestyksessä()) {
|
for (let [id, tunti] of tunnit.järjestyksessä()) {
|
||||||
let tuntiListassa = document.createElement('li');
|
let tuntiListassa = document.createElement('li');
|
||||||
|
|
||||||
tuntiListassa.appendChild(luoPainike('+', () => {
|
|
||||||
suorita(
|
|
||||||
tapahtumaTyypit.lisääTunti,
|
|
||||||
tunti.nimi,
|
|
||||||
tunti.luokat.alkiot(),
|
|
||||||
tunti.opettajaLyhenteet.alkiot(),
|
|
||||||
tunti.tilat.alkiot()
|
|
||||||
);
|
|
||||||
piirräKaikki();
|
|
||||||
}));
|
|
||||||
|
|
||||||
tuntiListassa.appendChild(luoPainike('-', () => {
|
tuntiListassa.appendChild(luoPainike('-', () => {
|
||||||
|
console.log(id);
|
||||||
suorita(tapahtumaTyypit.poistaTunti, id);
|
suorita(tapahtumaTyypit.poistaTunti, id);
|
||||||
piirräKaikki();
|
piirräKaikki();
|
||||||
}));
|
}));
|
||||||
|
|
|
@ -15,13 +15,6 @@ const tapahtumaTyypit = {
|
||||||
|
|
||||||
lisääTunti: 'lisääTunti',
|
lisääTunti: 'lisääTunti',
|
||||||
poistaTunti: 'poistaTunti',
|
poistaTunti: 'poistaTunti',
|
||||||
|
|
||||||
lisääTuntiLuokka: 'lisääTuntiLuokka',
|
|
||||||
poistaTuntiLuokka: 'poistaTuntiLuokka',
|
|
||||||
lisääTuntiOpettaja: 'lisääTuntiOpettaja',
|
|
||||||
poistaTuntiOpettaja: 'poistaTuntiOpettaja',
|
|
||||||
lisääTuntiTila: 'lisääTuntiTila',
|
|
||||||
poistaTuntiTila: 'poistaTuntiTila',
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class Tapahtuma {
|
class Tapahtuma {
|
||||||
|
@ -48,11 +41,11 @@ function suorita(tyyppi, ...argumentit) {
|
||||||
let paluuarvo = undefined;
|
let paluuarvo = undefined;
|
||||||
switch (tyyppi) {
|
switch (tyyppi) {
|
||||||
case tapahtumaTyypit.lisääAste:
|
case tapahtumaTyypit.lisääAste:
|
||||||
assertRange('lisääAste argumentit', argumentit.length, 0, 1);
|
assertRange('lisääAste argumentit määrä', argumentit.length, 0, 1);
|
||||||
paluuarvo = luokkaAsteet.lisää(...argumentit)
|
paluuarvo = luokkaAsteet.lisää(...argumentit)
|
||||||
break;
|
break;
|
||||||
case tapahtumaTyypit.poistaAste:
|
case tapahtumaTyypit.poistaAste:
|
||||||
assertEq('poistaAste argumentit', argumentit.length, 1);
|
assertEq('poistaAste argumentit määrä', argumentit.length, 1);
|
||||||
let [poistettuAste] = argumentit;
|
let [poistettuAste] = argumentit;
|
||||||
luokkaAsteet.poista(poistettuAste);
|
luokkaAsteet.poista(poistettuAste);
|
||||||
// Poista poistettujen luokka-asteiden luokat tunneista
|
// Poista poistettujen luokka-asteiden luokat tunneista
|
||||||
|
@ -66,7 +59,7 @@ function suorita(tyyppi, ...argumentit) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case tapahtumaTyypit.muutaAste:
|
case tapahtumaTyypit.muutaAste:
|
||||||
assertEq('muutaAste argumentit', argumentit.length, 2);
|
assertEq('muutaAste argumentit määrä', argumentit.length, 2);
|
||||||
let [vanhaAste, uusiAste] = argumentit;
|
let [vanhaAste, uusiAste] = argumentit;
|
||||||
luokkaAsteet.muuta(vanhaAste, uusiAste);
|
luokkaAsteet.muuta(vanhaAste, uusiAste);
|
||||||
// Muuta muutetut luokka-asteet tunneissa
|
// Muuta muutetut luokka-asteet tunneissa
|
||||||
|
@ -83,11 +76,11 @@ function suorita(tyyppi, ...argumentit) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case tapahtumaTyypit.lisääLuokka:
|
case tapahtumaTyypit.lisääLuokka:
|
||||||
assertEq('lisääLuokka argumentit', argumentit.length, 1);
|
assertEq('lisääLuokka argumentit määrä', argumentit.length, 1);
|
||||||
luokkaAsteet.asteet[argumentit[0]].lisää();
|
luokkaAsteet.asteet[argumentit[0]].lisää();
|
||||||
break;
|
break;
|
||||||
case tapahtumaTyypit.poistaLuokka:
|
case tapahtumaTyypit.poistaLuokka:
|
||||||
assertEq('poistaLuokka argumentit', argumentit.length, 1);
|
assertEq('poistaLuokka argumentit määrä', argumentit.length, 1);
|
||||||
let [aste] = argumentit;
|
let [aste] = argumentit;
|
||||||
luokkaAsteet.asteet[aste].poista();
|
luokkaAsteet.asteet[aste].poista();
|
||||||
// Poista luokka jota ei enää ole asteella tunneista
|
// Poista luokka jota ei enää ole asteella tunneista
|
||||||
|
@ -101,11 +94,11 @@ function suorita(tyyppi, ...argumentit) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case tapahtumaTyypit.lisääOpettaja:
|
case tapahtumaTyypit.lisääOpettaja:
|
||||||
assertEq('lisääOpettaja argumentit', argumentit.length, 2);
|
assertEq('lisääOpettaja argumentit määrä', argumentit.length, 2);
|
||||||
opettajat.lisää(...argumentit);
|
opettajat.lisää(...argumentit);
|
||||||
break;
|
break;
|
||||||
case tapahtumaTyypit.poistaOpettaja:
|
case tapahtumaTyypit.poistaOpettaja:
|
||||||
assertEq('poistaOpettaja argumentit', argumentit.length, 1);
|
assertEq('poistaOpettaja argumentit määrä', argumentit.length, 1);
|
||||||
let [poistettuOpettaja] = argumentit;
|
let [poistettuOpettaja] = argumentit;
|
||||||
opettajat.poista(poistettuOpettaja);
|
opettajat.poista(poistettuOpettaja);
|
||||||
// Poista opettaja joita ei enää ole tunneista
|
// Poista opettaja joita ei enää ole tunneista
|
||||||
|
@ -115,11 +108,11 @@ function suorita(tyyppi, ...argumentit) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case tapahtumaTyypit.lisääTila:
|
case tapahtumaTyypit.lisääTila:
|
||||||
assertEq('lisääTila argumentit', argumentit.length, 1);
|
assertEq('lisääTila argumentit määrä', argumentit.length, 1);
|
||||||
paluuarvo = tilat.lisää(...argumentit);
|
paluuarvo = tilat.lisää(...argumentit);
|
||||||
break;
|
break;
|
||||||
case tapahtumaTyypit.poistaTila:
|
case tapahtumaTyypit.poistaTila:
|
||||||
assertEq('poistaTila argumentit', argumentit.length, 1);
|
assertEq('poistaTila argumentit määrä', argumentit.length, 1);
|
||||||
let [poistettuTila] = argumentit;
|
let [poistettuTila] = argumentit;
|
||||||
tilat.poista(poistettuTila);
|
tilat.poista(poistettuTila);
|
||||||
for (let [_, tunti] of tunnit.tunnit) {
|
for (let [_, tunti] of tunnit.tunnit) {
|
||||||
|
@ -128,39 +121,14 @@ function suorita(tyyppi, ...argumentit) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case tapahtumaTyypit.lisääTunti:
|
case tapahtumaTyypit.lisääTunti:
|
||||||
assertEq('lisääTunti argumentit', argumentit.length, 4);
|
assertEq('lisääTunti argumentit määrä', argumentit.length, 4);
|
||||||
paluuarvo = tunnit.lisää(...argumentit);
|
paluuarvo = tunnit.lisää(...argumentit);
|
||||||
break;
|
break;
|
||||||
case tapahtumaTyypit.poistaTunti:
|
case tapahtumaTyypit.poistaTunti:
|
||||||
assertEq('poistaTunti argumentit', argumentit.length, 1);
|
assertEq('poistaTunti argumentit määrä', argumentit.length, 1);
|
||||||
tunnit.poista(...argumentit);
|
tunnit.poista(...argumentit);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case tapahtumaTyypit.lisääTuntiLuokka:
|
|
||||||
assertEq('lisääTuntiLuokka argumentit', argumentit.length, 2);
|
|
||||||
tunnit.tunnit.get(argumentit[0]).luokat.lisää(argumentit[1]);
|
|
||||||
break;
|
|
||||||
case tapahtumaTyypit.poistaTuntiLuokka:
|
|
||||||
assertEq('poistaTuntiLuokka argumentit', argumentit.length, 2);
|
|
||||||
tunnit.tunnit.get(argumentit[0]).luokat.poista(argumentit[1]);
|
|
||||||
break;
|
|
||||||
case tapahtumaTyypit.lisääTuntiOpettaja:
|
|
||||||
assertEq('lisääTuntiOpettaja argumentit', argumentit.length, 2);
|
|
||||||
tunnit.tunnit.get(argumentit[0]).opettajaLyhenteet.lisää(argumentit[1]);
|
|
||||||
break;
|
|
||||||
case tapahtumaTyypit.poistaTuntiOpettaja:
|
|
||||||
assertEq('poistaTuntiOpettajat argumentit', argumentit.length, 2);
|
|
||||||
tunnit.tunnit.get(argumentit[0]).opettajaLyhenteet.poista(argumentit[1]);
|
|
||||||
break;
|
|
||||||
case tapahtumaTyypit.lisääTuntiTila:
|
|
||||||
assertEq('lisääTuntiTila argumentit', argumentit.length, 2);
|
|
||||||
tunnit.tunnit.get(argumentit[0]).tilat.lisää(argumentit[1]);
|
|
||||||
break;
|
|
||||||
case tapahtumaTyypit.poistaTuntiTila:
|
|
||||||
assertEq('poistaTuntiTila argumentit', argumentit.length, 2);
|
|
||||||
tunnit.tunnit.get(argumentit[0]).tilat.poista(argumentit[1]);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
throw new Error(`tuntematon tapahtumatyyppi ${tyyppi}`);
|
throw new Error(`tuntematon tapahtumatyyppi ${tyyppi}`);
|
||||||
}
|
}
|
||||||
|
@ -326,29 +294,26 @@ testi('tilojen käsittely', () => {
|
||||||
testi('tuntien käsittely', () => {
|
testi('tuntien käsittely', () => {
|
||||||
alustaMalli();
|
alustaMalli();
|
||||||
suorita(tapahtumaTyypit.lisääAste);
|
suorita(tapahtumaTyypit.lisääAste);
|
||||||
suorita(tapahtumaTyypit.lisääAste);
|
|
||||||
suorita(tapahtumaTyypit.lisääAste, 5);
|
suorita(tapahtumaTyypit.lisääAste, 5);
|
||||||
suorita(tapahtumaTyypit.lisääLuokka, 5);
|
suorita(tapahtumaTyypit.lisääLuokka, 5);
|
||||||
suorita(tapahtumaTyypit.lisääOpettaja, 'KV', 'Kari Virtanen');
|
suorita(tapahtumaTyypit.lisääOpettaja, 'KV', 'Kari Virtanen');
|
||||||
suorita(tapahtumaTyypit.lisääOpettaja, 'AS', 'Aili Savolainen');
|
suorita(tapahtumaTyypit.lisääOpettaja, 'AS', 'Aili Savolainen');
|
||||||
suorita(tapahtumaTyypit.lisääOpettaja, 'MM', 'Maija Meikäläinen');
|
suorita(tapahtumaTyypit.lisääOpettaja, 'MM', 'Maija Meikäläinen');
|
||||||
suorita(tapahtumaTyypit.lisääOpettaja, 'MaM', 'Matti Meikäläinen');
|
|
||||||
suorita(tapahtumaTyypit.lisääTila, '1A');
|
suorita(tapahtumaTyypit.lisääTila, '1A');
|
||||||
suorita(tapahtumaTyypit.lisääTila, '5B');
|
suorita(tapahtumaTyypit.lisääTila, '5B');
|
||||||
suorita(tapahtumaTyypit.lisääTila, 'Käsityöluokka');
|
suorita(tapahtumaTyypit.lisääTila, 'Käsityöluokka');
|
||||||
suorita(tapahtumaTyypit.lisääTila, '5A');
|
|
||||||
assertEq('aluksi', tunnit.järjestyksessä(), []);
|
assertEq('aluksi', tunnit.järjestyksessä(), []);
|
||||||
|
|
||||||
assertEq('historia',
|
assertEq('historia',
|
||||||
suorita(tapahtumaTyypit.lisääTunti, ['Historia'], ['5B'], ['KV'], [1]),
|
suorita(tapahtumaTyypit.lisääTunti, 'Historia', '5B', 'KV', 1),
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
assertEq('äidinkieli',
|
assertEq('äidinkieli',
|
||||||
suorita(tapahtumaTyypit.lisääTunti, ['Äidinkieli'], ['1A'], ['AS'], [0]),
|
suorita(tapahtumaTyypit.lisääTunti, 'Äidinkieli', '1A', 'AS', 0),
|
||||||
1
|
1
|
||||||
);
|
);
|
||||||
assertEq('kuvataide',
|
assertEq('kuvataide',
|
||||||
suorita(tapahtumaTyypit.lisääTunti, ['Kuvataide'], ['5A'], ['MM'], [2]),
|
suorita(tapahtumaTyypit.lisääTunti, 'Kuvataide', '5A', 'MM', 2),
|
||||||
2
|
2
|
||||||
);
|
);
|
||||||
assertEq('lisättyä pituus', tunnit.järjestyksessä().length, 3);
|
assertEq('lisättyä pituus', tunnit.järjestyksessä().length, 3);
|
||||||
|
@ -378,38 +343,9 @@ testi('tuntien käsittely', () => {
|
||||||
assertEq('tila poistettua 1', tunnit.järjestyksessä()[1][1].tilat.alkiot(), [2]);
|
assertEq('tila poistettua 1', tunnit.järjestyksessä()[1][1].tilat.alkiot(), [2]);
|
||||||
assertEq('tila poistettua 2', tunnit.järjestyksessä()[2][1].tilat.alkiot(), [0]);
|
assertEq('tila poistettua 2', tunnit.järjestyksessä()[2][1].tilat.alkiot(), [0]);
|
||||||
|
|
||||||
suorita(tapahtumaTyypit.lisääTuntiLuokka, 0, '2A');
|
|
||||||
assertEq('luokka lisättyä tunnille 0', tunnit.järjestyksessä()[0][1].luokat.alkiot(), ['2A']);
|
|
||||||
assertEq('luokka lisättyä tunnille 1', tunnit.järjestyksessä()[1][1].luokat.alkiot(), ['6A']);
|
|
||||||
assertEq('luokka lisättyä tunnille 2', tunnit.järjestyksessä()[2][1].luokat.alkiot(), []);
|
|
||||||
|
|
||||||
suorita(tapahtumaTyypit.poistaTuntiLuokka, 2, '6A');
|
|
||||||
assertEq('luokka poistettua tunnilta 0', tunnit.järjestyksessä()[0][1].luokat.alkiot(), ['2A']);
|
|
||||||
assertEq('luokka poistettua tunnilta 1', tunnit.järjestyksessä()[1][1].luokat.alkiot(), []);
|
|
||||||
assertEq('luokka poistettua tunnilta 2', tunnit.järjestyksessä()[2][1].luokat.alkiot(), []);
|
|
||||||
|
|
||||||
suorita(tapahtumaTyypit.lisääTuntiOpettaja, 0, 'MaM');
|
|
||||||
assertEq('opettaja lisättyä tunnille 0', tunnit.järjestyksessä()[0][1].opettajaLyhenteet.alkiot(), ['MaM']);
|
|
||||||
assertEq('opettaja lisättyä tunnille 1', tunnit.järjestyksessä()[1][1].opettajaLyhenteet.alkiot(), ['MM']);
|
|
||||||
assertEq('opettaja lisättyä tunnille 2', tunnit.järjestyksessä()[2][1].opettajaLyhenteet.alkiot(), ['AS']);
|
|
||||||
|
|
||||||
suorita(tapahtumaTyypit.poistaTuntiOpettaja, 2, 'MM');
|
|
||||||
assertEq('opettaja poistettua tunnilta 0', tunnit.järjestyksessä()[0][1].opettajaLyhenteet.alkiot(), ['MaM']);
|
|
||||||
assertEq('opettaja poistettua tunnilta 1', tunnit.järjestyksessä()[1][1].opettajaLyhenteet.alkiot(), []);
|
|
||||||
assertEq('opettaja poistettua tunnilta 2', tunnit.järjestyksessä()[2][1].opettajaLyhenteet.alkiot(), ['AS']);
|
|
||||||
|
|
||||||
suorita(tapahtumaTyypit.lisääTuntiTila, 0, 3);
|
|
||||||
assertEq('tila lisäätyä tunnille 0', tunnit.järjestyksessä()[0][1].tilat.alkiot(), [3]);
|
|
||||||
assertEq('tila lisäätyä tunnille 1', tunnit.järjestyksessä()[1][1].tilat.alkiot(), [2]);
|
|
||||||
assertEq('tila lisäätyä tunnille 2', tunnit.järjestyksessä()[2][1].tilat.alkiot(), [0]);
|
|
||||||
|
|
||||||
suorita(tapahtumaTyypit.poistaTuntiTila, 1, 0);
|
|
||||||
assertEq('tila poistettua tunnilta 0', tunnit.järjestyksessä()[0][1].tilat.alkiot(), [3]);
|
|
||||||
assertEq('tila poistettua tunnilta 1', tunnit.järjestyksessä()[1][1].tilat.alkiot(), [2]);
|
|
||||||
assertEq('tila poistettua tunnilta 2', tunnit.järjestyksessä()[2][1].tilat.alkiot(), []);
|
|
||||||
|
|
||||||
suorita(tapahtumaTyypit.poistaTunti, 0);
|
suorita(tapahtumaTyypit.poistaTunti, 0);
|
||||||
assertEq('poistettua pituus', tunnit.järjestyksessä().length, 2);
|
assertEq('poistettua pituus', tunnit.järjestyksessä().length, 2);
|
||||||
|
|
||||||
alustaMalli();
|
alustaMalli();
|
||||||
|
// TODO: Luokkien ja opettajien listojen päivitys
|
||||||
});
|
});
|
||||||
|
|
|
@ -165,11 +165,11 @@ class Tunnit {
|
||||||
tunnit = new Map();
|
tunnit = new Map();
|
||||||
#seuraavaId = 0;
|
#seuraavaId = 0;
|
||||||
|
|
||||||
lisää(nimi, luokat, opettajaLyhenteet, tilat) {
|
lisää(nimi, luokka, opettajaLyhenne, tila) {
|
||||||
let id = this.#seuraavaId++;
|
let id = this.#seuraavaId++;
|
||||||
this.tunnit.set(
|
this.tunnit.set(
|
||||||
id,
|
id,
|
||||||
new Tunti(nimi, luokat, opettajaLyhenteet, tilat)
|
new Tunti(nimi, [luokka], [opettajaLyhenne], [tila])
|
||||||
);
|
);
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
@ -394,8 +394,8 @@ testi('tilojen nimet', () => {
|
||||||
|
|
||||||
testi('tuntien lisääminen', () => {
|
testi('tuntien lisääminen', () => {
|
||||||
let tunnit = new Tunnit();
|
let tunnit = new Tunnit();
|
||||||
assertEq('historia', tunnit.lisää('Historia', ['5B'], ['KV'], [0]), 0);
|
assertEq('historia', tunnit.lisää('Historia', '5B', 'KV', 0), 0);
|
||||||
assertEq('äidinkieli', tunnit.lisää('Äidinkieli', ['1A'], ['AS'], [1]), 1);
|
assertEq('äidinkieli', tunnit.lisää('Äidinkieli', '1A', 'AS', 1), 1);
|
||||||
assertEq('historia nimi', tunnit.tunnit.get(0).nimi, 'Historia');
|
assertEq('historia nimi', tunnit.tunnit.get(0).nimi, 'Historia');
|
||||||
assertEq('historia luokat', tunnit.tunnit.get(0).luokat.alkiot(), ['5B']);
|
assertEq('historia luokat', tunnit.tunnit.get(0).luokat.alkiot(), ['5B']);
|
||||||
assertEq('historia opettajat', tunnit.tunnit.get(0).opettajaLyhenteet.alkiot(), ['KV']);
|
assertEq('historia opettajat', tunnit.tunnit.get(0).opettajaLyhenteet.alkiot(), ['KV']);
|
||||||
|
@ -408,20 +408,20 @@ testi('tuntien lisääminen', () => {
|
||||||
|
|
||||||
testi('tuntien poistaminen', () => {
|
testi('tuntien poistaminen', () => {
|
||||||
let tunnit = new Tunnit();
|
let tunnit = new Tunnit();
|
||||||
tunnit.lisää('Historia', ['5B'], ['KV'], [0]);
|
tunnit.lisää('Historia', '5B', 'KV', 0);
|
||||||
tunnit.lisää('Äidinkieli', ['1B'], ['AS'], [1]);
|
tunnit.lisää('Äidinkieli', '1B', 'AS', 1);
|
||||||
tunnit.poista(0);
|
tunnit.poista(0);
|
||||||
tunnit.poista(1);
|
tunnit.poista(1);
|
||||||
assertThrow('jo poistettu', 'ei tuntia ID:llä 1', () => {
|
assertThrow('jo poistettu', 'ei tuntia ID:llä 1', () => {
|
||||||
tunnit.poista(1);
|
tunnit.poista(1);
|
||||||
});
|
});
|
||||||
assertEq('kuvataide', tunnit.lisää('Kuvataide', ['6A'], ['MM'], [2]), 2);
|
assertEq('kuvataide', tunnit.lisää('Kuvataide', '6A', 'MM', 2), 2);
|
||||||
});
|
});
|
||||||
|
|
||||||
testi('tuntien järjestys', () => {
|
testi('tuntien järjestys', () => {
|
||||||
let tunnit = new Tunnit();
|
let tunnit = new Tunnit();
|
||||||
tunnit.lisää('Historia', ['5B'], ['KV'], [0]);
|
tunnit.lisää('Historia', '5B', 'KV', 0);
|
||||||
tunnit.lisää('Äidinkieli', ['1B'], ['AS'], [1]);
|
tunnit.lisää('Äidinkieli', '1B', 'AS', 1);
|
||||||
assertEq('aluksi', tunnit.järjestyksessä()[0][1].nimi, 'Historia');
|
assertEq('aluksi', tunnit.järjestyksessä()[0][1].nimi, 'Historia');
|
||||||
tunnit.tunnit.get(1).nimi = 'Historia';
|
tunnit.tunnit.get(1).nimi = 'Historia';
|
||||||
assertEq('sama nimi', tunnit.järjestyksessä()[0][1].luokat.alkiot(), ['1B']);
|
assertEq('sama nimi', tunnit.järjestyksessä()[0][1].luokat.alkiot(), ['1B']);
|
||||||
|
|
Loading…
Reference in a new issue