JSFiddle - React, Tailwind, and code Playground
by Fagner Brack
HTML
<script src="https://code.jquery.com/qunit/qunit-2.6.2.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.6.2.css">
<div id="qunit"></div>
JavaScript
function strictEqual({ expected, actual }, assert) {
assert.strictEqual(actual, expected);
}
const interestToPayForCents = (loanAmountInCents) => {
const centsForDollar = (dollarAmount) => {
return dollarAmount * 100;
};
if (loanAmountInCents <= centsForDollar(2000)) {
return 0;
}
/* if (loanAmountInCents <= loanAmountInCents - centsForDollar(2001)) {
const endOfFirstCheckpoint = 2000;
const resultForOverflownCents = {};
for (let i = 0; i <= 5001 - 2001= 3000; i += 1) {
resultForOverflownCents[i] = 9 * i;
}
for (let overflownAmount in resultForOverflownCents) {
if (loanAmountInCents === centsForDollar(endOfFirstCheckpoint + Number(overflownAmount))) {
return resultForOverflownCents[overflownAmount];
}
}
} */
if (loanAmountInCents <= Infinity) {
return ((loanAmountInCents / 100) - 2000) * 9;
}
};
QUnit.module('No Interest', () => {
QUnit.test("$0 Loan Amount", function (assert) {
const interestToPay = interestToPayForCents(0 /*loanAmount*/);
strictEqual({ expected: 0, actual: interestToPay }, assert);
});
QUnit.test("$1 Loan Amount", function (assert) {
const interestToPay = interestToPayForCents(100 /*loanAmount*/);
strictEqual({ expected: 0, actual: interestToPay }, assert);
});
QUnit.test("$2 Loan Amount", function (assert) {
const interestToPay = interestToPayForCents(200 /*loanAmount*/);
strictEqual({ expected: 0, actual: interestToPay }, assert);
});
});
const centsForDollar = (dollarAmount) => {
return dollarAmount * 100;
};
QUnit.test("$2001 Loan Amount", function (assert) {
const interestToPay = interestToPayForCents(centsForDollar(2001) /*loanAmount*/);
strictEqual({ expected: 9, actual: interestToPay }, assert);
});
QUnit.test("$2002 Loan Amount", function (assert) {
const interestToPay = interestToPayForCents(centsForDollar(2002) /*loanAmount*/);
strictEqual({ expected: 9 * 2, actual: interestToPay },...