mirror of
https://github.com/multipleof4/lynchmark.git
synced 2026-01-14 08:37:56 +00:00
Revert: Update test.js
This commit is contained in:
@@ -5,19 +5,17 @@ export default {
|
|||||||
// - You MUST use dynamic import() to load one or more libraries from a CDN for CSV parsing and data manipulation.
|
// - You MUST use dynamic import() to load one or more libraries from a CDN for CSV parsing and data manipulation.
|
||||||
// - Parse the CSV, filter rows where filterColumn equals filterValue, group by groupBy column, and perform the specified aggregation.
|
// - Parse the CSV, filter rows where filterColumn equals filterValue, group by groupBy column, and perform the specified aggregation.
|
||||||
// - Return an array of objects with the groupBy value and the aggregated result, e.g. [{ department: 'Engineering', result: 90000 }].`,
|
// - Return an array of objects with the groupBy value and the aggregated result, e.g. [{ department: 'Engineering', result: 90000 }].`,
|
||||||
getTestCases: () => {
|
|
||||||
const csv = `name,department,salary\nAlice,Engineering,90000\nBob,Engineering,85000\nCharlie,Sales,70000\nDiana,Engineering,95000\nEve,Sales,72000`;
|
|
||||||
const config = { filterColumn: 'department', filterValue: 'Engineering', groupBy: 'department', aggregateColumn: 'salary', operation: 'avg' };
|
|
||||||
return [csv, config];
|
|
||||||
},
|
|
||||||
runTest: async (processCSV) => {
|
runTest: async (processCSV) => {
|
||||||
const assert = {
|
const assert = {
|
||||||
deepStrictEqual: (a, e, m) => { if (JSON.stringify(a) !== JSON.stringify(e)) throw new Error(m) },
|
deepStrictEqual: (a, e, m) => { if (JSON.stringify(a) !== JSON.stringify(e)) throw new Error(m) },
|
||||||
};
|
};
|
||||||
const [csv, config] = globalThis.getTestCases ? globalThis.getTestCases() : this.getTestCases();
|
const csv = `name,department,salary\nAlice,Engineering,90000\nBob,Engineering,85000\nCharlie,Sales,70000\nDiana,Engineering,95000\nEve,Sales,72000`;
|
||||||
|
const config = { filterColumn: 'department', filterValue: 'Engineering', groupBy: 'department', aggregateColumn: 'salary', operation: 'avg' };
|
||||||
const result = await processCSV(csv, config);
|
const result = await processCSV(csv, config);
|
||||||
const res = result[0] || {};
|
const res = result[0] || {};
|
||||||
const val = res.result ?? res.avg ?? res.value;
|
const val = res.result ?? res.avg ?? res.value;
|
||||||
assert.deepStrictEqual([{ department: res.department, value: val }], [{ department: 'Engineering', value: 90000 }], 'Test Failed: Aggregation incorrect.');
|
assert.deepStrictEqual([{ department: res.department, value: val }], [{ department: 'Engineering', value: 90000 }], 'Test Failed: Aggregation incorrect.');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user