JSFiddle - React, Tailwind, and code Playground
by tomprogramming
HTML
<div class="tests">
</div>
CSS
.pass {
background-color: #88cc88;
color: #446644;
}
.fail {
background-color : #ff8888;
color:#662222;
}
JavaScript
var roundToEven = function(number) {
var parts = {
digit: Math.floor(number),
decimal: number - Math.floor(number)
};
var rval = number;
if (parts.decimal === .5){
rval = parts.digit % 2 === 0 ? parts.digit : parts.digit + 1;
}else if (parts.decimal > .5){
rval = parts.digit + 1;
}else {
rval = parts.digit;
}
return rval;
};
(function(){
var tests = $(".tests");
var test = function(expected, actual, message){
message = message || "expected '" + expected + "' but was '" + actual + "'";
if (expected === actual){
tests.append('<div class="pass">Test passed (' + message + ')</div>')
}else{
tests.append('<div class="fail">' + message + '</div>');
}
} ;
test(roundToEven(1.5), 2);
test(roundToEven(2.5), 2);
test(roundToEven(1.4), 1);
test(roundToEven(1.6), 2);
test(roundToEven(-1.6), -2);
test(roundToEven(-1.4), -1);
test(roundToEven(-1.5), -2);
test(roundToEven(-2.5), -2);
})();