Created
December 24, 2015 04:13
-
-
Save hoorayimhelping/9c5ab6dc4a1870439b78 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff --git a/js/maps/solar_system.js b/js/maps/solar_system.js | |
| index 2526c9b..1fe224a 100644 | |
| --- a/js/maps/solar_system.js | |
| +++ b/js/maps/solar_system.js | |
| @@ -24,6 +24,10 @@ var SolarSystem = function() { | |
| low_venus_orbit: new Node('Low Venus Orbit'), | |
| venus: new Node('Venus'), | |
| + mercury_transfer: new Node('Mercuryr Transfer'), | |
| + low_mercury_orbit: new Node('Low Mercuryr Orbit'), | |
| + mercury: new Node('Mercuryr'), | |
| + | |
| mars_transfer: new Node('Mars Transfer'), | |
| low_mars_orbit: new Node('Low Mars Orbit'), | |
| mars: new Node('Mars'), | |
| @@ -53,6 +57,10 @@ var SolarSystem = function() { | |
| venus_transfer_low_venus_orbit: newEdge({ deltav: 2940, name: 'venus_transfer-low_venus_orbit' }), | |
| low_venus_orbit_venus_landing: newEdge({ deltav: 2000, name: 'low_venus_orbit-venus_landing' }), | |
| + earth_transfer_mercury_transfer: newEdge({ deltav: 2340, name: 'earth_transfer-mercury_transfer' }), | |
| + mercury_transfer_low_mercury_orbit: newEdge({ deltav: 7530, name: 'mercury_transfer-low_mercury_orbit' }), | |
| + low_mercury_orbit_mercury_landing: newEdge({ deltav: 3060, name: 'low_mercury_orbit-mercury_landing' }), | |
| + | |
| earth_transfer_mars_transfer: newEdge({ deltav: 1060, name: 'earth_transfer-mars_transfer' }), | |
| mars_transfer_low_mars_orbit: newEdge({ deltav: 1440, name: 'mars_transfer-low_mars_orbit' }), | |
| low_mars_orbit_mars_landing: newEdge({ deltav: 2000, name: 'low_mars_orbit-mars_landing' }), | |
| @@ -92,6 +100,11 @@ SolarSystem.prototype = { | |
| graph.addEdge(edges.venus_transfer_low_venus_orbit, nodes.venus_transfer, nodes.low_venus_orbit); | |
| graph.addEdge(edges.low_venus_orbit_venus_landing, nodes.low_venus_orbit, nodes.venus); | |
| + // mercury | |
| + graph.addEdge(edges.earth_transfer_mercury_transfer, nodes.earth_transfer, nodes.mercury_transfer); | |
| + graph.addEdge(edges.mercury_transfer_low_mercury_orbit, nodes.mercury_transfer, nodes.low_mercury_orbit); | |
| + graph.addEdge(edges.low_mercury_orbit_mercury_landing, nodes.low_mercury_orbit, nodes.mercury); | |
| + | |
| // mars | |
| graph.addEdge(edges.earth_transfer_mars_transfer, nodes.earth_transfer, nodes.mars_transfer); | |
| graph.addEdge(edges.mars_transfer_low_mars_orbit, nodes.mars_transfer, nodes.low_mars_orbit); | |
| diff --git a/test/solar_system.js b/test/solar_system.js | |
| index 3e8289a..8f2926a 100644 | |
| --- a/test/solar_system.js | |
| +++ b/test/solar_system.js | |
| @@ -74,6 +74,38 @@ describe("one-way trips from earth", function() { | |
| }); | |
| }); | |
| + describe("to mercurian space", function() { | |
| + it("calculates the delta-v to mercury transfer orbit", function() { | |
| + var total_value = graph.walk(nodes.earth, nodes.mercury_transfer); | |
| + var expected_value = edges.low_earth_orbit.value + | |
| + edges.low_earth_orbit_earth_transfer.value + | |
| + edges.earth_transfer_mercury_transfer.value; | |
| + | |
| + expect(total_value).to.equal(expected_value); | |
| + }); | |
| + | |
| + it("calculates the delta-v to low mercury orbit", function() { | |
| + var total_value = graph.walk(nodes.earth, nodes.low_mercury_orbit); | |
| + var expected_value = edges.low_earth_orbit.value + | |
| + edges.low_earth_orbit_earth_transfer.value + | |
| + edges.earth_transfer_mercury_transfer.value + | |
| + edges.mercury_transfer_low_mercury_orbit.value; | |
| + | |
| + expect(total_value).to.equal(expected_value); | |
| + }); | |
| + | |
| + it("calculates the delta-v to a mercury landing", function() { | |
| + var total_value = graph.walk(nodes.earth, nodes.mercury); | |
| + var expected_value = edges.low_earth_orbit.value + | |
| + edges.low_earth_orbit_earth_transfer.value + | |
| + edges.earth_transfer_mercury_transfer.value + | |
| + edges.mercury_transfer_low_mercury_orbit.value + | |
| + edges.low_mercury_orbit_mercury_landing.value; | |
| + | |
| + expect(total_value).to.equal(expected_value); | |
| + }); | |
| + }); | |
| + | |
| describe("to martian space", function() { | |
| it("calculates the delta-v to mars transfer orbit", function() { | |
| var total_value = graph.walk(nodes.earth, nodes.mars_transfer); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment