Lisää .luokat() metodi LuokkaAsteet-olioon
This commit is contained in:
parent
502ff75f0f
commit
619687da2e
|
@ -26,6 +26,18 @@ class LuokkaAste {
|
|||
class LuokkaAsteet {
|
||||
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() {
|
||||
// Seuraava aste on yksi suurinta listassa jo olevaa astetta isompi, tai
|
||||
// 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', () => {
|
||||
luokkaAsteet.lisää(3);
|
||||
});
|
||||
assertEq('lisättyä', luokkaAsteet.luokat(), ['1A', '2A', '3A']);
|
||||
});
|
||||
|
||||
testi('asteiden poistaminen', () => {
|
||||
|
@ -132,12 +145,14 @@ testi('asteiden poistaminen', () => {
|
|||
assertThrow('3. asteen poisto', 'luokka-astetta 3 ei ole olemassa', () => {
|
||||
luokkaAsteet.poista(3);
|
||||
});
|
||||
assertEq('poistettua', luokkaAsteet.luokat(), []);
|
||||
});
|
||||
|
||||
testi('asteiden muuttaminen', () => {
|
||||
let luokkaAsteet = new LuokkaAsteet();
|
||||
assertEq('lisääminen', luokkaAsteet.lisää(), 1);
|
||||
luokkaAsteet.muuta(1, 5);
|
||||
assertEq('muutettua', luokkaAsteet.luokat(), ['5A']);
|
||||
assertThrow('poisto', 'luokka-astetta 1 ei ole olemassa', () => {
|
||||
luokkaAsteet.poista(1);
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue