Не совсем очевидно, почему не проходит тест:

125
31 июля 2019, 21:20

Уже поздно и всех глаза слипаются, но может кто найдёт в чём причина того, что тест проходит неуспешно, большое спасибо заранее! Сам код:

class World {
 constructor() {
  }
  createPowerPlant() {
    let powerPlant = new PowerPlant();  
    return powerPlant;
  }
  createHousehold() { 
    let household = new Household(); 
    return household;
  }
  connectHouseholdToPowerPlant(household, powerPlant) {
    household.connecting(powerPlant.connectFromPowerPlant());
  }
  connectHouseholdToHousehold(household1, household2) {
  }
  disconnectHouseholdFromPowerPlant(household, powerPlant) {
    household.disconnect(powerPlant.disconectFromPowerPlant());
  }
  killPowerPlant(powerPlant) {
  }
  repairPowerPlant(powerPlant) {
  }
  householdHasEletricity(household) {
     return household.statusCheck();
  }     
}
class Household{
  constructor() {
    this.isConnectToPowerPlant = false;
  }
  connecting(connectStatus){
    this.isConnectToPowerPlant = connectStatus;
  }
  disconnect(disconectStatus){
    this.isConnectToPowerPlant = disconectStatus;
  }
  statusCheck(){
    return this.isConnectToPowerPlant;
  }      
}
class PowerPlant{
  constructor() {
    this.listOfKilledPlants = [];
    this.isActive = true;
  }  
  connectFromPowerPlant(){
    return true;
  }
  disconectFromPowerPlant(){
    return false;
  }
}

Тест:

const world = new World();
        const household1 = world.createHousehold();
        const household2 = world.createHousehold();
        const powerPlant1 = world.createPowerPlant();
        const powerPlant2 = world.createPowerPlant();
        world.connectHouseholdToPowerPlant(household1, powerPlant1);
        world.connectHouseholdToPowerPlant(household1, powerPlant2);
        world.connectHouseholdToPowerPlant(household2, powerPlant2);
        assert.equal(world.householdHasEletricity(household1), true);
        assert.equal(world.householdHasEletricity(household2), true);
        world.killPowerPlant(powerPlant2);
        assert.equal(world.householdHasEletricity(household1), true);
        assert.equal(world.householdHasEletricity(household2), false);
        world.killPowerPlant(powerPlant1);
        assert.equal(world.householdHasEletricity(household1), false);
        assert.equal(world.householdHasEletricity(household2), false);
Answer 1

По какой причине результат вызова

world.householdHasEletricity(household2)

должен измениться после вызова

world.killPowerPlant(powerPlant2)

, если killPowerPlant ничего не делает, а disconnectHouseholdFromPowerPlant не вызывался?

Я уже писал Вам, что в Ваших классах не хватает связей между жилищами и электростанциями.

Можно сделать двустороннее знание: у Household будет ссылка на PowerPlant, а у PowerPlant будет массив Household-ов. Можно сделать отдельный объект (Network), хранящий список объектов, в каждом из которых - ссылка на PowerPlant и список подсоединенных к нему Household-ов.

READ ALSO
JS поп ап не работает в safari

JS поп ап не работает в safari

Простецкий попап, работает везде, кроме айфона и айпада

142
Проблема с particles.js

Проблема с particles.js

Скачивал библиотеку с официального сайта и решил проверить демо на локальном сервере, в итоге в консоли выдает ошибку:

122
Как сделать такой функционал?

Как сделать такой функционал?

Делаю такой мокап с переключателемВсю логику продумал, все легко

133
Массив на javascript [закрыт]

Массив на javascript [закрыт]

Всем привет! Необходимо создать массив такого вида [[1], [2, 3], [4, 5, 6], [7, 8, 9, 10]]

117