Last active
October 28, 2020 12:52
-
-
Save ddbeck/324b3989ba498da4e6d02c5353e89ad4 to your computer and use it in GitHub Desktop.
test cases for isVersionAddedGreater(a, b)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const assert = require('assert'); | |
const compareVersions = require('compare-versions'); | |
function isVersionAddedGreater(a, b) { | |
var a_version_added = a; | |
var b_version_added = b; | |
if ( | |
typeof a_version_added === 'string' && | |
typeof b_version_added === 'string' | |
) { | |
if (b_version_added.startsWith('≤')) { | |
return false; | |
} | |
return compareVersions.compare( | |
a_version_added.replace('≤', ''), | |
b_version_added, | |
'<', | |
); | |
} | |
return false; | |
} | |
describe('isVersionAddedGreater', function() { | |
it('fixed versions compare as numbers', function() { | |
assert.strictEqual(isVersionAddedGreater('2', '9'), true); | |
assert.strictEqual(isVersionAddedGreater('9', '2'), false); | |
assert.strictEqual(isVersionAddedGreater('0', '2'), true); | |
assert.strictEqual(isVersionAddedGreater('2', '0'), false); | |
assert.strictEqual(isVersionAddedGreater('0', '0'), false); | |
}); | |
it('fixed versions compare to ranged versions', () => { | |
assert.strictEqual(isVersionAddedGreater('2', '≤9'), false); // meaning, [2 is less than any value 0 to 9, inclusive] => false | |
assert.strictEqual(isVersionAddedGreater('≤2', '9'), true); // meaning, [any value 0 to 2, inclusive, is less than 9] => true | |
}); | |
it('ranged versions compare to ranged versions', () => { | |
assert.strictEqual(isVersionAddedGreater('≤2', '≤9'), false); // meaning, [every value 0-2 is less than every value 0-9] => false (because 0 < 0 is false and is always a consequence of comparing two ranged versions) | |
}); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment