diff --git a/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-bubble-sort.english.md b/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-bubble-sort.english.md
index 80ba059798..3ba8ea0a7f 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-bubble-sort.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-bubble-sort.english.md
@@ -24,11 +24,11 @@ This method requires multiple iterations through the array and for average and w
```yml
tests:
- - text: bubbleSort
is a function.
+ - text: bubbleSort
should be a function.
testString: assert(typeof bubbleSort == 'function');
- - text: bubbleSort
returns a sorted array (least to greatest).
+ - text: bubbleSort
should return a sorted array (least to greatest).
testString: assert(isSorted(bubbleSort([1,4,2,8,345,123,43,32,5643,63,123,43,2,55,1,234,92])));
- - text: bubbleSort
returns an array that is unchanged except for order.
+ - text: bubbleSort
should return an array that is unchanged except for order.
testString: assert.sameMembers(bubbleSort([1,4,2,8,345,123,43,32,5643,63,123,43,2,55,1,234,92]), [1,4,2,8,345,123,43,32,5643,63,123,43,2,55,1,234,92]);
- text: bubbleSort
should not use the built-in .sort()
method.
testString: assert.strictEqual(code.search(/\.sort\(/), -1);
diff --git a/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-insertion-sort.english.md b/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-insertion-sort.english.md
index f8ea0dfb20..004af42355 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-insertion-sort.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-insertion-sort.english.md
@@ -22,11 +22,11 @@ The next sorting method we'll look at is insertion sort. This method works by bu
```yml
tests:
- - text: insertionSort
is a function.
+ - text: insertionSort
should be a function.
testString: assert(typeof insertionSort == 'function');
- - text: insertionSort
returns a sorted array (least to greatest).
+ - text: insertionSort
should return a sorted array (least to greatest).
testString: assert(isSorted(insertionSort([1,4,2,8,345,123,43,32,5643,63,123,43,2,55,1,234,92])));
- - text: insertionSort
returns an array that is unchanged except for order.
+ - text: insertionSort
should return an array that is unchanged except for order.
testString: assert.sameMembers(insertionSort([1,4,2,8,345,123,43,32,5643,63,123,43,2,55,1,234,92]), [1,4,2,8,345,123,43,32,5643,63,123,43,2,55,1,234,92]);
- text: insertionSort
should not use the built-in .sort()
method.
testString: assert.strictEqual(code.search(/\.sort\(/), -1);
diff --git a/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-merge-sort.english.md b/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-merge-sort.english.md
index 7b48ee83e1..8fd7f7a0be 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-merge-sort.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-merge-sort.english.md
@@ -26,11 +26,11 @@ As an aside, this will be the last sorting algorithm we cover here. However, lat
```yml
tests:
- - text: mergeSort
is a function.
+ - text: mergeSort
should be a function.
testString: assert(typeof mergeSort == 'function');
- - text: mergeSort
returns a sorted array (least to greatest).
+ - text: mergeSort
should return a sorted array (least to greatest).
testString: assert(isSorted(mergeSort([1,4,2,8,345,123,43,32,5643,63,123,43,2,55,1,234,92])));
- - text: mergeSort
returns an array that is unchanged except for order.
+ - text: mergeSort
should return an array that is unchanged except for order.
testString: assert.sameMembers(mergeSort([1,4,2,8,345,123,43,32,5643,63,123,43,2,55,1,234,92]), [1,4,2,8,345,123,43,32,5643,63,123,43,2,55,1,234,92]);
- text: mergeSort
should not use the built-in .sort()
method.
testString: assert.strictEqual(code.search(/\.sort\(/), -1);
diff --git a/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-quick-sort.english.md b/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-quick-sort.english.md
index 36ed3fa3cd..23b8a30104 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-quick-sort.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-quick-sort.english.md
@@ -23,11 +23,11 @@ Quick sort is a very efficient sorting method, providing O(nlog(n)) perfo
```yml
tests:
- - text: quickSort
is a function.
+ - text: quickSort
should be a function.
testString: assert(typeof quickSort == 'function');
- - text: quickSort
returns a sorted array (least to greatest).
+ - text: quickSort
should return a sorted array (least to greatest).
testString: assert(isSorted(quickSort([1,4,2,8,345,123,43,32,5643,63,123,43,2,55,1,234,92])));
- - text: quickSort
returns an array that is unchanged except for order.
+ - text: quickSort
should return an array that is unchanged except for order.
testString: assert.sameMembers(quickSort([1,4,2,8,345,123,43,32,5643,63,123,43,2,55,1,234,92]), [1,4,2,8,345,123,43,32,5643,63,123,43,2,55,1,234,92]);
- text: quickSort
should not use the built-in .sort()
method.
testString: assert.strictEqual(code.search(/\.sort\(/), -1);
diff --git a/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-selection-sort.english.md b/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-selection-sort.english.md
index e7312cbdd1..773f93ff70 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-selection-sort.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/algorithms/implement-selection-sort.english.md
@@ -22,11 +22,11 @@ Here we will implement selection sort. Selection sort works by selecting the min
```yml
tests:
- - text: selectionSort
is a function.
+ - text: selectionSort
should be a function.
testString: assert(typeof selectionSort == 'function');
- - text: selectionSort
returns a sorted array (least to greatest).
+ - text: selectionSort
should return a sorted array (least to greatest).
testString: assert(isSorted(selectionSort([1,4,2,8,345,123,43,32,5643,63,123,43,2,55,1,234,92])));
- - text: selectionSort
returns an array that is unchanged except for order.
+ - text: selectionSort
should return an array that is unchanged except for order.
testString: assert.sameMembers(selectionSort([1,4,2,8,345,123,43,32,5643,63,123,43,2,55,1,234,92]), [1,4,2,8,345,123,43,32,5643,63,123,43,2,55,1,234,92]);
- text: selectionSort
should not use the built-in .sort()
method.
testString: assert.strictEqual(code.search(/\.sort\(/), -1);
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/add-a-new-element-to-a-binary-search-tree.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/add-a-new-element-to-a-binary-search-tree.english.md
index ee1e250692..3c284c5db4 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/add-a-new-element-to-a-binary-search-tree.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/add-a-new-element-to-a-binary-search-tree.english.md
@@ -23,13 +23,13 @@ Hint: trees are naturally recursive data structures!
```yml
tests:
- - text: The BinarySearchTree
data structure exists.
+ - text: The BinarySearchTree
data structure should exist.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() }; return (typeof test == 'object')})());
- - text: The binary search tree has a method called add
.
+ - text: The binary search tree should have a method called add
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; return (typeof test.add == 'function')})());
- - text: The add method adds elements according to the binary search tree rules.
+ - text: The add method should add elements according to the binary search tree rules.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.add !== 'function') { return false; }; test.add(4); test.add(1); test.add(7); test.add(87); test.add(34); test.add(45); test.add(73); test.add(8); const expectedResult = [ 1, 4, 7, 8, 34, 45, 73, 87 ]; const result = test.inOrder(); return (expectedResult.toString() === result.toString()); })());
- - text: Adding an element that already exists returns null
+ - text: Adding an element that already exists should return null
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.add !== 'function') { return false; }; test.add(4); return test.add(4) == null; })());
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/check-if-an-element-is-present-in-a-binary-search-tree.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/check-if-an-element-is-present-in-a-binary-search-tree.english.md
index 7d040808af..13315c5f2a 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/check-if-an-element-is-present-in-a-binary-search-tree.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/check-if-an-element-is-present-in-a-binary-search-tree.english.md
@@ -23,13 +23,13 @@ In this challenge, we will create a utility for our tree. Write a method i
```yml
tests:
- - text: The BinarySearchTree
data structure exists.
+ - text: The BinarySearchTree
data structure should exist.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() }; return (typeof test == 'object')})());
- - text: The binary search tree has a method called isPresent
.
+ - text: The binary search tree should have a method called isPresent
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; return (typeof test.isPresent == 'function')})());
- - text: The isPresent
method correctly checks for the presence or absence of elements added to the tree.
+ - text: The isPresent
method should correctly check for the presence or absence of elements added to the tree.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.isPresent !== 'function') { return false; }; test.add(4); test.add(7); test.add(411); test.add(452); return ( test.isPresent(452) && test.isPresent(411) && test.isPresent(7) && !test.isPresent(100) ); })());
- - text: isPresent
handles cases where the tree is empty.
+ - text: isPresent
should handle cases where the tree is empty.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.isPresent !== 'function') { return false; }; return test.isPresent(5) == false; })());
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-circular-queue.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-circular-queue.english.md
index ee51e4e624..1aa5bf4f47 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-circular-queue.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-circular-queue.english.md
@@ -57,15 +57,15 @@ In addition, the `enqueue` method should return the item you enqueued if it is s
```yml
tests:
- - text: The enqueue
method adds items to the circular queue.
+ - text: The enqueue
method should add items to the circular queue.
testString: assert((function(){ var test = new CircularQueue(3); test.enqueue(17); test.enqueue(32); test.enqueue(591); var print = test.print(); return print[0] === 17 && print[1] === 32 && print[2] === 591; })());
- - text: You cannot enqueue items past the read pointer.
+ - text: You should not enqueue items past the read pointer.
testString: assert((function(){ var test = new CircularQueue(3); test.enqueue(17); test.enqueue(32); test.enqueue(591); test.enqueue(13); test.enqueue(25); test.enqueue(59); var print = test.print(); return print[0] === 17 && print[1] === 32 && print[2] === 591; })());
- - text: The dequeue
method dequeues items from the queue.
+ - text: The dequeue
method should dequeue items from the queue.
testString: assert((function(){ var test = new CircularQueue(3); test.enqueue(17); test.enqueue(32); test.enqueue(591); return test.dequeue() === 17 && test.dequeue() === 32 && test.dequeue() === 591; })());
- - text: After an item is dequeued its position in the queue should be reset to null
.
+ - text: After an item is dequeued, its position in the queue should be reset to null
.
testString: assert((function(){ var test = new CircularQueue(3); test.enqueue(17); test.enqueue(32); test.enqueue(672); test.dequeue(); test.dequeue(); var print = test.print(); return print[0] === null && print[1] === null && print[2] === 672; })());
- - text: Trying to dequeue past the write pointer returns null
and does not advance the write pointer.
+ - text: Trying to dequeue past the write pointer should return null
and does not advance the write pointer.
testString: assert((function(){ var test = new CircularQueue(3); test.enqueue(17); test.enqueue(32); test.enqueue(591); return test.dequeue() === 17 && test.dequeue() === 32 && test.dequeue() === 591 && test.dequeue() === null && test.dequeue() === null && test.dequeue() === null && test.dequeue() === null && test.enqueue(100) === 100 && test.dequeue() === 100; })());
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-doubly-linked-list.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-doubly-linked-list.english.md
index 7a5801d1c9..15813dfc2f 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-doubly-linked-list.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-doubly-linked-list.english.md
@@ -22,21 +22,21 @@ Be careful to handle any possible edge cases when writing these methods, such as
```yml
tests:
- - text: The DoublyLinkedList data structure exists.
+ - text: The DoublyLinkedList data structure should exist.
testString: assert((function() { var test = false; if (typeof DoublyLinkedList !== 'undefined') { test = new DoublyLinkedList() }; return (typeof test == 'object')})());
- - text: The DoublyLinkedList has a method called add.
+ - text: The DoublyLinkedList should have a method called add.
testString: assert((function() { var test = false; if (typeof DoublyLinkedList !== 'undefined') { test = new DoublyLinkedList() }; if (test.add == undefined) { return false; }; return (typeof test.add == 'function')})());
- - text: The DoublyLinkedList has a method called remove.
+ - text: The DoublyLinkedList should have a method called remove.
testString: assert((function() { var test = false; if (typeof DoublyLinkedList !== 'undefined') { test = new DoublyLinkedList() }; if (test.remove == undefined) { return false; }; return (typeof test.remove == 'function')})());
- - text: Removing an item from an empty list returns null.
+ - text: Removing an item from an empty list should return null.
testString: assert((function() { var test = false; if (typeof DoublyLinkedList !== 'undefined') { test = new DoublyLinkedList() }; return (test.remove(100) == null); })());
- - text: The add method adds items to the list.
+ - text: The add method should add items to the list.
testString: assert((function() { var test = false; if (typeof DoublyLinkedList !== 'undefined') { test = new DoublyLinkedList() }; test.add(5); test.add(6); test.add(723); return (test.print().join('') == '56723'); })());
- - text: Each node keeps track of the previous node.
+ - text: Each node should keep track of the previous node.
testString: assert((function() { var test = false; if (typeof DoublyLinkedList !== 'undefined') { test = new DoublyLinkedList() }; test.add(50); test.add(68); test.add(73); return (test.printReverse().join('') == '736850'); })());
- - text: The first item can be removed from the list.
+ - text: The first item should be removable from the list.
testString: assert((function() { var test = false; if (typeof DoublyLinkedList !== 'undefined') { test = new DoublyLinkedList() }; test.add(25); test.add(35); test.add(60); test.remove(25); return ( test.print().join('') == '3560' ) })());
- - text: The last item can be removed from the list.
+ - text: The last item should be removable from the list.
testString: assert((function() { var test = false; if (typeof DoublyLinkedList !== 'undefined') { test = new DoublyLinkedList() }; test.add(25); test.add(35); test.add(60); test.remove(60); return ( test.print().join('') == '2535' ) })());
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-hash-table.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-hash-table.english.md
index 82b19f77a9..fa70b5359d 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-hash-table.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-hash-table.english.md
@@ -23,21 +23,21 @@ Be sure to write your code to account for collisions!
```yml
tests:
- - text: The HashTable data structure exists.
+ - text: The HashTable data structure should exist.
testString: assert((function() { var test = false; if (typeof HashTable !== 'undefined') { test = new HashTable() }; return (typeof test === 'object')})());
- - text: The HashTable has an add method.
+ - text: The HashTable should have an add method.
testString: assert((function() { var test = false; if (typeof HashTable !== 'undefined') { test = new HashTable() }; return ((typeof test.add) === 'function')})());
- - text: The HashTable has an remove method.
+ - text: The HashTable should have a remove method.
testString: assert((function() { var test = false; if (typeof HashTable !== 'undefined') { test = new HashTable() }; return ((typeof test.remove) === 'function')})());
- - text: The HashTable has an lookup method.
+ - text: The HashTable should have a lookup method.
testString: assert((function() { var test = false; if (typeof HashTable !== 'undefined') { test = new HashTable() }; return ((typeof test.lookup) === 'function')})());
- - text: The add method adds key value pairs and the lookup method returns the values associated with a given key.
+ - text: The add method should add key value pairs and the lookup method should return the values associated with a given key.
testString: assert((function() { var test = false; if (typeof HashTable !== 'undefined') { test = new HashTable() }; test.add('key', 'value'); return (test.lookup('key') === 'value')})());
- - text: The remove method accepts a key as input and removes the associated key value pair.
+ - text: The remove method should accept a key as input and should remove the associated key value pair.
testString: assert((function() { var test = false; if (typeof HashTable !== 'undefined') { test = new HashTable() }; test.add('key', 'value'); test.remove('key'); return (test.lookup('key') === null)})());
- - text: Items are added using the hash function.
+ - text: Items should be added using the hash function.
testString: assert((function() { var test = false; if (typeof HashTable !== 'undefined') { test = new HashTable() }; called = 0; test.add('key1','value1'); test.add('key2','value2'); test.add('key3','value3'); return (called === 3)})());
- - text: The hash table handles collisions.
+ - text: The hash table should handle collisions.
testString: assert((function() { var test = false; if (typeof HashTable !== 'undefined') { test = new HashTable() }; called = 0; test.add('key1','value1'); test.add('1key','value2'); test.add('ke1y','value3'); return (test.lookup('key1') === 'value1' && test.lookup('1key') == 'value2' && test.lookup('ke1y') == 'value3')})());
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-map-data-structure.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-map-data-structure.english.md
index d4568dd5f1..e0917cf25a 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-map-data-structure.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-map-data-structure.english.md
@@ -32,19 +32,19 @@ Use the Map
object provided here as a wrapper around a JavaScript <
```yml
tests:
- - text: The Map data structure exists.
+ - text: The Map data structure should exist.
testString: assert((function() { var test = false; if (typeof Map !== 'undefined') { test = new Map() }; return (typeof test == 'object')})());
- - text: 'The Map object has the following methods: add, remove, get, has, values, clear, and size.'
+ - text: 'The Map object should have the following methods: add, remove, get, has, values, clear, and size.'
testString: "assert((function() { var test = false; if (typeof Map !== 'undefined') { test = new Map() }; return (typeof test.add == 'function' && typeof test.remove == 'function' && typeof test.get == 'function' && typeof test.has == 'function' && typeof test.values == 'function' && typeof test.clear == 'function' && typeof test.size == 'function')})());"
- - text: The add method adds items to the map.
+ - text: The add method should add items to the map.
testString: assert((function() { var test = false; if (typeof Map !== 'undefined') { test = new Map() }; test.add(5,6); test.add(2,3); test.add(2,5); return (test.size() == 2)})());
- - text: The has method returns true for added items and false for absent items.
+ - text: The has method should return true for added items and false for absent items.
testString: assert((function() { var test = false; if (typeof Map !== 'undefined') { test = new Map() }; test.add('test','value'); return (test.has('test') && !test.has('false'))})());
- - text: The get method accepts keys as input and returns the associated values.
+ - text: The get method should accept keys as input and should return the associated values.
testString: assert((function() { var test = false; if (typeof Map !== 'undefined') { test = new Map() }; test.add('abc','def'); return (test.get('abc') == 'def')})());
- - text: The values method returns all the values stored in the map as strings in an array.
+ - text: The values method should return all the values stored in the map as strings in an array.
testString: assert((function() { var test = false; if (typeof Map !== 'undefined') { test = new Map() }; test.add('a','b'); test.add('c','d'); test.add('e','f'); var vals = test.values(); return (vals.indexOf('b') != -1 && vals.indexOf('d') != -1 && vals.indexOf('f') != -1)})());
- - text: The clear method empties the map and the size method returns the number of items present in the map.
+ - text: The clear method should empty the map and the size method should return the number of items present in the map.
testString: assert((function() { var test = false; if (typeof Map !== 'undefined') { test = new Map() }; test.add('b','b'); test.add('c','d'); test.remove('asdfas'); var init = test.size(); test.clear(); return (init == 2 && test.size() == 0)})());
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-trie-search-tree.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-trie-search-tree.english.md
index e72ce27be1..fad397c0f3 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-trie-search-tree.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-a-trie-search-tree.english.md
@@ -25,15 +25,15 @@ In order for us to verify that this data structure is implemented correctly, we'
```yml
tests:
- - text: The Trie has an add method.
+ - text: The Trie should have an add method.
testString: assert((function testTrie() { var test = false; if (typeof Trie !== 'undefined') { test = new Trie() } else { return false; }; return (typeof test.add == 'function') }()));
- - text: The Trie has a print method.
+ - text: The Trie should have a print method.
testString: assert((function testTrie() { var test = false; if (typeof Trie !== 'undefined') { test = new Trie() } else { return false; }; return (typeof test.print == 'function') }()));
- - text: The Trie has an isWord method.
+ - text: The Trie should have an isWord method.
testString: assert((function testTrie() { var test = false; if (typeof Trie !== 'undefined') { test = new Trie() } else { return false; }; return (typeof test.isWord == 'function') }()));
- - text: The print method returns all items added to the trie as strings in an array.
+ - text: The print method should return all items added to the trie as strings in an array.
testString: assert((function testTrie() { var test = false; if (typeof Trie !== 'undefined') { test = new Trie() } else { return false; }; test.add('jump'); test.add('jumps'); test.add('jumped'); test.add('house'); test.add('mouse'); var added = test.print(); return (added.indexOf('jump') != -1 && added.indexOf('jumps') != -1 && added.indexOf('jumped') != -1 && added.indexOf('house') != -1 && added.indexOf('mouse') != -1 && added.length == 5); }()));
- - text: The isWord method returns true only for words added to the trie and false for all other words.
+ - text: The isWord method should return true only for words added to the trie and false for all other words.
testString: assert((function testTrie() { var test = false; if (typeof Trie !== 'undefined') { test = new Trie() } else { return false; }; test.add('hop'); test.add('hops'); test.add('hopped'); test.add('hoppy'); test.add('hope'); return (test.isWord('hop') && !test.isWord('ho') && test.isWord('hopped') && !test.isWord('hopp') && test.isWord('hoppy') && !test.isWord('hoping')); }()));
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-an-es6-javascript-map.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-an-es6-javascript-map.english.md
index 69fc76aa4d..675d4fb198 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-an-es6-javascript-map.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/create-an-es6-javascript-map.english.md
@@ -29,9 +29,9 @@ Define a JavaScript Map object and assign to it a variable called myMap. Add the
```yml
tests:
- - text: The myMap object exists.
+ - text: The myMap object should exist.
testString: assert(typeof myMap === 'object');
- - text: myMap contains the key value pair freeCodeCamp
, Awesome!
.
+ - text: myMap should contain the key value pair freeCodeCamp
, Awesome!
.
testString: assert(myMap.get('freeCodeCamp') === 'Awesome!');
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/delete-a-leaf-node-in-a-binary-search-tree.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/delete-a-leaf-node-in-a-binary-search-tree.english.md
index 832b56f682..5f1288a3bb 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/delete-a-leaf-node-in-a-binary-search-tree.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/delete-a-leaf-node-in-a-binary-search-tree.english.md
@@ -29,15 +29,15 @@ We will handle the second and third cases in the next challenges. Good luck!
```yml
tests:
- - text: The BinarySearchTree
data structure exists.
+ - text: The BinarySearchTree
data structure should exist.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() }; return (typeof test == 'object')})());
- - text: The binary search tree has a method called remove
.
+ - text: The binary search tree should have a method called remove
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; return (typeof test.remove == 'function')})());
- - text: Trying to remove an element that does not exist returns null
.
+ - text: Trying to remove an element that does not exist should return null
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.remove !== 'function') { return false; }; return (test.remove(100) == null); })());
- - text: If the root node has no children, deleting it sets the root to null
.
+ - text: If the root node has no children, deleting it should set the root to null
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.remove !== 'function') { return false; }; test.add(500); test.remove(500); return (test.inorder() == null); })());
- - text: The remove
method removes leaf nodes from the tree
+ - text: The remove
method should remove leaf nodes from the tree.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.remove !== 'function') { return false; }; test.add(5); test.add(3); test.add(7); test.add(6); test.add(10); test.add(12); test.remove(3); test.remove(12); test.remove(10); return (test.inorder().join('') == '567'); })());
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/delete-a-node-with-one-child-in-a-binary-search-tree.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/delete-a-node-with-one-child-in-a-binary-search-tree.english.md
index d7a4f57dae..45fc931b75 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/delete-a-node-with-one-child-in-a-binary-search-tree.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/delete-a-node-with-one-child-in-a-binary-search-tree.english.md
@@ -22,19 +22,19 @@ We've provided some code in our remove
method that accomplishes the
```yml
tests:
- - text: The BinarySearchTree
data structure exists.
+ - text: The BinarySearchTree
data structure should exist.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() }; return (typeof test == 'object')})());
- - text: The binary search tree has a method called remove
.
+ - text: The binary search tree should have a method called remove
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; return (typeof test.remove == 'function')})());
- - text: Trying to remove an element that does not exist returns null
.
+ - text: Trying to remove an element that does not exist should return null
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.remove !== 'function') { return false; }; return (test.remove(100) == null); })());
- - text: If the root node has no children, deleting it sets the root to null
.
+ - text: If the root node has no children, deleting it should set the root to null
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.remove !== 'function') { return false; }; test.add(500); test.remove(500); return (test.inorder() == null); })());
- - text: The remove
method removes leaf nodes from the tree
+ - text: The remove
method should remove leaf nodes from the tree.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.remove !== 'function') { return false; }; test.add(5); test.add(3); test.add(7); test.add(6); test.add(10); test.add(12); test.remove(3); test.remove(12); test.remove(10); return (test.inorder().join('') == '567'); })());
- - text: The remove
method removes nodes with one child.
+ - text: The remove
method should remove nodes with one child.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.remove !== 'function') { return false; }; test.add(-1); test.add(3); test.add(7); test.add(16); test.remove(16); test.remove(7); test.remove(3); return (test.inorder().join('') == '-1'); })());
- - text: Removing the root in a tree with two nodes sets the second to be the root.
+ - text: Removing the root in a tree with two nodes should set the second to be the root.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.remove !== 'function') { return false; }; test.add(15); test.add(27); test.remove(15); return (test.inorder().join('') == '27'); })());
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/delete-a-node-with-two-children-in-a-binary-search-tree.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/delete-a-node-with-two-children-in-a-binary-search-tree.english.md
index 6abafc1c6e..cd6bd7ea81 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/delete-a-node-with-two-children-in-a-binary-search-tree.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/delete-a-node-with-two-children-in-a-binary-search-tree.english.md
@@ -23,23 +23,23 @@ Let's finish our remove
method by handling the third case. We've pr
```yml
tests:
- - text: The BinarySearchTree
data structure exists.
+ - text: The BinarySearchTree
data structure should exist.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() }; return (typeof test == 'object')})());
- - text: The binary search tree has a method called remove
.
+ - text: The binary search tree should have a method called remove
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; return (typeof test.remove == 'function')})());
- - text: Trying to remove an element that does not exist returns null
.
+ - text: Trying to remove an element that does not exist should return null
.
testString: "assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; return (typeof test.remove == 'function') ? (test.remove(100) == null) : false})());"
- - text: If the root node has no children, deleting it sets the root to null
.
+ - text: If the root node has no children, deleting it should set the root to null
.
testString: "assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; test.add(500); test.remove(500); return (typeof test.remove == 'function') ? (test.inorder() == null) : false})());"
- - text: The remove
method removes leaf nodes from the tree
+ - text: The remove
method should remove leaf nodes from the tree.
testString: "assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; test.add(5); test.add(3); test.add(7); test.add(6); test.add(10); test.add(12); test.remove(3); test.remove(12); test.remove(10); return (typeof test.remove == 'function') ? (test.inorder().join('') == '567') : false})());"
- - text: The remove
method removes nodes with one child.
+ - text: The remove
method should remove nodes with one child.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.remove !== 'function') { return false; }; test.add(-1); test.add(3); test.add(7); test.add(16); test.remove(16); test.remove(7); test.remove(3); return (test.inorder().join('') == '-1'); })());
- - text: Removing the root in a tree with two nodes sets the second to be the root.
+ - text: Removing the root in a tree with two nodes should set the second to be the root.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.remove !== 'function') { return false; }; test.add(15); test.add(27); test.remove(15); return (test.inorder().join('') == '27'); })());
- - text: The remove
method removes nodes with two children while maintaining the binary search tree structure.
+ - text: The remove
method should remove nodes with two children while maintaining the binary search tree structure.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.remove !== 'function') { return false; }; test.add(1); test.add(4); test.add(3); test.add(7); test.add(9); test.add(11); test.add(14); test.add(15); test.add(19); test.add(50); test.remove(9); if (!test.isBinarySearchTree()) { return false; }; test.remove(11); if (!test.isBinarySearchTree()) { return false; }; test.remove(14); if (!test.isBinarySearchTree()) { return false; }; test.remove(19); if (!test.isBinarySearchTree()) { return false; }; test.remove(3); if (!test.isBinarySearchTree()) { return false; }; test.remove(50); if (!test.isBinarySearchTree()) { return false; }; test.remove(15); if (!test.isBinarySearchTree()) { return false; }; return (test.inorder().join('') == '147'); })());
- - text: The root can be removed on a tree of three nodes.
+ - text: The root should be removable on a tree of three nodes.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.remove !== 'function') { return false; }; test.add(100); test.add(50); test.add(300); test.remove(100); return (test.inorder().join('') == 50300); })());
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/find-the-minimum-and-maximum-height-of-a-binary-search-tree.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/find-the-minimum-and-maximum-height-of-a-binary-search-tree.english.md
index f948195012..dfe2d6244a 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/find-the-minimum-and-maximum-height-of-a-binary-search-tree.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/find-the-minimum-and-maximum-height-of-a-binary-search-tree.english.md
@@ -22,21 +22,21 @@ Write two methods for our binary tree: findMinHeight
and find
```yml
tests:
- - text: The BinarySearchTree
data structure exists.
+ - text: The BinarySearchTree
data structure should exist.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() }; return (typeof test == 'object')})());
- - text: The binary search tree has a method called findMinHeight
.
+ - text: The binary search tree should have a method called findMinHeight
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; return (typeof test.findMinHeight == 'function')})());
- - text: The binary search tree has a method called findMaxHeight
.
+ - text: The binary search tree should have a method called findMaxHeight
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; return (typeof test.findMaxHeight == 'function')})());
- - text: The binary search tree has a method called isBalanced
.
+ - text: The binary search tree should have a method called isBalanced
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; return (typeof test.isBalanced == 'function')})());
- - text: The findMinHeight
method returns the minimum height of the tree.
+ - text: The findMinHeight
method should return the minimum height of the tree.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.findMinHeight !== 'function') { return false; }; test.add(4); test.add(1); test.add(7); test.add(87); test.add(34); test.add(45); test.add(73); test.add(8); return (test.findMinHeight() == 1); })());
- - text: The findMaxHeight
method returns the maximum height of the tree.
+ - text: The findMaxHeight
method should return the maximum height of the tree.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.findMaxHeight !== 'function') { return false; }; test.add(4); test.add(1); test.add(7); test.add(87); test.add(34); test.add(45); test.add(73); test.add(8); return (test.findMaxHeight() == 5); })());
- - text: An empty tree returns a height of -1
.
+ - text: An empty tree should return a height of -1
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.findMaxHeight !== 'function') { return false; }; return (test.findMaxHeight() == -1); })());
- - text: The isBalanced
method returns true if the tree is a balanced binary search tree.
+ - text: The isBalanced
method should return true if the tree is a balanced binary search tree.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.isBalanced !== 'function') { return false; }; test.add(4); test.add(1); test.add(7); test.add(87); test.add(34); test.add(45); test.add(73); test.add(8); return !test.isBalanced(); })());
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/find-the-minimum-and-maximum-value-in-a-binary-search-tree.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/find-the-minimum-and-maximum-value-in-a-binary-search-tree.english.md
index 85fd468b94..1663e0a50c 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/find-the-minimum-and-maximum-value-in-a-binary-search-tree.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/find-the-minimum-and-maximum-value-in-a-binary-search-tree.english.md
@@ -25,17 +25,17 @@ We'll start simple. We've defined the skeleton of a binary search tree structure
```yml
tests:
- - text: The BinarySearchTree
data structure exists.
+ - text: The BinarySearchTree
data structure should exist.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() }; return (typeof test == 'object')})());
- - text: The binary search tree has a method called findMin
.
+ - text: The binary search tree should have a method called findMin
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; return (typeof test.findMin == 'function')})());
- - text: The binary search tree has a method called findMax
.
+ - text: The binary search tree should have a method called findMax
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; return (typeof test.findMax == 'function')})());
- - text: The findMin
method returns the minimum value in the binary search tree.
+ - text: The findMin
method should return the minimum value in the binary search tree.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.findMin !== 'function') { return false; }; test.add(4); test.add(1); test.add(7); test.add(87); test.add(34); test.add(45); test.add(73); test.add(8); return test.findMin() == 1; })());
- - text: The findMax
method returns the maximum value in the binary search tree.
+ - text: The findMax
method should return the maximum value in the binary search tree.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.findMax !== 'function') { return false; }; test.add(4); test.add(1); test.add(7); test.add(87); test.add(34); test.add(45); test.add(73); test.add(8); return test.findMax() == 87; })());
- - text: The findMin
and findMax
methods return null
for an empty tree.
+ - text: The findMin
and findMax
methods should return null
for an empty tree.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.findMin !== 'function') { return false; }; if (typeof test.findMax !== 'function') { return false; }; return (test.findMin() == null && test.findMax() == null) })());
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/implement-heap-sort-with-a-min-heap.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/implement-heap-sort-with-a-min-heap.english.md
index 0768e6f104..14c6b78a93 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/implement-heap-sort-with-a-min-heap.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/implement-heap-sort-with-a-min-heap.english.md
@@ -21,15 +21,15 @@ Let's implement heap sort with a min heap. Feel free to adapt your max heap code
```yml
tests:
- - text: The MinHeap data structure exists.
+ - text: The MinHeap data structure should exist.
testString: assert((function() { var test = false; if (typeof MinHeap !== 'undefined') { test = new MinHeap() }; return (typeof test == 'object')})());
- - text: MinHeap has a method called insert.
+ - text: MinHeap should have a method called insert.
testString: assert((function() { var test = false; if (typeof MinHeap !== 'undefined') { test = new MinHeap() } else { return false; }; return (typeof test.insert == 'function')})());
- - text: MinHeap has a method called remove.
+ - text: MinHeap should have a method called remove.
testString: assert((function() { var test = false; if (typeof MinHeap !== 'undefined') { test = new MinHeap() } else { return false; }; return (typeof test.remove == 'function')})());
- - text: MinHeap has a method called sort.
+ - text: MinHeap should have a method called sort.
testString: assert((function() { var test = false; if (typeof MinHeap !== 'undefined') { test = new MinHeap() } else { return false; }; return (typeof test.sort == 'function')})());
- - text: The sort method returns an array containing all items added to the min heap in sorted order.
+ - text: The sort method should return an array containing all items added to the min heap in sorted order.
testString: assert((function() { var test = false; if (typeof MinHeap !== 'undefined') { test = new MinHeap() } else { return false; }; test.insert(3); test.insert(12); test.insert(5); test.insert(10); test.insert(1); test.insert(27); test.insert(42); test.insert(57); test.insert(5); var result = test.sort(); return (isSorted(result)); })());
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/insert-an-element-into-a-max-heap.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/insert-an-element-into-a-max-heap.english.md
index 6fcbff0df9..a1f0afdcc8 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/insert-an-element-into-a-max-heap.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/insert-an-element-into-a-max-heap.english.md
@@ -34,13 +34,13 @@ Finally, add a print method which returns an array of all the items that have be
```yml
tests:
- - text: The MaxHeap data structure exists.
+ - text: The MaxHeap data structure should exist.
testString: assert((function() { var test = false; if (typeof MaxHeap !== 'undefined') { test = new MaxHeap() }; return (typeof test == 'object')})());
- - text: MaxHeap has a method called insert.
+ - text: MaxHeap should have a method called insert.
testString: assert((function() { var test = false; if (typeof MaxHeap !== 'undefined') { test = new MaxHeap() } else { return false; }; return (typeof test.insert == 'function')})());
- - text: MaxHeap has a method called print.
+ - text: MaxHeap should have a method called print.
testString: assert((function() { var test = false; if (typeof MaxHeap !== 'undefined') { test = new MaxHeap() } else { return false; }; return (typeof test.print == 'function')})());
- - text: The insert method adds elements according to the max heap property.
+ - text: The insert method should add elements according to the max heap property.
testString: 'assert((function() { var test = false; if (typeof MaxHeap !== ''undefined'') { test = new MaxHeap() } else { return false; }; test.insert(50); test.insert(100); test.insert(700); test.insert(32); test.insert(51); let result = test.print(); return ((result.length == 5) ? result[0] == 700 : result[1] == 700) })());'
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/invert-a-binary-tree.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/invert-a-binary-tree.english.md
index 46a3c8513b..9d3d8f1d30 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/invert-a-binary-tree.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/invert-a-binary-tree.english.md
@@ -20,13 +20,13 @@ Here will we create a function to invert a binary tree. Given a binary tree, we
```yml
tests:
- - text: The BinarySearchTree
data structure exists.
+ - text: The BinarySearchTree
data structure should exist.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() }; return (typeof test == 'object')})());
- - text: The binary search tree has a method called invert
.
+ - text: The binary search tree should have a method called invert
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; return (typeof test.invert == 'function')})());
- - text: The invert
method correctly inverts the tree structure.
+ - text: The invert
method should correctly invert the tree structure.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.invert !== 'function') { return false; }; test.add(4); test.add(1); test.add(7); test.add(87); test.add(34); test.add(45); test.add(73); test.add(8); test.invert(); return test.inorder().join('') == '877345348741'; })());
- - text: Inverting an empty tree returns null
.
+ - text: Inverting an empty tree should return null
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.invert !== 'function') { return false; }; return (test.invert() == null); })());
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/perform-a-subset-check-on-two-sets-of-data.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/perform-a-subset-check-on-two-sets-of-data.english.md
index 7b47e822eb..f65e2cfb79 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/perform-a-subset-check-on-two-sets-of-data.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/perform-a-subset-check-on-two-sets-of-data.english.md
@@ -23,7 +23,7 @@ For example, if setA = ['a','b']
and setB = ['a','b','c','d']
tests:
- text: Your Set
class should have a subset
method.
testString: assert((function(){var test = new Set(); return (typeof test.subset === 'function')})());
- - text: The first Set() was contained in the second Set
+ - text: The first Set() should be contained in the second Set
testString: assert((function(){var setA = new Set(); var setB = new Set(); setA.add('a'); setB.add('b'); setB.add('c'); setB.add('a'); setB.add('d'); var subsetSetAB = setA.subset(setB);return (subsetSetAB === true)})());
- text: ['a', 'b'].subset(['a', 'b', 'c', 'd'])
should return true
testString: assert((function(){var setA = new Set(); var setB = new Set(); setA.add('a'); setA.add('b'); setB.add('a'); setB.add('b'); setB.add('c'); setB.add('d'); var subsetSetAB = setA.subset(setB); return (subsetSetAB === true)})());
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/perform-an-intersection-on-two-sets-of-data.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/perform-an-intersection-on-two-sets-of-data.english.md
index 37bbf9f99c..5c06e4ff79 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/perform-an-intersection-on-two-sets-of-data.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/perform-an-intersection-on-two-sets-of-data.english.md
@@ -23,7 +23,7 @@ For example, if setA = ['a','b','c']
and setB = ['a','b','d',
tests:
- text: Your Set
class should have a intersection
method.
testString: assert((function(){var test = new Set(); return (typeof test.intersection === 'function')})());
- - text: The proper collection was returned
+ - text: The proper collection should be returned.
testString: assert((function(){ var setA = new Set(); var setB = new Set(); setA.add('a'); setA.add('b'); setA.add('c'); setB.add('c'); setB.add('d'); var intersectionSetAB = setA.intersection(setB); return (intersectionSetAB.size() === 1 && intersectionSetAB.values()[0] === 'c')})());
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/remove-an-element-from-a-max-heap.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/remove-an-element-from-a-max-heap.english.md
index 1ff7d0fbe3..5622b55469 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/remove-an-element-from-a-max-heap.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/remove-an-element-from-a-max-heap.english.md
@@ -24,15 +24,15 @@ Instructions: Add a method to our max heap called remove. This method should ret
```yml
tests:
- - text: The MaxHeap data structure exists.
+ - text: The MaxHeap data structure should exist.
testString: assert((function() { var test = false; if (typeof MaxHeap !== 'undefined') { test = new MaxHeap() }; return (typeof test == 'object')})());
- - text: MaxHeap has a method called print.
+ - text: MaxHeap should have a method called print.
testString: assert((function() { var test = false; if (typeof MaxHeap !== 'undefined') { test = new MaxHeap() } else { return false; }; return (typeof test.print == 'function')})());
- - text: MaxHeap has a method called insert.
+ - text: MaxHeap should have a method called insert.
testString: assert((function() { var test = false; if (typeof MaxHeap !== 'undefined') { test = new MaxHeap() } else { return false; }; return (typeof test.insert == 'function')})());
- - text: MaxHeap has a method called remove.
+ - text: MaxHeap should have a method called remove.
testString: assert((function() { var test = false; if (typeof MaxHeap !== 'undefined') { test = new MaxHeap() } else { return false; }; return (typeof test.remove == 'function')})());
- - text: The remove method removes the greatest element from the max heap while maintaining the max heap property.
+ - text: The remove method should remove the greatest element from the max heap while maintaining the max heap property.
testString: assert((function() { var test = false; if (typeof MaxHeap !== 'undefined') { test = new MaxHeap() } else { return false; }; test.insert(30); test.insert(300); test.insert(500); test.insert(10); let result = []; result.push(test.remove()); result.push(test.remove()); result.push(test.remove()); result.push(test.remove()); return (result.join('') == '5003003010') })());
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/reverse-a-doubly-linked-list.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/reverse-a-doubly-linked-list.english.md
index 363d66b860..c634f9fe67 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/reverse-a-doubly-linked-list.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/reverse-a-doubly-linked-list.english.md
@@ -20,17 +20,17 @@ Let's create one more method for our doubly linked list called reverse which rev
```yml
tests:
- - text: The DoublyLinkedList data structure exists.
+ - text: The DoublyLinkedList data structure should exist.
testString: assert((function() { var test = false; if (typeof DoublyLinkedList !== 'undefined') { test = new DoublyLinkedList() }; return (typeof test == 'object')})());
- - text: The DoublyLinkedList has a method called add.
+ - text: The DoublyLinkedList should have a method called add.
testString: assert((function() { var test = false; if (typeof DoublyLinkedList !== 'undefined') { test = new DoublyLinkedList() }; if (test.add == undefined) { return false; }; return (typeof test.add == 'function')})());
- - text: The DoublyLinkedList has a method called reverse.
+ - text: The DoublyLinkedList should have a method called reverse.
testString: assert((function() { var test = false; if (typeof DoublyLinkedList !== 'undefined') { test = new DoublyLinkedList() }; if (test.reverse == undefined) { return false; }; return (typeof test.reverse == 'function')})());
- - text: Reversing an empty list returns null.
+ - text: Reversing an empty list should return null.
testString: assert((function() { var test = false; if (typeof DoublyLinkedList !== 'undefined') { test = new DoublyLinkedList() }; return (test.reverse() == null); })());
- - text: The reverse method reverses the list.
+ - text: The reverse method should reverse the list.
testString: assert((function() { var test = false; if (typeof DoublyLinkedList !== 'undefined') { test = new DoublyLinkedList() }; test.add(58); test.add(61); test.add(32); test.reverse(); return (test.print().join('') == '326158'); })());
- - text: The next and previous references are correctly maintained when a list is reversed.
+ - text: The next and previous references should be correctly maintained when a list is reversed.
testString: assert((function() { var test = false; if (typeof DoublyLinkedList !== 'undefined') { test = new DoublyLinkedList() }; test.add(11); test.add(22); test.add(33); test.reverse(); return (test.printReverse().join('') == '112233'); })());
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/use-breadth-first-search-in-a-binary-search-tree.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/use-breadth-first-search-in-a-binary-search-tree.english.md
index 8e450a80a3..e15df85f49 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/use-breadth-first-search-in-a-binary-search-tree.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/use-breadth-first-search-in-a-binary-search-tree.english.md
@@ -21,19 +21,19 @@ Let's create a breadth-first search method in our tree called levelOrder
```yml
tests:
- - text: The BinarySearchTree
data structure exists.
+ - text: The BinarySearchTree
data structure should exist.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() }; return (typeof test == 'object')})());
- - text: The binary search tree has a method called levelOrder
.
+ - text: The binary search tree should have a method called levelOrder
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; return (typeof test.levelOrder == 'function')})());
- - text: The binary search tree has a method called reverseLevelOrder
.
+ - text: The binary search tree should have a method called reverseLevelOrder
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; return (typeof test.reverseLevelOrder == 'function')})());
- - text: The levelOrder
method returns an array of the tree node values explored in level order.
+ - text: The levelOrder
method should return an array of the tree node values explored in level order.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.levelOrder !== 'function') { return false; }; test.add(7); test.add(1); test.add(9); test.add(0); test.add(3); test.add(8); test.add(10); test.add(2); test.add(5); test.add(4); test.add(6); return (test.levelOrder().join('') == '719038102546'); })());
- - text: The reverseLevelOrder
method returns an array of the tree node values explored in reverse level order.
+ - text: The reverseLevelOrder
method should return an array of the tree node values explored in reverse level order.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.reverseLevelOrder !== 'function') { return false; }; test.add(7); test.add(1); test.add(9); test.add(0); test.add(3); test.add(8); test.add(10); test.add(2); test.add(5); test.add(4); test.add(6); return (test.reverseLevelOrder().join('') == '791108305264'); })());
- - text: The levelOrder
method returns null
for an empty tree.
+ - text: The levelOrder
method should return null
for an empty tree.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.levelOrder !== 'function') { return false; }; return (test.levelOrder() == null); })());
- - text: The reverseLevelOrder
method returns null
for an empty tree.
+ - text: The reverseLevelOrder
method should return null
for an empty tree.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.reverseLevelOrder !== 'function') { return false; }; return (test.reverseLevelOrder() == null); })());
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/use-depth-first-search-in-a-binary-search-tree.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/use-depth-first-search-in-a-binary-search-tree.english.md
index a81ea327d5..bb35aadb2a 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/use-depth-first-search-in-a-binary-search-tree.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/use-depth-first-search-in-a-binary-search-tree.english.md
@@ -27,25 +27,25 @@ Define inorder
, preorder
, and postorder
m
```yml
tests:
- - text: The BinarySearchTree
data structure exists.
+ - text: The BinarySearchTree
data structure should exist.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() }; return (typeof test == 'object')})());
- - text: The binary search tree has a method called inorder
.
+ - text: The binary search tree should have a method called inorder
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; return (typeof test.inorder == 'function')})());
- - text: The binary search tree has a method called preorder
.
+ - text: The binary search tree should have a method called preorder
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; return (typeof test.preorder == 'function')})());
- - text: The binary search tree has a method called postorder
.
+ - text: The binary search tree should have a method called postorder
.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; return (typeof test.postorder == 'function')})());
- - text: The inorder
method returns an array of the node values that result from an inorder traversal.
+ - text: The inorder
method should return an array of the node values that result from an inorder traversal.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.inorder !== 'function') { return false; }; test.add(7); test.add(1); test.add(9); test.add(0); test.add(3); test.add(8); test.add(10); test.add(2); test.add(5); test.add(4); test.add(6); return (test.inorder().join('') == '012345678910'); })());
- - text: The preorder
method returns an array of the node values that result from a preorder traversal.
+ - text: The preorder
method should return an array of the node values that result from a preorder traversal.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.preorder !== 'function') { return false; }; test.add(7); test.add(1); test.add(9); test.add(0); test.add(3); test.add(8); test.add(10); test.add(2); test.add(5); test.add(4); test.add(6); return (test.preorder().join('') == '710325469810'); })());
- - text: The postorder
method returns an array of the node values that result from a postorder traversal.
+ - text: The postorder
method should return an array of the node values that result from a postorder traversal.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.postorder !== 'function') { return false; }; test.add(7); test.add(1); test.add(9); test.add(0); test.add(3); test.add(8); test.add(10); test.add(2); test.add(5); test.add(4); test.add(6); return (test.postorder().join('') == '024653181097'); })());
- - text: The inorder
method returns null
for an empty tree.
+ - text: The inorder
method should return null
for an empty tree.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.inorder !== 'function') { return false; }; return (test.inorder() == null); })());
- - text: The preorder
method returns null
for an empty tree.
+ - text: The preorder
method should return null
for an empty tree.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.preorder !== 'function') { return false; }; return (test.preorder() == null); })());
- - text: The postorder
method returns null
for an empty tree.
+ - text: The postorder
method should return null
for an empty tree.
testString: assert((function() { var test = false; if (typeof BinarySearchTree !== 'undefined') { test = new BinarySearchTree() } else { return false; }; if (typeof test.postorder !== 'function') { return false; }; return (test.postorder() == null); })());
```
diff --git a/curriculum/challenges/english/08-coding-interview-prep/data-structures/use-spread-and-notes-for-es5-set-integration.english.md b/curriculum/challenges/english/08-coding-interview-prep/data-structures/use-spread-and-notes-for-es5-set-integration.english.md
index 98ad27964a..31863a2c87 100644
--- a/curriculum/challenges/english/08-coding-interview-prep/data-structures/use-spread-and-notes-for-es5-set-integration.english.md
+++ b/curriculum/challenges/english/08-coding-interview-prep/data-structures/use-spread-and-notes-for-es5-set-integration.english.md
@@ -30,7 +30,7 @@ Now you've successfully learned how to use the ES6 Set()
object, go
```yml
tests:
- - text: Your Set was returned correctly!
+ - text: checkSet(new Set([1,2,3,4,5,6,7])
should return [1, 2, 3, 4, 5, 6, 7]
.
testString: 'assert((function(){var test = checkSet(new Set([1,2,3,4,5,6,7])); return DeepEqual(test, [ 1, 2, 3, 4, 5, 6, 7 ]);})());'
```