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);
})();