Files
Deep-Package-Inspection/test/test-data-size-format.js
T

36 lines
1.1 KiB
JavaScript

// test/test-data-size-format.js
const assert = require('assert');
function formatDataSize(sizeMB) {
let displaySize = "";
if (sizeMB >= 1024 * 1024) {
displaySize = `${(sizeMB / (1024 * 1024)).toFixed(2)} TB`;
} else if (sizeMB >= 1024) {
displaySize = `${(sizeMB / 1024).toFixed(2)} GB`;
} else {
displaySize = `${sizeMB.toFixed(2)} MB`;
}
return displaySize;
}
try {
// Test case 1: Less than 1024 MB
assert.strictEqual(formatDataSize(0.38), "0.38 MB");
assert.strictEqual(formatDataSize(95.68), "95.68 MB");
assert.strictEqual(formatDataSize(999.99), "999.99 MB");
// Test case 2: Over 1024 MB (GB)
assert.strictEqual(formatDataSize(1024), "1.00 GB");
assert.strictEqual(formatDataSize(1536), "1.50 GB");
assert.strictEqual(formatDataSize(7654.67), "7.48 GB");
// Test case 3: Over 1024 * 1024 MB (TB)
assert.strictEqual(formatDataSize(1048576), "1.00 TB");
assert.strictEqual(formatDataSize(1572864), "1.50 TB");
console.log("✓ All Data Size formatting unit tests passed successfully!");
} catch (err) {
console.error("✗ Unit tests failed:", err.message);
process.exit(1);
}