Lisää .luokat() metodi LuokkaAsteet-olioon
This commit is contained in:
parent
502ff75f0f
commit
619687da2e
|
@ -26,6 +26,18 @@ class LuokkaAste {
|
||||||
class LuokkaAsteet {
|
class LuokkaAsteet {
|
||||||
asteet = [];
|
asteet = [];
|
||||||
|
|
||||||
|
luokat() {
|
||||||
|
let luokat = [];
|
||||||
|
for (let aste = 0; aste < this.asteet.length; aste++) {
|
||||||
|
if (this.asteet[aste] !== undefined) {
|
||||||
|
for (let luokka of this.asteet[aste].luokat()) {
|
||||||
|
luokat.push(`${aste}${luokka}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return luokat;
|
||||||
|
}
|
||||||
|
|
||||||
seuraavaAste() {
|
seuraavaAste() {
|
||||||
// Seuraava aste on yksi suurinta listassa jo olevaa astetta isompi, tai
|
// Seuraava aste on yksi suurinta listassa jo olevaa astetta isompi, tai
|
||||||
// 1 jos listassa ei vielä ole asteita
|
// 1 jos listassa ei vielä ole asteita
|
||||||
|
@ -121,6 +133,7 @@ testi('asteiden lisääminen', () => {
|
||||||
assertThrow('3. aste uudelleen', 'luokka-aste 3 on jo olemassa', () => {
|
assertThrow('3. aste uudelleen', 'luokka-aste 3 on jo olemassa', () => {
|
||||||
luokkaAsteet.lisää(3);
|
luokkaAsteet.lisää(3);
|
||||||
});
|
});
|
||||||
|
assertEq('lisättyä', luokkaAsteet.luokat(), ['1A', '2A', '3A']);
|
||||||
});
|
});
|
||||||
|
|
||||||
testi('asteiden poistaminen', () => {
|
testi('asteiden poistaminen', () => {
|
||||||
|
@ -132,12 +145,14 @@ testi('asteiden poistaminen', () => {
|
||||||
assertThrow('3. asteen poisto', 'luokka-astetta 3 ei ole olemassa', () => {
|
assertThrow('3. asteen poisto', 'luokka-astetta 3 ei ole olemassa', () => {
|
||||||
luokkaAsteet.poista(3);
|
luokkaAsteet.poista(3);
|
||||||
});
|
});
|
||||||
|
assertEq('poistettua', luokkaAsteet.luokat(), []);
|
||||||
});
|
});
|
||||||
|
|
||||||
testi('asteiden muuttaminen', () => {
|
testi('asteiden muuttaminen', () => {
|
||||||
let luokkaAsteet = new LuokkaAsteet();
|
let luokkaAsteet = new LuokkaAsteet();
|
||||||
assertEq('lisääminen', luokkaAsteet.lisää(), 1);
|
assertEq('lisääminen', luokkaAsteet.lisää(), 1);
|
||||||
luokkaAsteet.muuta(1, 5);
|
luokkaAsteet.muuta(1, 5);
|
||||||
|
assertEq('muutettua', luokkaAsteet.luokat(), ['5A']);
|
||||||
assertThrow('poisto', 'luokka-astetta 1 ei ole olemassa', () => {
|
assertThrow('poisto', 'luokka-astetta 1 ei ole olemassa', () => {
|
||||||
luokkaAsteet.poista(1);
|
luokkaAsteet.poista(1);
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue