forked from TestSheepNZ/TestSheepNZ.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPantherOverview.html
More file actions
255 lines (212 loc) · 12.5 KB
/
Copy pathPantherOverview.html
File metadata and controls
255 lines (212 loc) · 12.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="TestSheepNZ landing page">
<meta name="author" content="TestSheepNZ">
<title>Panther Overview</title>
<!-- Bootstrap core CSS -->
<link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom fonts for this template -->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">
<link href='https://fonts.googleapis.com/css?family=Kaushan+Script' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700' rel='stylesheet' type='text/css'>
<!-- Custom styles for this template -->
<link href="css/agency.min.css" rel="stylesheet">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="shortcut icon" href="img/testsheep.ico" type="image/x-icon" />
<link rel="icon" href="img/testsheep.ico">
</head>
<body id="page-top">
<!-- Navigation -->
<nav class="navbar navbar-expand-lg navbar-dark fixed-top" id="mainNav">
<div id="mainNavigation"></div>
</nav>
<!-- Header -->
<!-- Header -->
<header class="masthead">
<div class="container">
<div class="intro-text">
<div class="intro-heading text-uppercase">Panther ODM</div>
<img src="img/panther_icon.PNG">
<div class="intro-lead-in">Overview</div>
<a class="btn btn-primary btn-xl text-uppercase js-scroll-trigger" href="./PantherDocuments.html" >Documentation</a>
<a class="btn btn-primary btn-xl text-uppercase js-scroll-trigger" href="./PantherExercises.html" >Exercises</a>
<a class="btn btn-primary btn-xl text-uppercase js-scroll-trigger" href="./panther-all-builds.html" >Builds</a>
</div>
</div>
</header>
<!-- Contents -->
<section class="bg-light page-section" id="main-body">
<div class="container">
<div class="row">
<div class="col-lg-12 text-left">
<h1>Panther Workshop Overview</h1>
<p><b>From:</b> Mike Talks [Avionic Manager] </p>
<p><b>Sent:</b> Thursday, 3 August 2017 12:51 a.m.</p>
<p><b>To:</b> Avionics Team</p>
<p><b>Subject:</b> Panther ODM module review</p>
<p>Hey Team</p>
<p>As you’re aware, for the last couple of months, one of our programmers - Jake D’Arby - has been working on the code for the Operational Data Manual ODM for the Panther aircraft.</p>
<p>The ODM is a key part of our system for mission planning on the aircraft. Simply put, it allows us to plan out a route, and work out if you have enough fuel. If the calculations don’t work properly, it means potentially having to ditch a $40 million aircraft, which isn’t a great look for us if we’re seen as responsible.</p>
<p>Jake said the module was working, and had finished doing unit tests on it. Unfortunately after winning the lottery rollover on Saturday, Jake decided to quit the company in spectacular fashion.</p>
<p>You’ll probably remember he did come in briefly last Monday to pick up some of his Star Wars collectables. And in fact I’d appreciate the employee responsible to take the video of him trying to defecate on our CEO’s car off of YouTube.</p>
<p></p>
<p>This component is currently already overdue – I need you to have a look into it, see if you can do some further testing, and get back to me on it. If it needs some additional work, I need some kind of plan about what that work is. This has really rattled the board who agree Jake should not have been working on such an important module so unsupervised, and now this area has a high degree of visibility.</p>
<p>I managed to talk Jake into providing some support (sadly under threat of legal action from us). The email below regarding what he’s built so far. I’m providing it to you unedited. Please do not share it.</p>
<p>Given the situation with Jake, we’d prefer to avoid any further interaction with him.</p>
<p></p>
<p>Thanks team, you have my full support to get this sorted,</p>
<p></p>
<p>Mike Talks</p>
<p>Avionics Manager, Panther Project</p>
<p></p>
<p></p>
<p></p>
<hr>
<p><b>From:</b> jakey_boy@codewizz.com </p>
<p><b>Sent:</b> Wednesday, 2 August 2017 19:12 p.m.</p>
<p><b>To:</b> Mike Talks [Avionic Manager]</p>
<p><b>Subject:</b> Panther code explanation</p>
<p>Hey wage slave!</p>
<p>So today I picked up my Ferrari, and got myself a Rolls on back order. How’s the piece of crap you’re driving these days?</p>
<img src="./img/Panther/car.jpg">
<p>As promised, here’s a breakdown of what I built for the morons at the office. Everything’s under the <b>AircraftManagement.java</b> class – I’m only going to tell you about the public methods, everything is works and it has all the tests from the manual. DO NOT TOUCH THE PRIVATE METHODS – it works fine.</p>
<p></p>
<table class="table">
<thread class="thead-dark">
<tr>
<th>Method</th>
<th>Description</th>
</tr>
</thread>
<tr>
<td>getAllUpWeight()</td>
<td>Gives you the total weight of the aircraft, including equipment and fuel.</td>
</tr>
<tr>
<td>getRemainingFuel()</td>
<td>Returns how much fuels is left on the aircraft.</td>
</tr>
<tr>
<td>climb()</td>
<td>Puts the aircraft into a climb, removing fuel for the manoeuvre, and sets a new altitude.</td>
</tr>
<tr>
<td>dive()</td>
<td>Puts the aircraft into a climb and sets a new altitude.</td>
</tr>
<tr>
<td>aircraftLeg()</td>
<td>This works out the fuel consumption for a leg of a route.<br>
You pass in the aircraft speed and the distance you’re travelling. It uses the altitude and current aircraft weight.<br>
Then it subtracts the fuel used from the remaining fuel.
</td>
</tr>
<tr>
<td>getFuelUsedLastManoeuvre()</td>
<td>Yeah, just added this to make easier to test. Just returns how much fuel the last manoeuvre (whether climb, dive or leg) used. Pretty sweet huh?</td>
</tr>
<tr>
<td>addA2AMissile()<br>
addA2AMissile(num)
</td>
<td>These add the weight of an A2A missile from the aircraft. You can actually provide a number, and it will add/remove that number of missiles to the aircraft, like,<br>
  addA2AMissile(4)
