From 914803dd48ad00f4dee8b7d88412e0a5606ac718 Mon Sep 17 00:00:00 2001 From: Reshmi Date: Sat, 19 Oct 2019 14:55:43 +0530 Subject: [PATCH 1/2] Add Unit Test For - Trie search string #106 --- src/_DataStructures_/Trees/Trie/Trie.test.js | 46 ++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/_DataStructures_/Trees/Trie/Trie.test.js diff --git a/src/_DataStructures_/Trees/Trie/Trie.test.js b/src/_DataStructures_/Trees/Trie/Trie.test.js new file mode 100644 index 00000000..3585783b --- /dev/null +++ b/src/_DataStructures_/Trees/Trie/Trie.test.js @@ -0,0 +1,46 @@ +const Trie = require('./index'); + +describe('Data Structure : Trie', () => { + it('Should be class', () => { + expect(typeof Trie.prototype.constructor).toEqual('function'); + }); + + describe('Trie', () => { + let newTrie; + beforeEach(() => { + newTrie = new Trie(); + }); + + it('Should return false when search is called without a key', () => { + const result = newTrie.search(); + expect(result).toEqual(false); + }); + + it('Should return false when insert is called without a key', () => { + const result = newTrie.insert(); + expect(result).toEqual(false); + }); + + it('Should return false when search is called without a key', () => { + const result = newTrie.search(); + expect(result).toEqual(false); + }); + + it('Should return false when searched for a key which is not yet added', () => { + const result = newTrie.search('abc'); + expect(result).toEqual(false); + }); + + it('Should return true when searched for a key which present in trie', () => { + const value = 'abc'; + newTrie.insert(value); + const result = newTrie.search(value); + expect(result).toEqual(true); + }); + + it('Should return the index of the Character', () => { + const result = newTrie.getIndexOfChar('a'); + expect(result).toEqual(0); + }); + }); +}); From 7d0fa877fc7a237a213e090ad4cb1474637130d3 Mon Sep 17 00:00:00 2001 From: Reshmi Date: Sat, 19 Oct 2019 20:50:04 +0530 Subject: [PATCH 2/2] Add some more Test For - Trie search string #106 --- src/_DataStructures_/Trees/Trie/Trie.test.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/_DataStructures_/Trees/Trie/Trie.test.js b/src/_DataStructures_/Trees/Trie/Trie.test.js index 3585783b..c42b0ff9 100644 --- a/src/_DataStructures_/Trees/Trie/Trie.test.js +++ b/src/_DataStructures_/Trees/Trie/Trie.test.js @@ -21,6 +21,13 @@ describe('Data Structure : Trie', () => { expect(result).toEqual(false); }); + it('Should return true when insert is called with a key', () => { + const result = newTrie.insert('dflkghik'); + const newResult = newTrie.insert('Lorem Ipsum'); + expect(result).toEqual(true); + expect(newResult).toEqual(true); + }); + it('Should return false when search is called without a key', () => { const result = newTrie.search(); expect(result).toEqual(false); @@ -34,13 +41,21 @@ describe('Data Structure : Trie', () => { it('Should return true when searched for a key which present in trie', () => { const value = 'abc'; newTrie.insert(value); + newTrie.insert('dflkghik'); + newTrie.insert('Lorem Ipsum'); const result = newTrie.search(value); + const newResult = newTrie.search('dflkghik'); + const loremIpsumResult = newTrie.search('Lorem Ipsum'); expect(result).toEqual(true); + expect(newResult).toEqual(true); + expect(loremIpsumResult).toEqual(true); }); it('Should return the index of the Character', () => { const result = newTrie.getIndexOfChar('a'); + const newResult = newTrie.getIndexOfChar('A'); expect(result).toEqual(0); + expect(newResult).toEqual(-32); }); }); });