assertthat
Version:
assertthat provides fluent TDD.
33 lines (27 loc) • 785 B
text/typescript
import { compareStrings } from '../forStrings/compareStrings';
import { unequalSymbolCost } from '../../constants/costs';
import { equalDiff, EqualDiff, isEqualDiff } from '../../diffs/EqualDiff';
import { symbolDiff, SymbolDiff } from '../../diffs/forSymbols/SymbolDiff';
const compareSymbols = function (
actual: symbol,
expected: symbol
): SymbolDiff | EqualDiff {
const actualDescription = actual.description ?? '';
const expectedDescription = expected.description ?? '';
const descriptionDiff = compareStrings(
actualDescription,
expectedDescription
);
if (isEqualDiff(descriptionDiff)) {
return equalDiff({
value: actual
});
}
return symbolDiff({
cost: unequalSymbolCost,
descriptionDiff
});
};
export {
compareSymbols
};