</td>
</tr>
<tr>
<td>addDumbBomb()<br>
addDumbBomb(num)<br>
dropDumbBomb()<br>
dropDumbBomb(num)<br>
</td>
<td>These add/remove the weight of a dumb bomb from the aircraft. As with the A2A, if you include an integer, it’ll add/remove that number of bombs.</td>
</tr>
<tr>
<td>addIntelliBomb()<br>
dropIntelliBomb()
</td>
<td>Add/remove the weight of an IntelliBomb to the aircraft.</td>
</tr>
<tr>
<td>addExternalFuelTanks()</td>
<td>Add the weight of an external fuel tank, increase the maximum fuel allowance.</td>
</tr>
<tr>
<td>addFuel()</td>
<td>This refuels the aircraft if it’s allowed. Adds the weight of fuel you provide to the aircraft, as long as it wouldn’t exceed your maximum fuel.</td>
</tr>
</table>
<p></p>
<p>All the classes are working nicely, if you REALLY feel you have to add more tests, then you only really need to look into the either the <b>AicraftManagementTest.java</b> or the <b>FuelRateDataTests.java</b> test classes – that’s where all the JUnit tests are. Just add some more in there if you have to – you can use the methods above to define what you need – I assume your monkeys know how to use <b>AssertTrue, AssertFalse and AssertEquals</b>? The class <b>TestSuite.java</b> runs both those sets of tests as a suite.</p>
<p>That should be all your cronies need to know – who knows I might even buy myself a Panther just for giggles!</p>
<p>If you ever need a job, I’ll always need someone to wash my car. Actually just kidding, I’m putting you in my block list now, so if you need anything else just talk to my lawyer.</p>
<p></p>
<p>Jake</p>
</div>
</div>
</div>
</section>
<!-- Modal 1 -->
<div class="portfolio-modal modal fade" id="termsModal" tabindex="-1" role="dialog" aria-hidden="true"></div>
<!-- Modal 2 -->
<div class="portfolio-modal modal fade" id="aboutModal" tabindex="-1" role="dialog" aria-hidden="true"></div>
<!-- Footer -->
<footer class="footer">
<div class="container">
<div class="row">
<div class="col-md-4">
<span class="copyright">Copyright © Mike Talks 2019</span>
</div>
<div class="col-md-4">
<ul class="list-inline social-buttons">
<li class="list-inline-item">
<a href="https://twitter.com/TestSheepNZ">
<i class="fab fa-twitter"></i>
</a>
</li>
<li class="list-inline-item" hidden>
<a href="#">
<i class="fab fa-facebook-f"></i>
</a>
</li>
<li class="list-inline-item">
<a href="https://www.linkedin.com/in/mike-talks-3423348/">
<i class="fab fa-linkedin-in"></i>
</a>
</li>
</ul>
</div>
<div class="col-md-4">
<ul class="list-inline quicklinks">
<li class="list-inline-item" >
<a data-toggle="modal" href="#aboutModal">About</a>
</li>
<li class="list-inline-item">
<a data-toggle="modal" href="#termsModal">Terms of Use</a>
</li>
</ul>
</div>
</div>
</div>
</footer>
<!-- Bootstrap core JavaScript -->
<script src="vendor/jquery/jquery.min.js"></script>
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- Plugin JavaScript -->
<script src="vendor/jquery-easing/jquery.easing.min.js"></script>
<!-- Contact form JavaScript -->
<script src="js/jqBootstrapValidation.js"></script>
<script src="js/contact_me.js"></script>
<!-- Custom scripts for this template -->
<script src="js/agency.min.js"></script>
<!-- Sets up the header-->
<script src="js/main.navigation.js"></script>
<!-- Footer Modals -->
<script src="js/footer.modals.js"></script>
</body>
</html>