Created
December 24, 2015 15:26
-
-
Save hoorayimhelping/cd5740e1a3ea4b92c256 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 d7ff7c4..331aaa4 100644 | |
| --- a/js/maps/solar_system.js | |
| +++ b/js/maps/solar_system.js | |
| @@ -71,6 +71,14 @@ var SolarSystem = function() { | |
| uranus_transfer: new Node('Uranus Transfer'), | |
| low_uranus_orbit: new Node('Low Uranus Orbit'), | |
| uranus: new Node('Uranus'), | |
| + | |
| + neptune_transfer: new Node('Neptune Transfer'), | |
| + low_neptune_orbit: new Node('Low Neptune Orbit'), | |
| + neptune: new Node('Neptune'), | |
| + | |
| + sun_transfer: new Node('Sun Transfer'), | |
| + low_sun_orbit: new Node('Low Sun Orbit'), | |
| + sun: new Node('Sun') | |
| }; | |
| this.edges = { | |
| @@ -132,7 +140,13 @@ var SolarSystem = function() { | |
| low_titan_orbit_titan_landing: newEdge({ deltav: 7600, name: 'low_titan_orbit-titan_landing' }), | |
| earth_transfer_uranus_transfer: newEdge({ deltav: 5280, name: 'earth_transfer-uranus_transfer' }), | |
| - uranus_transfer_low_uranus_orbit: newEdge({ deltav: 6120, name: 'uranus_transfer-low_uranus_orbit' }) | |
| + uranus_transfer_low_uranus_orbit: newEdge({ deltav: 6120, name: 'uranus_transfer-low_uranus_orbit' }), | |
| + | |
| + earth_transfer_neptune_transfer: newEdge({ deltav: 5390, name: 'earth_transfer-neptune_transfer' }), | |
| + neptune_transfer_low_neptune_orbit: newEdge({ deltav: 6750, name: 'neptune_transfer-low_neptune_orbit' }), | |
| + | |
| + earth_transfer_sun_transfer: newEdge({ deltav: 196080, name: 'earth_transfer-sun_transfer' }), | |
| + sun_transfer_low_sun_orbit: newEdge({ deltav: 636080, name: 'sun_transfer-low_sun_orbit' }) | |
| }; | |
| }; | |
| @@ -210,6 +224,14 @@ SolarSystem.prototype = { | |
| // uranus | |
| graph.addEdge(edges.earth_transfer_uranus_transfer, nodes.earth_transfer, nodes.uranus_transfer); | |
| graph.addEdge(edges.uranus_transfer_low_uranus_orbit, nodes.uranus_transfer, nodes.low_uranus_orbit); | |
| + | |
| + // neptune | |
| + graph.addEdge(edges.earth_transfer_neptune_transfer, nodes.earth_transfer, nodes.neptune_transfer); | |
| + graph.addEdge(edges.neptune_transfer_low_neptune_orbit, nodes.neptune_transfer, nodes.low_neptune_orbit); | |
| + | |
| + // sun | |
| + graph.addEdge(edges.earth_transfer_sun_transfer, nodes.earth_transfer, nodes.sun_transfer); | |
| + graph.addEdge(edges.sun_transfer_low_sun_orbit, nodes.sun_transfer, nodes.low_sun_orbit); | |
| } | |
| }; | |
| diff --git a/test/solar_system.js b/test/solar_system.js | |
| index 55c1e0a..bd5057b 100644 | |
| --- a/test/solar_system.js | |
| +++ b/test/solar_system.js | |
| @@ -389,4 +389,46 @@ describe("one-way trips from earth", function() { | |
| expect(total_value).to.equal(expected_value); | |
| }); | |
| }); | |
| + | |
| + describe("to neptonian space", function() { | |
| + it("calculates the delta-v to neptune transfer orbit", function() { | |
| + var total_value = graph.walk(nodes.earth, nodes.neptune_transfer); | |
| + var expected_value = edges.low_earth_orbit.value + | |
| + edges.low_earth_orbit_earth_transfer.value + | |
| + edges.earth_transfer_neptune_transfer.value; | |
| + | |
| + expect(total_value).to.equal(expected_value); | |
| + }); | |
| + | |
| + it("calculates the delta-v to low neptune orbit", function() { | |
| + var total_value = graph.walk(nodes.earth, nodes.low_neptune_orbit); | |
| + var expected_value = edges.low_earth_orbit.value + | |
| + edges.low_earth_orbit_earth_transfer.value + | |
| + edges.earth_transfer_neptune_transfer.value + | |
| + edges.neptune_transfer_low_neptune_orbit.value; | |
| + | |
| + expect(total_value).to.equal(expected_value); | |
| + }); | |
| + }); | |
| + | |
| + describe("to solar space", function() { | |
| + it("calculates the delta-v to sun transfer orbit", function() { | |
| + var total_value = graph.walk(nodes.earth, nodes.sun_transfer); | |
| + var expected_value = edges.low_earth_orbit.value + | |
| + edges.low_earth_orbit_earth_transfer.value + | |
| + edges.earth_transfer_sun_transfer.value; | |
| + | |
| + expect(total_value).to.equal(expected_value); | |
| + }); | |
| + | |
| + it("calculates the delta-v to low sun orbit", function() { | |
| + var total_value = graph.walk(nodes.earth, nodes.low_sun_orbit); | |
| + var expected_value = edges.low_earth_orbit.value + | |
| + edges.low_earth_orbit_earth_transfer.value + | |
| + edges.earth_transfer_sun_transfer.value + | |
| + edges.sun_transfer_low_sun_orbit.value; | |
| + | |
| + expect(total_value).to.equal(expected_value); | |
| + }); | |
| + }); | |
| }); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment