From f80aa2b6afb02d10e0a09bc09395f8f4d26e4ab2 Mon Sep 17 00:00:00 2001 From: Collin Betori Date: Thu, 7 Feb 2019 10:53:55 -0600 Subject: [PATCH 1/2] Uploaded correct HW --- 02week/RPSTESTS/package-lock.json | 170 ++++++++++++++++++++++++++++++ 02week/RPSTESTS/package.json | 9 ++ 02week/RPSTESTS/tests.js | 99 +++++++++++++++++ 02week/tests.js | 0 4 files changed, 278 insertions(+) create mode 100644 02week/RPSTESTS/package-lock.json create mode 100644 02week/RPSTESTS/package.json create mode 100644 02week/RPSTESTS/tests.js delete mode 100644 02week/tests.js diff --git a/02week/RPSTESTS/package-lock.json b/02week/RPSTESTS/package-lock.json new file mode 100644 index 000000000..ceccf0124 --- /dev/null +++ b/02week/RPSTESTS/package-lock.json @@ -0,0 +1,170 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "mocha": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", + "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", + "requires": { + "browser-stdout": "1.3.1", + "commander": "2.15.1", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.5", + "he": "1.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "supports-color": "5.4.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + } + } +} diff --git a/02week/RPSTESTS/package.json b/02week/RPSTESTS/package.json new file mode 100644 index 000000000..c6c621208 --- /dev/null +++ b/02week/RPSTESTS/package.json @@ -0,0 +1,9 @@ +{ + "scripts": { + "start": "node tests.js", + "test": "mocha" + }, + "dependencies": { + "mocha": "^5.2.0" + } +} diff --git a/02week/RPSTESTS/tests.js b/02week/RPSTESTS/tests.js new file mode 100644 index 000000000..0c0ec0781 --- /dev/null +++ b/02week/RPSTESTS/tests.js @@ -0,0 +1,99 @@ +'use strict'; + +const assert = require('assert'); +const readline = require('readline'); +const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout +}); + +let count1 = 0; +let count2 = 0; +let reset = 0; + +function checkForWinner(hand1, hand2){ + console.log(count2) + if(count1 > 3 || count2 > 3){ + count1 = 0; + count2= 0; + }else if (count1 >= 3){ + return "Game Over: Player One Wins"; + }else if (count2 >= 3){ + console.log("afdsaf") + return "Game Over: Player Two Wins"; + } + return +}; + +function rockPaperScissors(hand1, hand2) { + hand1 = hand1.trim(); + hand1 = hand1.toLowerCase(); + + hand2 = hand2.trim(); + hand2 = hand2.toLowerCase(); + + if (hand1 === hand2){ + return ("It's a tie!") + + }else if( + (hand1 === 'rock' && hand2 === 'scissors') || (hand1 === 'paper' && hand2 === 'rock')|| + (hand1 === 'scissors' && hand2 === 'paper')){ + count1 = count1 + 1 + checkForWinner(); + return "Hand one wins!" + + }else{ + count2 = count2 + 1 + checkForWinner(); + return "Hand two wins!" + } + +}; + +function getPrompt() { + rl.question('hand1: ', (answer1) => { + rl.question('hand2: ', (answer2) => { + console.log( rockPaperScissors(answer1, answer2) ); + getPrompt(); + rockPaperScissors() + }); + }); +} + +function countReset(){ + count1 = 0; + count2= 0; +} + +// Tests + +if (typeof describe === 'function') { + describe('rockPaperScissors()', () => { + it('should detect a tie', () => { + assert.equal(rockPaperScissors('rock', 'rock'), "It's a tie!"); + assert.equal(rockPaperScissors('paper', 'paper'), "It's a tie!"); + assert.equal(rockPaperScissors('scissors', 'scissors'), "It's a tie!"); + }); + it('should detect which hand won', () => { + assert.equal(rockPaperScissors('rock', 'paper'), "Hand two wins!"); + assert.equal(rockPaperScissors('paper', 'scissors'), "Hand two wins!"); + assert.equal(rockPaperScissors('scissors', 'paper'), "Hand one wins!"); + }); + it('should scrub input to ensure lowercase with "trim"ed whitepace', () => { + assert.equal(rockPaperScissors('rOcK', ' paper '), "Hand two wins!"); + assert.equal(rockPaperScissors('Paper', 'SCISSORS'), "Hand two wins!"); + assert.equal(rockPaperScissors('rock ', 'sCiSsOrs'), "Hand one wins!"); + }); + }); + describe('checkForWinner()', () => { + ///couldn't get counter to reset back to zero + + it('check winner after three games', () => { + assert.equal(checkForWinner('rock', 'paper'), undefined); + assert.equal(checkForWinner('rock', 'paper'), undefined); + assert.equal(checkForWinner('rock', 'paper'), "Game Over: Player Two Wins"); + }); + }); +} else { + getPrompt(); +} diff --git a/02week/tests.js b/02week/tests.js deleted file mode 100644 index e69de29bb..000000000 From b3cdd1b1d59d90c3fc35a53db81bd608e380924c Mon Sep 17 00:00:00 2001 From: Collin Betori Date: Thu, 7 Feb 2019 11:19:40 -0600 Subject: [PATCH 2/2] Clean Up --- 02week/RPSTESTS/tests.js | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/02week/RPSTESTS/tests.js b/02week/RPSTESTS/tests.js index 0c0ec0781..d1805a4b4 100644 --- a/02week/RPSTESTS/tests.js +++ b/02week/RPSTESTS/tests.js @@ -9,20 +9,17 @@ const rl = readline.createInterface({ let count1 = 0; let count2 = 0; -let reset = 0; function checkForWinner(hand1, hand2){ - console.log(count2) if(count1 > 3 || count2 > 3){ count1 = 0; count2= 0; - }else if (count1 >= 3){ + }else if (count1 === 3){ return "Game Over: Player One Wins"; - }else if (count2 >= 3){ - console.log("afdsaf") + }else if (count2 === 3){ return "Game Over: Player Two Wins"; } - return + return "No Ulitmate Winner" }; function rockPaperScissors(hand1, hand2) { @@ -60,11 +57,6 @@ function getPrompt() { }); } -function countReset(){ - count1 = 0; - count2= 0; -} - // Tests if (typeof describe === 'function') { @@ -85,13 +77,17 @@ if (typeof describe === 'function') { assert.equal(rockPaperScissors('rock ', 'sCiSsOrs'), "Hand one wins!"); }); }); + + describe('checkForWinner()', () => { ///couldn't get counter to reset back to zero - it('check winner after three games', () => { - assert.equal(checkForWinner('rock', 'paper'), undefined); - assert.equal(checkForWinner('rock', 'paper'), undefined); - assert.equal(checkForWinner('rock', 'paper'), "Game Over: Player Two Wins"); + rockPaperScissors('rock', 'paper'); + assert.equal(checkForWinner(), "No Ulitmate Winner"); + rockPaperScissors('rock', 'paper'); + assert.equal(checkForWinner(),"No Ulitmate Winner"); + rockPaperScissors('rock', 'paper'); + assert.equal(checkForWinner(), "Game Over: Player Two Wins"); }); }); } else {