assertthat
Version:
assertthat provides fluent TDD.
23 lines (22 loc) • 995 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.compareFunctions = void 0;
const compareStrings_1 = require("../forStrings/compareStrings");
const costs_1 = require("../../constants/costs");
const EqualDiff_1 = require("../../diffs/EqualDiff");
const FunctionDiff_1 = require("../../diffs/forFunctions/FunctionDiff");
const compareFunctions = function (actual, expected) {
const actualStringRepresentation = actual.toString();
const expectedStringRepresentation = expected.toString();
const stringRepresentationDiff = (0, compareStrings_1.compareStrings)(actualStringRepresentation, expectedStringRepresentation);
if ((0, EqualDiff_1.isEqualDiff)(stringRepresentationDiff)) {
return (0, EqualDiff_1.equalDiff)({
value: actual
});
}
return (0, FunctionDiff_1.functionDiff)({
cost: costs_1.unequalFunctionCost,
stringRepresentationDiff
});
};
exports.compareFunctions = compareFunctions;