From f239684a661915e976c6c8241e377585655b0f03 Mon Sep 17 00:00:00 2001 From: Manraj Singh Grover Date: Sat, 11 Nov 2017 11:14:19 +0530 Subject: [PATCH] Test Modular Inverse: Adds tests for Fermet's Modular inverse --- test/algorithms/math/testModularInverse.js | 29 ++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/test/algorithms/math/testModularInverse.js b/test/algorithms/math/testModularInverse.js index f9be494a..857f433a 100644 --- a/test/algorithms/math/testModularInverse.js +++ b/test/algorithms/math/testModularInverse.js @@ -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); + }); +});