Skip to content

Commit

Permalink
Test Modular Inverse: Adds tests for Fermet's Modular inverse
Browse files Browse the repository at this point in the history
  • Loading branch information
manrajgrover committed Nov 11, 2017
1 parent 38fbcca commit f239684
Showing 1 changed file with 27 additions and 2 deletions.
29 changes: 27 additions & 2 deletions test/algorithms/math/testModularInverse.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,31 @@
/* eslint-env mocha */
const modularInverse = require('../../../src').algorithms.math.modularInverse;
const modularInverse = require('../../../src').algorithms.math.modularInverse.modularInverse;
const fermetModularInverse = require('../../../src').algorithms.math.modularInverse.fermetModularInverse;

const assert = require('assert');

describe('Modular Inverse', () => { });
describe('Modular Inverse', () => {
it('should return `null` for either or both numbers as 0', () => {
assert.equal(modularInverse(0, 10), null);
assert.equal(modularInverse(10, 0), null);
assert.equal(modularInverse(0, 0), null);
});

it('should return modular inverse of two numbers', () => {
assert.equal(modularInverse(3, 11), 4);
assert.equal(modularInverse(65, 11), 10);
assert.equal(modularInverse(3, 2), 1);
});

it('should return `null` for either or both numbers as 0', () => {
assert.equal(fermetModularInverse(0, 10), null);
assert.equal(fermetModularInverse(10, 0), null);
assert.equal(fermetModularInverse(0, 0), null);
});

it('should return modular inverse of two numbers', () => {
assert.equal(fermetModularInverse(3, 11), 4);
assert.equal(fermetModularInverse(65, 11), 10);
assert.equal(fermetModularInverse(3, 2), 1);
});
});

0 comments on commit f239684

Please sign in to comment.