Added S64
parent
151a35c28f
commit
3753f1d9e6
@ -0,0 +1 @@
|
||||
/node_modules
|
@ -0,0 +1,10 @@
|
||||
image: node:latest
|
||||
|
||||
stages:
|
||||
- test
|
||||
|
||||
test:
|
||||
stage: test
|
||||
script:
|
||||
- npm install
|
||||
- npm test
|
@ -0,0 +1,5 @@
|
||||
To start using the built-in tests, run <code>npm install</code> first then issue the <code>npm test</code> at the root directory of this project.
|
||||
|
||||
WARNING: Do not change any code inside <code>test.js</code>.
|
||||
|
||||
[Link to Solution](https://gitlab.com/zuitt-coding-bootcamp-curricula/courses/wdc028v1.5a/-/tree/main/fullstack/s54-solution)
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,14 @@
|
||||
{
|
||||
"name": "s54",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "jest"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"jest": "^26.6.3"
|
||||
}
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
let collection = [];
|
||||
|
||||
// Write the queue functions below.
|
||||
function print() {
|
||||
return collection;
|
||||
}
|
||||
|
||||
function enqueue(value) {
|
||||
collection.push(value);
|
||||
return collection;
|
||||
}
|
||||
|
||||
function dequeue() {
|
||||
collection.shift();
|
||||
return collection;
|
||||
}
|
||||
|
||||
function front() {
|
||||
if (collection.length === 0) {
|
||||
return undefined;
|
||||
}
|
||||
return collection[0];
|
||||
}
|
||||
|
||||
function size() {
|
||||
return collection.length;
|
||||
}
|
||||
|
||||
function isEmpty() {
|
||||
return collection.length === 0;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
print,
|
||||
enqueue,
|
||||
dequeue,
|
||||
front,
|
||||
size,
|
||||
isEmpty
|
||||
};
|
@ -0,0 +1,21 @@
|
||||
<script>
|
||||
let collection = [];
|
||||
|
||||
function addToStack(element) {
|
||||
collection.push(element);
|
||||
return collection;
|
||||
}
|
||||
|
||||
function removeFromStack() {
|
||||
collection.pop();
|
||||
return collection;
|
||||
}
|
||||
|
||||
function peek() {
|
||||
return collection[collection.length-1];
|
||||
}
|
||||
|
||||
function getLength() {
|
||||
return collection.length;
|
||||
}
|
||||
</script>
|
@ -0,0 +1,59 @@
|
||||
// This is the file to check whether your answer is correct or wrong.
|
||||
// Do not change anything in this file.
|
||||
|
||||
const assert = require('assert');
|
||||
const queue = require('./queue');
|
||||
|
||||
describe('[1] Print queue elements.', function() {
|
||||
it('The printed value is an empty array. RESULT = []', function() {
|
||||
expect(queue.print()).toEqual([]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('[2] Enqueue a new element.', function() {
|
||||
it('The value has been enqueued. RESULT = [\'John\']', function() {
|
||||
expect(queue.enqueue('John')).toEqual(['John']);
|
||||
});
|
||||
});
|
||||
|
||||
describe('[3] Enqueue another element.', function() {
|
||||
it('The value has been enqueued. RESULT = [\'John\', \'Jane\']', function() {
|
||||
expect(queue.enqueue('Jane')).toEqual(['John', 'Jane']);
|
||||
});
|
||||
});
|
||||
|
||||
describe('[4] Dequeue the first element.', function() {
|
||||
it('The value has been dequeued. RESULT = [\'Jane\']', function() {
|
||||
expect(queue.dequeue()).toEqual(['Jane']);
|
||||
});
|
||||
});
|
||||
|
||||
describe('[5] Enqueue another element.', function() {
|
||||
it('The value has been enqueued. RESULT = [\'Jane\', \'Bob\']', function() {
|
||||
expect(queue.enqueue('Bob')).toEqual(['Jane', 'Bob']);
|
||||
});
|
||||
});
|
||||
|
||||
describe('[6] Enqueue another element.', function() {
|
||||
it('The value has been enqueued. RESULT = [\'Jane\', \'Bob\', \'Cherry\']', function() {
|
||||
expect(queue.enqueue('Cherry')).toEqual(['Jane', 'Bob', 'Cherry']);
|
||||
});
|
||||
});
|
||||
|
||||
describe('[7] Get first element.', function() {
|
||||
it('The first value has been retrieved. RESULT = \'Jane\'', function() {
|
||||
expect(queue.front()).toEqual('Jane');
|
||||
});
|
||||
});
|
||||
|
||||
describe('[8] Get queue size.', function() {
|
||||
it('The size of the queue has been retrieved. RESULT = 3', function() {
|
||||
expect(queue.size()).toEqual(3);
|
||||
});
|
||||
});
|
||||
|
||||
describe('[8] Check if queue is not empty.', function() {
|
||||
it('The result has been retrieved. RESULT = false', function() {
|
||||
expect(queue.isEmpty()).toEqual(false);
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue