From 5facb19f464bd5e8483e740f9c772205ccdce577 Mon Sep 17 00:00:00 2001 From: nae deshazer Date: Thu, 18 Jul 2019 20:51:02 -0500 Subject: [PATCH 1/2] MarsMission1 --- 04week/loop.js | 27 +++++++ 05week/spaceTravelToMars.js | 147 +++++++++++++++++++++++------------- package-lock.json | 73 +++++++++--------- package.json | 2 +- 4 files changed, 161 insertions(+), 88 deletions(-) diff --git a/04week/loop.js b/04week/loop.js index e69de29bb..ea25a9144 100644 --- a/04week/loop.js +++ b/04week/loop.js @@ -0,0 +1,27 @@ +let x = 1; + +do { + // Increment variable by 1 + x++; + console.log(x); +} while (x < 1000); + +let person = { + firstName: "Jane", + lastName: "Doe", + birthDate: "Jan 5, 1927", + gender: "female" +}; + +let value = person.birthDate[person.birthDate.length - 1]; + +console.log(value); + +console.log(typeof person.birthDate[person.birthDate.length - 1]); + +let arrayOfPersons = { + firstName: "Jane", + lastName: "Doe", + birthDate: "Jan 5, 1927", + gender: "female" +}; diff --git a/05week/spaceTravelToMars.js b/05week/spaceTravelToMars.js index ce258a382..c2d9e26e6 100644 --- a/05week/spaceTravelToMars.js +++ b/05week/spaceTravelToMars.js @@ -1,59 +1,104 @@ -'use strict'; +"use strict"; -let assert = require('assert'); +let assert = require("assert"); let jobTypes = { - pilot: 'MAV', - mechanic: 'Repair Ship', - commander: 'Main Ship', - programmer: 'Any Ship!' + pilot: "MAV", + mechanic: "Repair Ship", + commander: "Main Ship", + programmer: "Any Ship!" }; -// Your code here +class CrewMember { + constructor(name, job, specialSkill, ship) { + this.name = name; + this.job = job; + this.specialSkill = specialSkill; + this.ship = ship; + } + enterShip(ship) { + this.ship = ship; + ship.crew.push(this); + } +} + +class Ship { + constructor(name, type, ability, crew) { + this.name = name; + this.type = type; + this.ability = ability; + this.crew = []; + } +} +let crewMember1 = new CrewMember("Rick Martinez", "pilot", "chemistry"); +console.log(crewMember1); +let crewMember2 = new CrewMember("Commander Lewis", "commander", "geology"); +console.log(crewMember2); + +let mav = new Ship("Mars Ascent Vehicle", "MAV", "Ascend into low orbit"); +console.log(mav); +let hermes = new Ship("Hermes", "Main Ship", "Interplanetary Space Travel"); +console.log(hermes); + + + //tests -if (typeof describe === 'function'){ - describe('CrewMember', function(){ - it('should have a name, a job, a specialSkill and ship upon instantiation', function(){ - var crewMember1 = new CrewMember('Rick Martinez', 'pilot', 'chemistry'); - assert.equal(crewMember1.name, 'Rick Martinez'); - assert.equal(crewMember1.job, 'pilot'); - assert.equal(crewMember1.specialSkill, 'chemistry'); - assert.equal(crewMember1.ship, null); - }); - - it('can enter a ship', function(){ - let mav = new Ship('Mars Ascent Vehicle', 'MAV', 'Ascend into low orbit'); - let crewMember1 = new CrewMember('Rick Martinez', 'pilot', 'chemistry'); - crewMember1.enterShip(mav); - assert.equal(crewMember1.ship, mav); - assert.equal(mav.crew.length, 1); - assert.equal(mav.crew[0], crewMember1); - }); - }); - - describe('Ship', function(){ - it('should have a name, a type, an ability and an empty crew upon instantiation', function(){ - let mav = new Ship('Mars Ascent Vehicle', 'MAV', 'Ascend into low orbit'); - assert.equal(mav.name, 'Mars Ascent Vehicle'); - assert.equal(mav.type, 'MAV'); - assert.equal(mav.ability, 'Ascend into low orbit'); - assert.equal(mav.crew.length, 0); - }); - - it('can return a mission statement correctly', function(){ - let mav = new Ship('Mars Ascent Vehicle', 'MAV', 'Ascend into low orbit'); - let crewMember1 = new CrewMember('Rick Martinez', 'pilot', 'chemistry'); - let hermes = new Ship('Hermes', 'Main Ship', 'Interplanetary Space Travel'); - let crewMember2 = new CrewMember('Commander Lewis', 'commander', 'geology'); - assert.equal(mav.missionStatement(), "Can't perform a mission yet."); - assert.equal(hermes.missionStatement(), "Can't perform a mission yet."); - - crewMember1.enterShip(mav); - assert.equal(mav.missionStatement(), "Ascend into low orbit"); - - crewMember2.enterShip(hermes); - assert.equal(hermes.missionStatement(), "Interplanetary Space Travel"); - }); - }); +if (typeof describe === "function") { + describe("CrewMember", function() { + it("should have a name, a job, a specialSkill and ship upon instantiation", function() { + var crewMember1 = new CrewMember("Rick Martinez", "pilot", "chemistry"); + assert.equal(crewMember1.name, "Rick Martinez"); + assert.equal(crewMember1.job, "pilot"); + assert.equal(crewMember1.specialSkill, "chemistry"); + assert.equal(crewMember1.ship, null); + }); + + it("can enter a ship", function() { + let mav = new Ship("Mars Ascent Vehicle", "MAV", "Ascend into low orbit"); + let crewMember1 = new CrewMember("Rick Martinez", "pilot", "chemistry"); + crewMember1.enterShip(mav); + assert.equal(crewMember1.ship, mav); + assert.equal(mav.crew.length, 1); + assert.equal(mav.crew[0], crewMember1); + }); + }); + + describe("Ship", function() { + it("should have a name, a type, an ability and an empty crew upon instantiation", function() { + let mav = new Ship("Mars Ascent Vehicle", "MAV", "Ascend into low orbit"); + assert.equal(mav.name, "Mars Ascent Vehicle"); + assert.equal(mav.type, "MAV"); + assert.equal(mav.ability, "Ascend into low orbit"); + assert.equal(mav.crew.length, 0); + }); + + it("can return a mission statement correctly", function() { + let mav = new Ship("Mars Ascent Vehicle", "MAV", "Ascend into low orbit"); + let crewMember1 = new CrewMember("Rick Martinez", "pilot", "chemistry"); + let hermes = new Ship( + "Hermes", + "Main Ship", + "Interplanetary Space Travel" + ); + let crewMember2 = new CrewMember( + "Commander Lewis", + "commander", + "geology" + ); + assert.equal(mav.missionStatement(), "Can't perform a mission yet."); + assert.equal(hermes.missionStatement(), "Can't perform a mission yet."); + + crewMember1.enterShip(mav); + assert.equal(mav.missionStatement(), "Ascend into low orbit"); + + crewMember2.enterShip(hermes); + assert.equal(hermes.missionStatement(), "Interplanetary Space Travel"); + }); + }); } + + +missionStatement(){ + this.crew[''] +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 5dee0ec1d..7e94c270d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -370,9 +370,9 @@ "integrity": "sha1-Ql1opY00R/AqBKqJQYf86K+Le44=" }, "browser-stdout": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", - "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" }, "browserslist": { "version": "1.7.7", @@ -704,6 +704,11 @@ "delayed-stream": "~1.0.0" } }, + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" + }, "commandico": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/commandico/-/commandico-2.0.2.tgz", @@ -1816,6 +1821,11 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -1933,6 +1943,11 @@ } } }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" + }, "hoek": { "version": "2.16.3", "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", @@ -3644,27 +3659,23 @@ "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=" }, "mocha": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.0.0.tgz", - "integrity": "sha1-zMrJiLC8VHcRnLoOQ9569tatj04=", + "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.0", - "commander": "2.11.0", + "browser-stdout": "1.3.1", + "commander": "2.15.1", "debug": "3.1.0", - "diff": "3.3.1", + "diff": "3.5.0", "escape-string-regexp": "1.0.5", "glob": "7.1.2", - "growl": "1.10.3", + "growl": "1.10.5", "he": "1.1.1", + "minimatch": "3.0.4", "mkdirp": "0.5.1", - "supports-color": "4.4.0" + "supports-color": "5.4.0" }, "dependencies": { - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" - }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", @@ -3674,24 +3685,14 @@ } }, "diff": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", - "integrity": "sha1-qoVnpu7QPFMfyJ0/cRzQ5SWd7HU=" - }, - "growl": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", - "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==" + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" - }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "minimist": { "version": "0.0.8", @@ -3707,11 +3708,11 @@ } }, "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha1-iD992rwWUUKyphQn8zUt7RldGj4=", + "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": "^2.0.0" + "has-flag": "^3.0.0" } } } diff --git a/package.json b/package.json index 5965c1899..11089c520 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "http-server": "^0.11.1", "javascripting": "^2.6.1", "jsdom": "^11.6.2", - "mocha": "^5.0.0", + "mocha": "^5.2.0", "node": "^12.4.0", "postcss-html": "^0.34.0", "stylelint": "^7.13.0" From 4e346284d7822f74012d833061b1a6fb2dcced67 Mon Sep 17 00:00:00 2001 From: nae deshazer Date: Tue, 23 Jul 2019 18:16:54 -0500 Subject: [PATCH 2/2] it's finally done dude --- 05week/spaceTravelToMars.js | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/05week/spaceTravelToMars.js b/05week/spaceTravelToMars.js index c2d9e26e6..0f0efa977 100644 --- a/05week/spaceTravelToMars.js +++ b/05week/spaceTravelToMars.js @@ -29,7 +29,14 @@ class Ship { this.ability = ability; this.crew = []; } + missionStatement(crew) { + if (this.crew.length > 0) { + return this.ability; + } + return "Can't perform a mission yet."; + } } + let crewMember1 = new CrewMember("Rick Martinez", "pilot", "chemistry"); console.log(crewMember1); let crewMember2 = new CrewMember("Commander Lewis", "commander", "geology"); @@ -40,9 +47,6 @@ console.log(mav); let hermes = new Ship("Hermes", "Main Ship", "Interplanetary Space Travel"); console.log(hermes); - - - //tests if (typeof describe === "function") { describe("CrewMember", function() { @@ -97,8 +101,3 @@ if (typeof describe === "function") { }); }); } - - -missionStatement(){ - this.crew[''] -} \ No newline at end of file