@cycxllin/cmpt315-a2
Version:
Fulfills CMPT 315 Assignment 2, MacEwan University Winter 2024.
137 lines (97 loc) • 4.63 kB
JavaScript
const test = require('./index.js');
// Testing findNaNIndex
console.log("-------");
console.log("Testing: findNaNIndex\n");
const NaNT1 = [2, NaN, 8, 16, 32];
const NaNT2 = [2, 4, NaN, 16, 32, NaN];
const NaNT3 = [2, 4, 16, 32];
const NaNT4 = "notArr";
const NaNT5 = ["notNum", 5];
const NaNEmpty = [];
console.log("findNaNIndex([2, NaN, 8, 16, 32]) should be: [1]");
console.log("Result: ["+test.findNaNIndex(NaNT1)+"]\n");
console.log("findNaNIndex([2, 4, NaN, 16, 32, NaN]) should be: [2,5]");
console.log("Result: ["+test.findNaNIndex(NaNT2)+"]\n");
console.log("findNaNIndex([2, 4, 16, 32]) should be: []");
console.log("Result: ["+test.findNaNIndex(NaNT3)+"]\n");
console.log("findNaNIndex([]) should be: []");
console.log("Result: ["+test.findNaNIndex(NaNEmpty)+"]\n");
console.log("findNaNIndex(['notNum', 5]) should be: []");
console.log("Result: ["+test.findNaNIndex(NaNT5)+"]\n");
console.log("findNaNIndex('notArr') should be: Error -1");
console.log("Result: "+test.findNaNIndex(NaNT4));
console.log("\n-------");
// Testing isArrayFactorChain
console.log("Testing: isArrayFactorChain\n");
const factorChainT1 = [2, 4, 8, 16, 32];
const factorChainT2 = [2, 4, 8, 16, 32, 68];
const factorChainT3 = [2, 4, 8, 16, NaN];
const factorChainT4 = [2, "four", 8, 16, 32];
const factorChainT5 = [2];
const factorChainT6 = "notArr";
console.log("isArrayFactorChain([2, 4, 8, 16, 32]) should be: true");
console.log("Result: "+test.isArrayFactorChain(factorChainT1)+"\n");
//console.log(_.isArrayFactorChain(factorChainT1)+"\n");
console.log("isArrayFactorChain([2, 4, 8, 16, 32, 68]) should be: false");
console.log("Result: "+test.isArrayFactorChain(factorChainT2)+"\n");
console.log("isArrayFactorChain([2, 4, 8, 16, NaN]) should be: false");
console.log("Result: "+test.isArrayFactorChain(factorChainT3)+"\n");
console.log("isArrayFactorChain([2, 'four', 8, 16, 32]) should be: Error -1");
console.log("Result: "+test.isArrayFactorChain(factorChainT4)+"\n");
console.log("isArrayFactorChain([2]) should be: Error -1");
console.log("Result: "+test.isArrayFactorChain(factorChainT5)+"\n");
console.log("isArrayFactorChain('notArr') should be: Error -1");
console.log("Result: "+test.isArrayFactorChain(factorChainT6)+"\n");
console.log("-------");
//Testing for countNumberOfArrays
console.log("Testing: countNumberOfArrays\n");
const numArrT1 = [2,8,[6],3,3,5,3,4,[5,4]];
const numArrT2 = [2,8,[6,3,3],[4],5,[3,4,[5,4]]];
const numArrT3 = [2,8,6,3,3,5,3,4,5,4];
console.log("countNumberOfArrays([2,8,[6],3,3,5,3,4,[5,4]]) should be: 2");
console.log("Result: "+test.countNumberOfArrays(numArrT1)+"\n");
console.log("countNumberOfArrays([2,8,[6,3,3],[4],5,[3,4,[5,4]]]) should be: 3");
console.log("Result: "+test.countNumberOfArrays(numArrT2)+"\n");
console.log("countNumberOfArrays([2,8,6,3,3,5,3,4,5,4]) should be: 0");
console.log("Result: "+test.countNumberOfArrays(numArrT3)+"\n");
console.log("countNumberOfArrays([]) should be: 0");
console.log("Result: "+test.countNumberOfArrays([])+"\n");
console.log("countNumberOfArrays('notArr') should be: Error -1");
console.log("Result: "+test.countNumberOfArrays('notArr')+"\n");
console.log("-------");
//Testing for participants
console.log("Testing: participants\n");
const matches = [
{ winner: 'Alice', loser: 'Bob', loser_points: 3 },
{ winner: 'Carol', loser: 'Dean', loser_points: 1 },
{ winner: 'Elise', loser: 'Bob', loser_points: 2 },
{ winner: 'Elise', loser: 'Carol', loser_points: 4 },
{ winner: 'Alice', loser: 'Carol', loser_points: 2 },
{ winner: 'Carol', loser: 'Dean', loser_points: 3 },
{ winner: 'Dean', loser: 'Elise', loser_points: 2 },
]
console.log("List of participants = Alice,Bob,Carol,Dean,Elise");
console.log(test.participants(matches)+"\n");
console.log("List participants passing not an array = Error -1");
console.log(test.participants("notArr")+"\n");
console.log("-------");
//Testing for winnersObject
console.log("Testing: winnersObject\n");
console.log(`Winners Object:
Alice: ['Bob', 'Carol'],
Bob: [],
Carol: ['Dean'],
Dean: ['Elise'],
Elise: ['Bob', 'Carol']`);
console.log(test.winnersObject(matches));
console.log("");
console.log("Winners Object passing not an array = Error -1");
console.log(test.winnersObject("notArr")+"\n");
console.log("-------");
//Testing for biggestLoser
console.log("Testing: biggestLoser\n");
console.log("Biggest Loser is Bob");
console.log(test.biggestLoser(matches)+"\n");
console.log("Biggest Loser passing not an array = Error -1");
console.log(test.biggestLoser("notArr")+"\n");
console.log("-------");