Tell us what’s happening:
I cannot pass tests 4, 5, 6, 7, and 8 even though runSequence accomplishes the tasks. What am I doing wrong here?
Your code so far
const config1 = {
fault: false,
phases: [
{ color: "green", duration: 5 },
{ color: "yellow", duration: 2 },
{ color: "red", duration: 4 }
]
};
const config2 = {
fault: false,
phases: [
{ color: "red", duration: 3 },
{ color: "yellow", duration: -2 },
{ color: "green", duration: 6 }
]
};
const config3 = {
fault: true,
phases: [
{ color: "green", duration: 5 },
{ color: "yellow", duration: 2 },
{ color: "red", duration: 6 }
]
};
const config4 = {
fault: false,
phases: []
};
function runSequence(config, cycles) {
let firstCyc = 0;
if (config.phases === undefined || config.phases.length === 0) {
console.log("No phases found");
return;
}
if (config.fault == true) {
console.log("Faulted phase!");
return;
}
while (firstCyc < cycles) {
for (let i = 0; i < config.phases.length; i++) {
if (config.phases[i].duration <= 0) {
console.log("Invalid phase detected");
} else { console.log(`Switching to ${config.phases[i].color} for ${config.phases[i].duration} s`)
}
}
firstCyc++
}
}
runSequence(config1, 1)
function generateTimeline(config, cycles) {
const time = [];
let elapsed = 0;
for (let i = 0; i < cycles; i++) {
for (let j = 0; j < config.phases.length; j++) {
elapsed += config.phases[j].duration;
time.push(elapsed);
}
}
return time;
}
Your browser information:
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15
Challenge Information:
Build a Traffic Light Sequencer - Build a Traffic Light Sequencer