corrigé
Clement COLMERAUER

Clement COLMERAUER commited on 2024-10-07 10:30:57
Showing 115 changed files, with 9753 additions and 0 deletions.

... ...
@@ -0,0 +1,2 @@
1
+#Fri Oct 04 15:51:05 CEST 2024
2
+gradle.version=8.8
... ...
@@ -0,0 +1 @@
1
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>kata</title><script type="text/javascript" src="jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><span class="el_report">kata</span></div><h1>kata</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 836</td><td class="ctr2">95 %</td><td class="bar">0 of 36</td><td class="ctr2">100 %</td><td class="ctr1">2</td><td class="ctr2">45</td><td class="ctr1">9</td><td class="ctr2">163</td><td class="ctr1">2</td><td class="ctr2">27</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="re.forestier.edu/index.html" class="el_package">re.forestier.edu</a></td><td class="bar" id="b0"><img src="jacoco-resources/redbar.gif" width="5" height="10" title="34" alt="34"/></td><td class="ctr2" id="c1">8 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="re.forestier.edu.rpg/index.html" class="el_package">re.forestier.edu.rpg</a></td><td class="bar" id="b1"><img src="jacoco-resources/greenbar.gif" width="119" height="10" title="796" alt="796"/></td><td class="ctr2" id="c0">99 %</td><td class="bar" id="d0"><img src="jacoco-resources/greenbar.gif" width="120" height="10" title="36" alt="36"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g0">43</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i0">154</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k0">25</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m0">3</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.11.202310140853</span></div></body></html>
0 2
\ No newline at end of file
... ...
@@ -0,0 +1,13 @@
1
+/* Pretty printing styles. Used with prettify.js. */
2
+
3
+.str { color: #2A00FF; }
4
+.kwd { color: #7F0055; font-weight:bold; }
5
+.com { color: #3F5FBF; }
6
+.typ { color: #606; }
7
+.lit { color: #066; }
8
+.pun { color: #660; }
9
+.pln { color: #000; }
10
+.tag { color: #008; }
11
+.atn { color: #606; }
12
+.atv { color: #080; }
13
+.dec { color: #606; }
... ...
@@ -0,0 +1,1510 @@
1
+// Copyright (C) 2006 Google Inc.
2
+//
3
+// Licensed under the Apache License, Version 2.0 (the "License");
4
+// you may not use this file except in compliance with the License.
5
+// You may obtain a copy of the License at
6
+//
7
+//      http://www.apache.org/licenses/LICENSE-2.0
8
+//
9
+// Unless required by applicable law or agreed to in writing, software
10
+// distributed under the License is distributed on an "AS IS" BASIS,
11
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+// See the License for the specific language governing permissions and
13
+// limitations under the License.
14
+
15
+
16
+/**
17
+ * @fileoverview
18
+ * some functions for browser-side pretty printing of code contained in html.
19
+ * <p>
20
+ *
21
+ * For a fairly comprehensive set of languages see the
22
+ * <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html#langs">README</a>
23
+ * file that came with this source.  At a minimum, the lexer should work on a
24
+ * number of languages including C and friends, Java, Python, Bash, SQL, HTML,
25
+ * XML, CSS, Javascript, and Makefiles.  It works passably on Ruby, PHP and Awk
26
+ * and a subset of Perl, but, because of commenting conventions, doesn't work on
27
+ * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class.
28
+ * <p>
29
+ * Usage: <ol>
30
+ * <li> include this source file in an html page via
31
+ *   {@code <script type="text/javascript" src="/path/to/prettify.js"></script>}
32
+ * <li> define style rules.  See the example page for examples.
33
+ * <li> mark the {@code <pre>} and {@code <code>} tags in your source with
34
+ *    {@code class=prettyprint.}
35
+ *    You can also use the (html deprecated) {@code <xmp>} tag, but the pretty
36
+ *    printer needs to do more substantial DOM manipulations to support that, so
37
+ *    some css styles may not be preserved.
38
+ * </ol>
39
+ * That's it.  I wanted to keep the API as simple as possible, so there's no
40
+ * need to specify which language the code is in, but if you wish, you can add
41
+ * another class to the {@code <pre>} or {@code <code>} element to specify the
42
+ * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
43
+ * starts with "lang-" followed by a file extension, specifies the file type.
44
+ * See the "lang-*.js" files in this directory for code that implements
45
+ * per-language file handlers.
46
+ * <p>
47
+ * Change log:<br>
48
+ * cbeust, 2006/08/22
49
+ * <blockquote>
50
+ *   Java annotations (start with "@") are now captured as literals ("lit")
51
+ * </blockquote>
52
+ * @requires console
53
+ */
54
+
55
+// JSLint declarations
56
+/*global console, document, navigator, setTimeout, window */
57
+
58
+/**
59
+ * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
60
+ * UI events.
61
+ * If set to {@code false}, {@code prettyPrint()} is synchronous.
62
+ */
63
+window['PR_SHOULD_USE_CONTINUATION'] = true;
64
+
65
+/** the number of characters between tab columns */
66
+window['PR_TAB_WIDTH'] = 8;
67
+
68
+/** Walks the DOM returning a properly escaped version of innerHTML.
69
+  * @param {Node} node
70
+  * @param {Array.<string>} out output buffer that receives chunks of HTML.
71
+  */
72
+window['PR_normalizedHtml']
73
+
74
+/** Contains functions for creating and registering new language handlers.
75
+  * @type {Object}
76
+  */
77
+  = window['PR']
78
+
79
+/** Pretty print a chunk of code.
80
+  *
81
+  * @param {string} sourceCodeHtml code as html
82
+  * @return {string} code as html, but prettier
83
+  */
84
+  = window['prettyPrintOne']
85
+/** Find all the {@code <pre>} and {@code <code>} tags in the DOM with
86
+  * {@code class=prettyprint} and prettify them.
87
+  * @param {Function?} opt_whenDone if specified, called when the last entry
88
+  *     has been finished.
89
+  */
90
+  = window['prettyPrint'] = void 0;
91
+
92
+/** browser detection. @extern @returns false if not IE, otherwise the major version. */
93
+window['_pr_isIE6'] = function () {
94
+  var ieVersion = navigator && navigator.userAgent &&
95
+      navigator.userAgent.match(/\bMSIE ([678])\./);
96
+  ieVersion = ieVersion ? +ieVersion[1] : false;
97
+  window['_pr_isIE6'] = function () { return ieVersion; };
98
+  return ieVersion;
99
+};
100
+
101
+
102
+(function () {
103
+  // Keyword lists for various languages.
104
+  var FLOW_CONTROL_KEYWORDS =
105
+      "break continue do else for if return while ";
106
+  var C_KEYWORDS = FLOW_CONTROL_KEYWORDS + "auto case char const default " +
107
+      "double enum extern float goto int long register short signed sizeof " +
108
+      "static struct switch typedef union unsigned void volatile ";
109
+  var COMMON_KEYWORDS = C_KEYWORDS + "catch class delete false import " +
110
+      "new operator private protected public this throw true try typeof ";
111
+  var CPP_KEYWORDS = COMMON_KEYWORDS + "alignof align_union asm axiom bool " +
112
+      "concept concept_map const_cast constexpr decltype " +
113
+      "dynamic_cast explicit export friend inline late_check " +
114
+      "mutable namespace nullptr reinterpret_cast static_assert static_cast " +
115
+      "template typeid typename using virtual wchar_t where ";
116
+  var JAVA_KEYWORDS = COMMON_KEYWORDS +
117
+      "abstract boolean byte extends final finally implements import " +
118
+      "instanceof null native package strictfp super synchronized throws " +
119
+      "transient ";
120
+  var CSHARP_KEYWORDS = JAVA_KEYWORDS +
121
+      "as base by checked decimal delegate descending event " +
122
+      "fixed foreach from group implicit in interface internal into is lock " +
123
+      "object out override orderby params partial readonly ref sbyte sealed " +
124
+      "stackalloc string select uint ulong unchecked unsafe ushort var ";
125
+  var JSCRIPT_KEYWORDS = COMMON_KEYWORDS +
126
+      "debugger eval export function get null set undefined var with " +
127
+      "Infinity NaN ";
128
+  var PERL_KEYWORDS = "caller delete die do dump elsif eval exit foreach for " +
129
+      "goto if import last local my next no our print package redo require " +
130
+      "sub undef unless until use wantarray while BEGIN END ";
131
+  var PYTHON_KEYWORDS = FLOW_CONTROL_KEYWORDS + "and as assert class def del " +
132
+      "elif except exec finally from global import in is lambda " +
133
+      "nonlocal not or pass print raise try with yield " +
134
+      "False True None ";
135
+  var RUBY_KEYWORDS = FLOW_CONTROL_KEYWORDS + "alias and begin case class def" +
136
+      " defined elsif end ensure false in module next nil not or redo rescue " +
137
+      "retry self super then true undef unless until when yield BEGIN END ";
138
+  var SH_KEYWORDS = FLOW_CONTROL_KEYWORDS + "case done elif esac eval fi " +
139
+      "function in local set then until ";
140
+  var ALL_KEYWORDS = (
141
+      CPP_KEYWORDS + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS +
142
+      PYTHON_KEYWORDS + RUBY_KEYWORDS + SH_KEYWORDS);
143
+
144
+  // token style names.  correspond to css classes
145
+  /** token style for a string literal */
146
+  var PR_STRING = 'str';
147
+  /** token style for a keyword */
148
+  var PR_KEYWORD = 'kwd';
149
+  /** token style for a comment */
150
+  var PR_COMMENT = 'com';
151
+  /** token style for a type */
152
+  var PR_TYPE = 'typ';
153
+  /** token style for a literal value.  e.g. 1, null, true. */
154
+  var PR_LITERAL = 'lit';
155
+  /** token style for a punctuation string. */
156
+  var PR_PUNCTUATION = 'pun';
157
+  /** token style for a punctuation string. */
158
+  var PR_PLAIN = 'pln';
159
+
160
+  /** token style for an sgml tag. */
161
+  var PR_TAG = 'tag';
162
+  /** token style for a markup declaration such as a DOCTYPE. */
163
+  var PR_DECLARATION = 'dec';
164
+  /** token style for embedded source. */
165
+  var PR_SOURCE = 'src';
166
+  /** token style for an sgml attribute name. */
167
+  var PR_ATTRIB_NAME = 'atn';
168
+  /** token style for an sgml attribute value. */
169
+  var PR_ATTRIB_VALUE = 'atv';
170
+
171
+  /**
172
+   * A class that indicates a section of markup that is not code, e.g. to allow
173
+   * embedding of line numbers within code listings.
174
+   */
175
+  var PR_NOCODE = 'nocode';
176
+
177
+  /** A set of tokens that can precede a regular expression literal in
178
+    * javascript.
179
+    * http://www.mozilla.org/js/language/js20/rationale/syntax.html has the full
180
+    * list, but I've removed ones that might be problematic when seen in
181
+    * languages that don't support regular expression literals.
182
+    *
183
+    * <p>Specifically, I've removed any keywords that can't precede a regexp
184
+    * literal in a syntactically legal javascript program, and I've removed the
185
+    * "in" keyword since it's not a keyword in many languages, and might be used
186
+    * as a count of inches.
187
+    *
188
+    * <p>The link a above does not accurately describe EcmaScript rules since
189
+    * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
190
+    * very well in practice.
191
+    *
192
+    * @private
193
+    */
194
+  var REGEXP_PRECEDER_PATTERN = function () {
195
+      var preceders = [
196
+          "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=",
197
+          "&=", "(", "*", "*=", /* "+", */ "+=", ",", /* "-", */ "-=",
198
+          "->", /*".", "..", "...", handled below */ "/", "/=", ":", "::", ";",
199
+          "<", "<<", "<<=", "<=", "=", "==", "===", ">",
200
+          ">=", ">>", ">>=", ">>>", ">>>=", "?", "@", "[",
201
+          "^", "^=", "^^", "^^=", "{", "|", "|=", "||",
202
+          "||=", "~" /* handles =~ and !~ */,
203
+          "break", "case", "continue", "delete",
204
+          "do", "else", "finally", "instanceof",
205
+          "return", "throw", "try", "typeof"
206
+          ];
207
+      var pattern = '(?:^^|[+-]';
208
+      for (var i = 0; i < preceders.length; ++i) {
209
+        pattern += '|' + preceders[i].replace(/([^=<>:&a-z])/g, '\\$1');
210
+      }
211
+      pattern += ')\\s*';  // matches at end, and matches empty string
212
+      return pattern;
213
+      // CAVEAT: this does not properly handle the case where a regular
214
+      // expression immediately follows another since a regular expression may
215
+      // have flags for case-sensitivity and the like.  Having regexp tokens
216
+      // adjacent is not valid in any language I'm aware of, so I'm punting.
217
+      // TODO: maybe style special characters inside a regexp as punctuation.
218
+    }();
219
+
220
+  // Define regexps here so that the interpreter doesn't have to create an
221
+  // object each time the function containing them is called.
222
+  // The language spec requires a new object created even if you don't access
223
+  // the $1 members.
224
+  var pr_amp = /&/g;
225
+  var pr_lt = /</g;
226
+  var pr_gt = />/g;
227
+  var pr_quot = /\"/g;
228
+  /** like textToHtml but escapes double quotes to be attribute safe. */
229
+  function attribToHtml(str) {
230
+    return str.replace(pr_amp, '&amp;')
231
+        .replace(pr_lt, '&lt;')
232
+        .replace(pr_gt, '&gt;')
233
+        .replace(pr_quot, '&quot;');
234
+  }
235
+
236
+  /** escapest html special characters to html. */
237
+  function textToHtml(str) {
238
+    return str.replace(pr_amp, '&amp;')
239
+        .replace(pr_lt, '&lt;')
240
+        .replace(pr_gt, '&gt;');
241
+  }
242
+
243
+
244
+  var pr_ltEnt = /&lt;/g;
245
+  var pr_gtEnt = /&gt;/g;
246
+  var pr_aposEnt = /&apos;/g;
247
+  var pr_quotEnt = /&quot;/g;
248
+  var pr_ampEnt = /&amp;/g;
249
+  var pr_nbspEnt = /&nbsp;/g;
250
+  /** unescapes html to plain text. */
251
+  function htmlToText(html) {
252
+    var pos = html.indexOf('&');
253
+    if (pos < 0) { return html; }
254
+    // Handle numeric entities specially.  We can't use functional substitution
255
+    // since that doesn't work in older versions of Safari.
256
+    // These should be rare since most browsers convert them to normal chars.
257
+    for (--pos; (pos = html.indexOf('&#', pos + 1)) >= 0;) {
258
+      var end = html.indexOf(';', pos);
259
+      if (end >= 0) {
260
+        var num = html.substring(pos + 3, end);
261
+        var radix = 10;
262
+        if (num && num.charAt(0) === 'x') {
263
+          num = num.substring(1);
264
+          radix = 16;
265
+        }
266
+        var codePoint = parseInt(num, radix);
267
+        if (!isNaN(codePoint)) {
268
+          html = (html.substring(0, pos) + String.fromCharCode(codePoint) +
269
+                  html.substring(end + 1));
270
+        }
271
+      }
272
+    }
273
+
274
+    return html.replace(pr_ltEnt, '<')
275
+        .replace(pr_gtEnt, '>')
276
+        .replace(pr_aposEnt, "'")
277
+        .replace(pr_quotEnt, '"')
278
+        .replace(pr_nbspEnt, ' ')
279
+        .replace(pr_ampEnt, '&');
280
+  }
281
+
282
+  /** is the given node's innerHTML normally unescaped? */
283
+  function isRawContent(node) {
284
+    return 'XMP' === node.tagName;
285
+  }
286
+
287
+  var newlineRe = /[\r\n]/g;
288
+  /**
289
+   * Are newlines and adjacent spaces significant in the given node's innerHTML?
290
+   */
291
+  function isPreformatted(node, content) {
292
+    // PRE means preformatted, and is a very common case, so don't create
293
+    // unnecessary computed style objects.
294
+    if ('PRE' === node.tagName) { return true; }
295
+    if (!newlineRe.test(content)) { return true; }  // Don't care
296
+    var whitespace = '';
297
+    // For disconnected nodes, IE has no currentStyle.
298
+    if (node.currentStyle) {
299
+      whitespace = node.currentStyle.whiteSpace;
300
+    } else if (window.getComputedStyle) {
301
+      // Firefox makes a best guess if node is disconnected whereas Safari
302
+      // returns the empty string.
303
+      whitespace = window.getComputedStyle(node, null).whiteSpace;
304
+    }
305
+    return !whitespace || whitespace === 'pre';
306
+  }
307
+
308
+  function normalizedHtml(node, out, opt_sortAttrs) {
309
+    switch (node.nodeType) {
310
+      case 1:  // an element
311
+        var name = node.tagName.toLowerCase();
312
+
313
+        out.push('<', name);
314
+        var attrs = node.attributes;
315
+        var n = attrs.length;
316
+        if (n) {
317
+          if (opt_sortAttrs) {
318
+            var sortedAttrs = [];
319
+            for (var i = n; --i >= 0;) { sortedAttrs[i] = attrs[i]; }
320
+            sortedAttrs.sort(function (a, b) {
321
+                return (a.name < b.name) ? -1 : a.name === b.name ? 0 : 1;
322
+              });
323
+            attrs = sortedAttrs;
324
+          }
325
+          for (var i = 0; i < n; ++i) {
326
+            var attr = attrs[i];
327
+            if (!attr.specified) { continue; }
328
+            out.push(' ', attr.name.toLowerCase(),
329
+                     '="', attribToHtml(attr.value), '"');
330
+          }
331
+        }
332
+        out.push('>');
333
+        for (var child = node.firstChild; child; child = child.nextSibling) {
334
+          normalizedHtml(child, out, opt_sortAttrs);
335
+        }
336
+        if (node.firstChild || !/^(?:br|link|img)$/.test(name)) {
337
+          out.push('<\/', name, '>');
338
+        }
339
+        break;
340
+      case 3: case 4: // text
341
+        out.push(textToHtml(node.nodeValue));
342
+        break;
343
+    }
344
+  }
345
+
346
+  /**
347
+   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
348
+   * matches the union o the sets o strings matched d by the input RegExp.
349
+   * Since it matches globally, if the input strings have a start-of-input
350
+   * anchor (/^.../), it is ignored for the purposes of unioning.
351
+   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
352
+   * @return {RegExp} a global regex.
353
+   */
354
+  function combinePrefixPatterns(regexs) {
355
+    var capturedGroupIndex = 0;
356
+
357
+    var needToFoldCase = false;
358
+    var ignoreCase = false;
359
+    for (var i = 0, n = regexs.length; i < n; ++i) {
360
+      var regex = regexs[i];
361
+      if (regex.ignoreCase) {
362
+        ignoreCase = true;
363
+      } else if (/[a-z]/i.test(regex.source.replace(
364
+                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
365
+        needToFoldCase = true;
366
+        ignoreCase = false;
367
+        break;
368
+      }
369
+    }
370
+
371
+    function decodeEscape(charsetPart) {
372
+      if (charsetPart.charAt(0) !== '\\') { return charsetPart.charCodeAt(0); }
373
+      switch (charsetPart.charAt(1)) {
374
+        case 'b': return 8;
375
+        case 't': return 9;
376
+        case 'n': return 0xa;
377
+        case 'v': return 0xb;
378
+        case 'f': return 0xc;
379
+        case 'r': return 0xd;
380
+        case 'u': case 'x':
381
+          return parseInt(charsetPart.substring(2), 16)
382
+              || charsetPart.charCodeAt(1);
383
+        case '0': case '1': case '2': case '3': case '4':
384
+        case '5': case '6': case '7':
385
+          return parseInt(charsetPart.substring(1), 8);
386
+        default: return charsetPart.charCodeAt(1);
387
+      }
388
+    }
389
+
390
+    function encodeEscape(charCode) {
391
+      if (charCode < 0x20) {
392
+        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
393
+      }
394
+      var ch = String.fromCharCode(charCode);
395
+      if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
396
+        ch = '\\' + ch;
397
+      }
398
+      return ch;
399
+    }
400
+
401
+    function caseFoldCharset(charSet) {
402
+      var charsetParts = charSet.substring(1, charSet.length - 1).match(
403
+          new RegExp(
404
+              '\\\\u[0-9A-Fa-f]{4}'
405
+              + '|\\\\x[0-9A-Fa-f]{2}'
406
+              + '|\\\\[0-3][0-7]{0,2}'
407
+              + '|\\\\[0-7]{1,2}'
408
+              + '|\\\\[\\s\\S]'
409
+              + '|-'
410
+              + '|[^-\\\\]',
411
+              'g'));
412
+      var groups = [];
413
+      var ranges = [];
414
+      var inverse = charsetParts[0] === '^';
415
+      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
416
+        var p = charsetParts[i];
417
+        switch (p) {
418
+          case '\\B': case '\\b':
419
+          case '\\D': case '\\d':
420
+          case '\\S': case '\\s':
421
+          case '\\W': case '\\w':
422
+            groups.push(p);
423
+            continue;
424
+        }
425
+        var start = decodeEscape(p);
426
+        var end;
427
+        if (i + 2 < n && '-' === charsetParts[i + 1]) {
428
+          end = decodeEscape(charsetParts[i + 2]);
429
+          i += 2;
430
+        } else {
431
+          end = start;
432
+        }
433
+        ranges.push([start, end]);
434
+        // If the range might intersect letters, then expand it.
435
+        if (!(end < 65 || start > 122)) {
436
+          if (!(end < 65 || start > 90)) {
437
+            ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
438
+          }
439
+          if (!(end < 97 || start > 122)) {
440
+            ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
441
+          }
442
+        }
443
+      }
444
+
445
+      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
446
+      // -> [[1, 12], [14, 14], [16, 17]]
447
+      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
448
+      var consolidatedRanges = [];
449
+      var lastRange = [NaN, NaN];
450
+      for (var i = 0; i < ranges.length; ++i) {
451
+        var range = ranges[i];
452
+        if (range[0] <= lastRange[1] + 1) {
453
+          lastRange[1] = Math.max(lastRange[1], range[1]);
454
+        } else {
455
+          consolidatedRanges.push(lastRange = range);
456
+        }
457
+      }
458
+
459
+      var out = ['['];
460
+      if (inverse) { out.push('^'); }
461
+      out.push.apply(out, groups);
462
+      for (var i = 0; i < consolidatedRanges.length; ++i) {
463
+        var range = consolidatedRanges[i];
464
+        out.push(encodeEscape(range[0]));
465
+        if (range[1] > range[0]) {
466
+          if (range[1] + 1 > range[0]) { out.push('-'); }
467
+          out.push(encodeEscape(range[1]));
468
+        }
469
+      }
470
+      out.push(']');
471
+      return out.join('');
472
+    }
473
+
474
+    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
475
+      // Split into character sets, escape sequences, punctuation strings
476
+      // like ('(', '(?:', ')', '^'), and runs of characters that do not
477
+      // include any of the above.
478
+      var parts = regex.source.match(
479
+          new RegExp(
480
+              '(?:'
481
+              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
482
+              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
483
+              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
484
+              + '|\\\\[0-9]+'  // a back-reference or octal escape
485
+              + '|\\\\[^ux0-9]'  // other escape sequence
486
+              + '|\\(\\?[:!=]'  // start of a non-capturing group
487
+              + '|[\\(\\)\\^]'  // start/emd of a group, or line start
488
+              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
489
+              + ')',
490
+              'g'));
491
+      var n = parts.length;
492
+
493
+      // Maps captured group numbers to the number they will occupy in
494
+      // the output or to -1 if that has not been determined, or to
495
+      // undefined if they need not be capturing in the output.
496
+      var capturedGroups = [];
497
+
498
+      // Walk over and identify back references to build the capturedGroups
499
+      // mapping.
500
+      for (var i = 0, groupIndex = 0; i < n; ++i) {
501
+        var p = parts[i];
502
+        if (p === '(') {
503
+          // groups are 1-indexed, so max group index is count of '('
504
+          ++groupIndex;
505
+        } else if ('\\' === p.charAt(0)) {
506
+          var decimalValue = +p.substring(1);
507
+          if (decimalValue && decimalValue <= groupIndex) {
508
+            capturedGroups[decimalValue] = -1;
509
+          }
510
+        }
511
+      }
512
+
513
+      // Renumber groups and reduce capturing groups to non-capturing groups
514
+      // where possible.
515
+      for (var i = 1; i < capturedGroups.length; ++i) {
516
+        if (-1 === capturedGroups[i]) {
517
+          capturedGroups[i] = ++capturedGroupIndex;
518
+        }
519
+      }
520
+      for (var i = 0, groupIndex = 0; i < n; ++i) {
521
+        var p = parts[i];
522
+        if (p === '(') {
523
+          ++groupIndex;
524
+          if (capturedGroups[groupIndex] === undefined) {
525
+            parts[i] = '(?:';
526
+          }
527
+        } else if ('\\' === p.charAt(0)) {
528
+          var decimalValue = +p.substring(1);
529
+          if (decimalValue && decimalValue <= groupIndex) {
530
+            parts[i] = '\\' + capturedGroups[groupIndex];
531
+          }
532
+        }
533
+      }
534
+
535
+      // Remove any prefix anchors so that the output will match anywhere.
536
+      // ^^ really does mean an anchored match though.
537
+      for (var i = 0, groupIndex = 0; i < n; ++i) {
538
+        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
539
+      }
540
+
541
+      // Expand letters to groupts to handle mixing of case-sensitive and
542
+      // case-insensitive patterns if necessary.
543
+      if (regex.ignoreCase && needToFoldCase) {
544
+        for (var i = 0; i < n; ++i) {
545
+          var p = parts[i];
546
+          var ch0 = p.charAt(0);
547
+          if (p.length >= 2 && ch0 === '[') {
548
+            parts[i] = caseFoldCharset(p);
549
+          } else if (ch0 !== '\\') {
550
+            // TODO: handle letters in numeric escapes.
551
+            parts[i] = p.replace(
552
+                /[a-zA-Z]/g,
553
+                function (ch) {
554
+                  var cc = ch.charCodeAt(0);
555
+                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
556
+                });
557
+          }
558
+        }
559
+      }
560
+
561
+      return parts.join('');
562
+    }
563
+
564
+    var rewritten = [];
565
+    for (var i = 0, n = regexs.length; i < n; ++i) {
566
+      var regex = regexs[i];
567
+      if (regex.global || regex.multiline) { throw new Error('' + regex); }
568
+      rewritten.push(
569
+          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
570
+    }
571
+
572
+    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
573
+  }
574
+
575
+  var PR_innerHtmlWorks = null;
576
+  function getInnerHtml(node) {
577
+    // inner html is hopelessly broken in Safari 2.0.4 when the content is
578
+    // an html description of well formed XML and the containing tag is a PRE
579
+    // tag, so we detect that case and emulate innerHTML.
580
+    if (null === PR_innerHtmlWorks) {
581
+      var testNode = document.createElement('PRE');
582
+      testNode.appendChild(
583
+          document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
584
+      PR_innerHtmlWorks = !/</.test(testNode.innerHTML);
585
+    }
586
+
587
+    if (PR_innerHtmlWorks) {
588
+      var content = node.innerHTML;
589
+      // XMP tags contain unescaped entities so require special handling.
590
+      if (isRawContent(node)) {
591
+        content = textToHtml(content);
592
+      } else if (!isPreformatted(node, content)) {
593
+        content = content.replace(/(<br\s*\/?>)[\r\n]+/g, '$1')
594
+            .replace(/(?:[\r\n]+[ \t]*)+/g, ' ');
595
+      }
596
+      return content;
597
+    }
598
+
599
+    var out = [];
600
+    for (var child = node.firstChild; child; child = child.nextSibling) {
601
+      normalizedHtml(child, out);
602
+    }
603
+    return out.join('');
604
+  }
605
+
606
+  /** returns a function that expand tabs to spaces.  This function can be fed
607
+    * successive chunks of text, and will maintain its own internal state to
608
+    * keep track of how tabs are expanded.
609
+    * @return {function (string) : string} a function that takes
610
+    *   plain text and return the text with tabs expanded.
611
+    * @private
612
+    */
613
+  function makeTabExpander(tabWidth) {
614
+    var SPACES = '                ';
615
+    var charInLine = 0;
616
+
617
+    return function (plainText) {
618
+      // walk over each character looking for tabs and newlines.
619
+      // On tabs, expand them.  On newlines, reset charInLine.
620
+      // Otherwise increment charInLine
621
+      var out = null;
622
+      var pos = 0;
623
+      for (var i = 0, n = plainText.length; i < n; ++i) {
624
+        var ch = plainText.charAt(i);
625
+
626
+        switch (ch) {
627
+          case '\t':
628
+            if (!out) { out = []; }
629
+            out.push(plainText.substring(pos, i));
630
+            // calculate how much space we need in front of this part
631
+            // nSpaces is the amount of padding -- the number of spaces needed
632
+            // to move us to the next column, where columns occur at factors of
633
+            // tabWidth.
634
+            var nSpaces = tabWidth - (charInLine % tabWidth);
635
+            charInLine += nSpaces;
636
+            for (; nSpaces >= 0; nSpaces -= SPACES.length) {
637
+              out.push(SPACES.substring(0, nSpaces));
638
+            }
639
+            pos = i + 1;
640
+            break;
641
+          case '\n':
642
+            charInLine = 0;
643
+            break;
644
+          default:
645
+            ++charInLine;
646
+        }
647
+      }
648
+      if (!out) { return plainText; }
649
+      out.push(plainText.substring(pos));
650
+      return out.join('');
651
+    };
652
+  }
653
+
654
+  var pr_chunkPattern = new RegExp(
655
+      '[^<]+'  // A run of characters other than '<'
656
+      + '|<\!--[\\s\\S]*?--\>'  // an HTML comment
657
+      + '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>'  // a CDATA section
658
+      // a probable tag that should not be highlighted
659
+      + '|<\/?[a-zA-Z](?:[^>\"\']|\'[^\']*\'|\"[^\"]*\")*>'
660
+      + '|<',  // A '<' that does not begin a larger chunk
661
+      'g');
662
+  var pr_commentPrefix = /^<\!--/;
663
+  var pr_cdataPrefix = /^<!\[CDATA\[/;
664
+  var pr_brPrefix = /^<br\b/i;
665
+  var pr_tagNameRe = /^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/;
666
+
667
+  /** split markup into chunks of html tags (style null) and
668
+    * plain text (style {@link #PR_PLAIN}), converting tags which are
669
+    * significant for tokenization (<br>) into their textual equivalent.
670
+    *
671
+    * @param {string} s html where whitespace is considered significant.
672
+    * @return {Object} source code and extracted tags.
673
+    * @private
674
+    */
675
+  function extractTags(s) {
676
+    // since the pattern has the 'g' modifier and defines no capturing groups,
677
+    // this will return a list of all chunks which we then classify and wrap as
678
+    // PR_Tokens
679
+    var matches = s.match(pr_chunkPattern);
680
+    var sourceBuf = [];
681
+    var sourceBufLen = 0;
682
+    var extractedTags = [];
683
+    if (matches) {
684
+      for (var i = 0, n = matches.length; i < n; ++i) {
685
+        var match = matches[i];
686
+        if (match.length > 1 && match.charAt(0) === '<') {
687
+          if (pr_commentPrefix.test(match)) { continue; }
688
+          if (pr_cdataPrefix.test(match)) {
689
+            // strip CDATA prefix and suffix.  Don't unescape since it's CDATA
690
+            sourceBuf.push(match.substring(9, match.length - 3));
691
+            sourceBufLen += match.length - 12;
692
+          } else if (pr_brPrefix.test(match)) {
693
+            // <br> tags are lexically significant so convert them to text.
694
+            // This is undone later.
695
+            sourceBuf.push('\n');
696
+            ++sourceBufLen;
697
+          } else {
698
+            if (match.indexOf(PR_NOCODE) >= 0 && isNoCodeTag(match)) {
699
+              // A <span class="nocode"> will start a section that should be
700
+              // ignored.  Continue walking the list until we see a matching end
701
+              // tag.
702
+              var name = match.match(pr_tagNameRe)[2];
703
+              var depth = 1;
704
+              var j;
705
+              end_tag_loop:
706
+              for (j = i + 1; j < n; ++j) {
707
+                var name2 = matches[j].match(pr_tagNameRe);
708
+                if (name2 && name2[2] === name) {
709
+                  if (name2[1] === '/') {
710
+                    if (--depth === 0) { break end_tag_loop; }
711
+                  } else {
712
+                    ++depth;
713
+                  }
714
+                }
715
+              }
716
+              if (j < n) {
717
+                extractedTags.push(
718
+                    sourceBufLen, matches.slice(i, j + 1).join(''));
719
+                i = j;
720
+              } else {  // Ignore unclosed sections.
721
+                extractedTags.push(sourceBufLen, match);
722
+              }
723
+            } else {
724
+              extractedTags.push(sourceBufLen, match);
725
+            }
726
+          }
727
+        } else {
728
+          var literalText = htmlToText(match);
729
+          sourceBuf.push(literalText);
730
+          sourceBufLen += literalText.length;
731
+        }
732
+      }
733
+    }
734
+    return { source: sourceBuf.join(''), tags: extractedTags };
735
+  }
736
+
737
+  /** True if the given tag contains a class attribute with the nocode class. */
738
+  function isNoCodeTag(tag) {
739
+    return !!tag
740
+        // First canonicalize the representation of attributes
741
+        .replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,
742
+                 ' $1="$2$3$4"')
743
+        // Then look for the attribute we want.
744
+        .match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/);
745
+  }
746
+
747
+  /**
748
+   * Apply the given language handler to sourceCode and add the resulting
749
+   * decorations to out.
750
+   * @param {number} basePos the index of sourceCode within the chunk of source
751
+   *    whose decorations are already present on out.
752
+   */
753
+  function appendDecorations(basePos, sourceCode, langHandler, out) {
754
+    if (!sourceCode) { return; }
755
+    var job = {
756
+      source: sourceCode,
757
+      basePos: basePos
758
+    };
759
+    langHandler(job);
760
+    out.push.apply(out, job.decorations);
761
+  }
762
+
763
+  /** Given triples of [style, pattern, context] returns a lexing function,
764
+    * The lexing function interprets the patterns to find token boundaries and
765
+    * returns a decoration list of the form
766
+    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
767
+    * where index_n is an index into the sourceCode, and style_n is a style
768
+    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
769
+    * all characters in sourceCode[index_n-1:index_n].
770
+    *
771
+    * The stylePatterns is a list whose elements have the form
772
+    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
773
+    *
774
+    * Style is a style constant like PR_PLAIN, or can be a string of the
775
+    * form 'lang-FOO', where FOO is a language extension describing the
776
+    * language of the portion of the token in $1 after pattern executes.
777
+    * E.g., if style is 'lang-lisp', and group 1 contains the text
778
+    * '(hello (world))', then that portion of the token will be passed to the
779
+    * registered lisp handler for formatting.
780
+    * The text before and after group 1 will be restyled using this decorator
781
+    * so decorators should take care that this doesn't result in infinite
782
+    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
783
+    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
784
+    * '<script>foo()<\/script>', which would cause the current decorator to
785
+    * be called with '<script>' which would not match the same rule since
786
+    * group 1 must not be empty, so it would be instead styled as PR_TAG by
787
+    * the generic tag rule.  The handler registered for the 'js' extension would
788
+    * then be called with 'foo()', and finally, the current decorator would
789
+    * be called with '<\/script>' which would not match the original rule and
790
+    * so the generic tag rule would identify it as a tag.
791
+    *
792
+    * Pattern must only match prefixes, and if it matches a prefix, then that
793
+    * match is considered a token with the same style.
794
+    *
795
+    * Context is applied to the last non-whitespace, non-comment token
796
+    * recognized.
797
+    *
798
+    * Shortcut is an optional string of characters, any of which, if the first
799
+    * character, gurantee that this pattern and only this pattern matches.
800
+    *
801
+    * @param {Array} shortcutStylePatterns patterns that always start with
802
+    *   a known character.  Must have a shortcut string.
803
+    * @param {Array} fallthroughStylePatterns patterns that will be tried in
804
+    *   order if the shortcut ones fail.  May have shortcuts.
805
+    *
806
+    * @return {function (Object)} a
807
+    *   function that takes source code and returns a list of decorations.
808
+    */
809
+  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
810
+    var shortcuts = {};
811
+    var tokenizer;
812
+    (function () {
813
+      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
814
+      var allRegexs = [];
815
+      var regexKeys = {};
816
+      for (var i = 0, n = allPatterns.length; i < n; ++i) {
817
+        var patternParts = allPatterns[i];
818
+        var shortcutChars = patternParts[3];
819
+        if (shortcutChars) {
820
+          for (var c = shortcutChars.length; --c >= 0;) {
821
+            shortcuts[shortcutChars.charAt(c)] = patternParts;
822
+          }
823
+        }
824
+        var regex = patternParts[1];
825
+        var k = '' + regex;
826
+        if (!regexKeys.hasOwnProperty(k)) {
827
+          allRegexs.push(regex);
828
+          regexKeys[k] = null;
829
+        }
830
+      }
831
+      allRegexs.push(/[\0-\uffff]/);
832
+      tokenizer = combinePrefixPatterns(allRegexs);
833
+    })();
834
+
835
+    var nPatterns = fallthroughStylePatterns.length;
836
+    var notWs = /\S/;
837
+
838
+    /**
839
+     * Lexes job.source and produces an output array job.decorations of style
840
+     * classes preceded by the position at which they start in job.source in
841
+     * order.
842
+     *
843
+     * @param {Object} job an object like {@code
844
+     *    source: {string} sourceText plain text,
845
+     *    basePos: {int} position of job.source in the larger chunk of
846
+     *        sourceCode.
847
+     * }
848
+     */
849
+    var decorate = function (job) {
850
+      var sourceCode = job.source, basePos = job.basePos;
851
+      /** Even entries are positions in source in ascending order.  Odd enties
852
+        * are style markers (e.g., PR_COMMENT) that run from that position until
853
+        * the end.
854
+        * @type {Array.<number|string>}
855
+        */
856
+      var decorations = [basePos, PR_PLAIN];
857
+      var pos = 0;  // index into sourceCode
858
+      var tokens = sourceCode.match(tokenizer) || [];
859
+      var styleCache = {};
860
+
861
+      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
862
+        var token = tokens[ti];
863
+        var style = styleCache[token];
864
+        var match = void 0;
865
+
866
+        var isEmbedded;
867
+        if (typeof style === 'string') {
868
+          isEmbedded = false;
869
+        } else {
870
+          var patternParts = shortcuts[token.charAt(0)];
871
+          if (patternParts) {
872
+            match = token.match(patternParts[1]);
873
+            style = patternParts[0];
874
+          } else {
875
+            for (var i = 0; i < nPatterns; ++i) {
876
+              patternParts = fallthroughStylePatterns[i];
877
+              match = token.match(patternParts[1]);
878
+              if (match) {
879
+                style = patternParts[0];
880
+                break;
881
+              }
882
+            }
883
+
884
+            if (!match) {  // make sure that we make progress
885
+              style = PR_PLAIN;
886
+            }
887
+          }
888
+
889
+          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
890
+          if (isEmbedded && !(match && typeof match[1] === 'string')) {
891
+            isEmbedded = false;
892
+            style = PR_SOURCE;
893
+          }
894
+
895
+          if (!isEmbedded) { styleCache[token] = style; }
896
+        }
897
+
898
+        var tokenStart = pos;
899
+        pos += token.length;
900
+
901
+        if (!isEmbedded) {
902
+          decorations.push(basePos + tokenStart, style);
903
+        } else {  // Treat group 1 as an embedded block of source code.
904
+          var embeddedSource = match[1];
905
+          var embeddedSourceStart = token.indexOf(embeddedSource);
906
+          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
907
+          if (match[2]) {
908
+            // If embeddedSource can be blank, then it would match at the
909
+            // beginning which would cause us to infinitely recurse on the
910
+            // entire token, so we catch the right context in match[2].
911
+            embeddedSourceEnd = token.length - match[2].length;
912
+            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
913
+          }
914
+          var lang = style.substring(5);
915
+          // Decorate the left of the embedded source
916
+          appendDecorations(
917
+              basePos + tokenStart,
918
+              token.substring(0, embeddedSourceStart),
919
+              decorate, decorations);
920
+          // Decorate the embedded source
921
+          appendDecorations(
922
+              basePos + tokenStart + embeddedSourceStart,
923
+              embeddedSource,
924
+              langHandlerForExtension(lang, embeddedSource),
925
+              decorations);
926
+          // Decorate the right of the embedded section
927
+          appendDecorations(
928
+              basePos + tokenStart + embeddedSourceEnd,
929
+              token.substring(embeddedSourceEnd),
930
+              decorate, decorations);
931
+        }
932
+      }
933
+      job.decorations = decorations;
934
+    };
935
+    return decorate;
936
+  }
937
+
938
+  /** returns a function that produces a list of decorations from source text.
939
+    *
940
+    * This code treats ", ', and ` as string delimiters, and \ as a string
941
+    * escape.  It does not recognize perl's qq() style strings.
942
+    * It has no special handling for double delimiter escapes as in basic, or
943
+    * the tripled delimiters used in python, but should work on those regardless
944
+    * although in those cases a single string literal may be broken up into
945
+    * multiple adjacent string literals.
946
+    *
947
+    * It recognizes C, C++, and shell style comments.
948
+    *
949
+    * @param {Object} options a set of optional parameters.
950
+    * @return {function (Object)} a function that examines the source code
951
+    *     in the input job and builds the decoration list.
952
+    */
953
+  function sourceDecorator(options) {
954
+    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
955
+    if (options['tripleQuotedStrings']) {
956
+      // '''multi-line-string''', 'single-line-string', and double-quoted
957
+      shortcutStylePatterns.push(
958
+          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
959
+           null, '\'"']);
960
+    } else if (options['multiLineStrings']) {
961
+      // 'multi-line-string', "multi-line-string"
962
+      shortcutStylePatterns.push(
963
+          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
964
+           null, '\'"`']);
965
+    } else {
966
+      // 'single-line-string', "single-line-string"
967
+      shortcutStylePatterns.push(
968
+          [PR_STRING,
969
+           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
970
+           null, '"\'']);
971
+    }
972
+    if (options['verbatimStrings']) {
973
+      // verbatim-string-literal production from the C# grammar.  See issue 93.
974
+      fallthroughStylePatterns.push(
975
+          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
976
+    }
977
+    if (options['hashComments']) {
978
+      if (options['cStyleComments']) {
979
+        // Stop C preprocessor declarations at an unclosed open comment
980
+        shortcutStylePatterns.push(
981
+            [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
982
+             null, '#']);
983
+        fallthroughStylePatterns.push(
984
+            [PR_STRING,
985
+             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
986
+             null]);
987
+      } else {
988
+        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
989
+      }
990
+    }
991
+    if (options['cStyleComments']) {
992
+      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
993
+      fallthroughStylePatterns.push(
994
+          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
995
+    }
996
+    if (options['regexLiterals']) {
997
+      var REGEX_LITERAL = (
998
+          // A regular expression literal starts with a slash that is
999
+          // not followed by * or / so that it is not confused with
1000
+          // comments.
1001
+          '/(?=[^/*])'
1002
+          // and then contains any number of raw characters,
1003
+          + '(?:[^/\\x5B\\x5C]'
1004
+          // escape sequences (\x5C),
1005
+          +    '|\\x5C[\\s\\S]'
1006
+          // or non-nesting character sets (\x5B\x5D);
1007
+          +    '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
1008
+          // finally closed by a /.
1009
+          + '/');
1010
+      fallthroughStylePatterns.push(
1011
+          ['lang-regex',
1012
+           new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
1013
+           ]);
1014
+    }
1015
+
1016
+    var keywords = options['keywords'].replace(/^\s+|\s+$/g, '');
1017
+    if (keywords.length) {
1018
+      fallthroughStylePatterns.push(
1019
+          [PR_KEYWORD,
1020
+           new RegExp('^(?:' + keywords.replace(/\s+/g, '|') + ')\\b'), null]);
1021
+    }
1022
+
1023
+    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
1024
+    fallthroughStylePatterns.push(
1025
+        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
1026
+        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*/i, null],
1027
+        [PR_TYPE,        /^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, null],
1028
+        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9]*/i, null],
1029
+        [PR_LITERAL,
1030
+         new RegExp(
1031
+             '^(?:'
1032
+             // A hex number
1033
+             + '0x[a-f0-9]+'
1034
+             // or an octal or decimal number,
1035
+             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
1036
+             // possibly in scientific notation
1037
+             + '(?:e[+\\-]?\\d+)?'
1038
+             + ')'
1039
+             // with an optional modifier like UL for unsigned long
1040
+             + '[a-z]*', 'i'),
1041
+         null, '0123456789'],
1042
+        [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#]*/, null]);
1043
+
1044
+    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
1045
+  }
1046
+
1047
+  var decorateSource = sourceDecorator({
1048
+        'keywords': ALL_KEYWORDS,
1049
+        'hashComments': true,
1050
+        'cStyleComments': true,
1051
+        'multiLineStrings': true,
1052
+        'regexLiterals': true
1053
+      });
1054
+
1055
+  /** Breaks {@code job.source} around style boundaries in
1056
+    * {@code job.decorations} while re-interleaving {@code job.extractedTags},
1057
+    * and leaves the result in {@code job.prettyPrintedHtml}.
1058
+    * @param {Object} job like {
1059
+    *    source: {string} source as plain text,
1060
+    *    extractedTags: {Array.<number|string>} extractedTags chunks of raw
1061
+    *                   html preceded by their position in {@code job.source}
1062
+    *                   in order
1063
+    *    decorations: {Array.<number|string} an array of style classes preceded
1064
+    *                 by the position at which they start in job.source in order
1065
+    * }
1066
+    * @private
1067
+    */
1068
+  function recombineTagsAndDecorations(job) {
1069
+    var sourceText = job.source;
1070
+    var extractedTags = job.extractedTags;
1071
+    var decorations = job.decorations;
1072
+
1073
+    var html = [];
1074
+    // index past the last char in sourceText written to html
1075
+    var outputIdx = 0;
1076
+
1077
+    var openDecoration = null;
1078
+    var currentDecoration = null;
1079
+    var tagPos = 0;  // index into extractedTags
1080
+    var decPos = 0;  // index into decorations
1081
+    var tabExpander = makeTabExpander(window['PR_TAB_WIDTH']);
1082
+
1083
+    var adjacentSpaceRe = /([\r\n ]) /g;
1084
+    var startOrSpaceRe = /(^| ) /gm;
1085
+    var newlineRe = /\r\n?|\n/g;
1086
+    var trailingSpaceRe = /[ \r\n]$/;
1087
+    var lastWasSpace = true;  // the last text chunk emitted ended with a space.
1088
+
1089
+    // See bug 71 and http://stackoverflow.com/questions/136443/why-doesnt-ie7-
1090
+    var isIE678 = window['_pr_isIE6']();
1091
+    var lineBreakHtml = (
1092
+        isIE678
1093
+        ? (job.sourceNode.tagName === 'PRE'
1094
+           // Use line feeds instead of <br>s so that copying and pasting works
1095
+           // on IE.
1096
+           // Doing this on other browsers breaks lots of stuff since \r\n is
1097
+           // treated as two newlines on Firefox.
1098
+           ? (isIE678 === 6 ? '&#160;\r\n' :
1099
+              isIE678 === 7 ? '&#160;<br>\r' : '&#160;\r')
1100
+           // IE collapses multiple adjacent <br>s into 1 line break.
1101
+           // Prefix every newline with '&#160;' to prevent such behavior.
1102
+           // &nbsp; is the same as &#160; but works in XML as well as HTML.
1103
+           : '&#160;<br />')
1104
+        : '<br />');
1105
+
1106
+    // Look for a class like linenums or linenums:<n> where <n> is the 1-indexed
1107
+    // number of the first line.
1108
+    var numberLines = job.sourceNode.className.match(/\blinenums\b(?::(\d+))?/);
1109
+    var lineBreaker;
1110
+    if (numberLines) {
1111
+      var lineBreaks = [];
1112
+      for (var i = 0; i < 10; ++i) {
1113
+        lineBreaks[i] = lineBreakHtml + '</li><li class="L' + i + '">';
1114
+      }
1115
+      var lineNum = numberLines[1] && numberLines[1].length
1116
+          ? numberLines[1] - 1 : 0;  // Lines are 1-indexed
1117
+      html.push('<ol class="linenums"><li class="L', (lineNum) % 10, '"');
1118
+      if (lineNum) {
1119
+        html.push(' value="', lineNum + 1, '"');
1120
+      }
1121
+      html.push('>');
1122
+      lineBreaker = function () {
1123
+        var lb = lineBreaks[++lineNum % 10];
1124
+        // If a decoration is open, we need to close it before closing a list-item
1125
+        // and reopen it on the other side of the list item.
1126
+        return openDecoration
1127
+            ? ('</span>' + lb + '<span class="' + openDecoration + '">') : lb;
1128
+      };
1129
+    } else {
1130
+      lineBreaker = lineBreakHtml;
1131
+    }
1132
+
1133
+    // A helper function that is responsible for opening sections of decoration
1134
+    // and outputing properly escaped chunks of source
1135
+    function emitTextUpTo(sourceIdx) {
1136
+      if (sourceIdx > outputIdx) {
1137
+        if (openDecoration && openDecoration !== currentDecoration) {
1138
+          // Close the current decoration
1139
+          html.push('</span>');
1140
+          openDecoration = null;
1141
+        }
1142
+        if (!openDecoration && currentDecoration) {
1143
+          openDecoration = currentDecoration;
1144
+          html.push('<span class="', openDecoration, '">');
1145
+        }
1146
+        // This interacts badly with some wikis which introduces paragraph tags
1147
+        // into pre blocks for some strange reason.
1148
+        // It's necessary for IE though which seems to lose the preformattedness
1149
+        // of <pre> tags when their innerHTML is assigned.
1150
+        // http://stud3.tuwien.ac.at/~e0226430/innerHtmlQuirk.html
1151
+        // and it serves to undo the conversion of <br>s to newlines done in
1152
+        // chunkify.
1153
+        var htmlChunk = textToHtml(
1154
+            tabExpander(sourceText.substring(outputIdx, sourceIdx)))
1155
+            .replace(lastWasSpace
1156
+                     ? startOrSpaceRe
1157
+                     : adjacentSpaceRe, '$1&#160;');
1158
+        // Keep track of whether we need to escape space at the beginning of the
1159
+        // next chunk.
1160
+        lastWasSpace = trailingSpaceRe.test(htmlChunk);
1161
+        html.push(htmlChunk.replace(newlineRe, lineBreaker));
1162
+        outputIdx = sourceIdx;
1163
+      }
1164
+    }
1165
+
1166
+    while (true) {
1167
+      // Determine if we're going to consume a tag this time around.  Otherwise
1168
+      // we consume a decoration or exit.
1169
+      var outputTag;
1170
+      if (tagPos < extractedTags.length) {
1171
+        if (decPos < decorations.length) {
1172
+          // Pick one giving preference to extractedTags since we shouldn't open
1173
+          // a new style that we're going to have to immediately close in order
1174
+          // to output a tag.
1175
+          outputTag = extractedTags[tagPos] <= decorations[decPos];
1176
+        } else {
1177
+          outputTag = true;
1178
+        }
1179
+      } else {
1180
+        outputTag = false;
1181
+      }
1182
+      // Consume either a decoration or a tag or exit.
1183
+      if (outputTag) {
1184
+        emitTextUpTo(extractedTags[tagPos]);
1185
+        if (openDecoration) {
1186
+          // Close the current decoration
1187
+          html.push('</span>');
1188
+          openDecoration = null;
1189
+        }
1190
+        html.push(extractedTags[tagPos + 1]);
1191
+        tagPos += 2;
1192
+      } else if (decPos < decorations.length) {
1193
+        emitTextUpTo(decorations[decPos]);
1194
+        currentDecoration = decorations[decPos + 1];
1195
+        decPos += 2;
1196
+      } else {
1197
+        break;
1198
+      }
1199
+    }
1200
+    emitTextUpTo(sourceText.length);
1201
+    if (openDecoration) {
1202
+      html.push('</span>');
1203
+    }
1204
+    if (numberLines) { html.push('</li></ol>'); }
1205
+    job.prettyPrintedHtml = html.join('');
1206
+  }
1207
+
1208
+  /** Maps language-specific file extensions to handlers. */
1209
+  var langHandlerRegistry = {};
1210
+  /** Register a language handler for the given file extensions.
1211
+    * @param {function (Object)} handler a function from source code to a list
1212
+    *      of decorations.  Takes a single argument job which describes the
1213
+    *      state of the computation.   The single parameter has the form
1214
+    *      {@code {
1215
+    *        source: {string} as plain text.
1216
+    *        decorations: {Array.<number|string>} an array of style classes
1217
+    *                     preceded by the position at which they start in
1218
+    *                     job.source in order.
1219
+    *                     The language handler should assigned this field.
1220
+    *        basePos: {int} the position of source in the larger source chunk.
1221
+    *                 All positions in the output decorations array are relative
1222
+    *                 to the larger source chunk.
1223
+    *      } }
1224
+    * @param {Array.<string>} fileExtensions
1225
+    */
1226
+  function registerLangHandler(handler, fileExtensions) {
1227
+    for (var i = fileExtensions.length; --i >= 0;) {
1228
+      var ext = fileExtensions[i];
1229
+      if (!langHandlerRegistry.hasOwnProperty(ext)) {
1230
+        langHandlerRegistry[ext] = handler;
1231
+      } else if ('console' in window) {
1232
+        console['warn']('cannot override language handler %s', ext);
1233
+      }
1234
+    }
1235
+  }
1236
+  function langHandlerForExtension(extension, source) {
1237
+    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
1238
+      // Treat it as markup if the first non whitespace character is a < and
1239
+      // the last non-whitespace character is a >.
1240
+      extension = /^\s*</.test(source)
1241
+          ? 'default-markup'
1242
+          : 'default-code';
1243
+    }
1244
+    return langHandlerRegistry[extension];
1245
+  }
1246
+  registerLangHandler(decorateSource, ['default-code']);
1247
+  registerLangHandler(
1248
+      createSimpleLexer(
1249
+          [],
1250
+          [
1251
+           [PR_PLAIN,       /^[^<?]+/],
1252
+           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
1253
+           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
1254
+           // Unescaped content in an unknown language
1255
+           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
1256
+           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
1257
+           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
1258
+           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
1259
+           // Unescaped content in javascript.  (Or possibly vbscript).
1260
+           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
1261
+           // Contains unescaped stylesheet content
1262
+           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
1263
+           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
1264
+          ]),
1265
+      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
1266
+  registerLangHandler(
1267
+      createSimpleLexer(
1268
+          [
1269
+           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
1270
+           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
1271
+           ],
1272
+          [
1273
+           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
1274
+           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
1275
+           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
1276
+           [PR_PUNCTUATION,  /^[=<>\/]+/],
1277
+           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
1278
+           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
1279
+           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
1280
+           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
1281
+           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
1282
+           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
1283
+           ]),
1284
+      ['in.tag']);
1285
+  registerLangHandler(
1286
+      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
1287
+  registerLangHandler(sourceDecorator({
1288
+          'keywords': CPP_KEYWORDS,
1289
+          'hashComments': true,
1290
+          'cStyleComments': true
1291
+        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
1292
+  registerLangHandler(sourceDecorator({
1293
+          'keywords': 'null true false'
1294
+        }), ['json']);
1295
+  registerLangHandler(sourceDecorator({
1296
+          'keywords': CSHARP_KEYWORDS,
1297
+          'hashComments': true,
1298
+          'cStyleComments': true,
1299
+          'verbatimStrings': true
1300
+        }), ['cs']);
1301
+  registerLangHandler(sourceDecorator({
1302
+          'keywords': JAVA_KEYWORDS,
1303
+          'cStyleComments': true
1304
+        }), ['java']);
1305
+  registerLangHandler(sourceDecorator({
1306
+          'keywords': SH_KEYWORDS,
1307
+          'hashComments': true,
1308
+          'multiLineStrings': true
1309
+        }), ['bsh', 'csh', 'sh']);
1310
+  registerLangHandler(sourceDecorator({
1311
+          'keywords': PYTHON_KEYWORDS,
1312
+          'hashComments': true,
1313
+          'multiLineStrings': true,
1314
+          'tripleQuotedStrings': true
1315
+        }), ['cv', 'py']);
1316
+  registerLangHandler(sourceDecorator({
1317
+          'keywords': PERL_KEYWORDS,
1318
+          'hashComments': true,
1319
+          'multiLineStrings': true,
1320
+          'regexLiterals': true
1321
+        }), ['perl', 'pl', 'pm']);
1322
+  registerLangHandler(sourceDecorator({
1323
+          'keywords': RUBY_KEYWORDS,
1324
+          'hashComments': true,
1325
+          'multiLineStrings': true,
1326
+          'regexLiterals': true
1327
+        }), ['rb']);
1328
+  registerLangHandler(sourceDecorator({
1329
+          'keywords': JSCRIPT_KEYWORDS,
1330
+          'cStyleComments': true,
1331
+          'regexLiterals': true
1332
+        }), ['js']);
1333
+  registerLangHandler(
1334
+      createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
1335
+
1336
+  function applyDecorator(job) {
1337
+    var sourceCodeHtml = job.sourceCodeHtml;
1338
+    var opt_langExtension = job.langExtension;
1339
+
1340
+    // Prepopulate output in case processing fails with an exception.
1341
+    job.prettyPrintedHtml = sourceCodeHtml;
1342
+
1343
+    try {
1344
+      // Extract tags, and convert the source code to plain text.
1345
+      var sourceAndExtractedTags = extractTags(sourceCodeHtml);
1346
+      /** Plain text. @type {string} */
1347
+      var source = sourceAndExtractedTags.source;
1348
+      job.source = source;
1349
+      job.basePos = 0;
1350
+
1351
+      /** Even entries are positions in source in ascending order.  Odd entries
1352
+        * are tags that were extracted at that position.
1353
+        * @type {Array.<number|string>}
1354
+        */
1355
+      job.extractedTags = sourceAndExtractedTags.tags;
1356
+
1357
+      // Apply the appropriate language handler
1358
+      langHandlerForExtension(opt_langExtension, source)(job);
1359
+      // Integrate the decorations and tags back into the source code to produce
1360
+      // a decorated html string which is left in job.prettyPrintedHtml.
1361
+      recombineTagsAndDecorations(job);
1362
+    } catch (e) {
1363
+      if ('console' in window) {
1364
+        console['log'](e && e['stack'] ? e['stack'] : e);
1365
+      }
1366
+    }
1367
+  }
1368
+
1369
+  function prettyPrintOne(sourceCodeHtml, opt_langExtension) {
1370
+    var job = {
1371
+      sourceCodeHtml: sourceCodeHtml,
1372
+      langExtension: opt_langExtension
1373
+    };
1374
+    applyDecorator(job);
1375
+    return job.prettyPrintedHtml;
1376
+  }
1377
+
1378
+  function prettyPrint(opt_whenDone) {
1379
+    function byTagName(tn) { return document.getElementsByTagName(tn); }
1380
+    // fetch a list of nodes to rewrite
1381
+    var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
1382
+    var elements = [];
1383
+    for (var i = 0; i < codeSegments.length; ++i) {
1384
+      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
1385
+        elements.push(codeSegments[i][j]);
1386
+      }
1387
+    }
1388
+    codeSegments = null;
1389
+
1390
+    var clock = Date;
1391
+    if (!clock['now']) {
1392
+      clock = { 'now': function () { return (new Date).getTime(); } };
1393
+    }
1394
+
1395
+    // The loop is broken into a series of continuations to make sure that we
1396
+    // don't make the browser unresponsive when rewriting a large page.
1397
+    var k = 0;
1398
+    var prettyPrintingJob;
1399
+
1400
+    function doWork() {
1401
+      var endTime = (window['PR_SHOULD_USE_CONTINUATION'] ?
1402
+                     clock.now() + 250 /* ms */ :
1403
+                     Infinity);
1404
+      for (; k < elements.length && clock.now() < endTime; k++) {
1405
+        var cs = elements[k];
1406
+        // [JACOCO] 'prettyprint' -> 'source'
1407
+        if (cs.className && cs.className.indexOf('source') >= 0) {
1408
+          // If the classes includes a language extensions, use it.
1409
+          // Language extensions can be specified like
1410
+          //     <pre class="prettyprint lang-cpp">
1411
+          // the language extension "cpp" is used to find a language handler as
1412
+          // passed to PR_registerLangHandler.
1413
+          var langExtension = cs.className.match(/\blang-(\w+)\b/);
1414
+          if (langExtension) { langExtension = langExtension[1]; }
1415
+
1416
+          // make sure this is not nested in an already prettified element
1417
+          var nested = false;
1418
+          for (var p = cs.parentNode; p; p = p.parentNode) {
1419
+            if ((p.tagName === 'pre' || p.tagName === 'code' ||
1420
+                 p.tagName === 'xmp') &&
1421
+                // [JACOCO] 'prettyprint' -> 'source'
1422
+                p.className && p.className.indexOf('source') >= 0) {
1423
+              nested = true;
1424
+              break;
1425
+            }
1426
+          }
1427
+          if (!nested) {
1428
+            // fetch the content as a snippet of properly escaped HTML.
1429
+            // Firefox adds newlines at the end.
1430
+            var content = getInnerHtml(cs);
1431
+            content = content.replace(/(?:\r\n?|\n)$/, '');
1432
+
1433
+            // do the pretty printing
1434
+            prettyPrintingJob = {
1435
+              sourceCodeHtml: content,
1436
+              langExtension: langExtension,
1437
+              sourceNode: cs
1438
+            };
1439
+            applyDecorator(prettyPrintingJob);
1440
+            replaceWithPrettyPrintedHtml();
1441
+          }
1442
+        }
1443
+      }
1444
+      if (k < elements.length) {
1445
+        // finish up in a continuation
1446
+        setTimeout(doWork, 250);
1447
+      } else if (opt_whenDone) {
1448
+        opt_whenDone();
1449
+      }
1450
+    }
1451
+
1452
+    function replaceWithPrettyPrintedHtml() {
1453
+      var newContent = prettyPrintingJob.prettyPrintedHtml;
1454
+      if (!newContent) { return; }
1455
+      var cs = prettyPrintingJob.sourceNode;
1456
+
1457
+      // push the prettified html back into the tag.
1458
+      if (!isRawContent(cs)) {
1459
+        // just replace the old html with the new
1460
+        cs.innerHTML = newContent;
1461
+      } else {
1462
+        // we need to change the tag to a <pre> since <xmp>s do not allow
1463
+        // embedded tags such as the span tags used to attach styles to
1464
+        // sections of source code.
1465
+        var pre = document.createElement('PRE');
1466
+        for (var i = 0; i < cs.attributes.length; ++i) {
1467
+          var a = cs.attributes[i];
1468
+          if (a.specified) {
1469
+            var aname = a.name.toLowerCase();
1470
+            if (aname === 'class') {
1471
+              pre.className = a.value;  // For IE 6
1472
+            } else {
1473
+              pre.setAttribute(a.name, a.value);
1474
+            }
1475
+          }
1476
+        }
1477
+        pre.innerHTML = newContent;
1478
+
1479
+        // remove the old
1480
+        cs.parentNode.replaceChild(pre, cs);
1481
+        cs = pre;
1482
+      }
1483
+    }
1484
+
1485
+    doWork();
1486
+  }
1487
+
1488
+  window['PR_normalizedHtml'] = normalizedHtml;
1489
+  window['prettyPrintOne'] = prettyPrintOne;
1490
+  window['prettyPrint'] = prettyPrint;
1491
+  window['PR'] = {
1492
+        'combinePrefixPatterns': combinePrefixPatterns,
1493
+        'createSimpleLexer': createSimpleLexer,
1494
+        'registerLangHandler': registerLangHandler,
1495
+        'sourceDecorator': sourceDecorator,
1496
+        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
1497
+        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
1498
+        'PR_COMMENT': PR_COMMENT,
1499
+        'PR_DECLARATION': PR_DECLARATION,
1500
+        'PR_KEYWORD': PR_KEYWORD,
1501
+        'PR_LITERAL': PR_LITERAL,
1502
+        'PR_NOCODE': PR_NOCODE,
1503
+        'PR_PLAIN': PR_PLAIN,
1504
+        'PR_PUNCTUATION': PR_PUNCTUATION,
1505
+        'PR_SOURCE': PR_SOURCE,
1506
+        'PR_STRING': PR_STRING,
1507
+        'PR_TAG': PR_TAG,
1508
+        'PR_TYPE': PR_TYPE
1509
+      };
1510
+})();
... ...
@@ -0,0 +1,243 @@
1
+body, td {
2
+  font-family:sans-serif;
3
+  font-size:10pt;
4
+}
5
+
6
+h1 {
7
+  font-weight:bold;
8
+  font-size:18pt;
9
+}
10
+
11
+.breadcrumb {
12
+  border:#d6d3ce 1px solid;
13
+  padding:2px 4px 2px 4px;
14
+}
15
+
16
+.breadcrumb .info {
17
+  float:right;
18
+}
19
+
20
+.breadcrumb .info a {
21
+  margin-left:8px;
22
+}
23
+
24
+.el_report {
25
+  padding-left:18px;
26
+  background-image:url(report.gif);
27
+  background-position:left center;
28
+  background-repeat:no-repeat;
29
+}
30
+
31
+.el_group {
32
+  padding-left:18px;
33
+  background-image:url(group.gif);
34
+  background-position:left center;
35
+  background-repeat:no-repeat;
36
+}
37
+
38
+.el_bundle {
39
+  padding-left:18px;
40
+  background-image:url(bundle.gif);
41
+  background-position:left center;
42
+  background-repeat:no-repeat;
43
+}
44
+
45
+.el_package {
46
+  padding-left:18px;
47
+  background-image:url(package.gif);
48
+  background-position:left center;
49
+  background-repeat:no-repeat;
50
+}
51
+
52
+.el_class {
53
+  padding-left:18px;
54
+  background-image:url(class.gif);
55
+  background-position:left center;
56
+  background-repeat:no-repeat;
57
+}
58
+
59
+.el_source {
60
+  padding-left:18px;
61
+  background-image:url(source.gif);
62
+  background-position:left center;
63
+  background-repeat:no-repeat;
64
+}
65
+
66
+.el_method {
67
+  padding-left:18px;
68
+  background-image:url(method.gif);
69
+  background-position:left center;
70
+  background-repeat:no-repeat;
71
+}
72
+
73
+.el_session {
74
+  padding-left:18px;
75
+  background-image:url(session.gif);
76
+  background-position:left center;
77
+  background-repeat:no-repeat;
78
+}
79
+
80
+pre.source {
81
+  border:#d6d3ce 1px solid;
82
+  font-family:monospace;
83
+}
84
+
85
+pre.source ol {
86
+  margin-bottom: 0px;
87
+  margin-top: 0px;
88
+}
89
+
90
+pre.source li {
91
+  border-left: 1px solid #D6D3CE;
92
+  color: #A0A0A0;
93
+  padding-left: 0px;
94
+}
95
+
96
+pre.source span.fc {
97
+  background-color:#ccffcc;
98
+}
99
+
100
+pre.source span.nc {
101
+  background-color:#ffaaaa;
102
+}
103
+
104
+pre.source span.pc {
105
+  background-color:#ffffcc;
106
+}
107
+
108
+pre.source span.bfc {
109
+  background-image: url(branchfc.gif);
110
+  background-repeat: no-repeat;
111
+  background-position: 2px center;
112
+}
113
+
114
+pre.source span.bfc:hover {
115
+  background-color:#80ff80;
116
+}
117
+
118
+pre.source span.bnc {
119
+  background-image: url(branchnc.gif);
120
+  background-repeat: no-repeat;
121
+  background-position: 2px center;
122
+}
123
+
124
+pre.source span.bnc:hover {
125
+  background-color:#ff8080;
126
+}
127
+
128
+pre.source span.bpc {
129
+  background-image: url(branchpc.gif);
130
+  background-repeat: no-repeat;
131
+  background-position: 2px center;
132
+}
133
+
134
+pre.source span.bpc:hover {
135
+  background-color:#ffff80;
136
+}
137
+
138
+table.coverage {
139
+  empty-cells:show;
140
+  border-collapse:collapse;
141
+}
142
+
143
+table.coverage thead {
144
+  background-color:#e0e0e0;
145
+}
146
+
147
+table.coverage thead td {
148
+  white-space:nowrap;
149
+  padding:2px 14px 0px 6px;
150
+  border-bottom:#b0b0b0 1px solid;
151
+}
152
+
153
+table.coverage thead td.bar {
154
+  border-left:#cccccc 1px solid;
155
+}
156
+
157
+table.coverage thead td.ctr1 {
158
+  text-align:right;
159
+  border-left:#cccccc 1px solid;
160
+}
161
+
162
+table.coverage thead td.ctr2 {
163
+  text-align:right;
164
+  padding-left:2px;
165
+}
166
+
167
+table.coverage thead td.sortable {
168
+  cursor:pointer;
169
+  background-image:url(sort.gif);
170
+  background-position:right center;
171
+  background-repeat:no-repeat;
172
+}
173
+
174
+table.coverage thead td.up {
175
+  background-image:url(up.gif);
176
+}
177
+
178
+table.coverage thead td.down {
179
+  background-image:url(down.gif);
180
+}
181
+
182
+table.coverage tbody td {
183
+  white-space:nowrap;
184
+  padding:2px 6px 2px 6px;
185
+  border-bottom:#d6d3ce 1px solid;
186
+}
187
+
188
+table.coverage tbody tr:hover {
189
+  background: #f0f0d0 !important;
190
+}
191
+
192
+table.coverage tbody td.bar {
193
+  border-left:#e8e8e8 1px solid;
194
+}
195
+
196
+table.coverage tbody td.ctr1 {
197
+  text-align:right;
198
+  padding-right:14px;
199
+  border-left:#e8e8e8 1px solid;
200
+}
201
+
202
+table.coverage tbody td.ctr2 {
203
+  text-align:right;
204
+  padding-right:14px;
205
+  padding-left:2px;
206
+}
207
+
208
+table.coverage tfoot td {
209
+  white-space:nowrap;
210
+  padding:2px 6px 2px 6px;
211
+}
212
+
213
+table.coverage tfoot td.bar {
214
+  border-left:#e8e8e8 1px solid;
215
+}
216
+
217
+table.coverage tfoot td.ctr1 {
218
+  text-align:right;
219
+  padding-right:14px;
220
+  border-left:#e8e8e8 1px solid;
221
+}
222
+
223
+table.coverage tfoot td.ctr2 {
224
+  text-align:right;
225
+  padding-right:14px;
226
+  padding-left:2px;
227
+}
228
+
229
+.footer {
230
+  margin-top:20px;
231
+  border-top:#d6d3ce 1px solid;
232
+  padding-top:2px;
233
+  font-size:8pt;
234
+  color:#a0a0a0;
235
+}
236
+
237
+.footer a {
238
+  color:#a0a0a0;
239
+}
240
+
241
+.right {
242
+  float:right;
243
+}
... ...
@@ -0,0 +1,148 @@
1
+/*******************************************************************************
2
+ * Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors
3
+ * This program and the accompanying materials are made available under
4
+ * the terms of the Eclipse Public License 2.0 which is available at
5
+ * http://www.eclipse.org/legal/epl-2.0
6
+ *
7
+ * SPDX-License-Identifier: EPL-2.0
8
+ *
9
+ * Contributors:
10
+ *    Marc R. Hoffmann - initial API and implementation
11
+ *
12
+ *******************************************************************************/
13
+
14
+(function () {
15
+
16
+  /**
17
+   * Sets the initial sorting derived from the hash.
18
+   *
19
+   * @param linkelementids
20
+   *          list of element ids to search for links to add sort inidcator
21
+   *          hash links
22
+   */
23
+  function initialSort(linkelementids) {
24
+    window.linkelementids = linkelementids;
25
+    var hash = window.location.hash;
26
+    if (hash) {
27
+      var m = hash.match(/up-./);
28
+      if (m) {
29
+        var header = window.document.getElementById(m[0].charAt(3));
30
+        if (header) {
31
+          sortColumn(header, true);
32
+        }
33
+        return;
34
+      }
35
+      var m = hash.match(/dn-./);
36
+      if (m) {
37
+        var header = window.document.getElementById(m[0].charAt(3));
38
+        if (header) {
39
+          sortColumn(header, false);
40
+        }
41
+        return
42
+      }
43
+    }
44
+  }
45
+
46
+  /**
47
+   * Sorts the columns with the given header dependening on the current sort state.
48
+   */
49
+  function toggleSort(header) {
50
+    var sortup = header.className.indexOf('down ') == 0;
51
+    sortColumn(header, sortup);
52
+  }
53
+
54
+  /**
55
+   * Sorts the columns with the given header in the given direction.
56
+   */
57
+  function sortColumn(header, sortup) {
58
+    var table = header.parentNode.parentNode.parentNode;
59
+    var body = table.tBodies[0];
60
+    var colidx = getNodePosition(header);
61
+
62
+    resetSortedStyle(table);
63
+
64
+    var rows = body.rows;
65
+    var sortedrows = [];
66
+    for (var i = 0; i < rows.length; i++) {
67
+      r = rows[i];
68
+      sortedrows[parseInt(r.childNodes[colidx].id.slice(1))] = r;
69
+    }
70
+
71
+    var hash;
72
+
73
+    if (sortup) {
74
+      for (var i = sortedrows.length - 1; i >= 0; i--) {
75
+        body.appendChild(sortedrows[i]);
76
+      }
77
+      header.className = 'up ' + header.className;
78
+      hash = 'up-' + header.id;
79
+    } else {
80
+      for (var i = 0; i < sortedrows.length; i++) {
81
+        body.appendChild(sortedrows[i]);
82
+      }
83
+      header.className = 'down ' + header.className;
84
+      hash = 'dn-' + header.id;
85
+    }
86
+
87
+    setHash(hash);
88
+  }
89
+
90
+  /**
91
+   * Adds the sort indicator as a hash to the document URL and all links.
92
+   */
93
+  function setHash(hash) {
94
+    window.document.location.hash = hash;
95
+    ids = window.linkelementids;
96
+    for (var i = 0; i < ids.length; i++) {
97
+        setHashOnAllLinks(document.getElementById(ids[i]), hash);
98
+    }
99
+  }
100
+
101
+  /**
102
+   * Extend all links within the given tag with the given hash.
103
+   */
104
+  function setHashOnAllLinks(tag, hash) {
105
+    links = tag.getElementsByTagName("a");
106
+    for (var i = 0; i < links.length; i++) {
107
+        var a = links[i];
108
+        var href = a.href;
109
+        var hashpos = href.indexOf("#");
110
+        if (hashpos != -1) {
111
+            href = href.substring(0, hashpos);
112
+        }
113
+        a.href = href + "#" + hash;
114
+    }
115
+  }
116
+
117
+  /**
118
+   * Calculates the position of a element within its parent.
119
+   */
120
+  function getNodePosition(element) {
121
+    var pos = -1;
122
+    while (element) {
123
+      element = element.previousSibling;
124
+      pos++;
125
+    }
126
+    return pos;
127
+  }
128
+
129
+  /**
130
+   * Remove the sorting indicator style from all headers.
131
+   */
132
+  function resetSortedStyle(table) {
133
+    for (var c = table.tHead.firstChild.firstChild; c; c = c.nextSibling) {
134
+      if (c.className) {
135
+        if (c.className.indexOf('down ') == 0) {
136
+          c.className = c.className.slice(5);
137
+        }
138
+        if (c.className.indexOf('up ') == 0) {
139
+          c.className = c.className.slice(3);
140
+        }
141
+      }
142
+    }
143
+  }
144
+
145
+  window['initialSort'] = initialSort;
146
+  window['toggleSort'] = toggleSort;
147
+
148
+})();
... ...
@@ -0,0 +1 @@
1
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">kata</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">a206pc27L.local.isima.fr-e9cc1941</span></td><td>4 oct. 2024, 17:11:33</td><td>4 oct. 2024, 17:11:34</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><span class="el_class">com.esotericsoftware.kryo.io.Input</span></td><td><code>82caa4ac8d2c9ad6</code></td></tr><tr><td><span class="el_class">com.esotericsoftware.kryo.io.Output</span></td><td><code>2e152e7951e62ecf</code></td></tr><tr><td><span class="el_class">com.spun.util.ArrayUtils</span></td><td><code>a8e4b50718dd5103</code></td></tr><tr><td><span class="el_class">com.spun.util.Asserts</span></td><td><code>edd8561c758fc3a0</code></td></tr><tr><td><span class="el_class">com.spun.util.ClassUtils</span></td><td><code>b4d389654c2e0c18</code></td></tr><tr><td><span class="el_class">com.spun.util.ObjectUtils</span></td><td><code>4d2ac6cd5d970ab6</code></td></tr><tr><td><span class="el_class">com.spun.util.SearchingFileFilter</span></td><td><code>39adb17b08db833f</code></td></tr><tr><td><span class="el_class">com.spun.util.StringUtils</span></td><td><code>e77aea8a804db649</code></td></tr><tr><td><span class="el_class">com.spun.util.SystemUtils</span></td><td><code>349f2998af31c7c5</code></td></tr><tr><td><span class="el_class">com.spun.util.ThreadUtils</span></td><td><code>6f12c21ed992ae36</code></td></tr><tr><td><span class="el_class">com.spun.util.Tuple</span></td><td><code>ad7d33ba8ca02492</code></td></tr><tr><td><span class="el_class">com.spun.util.io.FileUtils</span></td><td><code>57c762f9547c1b8e</code></td></tr><tr><td><span class="el_class">com.spun.util.tests.LinuxOpener</span></td><td><code>43c06885983d112e</code></td></tr><tr><td><span class="el_class">com.spun.util.tests.MacOpener</span></td><td><code>f5c8b1e8fd18e7a2</code></td></tr><tr><td><span class="el_class">com.spun.util.tests.StackTraceReflectionResult</span></td><td><code>811867bddc4fc380</code></td></tr><tr><td><span class="el_class">com.spun.util.tests.TestUtils</span></td><td><code>f1ca40b0d20844d5</code></td></tr><tr><td><span class="el_class">com.spun.util.tests.WindowsOpener</span></td><td><code>fb2235aaf0f9a6a9</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang.StringUtils</span></td><td><code>9dd94cc65aafa7e1</code></td></tr><tr><td><span class="el_class">org.approvaltests.Approvals</span></td><td><code>724a52c971a61d76</code></td></tr><tr><td><span class="el_class">org.approvaltests.Approvals.1</span></td><td><code>aaa5f55849da3e88</code></td></tr><tr><td><span class="el_class">org.approvaltests.ReporterFactory</span></td><td><code>757b45eaf75433a6</code></td></tr><tr><td><span class="el_class">org.approvaltests.StackListings</span></td><td><code>1efc1fe293191c33</code></td></tr><tr><td><span class="el_class">org.approvaltests.approvers.FileApprover</span></td><td><code>a745d04b042136d1</code></td></tr><tr><td><span class="el_class">org.approvaltests.core.ApprovalTestPackageSettings</span></td><td><code>1add61a025438aa4</code></td></tr><tr><td><span class="el_class">org.approvaltests.core.Options</span></td><td><code>bb3f131b8f7f6226</code></td></tr><tr><td><span class="el_class">org.approvaltests.core.Options.Fields</span></td><td><code>b6a2299b84c4045d</code></td></tr><tr><td><span class="el_class">org.approvaltests.core.Options.FileOptions</span></td><td><code>f2cb7fdd8df80d46</code></td></tr><tr><td><span class="el_class">org.approvaltests.core.VerifyResult</span></td><td><code>22ed8653852c27ca</code></td></tr><tr><td><span class="el_class">org.approvaltests.namer.ApprovalResults</span></td><td><code>5720cff70f220d43</code></td></tr><tr><td><span class="el_class">org.approvaltests.namer.AttributeStackSelector</span></td><td><code>018e6c27feef1d38</code></td></tr><tr><td><span class="el_class">org.approvaltests.namer.NamerFactory</span></td><td><code>bf2667e336738bad</code></td></tr><tr><td><span class="el_class">org.approvaltests.namer.StackTraceNamer</span></td><td><code>b1d5f2a1c4894ae0</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.AbstractJUnitReporter</span></td><td><code>7e0d0e12ccdef27d</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.DefaultFrontLoadedReporter</span></td><td><code>603eb973aca4ade0</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.DiffInfo</span></td><td><code>8e572edeb91f2c78</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.DiffInfo.One</span></td><td><code>8b4a5dc590d3f71c</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.DiffPrograms</span></td><td><code>75c460ad11e5d92d</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.DiffPrograms.All</span></td><td><code>3c8a3f39e9efe083</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.DiffPrograms.Linux</span></td><td><code>af43a60b146db7c3</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.DiffPrograms.Mac</span></td><td><code>1c727918d368edf2</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.DiffPrograms.Windows</span></td><td><code>3b666e2013c04579</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.DiffReporter</span></td><td><code>d4ab65eca89c4382</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.FirstWorkingReporter</span></td><td><code>1b042f81d1ecdcc0</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.GenericDiffReporter</span></td><td><code>c533262ac2b96d6d</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.Junit3Reporter</span></td><td><code>21eb1597468308b5</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.Junit4Reporter</span></td><td><code>467119b6b4174ade</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.Junit5Reporter</span></td><td><code>21c9899fa9ca65d6</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.JunitReporter</span></td><td><code>b5f7b49c338bde49</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.PitReporter</span></td><td><code>baa8e74e7e42ff01</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.QuietReporter</span></td><td><code>796b87a0fb582627</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.intellij.Edition</span></td><td><code>469bfbfb000d59a9</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.intellij.IntelliJCommunityReporter</span></td><td><code>843e9d58f9be1ec4</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.intellij.IntelliJMacSiliconReporter</span></td><td><code>aa6cce5c661c3778</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.intellij.IntelliJPathResolver</span></td><td><code>8d0c1847999753a7</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.intellij.IntelliJReporter</span></td><td><code>bf3e07d0e5844a2c</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.intellij.IntelliJUltimateReporter</span></td><td><code>047b9f1ca6a0b45f</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.linux.DiffMergeReporter</span></td><td><code>11662e9867fd3f7a</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.linux.LinuxDiffReporter</span></td><td><code>0e87d033c072de79</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.linux.MeldMergeReporter</span></td><td><code>4021418d37613812</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.macosx.BeyondCompareMacReporter</span></td><td><code>bd0c0f3957f8284f</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.macosx.DiffMergeReporter</span></td><td><code>2a981e894eafb99b</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.macosx.KDiff3Reporter</span></td><td><code>cfb440d32f4b8c3c</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.macosx.Kaleidoscope3DiffReporter</span></td><td><code>42c1630175b47e20</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.macosx.KaleidoscopeDiffReporter</span></td><td><code>bb9f8641a66b5840</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.macosx.LegacyKaleidoscopeDiffReporter</span></td><td><code>8a4cda2e04153fd6</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.macosx.MacDiffReporter</span></td><td><code>48dd30b338df4dde</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.macosx.P4MergeReporter</span></td><td><code>b71ba6988027a388</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.macosx.TkDiffReporter</span></td><td><code>2ee7a8a48d501113</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.macosx.VisualStudioCodeReporter</span></td><td><code>cfa7c1f0ef300563</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.windows.AraxisMergeReporter</span></td><td><code>7248edfe9023df09</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.windows.BeyondCompare3Reporter</span></td><td><code>4e2454d0877b379d</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.windows.BeyondCompare4Reporter</span></td><td><code>5b176c5129eaaf7f</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.windows.BeyondCompareReporter</span></td><td><code>9435c368ccf2c700</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.windows.CodeCompareReporter</span></td><td><code>93ec225da96e9db2</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.windows.KDiff3Reporter</span></td><td><code>a5018cd4c824f629</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.windows.TortoiseDiffReporter</span></td><td><code>1b99101d3beb7486</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.windows.TortoiseImageDiffReporter</span></td><td><code>ea24bd492d28b833</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.windows.TortoiseTextDiffReporter</span></td><td><code>e966103769b88bf2</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.windows.VisualStudioCodeReporter</span></td><td><code>a15f74ea0e001f3e</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.windows.WinMergeReporter</span></td><td><code>193c546574008084</code></td></tr><tr><td><span class="el_class">org.approvaltests.reporters.windows.WindowsDiffReporter</span></td><td><code>b6d7671d4d719afa</code></td></tr><tr><td><span class="el_class">org.approvaltests.scrubbers.NoOpScrubber</span></td><td><code>80c7ffa5af6ab1b9</code></td></tr><tr><td><span class="el_class">org.approvaltests.writers.ApprovalTextWriter</span></td><td><code>fc6382dea5052eeb</code></td></tr><tr><td><span class="el_class">org.approvaltests.writers.DefaultApprovalWriterFactory</span></td><td><code>6270050df6e05974</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.AbstractTestDescriptor</span></td><td><code>b7d6764e5c2ed1e2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestClassDescriptor</span></td><td><code>29a580f844a707e9</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestClassRunInfo</span></td><td><code>68a7e79b2914fd4d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestDescriptor</span></td><td><code>33f0f28b81218a57</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestSuiteDescriptor</span></td><td><code>7ca2225e2fb0b4b2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.JULRedirector</span></td><td><code>bae8ac50b3f8106a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor</span></td><td><code>61188fe4ac13d309</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.TestCompleteEvent</span></td><td><code>94a6da85674017e0</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.TestStartEvent</span></td><td><code>739a2bff9c36ddab</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.DefaultThrowableToTestFailureMapper</span></td><td><code>98b3c6d95620e628</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.TestFailureMapper</span></td><td><code>fad0361b08728e0d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.AssertErrorMapper</span></td><td><code>f8f52c2b08659a75</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.AssertjMultipleAssertionsErrorMapper</span></td><td><code>6d9c88eceee97e47</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.JUnitComparisonTestFailureMapper</span></td><td><code>1870ccedd70c62d3</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.OpenTestAssertionFailedMapper</span></td><td><code>4ded763dc3dea331</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.OpenTestMultipleFailuresErrorMapper</span></td><td><code>fd9e46b889182617</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestFilterSpec</span></td><td><code>a7526e6ebab295a4</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor</span></td><td><code>672aa182353275ae</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformSpec</span></td><td><code>f5579f12caeb524a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor</span></td><td><code>f682a3fb343b4c24</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.BackwardsCompatibleLauncherSession</span></td><td><code>15441bf1aaf0f299</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.CollectAllTestClassesExecutor</span></td><td><code>8c9350cf7e325a14</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessorFactory</span></td><td><code>a7b6a6fbba6df145</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestExecutionListener</span></td><td><code>b76948e94474cdbc</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.CaptureTestOutputTestResultProcessor</span></td><td><code>29d7c45ae3841147</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.DefaultStandardOutputRedirector</span></td><td><code>c0ce962d1b0afc6c</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.DefaultStandardOutputRedirector.DiscardAction</span></td><td><code>b1b2c3fe575a0572</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.DefaultStandardOutputRedirector.WriteAction</span></td><td><code>313e54868cd6f7bf</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.TestOutputRedirector</span></td><td><code>3b6a0392c9e3dd02</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.TestOutputRedirector.Forwarder</span></td><td><code>2f0a51434c23293a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.results.AttachParentTestResultProcessor</span></td><td><code>6d02567fd2a7d62d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer</span></td><td><code>86c8a2a7f444af17</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultNestedTestSuiteDescriptorSerializer</span></td><td><code>d06ce1b3d75f97ec</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultParameterizedTestDescriptorSerializer</span></td><td><code>110fe58b6a08d18a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestClassDescriptorSerializer</span></td><td><code>7a33def0e5f77169</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestClassRunInfoSerializer</span></td><td><code>756d4261d461b736</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestDescriptorSerializer</span></td><td><code>f22763fb9799791b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestFailureSerializer</span></td><td><code>a3fa0d4e2033ff7b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestMethodDescriptorSerializer</span></td><td><code>8399fed70a5a5583</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestOutputEventSerializer</span></td><td><code>ab68b99e3ba8e6a7</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestSuiteDescriptorSerializer</span></td><td><code>00e4063cb0a3717e</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.IdSerializer</span></td><td><code>cdde38a9abcdd3c1</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.NullableSerializer</span></td><td><code>0b8b3e72f4fb326b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.TestCompleteEventSerializer</span></td><td><code>971566bf8e6bbbc9</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.TestStartEventSerializer</span></td><td><code>46e7b262d38e1858</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.WorkerTestSuiteDescriptorSerializer</span></td><td><code>e06ab7fe365be81b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker</span></td><td><code>9da5c91b10b63d25</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.1</span></td><td><code>ccbe896c0f005689</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.2</span></td><td><code>fd29a630d60da1b8</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.3</span></td><td><code>b9c4ca4676087868</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.State</span></td><td><code>fa812eb1a8e0dd23</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.TestFrameworkServiceRegistry</span></td><td><code>e033f3a95f86732e</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.WorkerTestClassProcessor</span></td><td><code>0f6525b02f2bb3d2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.WorkerTestClassProcessor.WorkerTestSuiteDescriptor</span></td><td><code>b3807e9b92351840</code></td></tr><tr><td><span class="el_class">org.gradle.api.logging.LogLevel</span></td><td><code>236e938e30516638</code></td></tr><tr><td><span class="el_class">org.gradle.api.tasks.testing.TestOutputEvent.Destination</span></td><td><code>a16caef1c278a81f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.Cast</span></td><td><code>6130c81e08d81640</code></td></tr><tr><td><span class="el_class">org.gradle.internal.MutableBoolean</span></td><td><code>349de2b8a37d4338</code></td></tr><tr><td><span class="el_class">org.gradle.internal.SystemProperties</span></td><td><code>d691e6f045b4d8e8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.actor.internal.DefaultActorFactory</span></td><td><code>2776985b64942a33</code></td></tr><tr><td><span class="el_class">org.gradle.internal.actor.internal.DefaultActorFactory.BlockingActor</span></td><td><code>abe31a572fce57fa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractDelegatingExecutorService</span></td><td><code>49d3dededcea40d0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractManagedExecutor</span></td><td><code>2b6c0f29fdff5244</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractManagedExecutor.1</span></td><td><code>872460d8243510dc</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable</span></td><td><code>e322584f6cb5969a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable.1</span></td><td><code>97a4a0e348c32238</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable.2</span></td><td><code>d6e18202f5962cf7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.DefaultExecutorFactory</span></td><td><code>63847aa635eddd82</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.DefaultExecutorFactory.TrackedManagedExecutor</span></td><td><code>36f4bc1cd93c039c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ExecutorPolicy.CatchAndRecordFailures</span></td><td><code>2aacf6d3d0dd2240</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ManagedExecutorImpl</span></td><td><code>ce6f255f6fc1de83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ThreadFactoryImpl</span></td><td><code>1d388becbfb01ad8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ContextClassLoaderDispatch</span></td><td><code>132d0c3fd93e8141</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ContextClassLoaderProxy</span></td><td><code>4295807baa6fbb83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.MethodInvocation</span></td><td><code>56dc845f6b509e42</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ProxyDispatchAdapter</span></td><td><code>56827e7cbc177632</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ProxyDispatchAdapter.DispatchingInvocationHandler</span></td><td><code>91c49d997210d865</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ReflectionDispatch</span></td><td><code>6976fdf67f3e8979</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.AbstractBroadcastDispatch</span></td><td><code>3624329b4268ace0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch</span></td><td><code>8e28373cd592a460</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.CompositeDispatch</span></td><td><code>cb1fa3ce9072c0bf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.EmptyDispatch</span></td><td><code>720dd233b7e6bc29</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.SingletonDispatch</span></td><td><code>1d8f3791fdfff085</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.ListenerBroadcast</span></td><td><code>bb9ab86e7f09e921</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.CompositeIdGenerator</span></td><td><code>f1c607aa5fccdbaa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.CompositeIdGenerator.CompositeId</span></td><td><code>e710c854f802c58b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.LongIdGenerator</span></td><td><code>6f8168bf486a560d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.UUIDGenerator</span></td><td><code>047a43ab94df6ffa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.BufferCaster</span></td><td><code>88a8af829d9f2dca</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.ClassLoaderObjectInputStream</span></td><td><code>acf45500b0d04661</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.LinePerThreadBufferingOutputStream</span></td><td><code>2d2cc4f27d1ed01d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.NullOutputStream</span></td><td><code>eefcfe0665bbfe4c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.config.LoggingSystemAdapter</span></td><td><code>2bb5150ee66232e9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.config.LoggingSystemAdapter.SnapshotImpl</span></td><td><code>221de860d84422df</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.console.DefaultUserInputReceiver</span></td><td><code>08050cb4428bad0e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.EndOutputEvent</span></td><td><code>0d8edd2a5ce274ee</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.LogLevelChangeEvent</span></td><td><code>33b762c6d5852de7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.OutputEvent</span></td><td><code>85bce87f1bcda18d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.LogEventSerializer</span></td><td><code>b6d88af223db296a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.LogLevelChangeEventSerializer</span></td><td><code>f77a59533dde75ec</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.SpanSerializer</span></td><td><code>5f773b7d1ad07c9f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.StyledTextOutputEventSerializer</span></td><td><code>faebed27ac3e65ba</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager</span></td><td><code>61e216a064052ff1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager.StartableLoggingRouter</span></td><td><code>78396be937af48de</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager.StartableLoggingSystem</span></td><td><code>b121a97021902643</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManagerFactory</span></td><td><code>eb1ab97193f0d177</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry</span></td><td><code>f422be508a723dad</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry.1</span></td><td><code>8077eb5bc8da45fa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry.CommandLineLogging</span></td><td><code>ab0f1f63de5d4641</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.TextStreamOutputEventListener</span></td><td><code>ef4d0c3267356598</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventListenerManager</span></td><td><code>d6dee3d6fea49020</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventListenerManager.1</span></td><td><code>1e218a705ff0ee7e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer</span></td><td><code>ad1cc4fc552ab292</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.1</span></td><td><code>b94418b2e260aede</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.2</span></td><td><code>a956801cd98ca633</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.LazyListener</span></td><td><code>7ee882569b166e1e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.SnapshotImpl</span></td><td><code>827634628a47c5f5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventTransformer</span></td><td><code>06c2270eef0e291e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.BuildOperationAwareLogger</span></td><td><code>daea5fa552e68a8c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLogger</span></td><td><code>30ddd0a8ff91b5f5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext</span></td><td><code>9d35d4b7a722eb08</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext.NoOpLogger</span></td><td><code>a09428f13d916349</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.Slf4jLoggingConfigurer</span></td><td><code>75fba29c3739b15f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.DefaultStdErrLoggingSystem</span></td><td><code>fd3dd0caab2f1d95</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.DefaultStdOutLoggingSystem</span></td><td><code>528bb39bfb67c3ae</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.JavaUtilLoggingSystem</span></td><td><code>5e967b17aabfd442</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.JavaUtilLoggingSystem.SnapshotImpl</span></td><td><code>15dfc30250723749</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem</span></td><td><code>1ae6e6b715c6b3f9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.1</span></td><td><code>65643cb979acba64</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.OutputEventDestination</span></td><td><code>8c1ddf1476568828</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.PrintStreamDestination</span></td><td><code>9e7273f370028123</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.SnapshotImpl</span></td><td><code>8f80a46f9780a57e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.filesystem.services.FileSystemServices</span></td><td><code>b25a2a743a08dd2a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.DefaultJansiRuntimeResolver</span></td><td><code>1aa17f25c9c1cad4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiBootPathConfigurer</span></td><td><code>3a766bce65ac1a48</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiLibraryFactory</span></td><td><code>0cbaac430d6656c4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiStorageLocator</span></td><td><code>c8bff1ccb071f9b6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices</span></td><td><code>abb0c6b651fcb93a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.1</span></td><td><code>cb6208604e1a9ad4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures</span></td><td><code>6aa09c4d82dd664e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures.1</span></td><td><code>a97bf0d4f5545599</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures.2</span></td><td><code>b680e303b6631a7b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode</span></td><td><code>c5dd13d016e14664</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.1</span></td><td><code>95f5d7b5f2ef5cdf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.2</span></td><td><code>ed56f6dad8089839</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.3</span></td><td><code>37a9e97bc1744917</code></td></tr><tr><td><span class="el_class">org.gradle.internal.reflect.JavaMethod</span></td><td><code>c42e01e56542d65c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.KryoBackedMessageSerializer</span></td><td><code>0028157720ec1f27</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.ConnectionSet</span></td><td><code>323708d9214e34e4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.ConnectionState</span></td><td><code>250fb1b274991d9a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer</span></td><td><code>b5f4b38125033ffd</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer.ArraySerializer</span></td><td><code>16505d5ccbb1b78b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer.EmptyArraySerializer</span></td><td><code>cdc53c79a631aa33</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.IncomingQueue</span></td><td><code>0e8ecdb8f31efe51</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer</span></td><td><code>7d84d4aa85858c73</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer.MessageReader</span></td><td><code>ab1cd6753eb75a29</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer.MessageWriter</span></td><td><code>3e4611f758508afb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.JavaSerializationBackedMethodArgsSerializer</span></td><td><code>4c7a738ee4525ff6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub</span></td><td><code>1326887a1f1da0ac</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ChannelDispatch</span></td><td><code>8a9dfd1b6306d8e6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ConnectionDispatch</span></td><td><code>df1d0a86180d66e4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ConnectionReceive</span></td><td><code>e1dc78071e8e957d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.Discard</span></td><td><code>63a8d677cc1f9101</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.Handler</span></td><td><code>3d232f51f2c02828</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.State</span></td><td><code>1b76747d7bce6b89</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedClient</span></td><td><code>77c2124c3c43d832</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection</span></td><td><code>c23964928f1aff22</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.1</span></td><td><code>ac806a6bc6b1b21d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.2</span></td><td><code>8ac38215966e3a20</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.DispatchWrapper</span></td><td><code>9aa5d8679dbc6601</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer</span></td><td><code>47063ab293644e83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodDetails</span></td><td><code>b6b7fb55e88cc4b9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodInvocationReader</span></td><td><code>e6b939136f207ff5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodInvocationWriter</span></td><td><code>c3b77db1b2556afe</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.OutgoingQueue</span></td><td><code>fbcc05506ad40c68</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.ChannelIdentifier</span></td><td><code>7697ff6a7c712869</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.ChannelMessage</span></td><td><code>9bff479666e58802</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.EndOfStream</span></td><td><code>f29ffed85365f7db</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.InterHubMessage</span></td><td><code>0c6e49b6ec077e16</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.InterHubMessage.Delivery</span></td><td><code>0652d09c2a7fd1ac</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.EndPointQueue</span></td><td><code>8038a5636529123d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiChannelQueue</span></td><td><code>bcaac9c224068764</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiEndPointQueue</span></td><td><code>27222a892157733f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiEndPointQueue.1</span></td><td><code>44049b3edc682954</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.QueueInitializer</span></td><td><code>ad18361c23e679b1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.MultiChoiceAddress</span></td><td><code>91381aa03cdd48e7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.MultiChoiceAddressSerializer</span></td><td><code>7ffc395650705aaa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnectCompletion</span></td><td><code>0da46ac4ccd1c9ce</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection</span></td><td><code>b648fc2e70525f62</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.1</span></td><td><code>c7f1074dffaaa188</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.SocketInputStream</span></td><td><code>07d3128481116a21</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.SocketOutputStream</span></td><td><code>341e7a58a4db0e94</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketInetAddress</span></td><td><code>20cc3fd7992230e8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketInetAddress.Serializer</span></td><td><code>d42dd7f644e6367c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.TcpOutgoingConnector</span></td><td><code>e658ec26090de909</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.services.MessagingServices</span></td><td><code>d686a35c2f44fd41</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractCollectionSerializer</span></td><td><code>7897b7a9a0c39b1b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractDecoder</span></td><td><code>6f331f65d3691839</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractEncoder</span></td><td><code>44ea8279ea7b3a07</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractSerializer</span></td><td><code>d5cd8744f99ef12d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory</span></td><td><code>83d030ef5f6c0526</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BigDecimalSerializer</span></td><td><code>4dcd516a5e9202d8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BigIntegerSerializer</span></td><td><code>50f6ab963a855e2a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BooleanSerializer</span></td><td><code>9a343eeb20f2b7f4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ByteArraySerializer</span></td><td><code>9566e41ef84566ae</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ByteSerializer</span></td><td><code>85286889be7534cf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.CharSerializer</span></td><td><code>6fba21fa805857ff</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.DoubleSerializer</span></td><td><code>085b687ded9be124</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.EnumSerializer</span></td><td><code>a314f7118f1d0412</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.FileSerializer</span></td><td><code>c43bc85ad47073ee</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.FloatSerializer</span></td><td><code>dad7a35798e49d9d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.IntegerSerializer</span></td><td><code>e8a55740afa66954</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.LongSerializer</span></td><td><code>3a08a2ef15abca0d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.PathSerializer</span></td><td><code>22894f3c1859ada1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ShortSerializer</span></td><td><code>5791e5a0a4ad1ece</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.StringMapSerializer</span></td><td><code>eb348217154fd0ed</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.StringSerializer</span></td><td><code>01576ecfb2720760</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ThrowableSerializer</span></td><td><code>ae463fe767977ceb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializer</span></td><td><code>f0908e23b4486288</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry</span></td><td><code>84449bcf590c1af7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.1</span></td><td><code>aeba2bb0cd2eab52</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.HierarchySerializerMatcher</span></td><td><code>c4fa93579434fd2b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.InstanceBasedSerializerFactory</span></td><td><code>4d56c9c7fbddbcc0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.SerializerClassMatcherStrategy</span></td><td><code>ea36ea8beff22743</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.StrictSerializerMatcher</span></td><td><code>6df6080c06573b93</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.TaggedTypeSerializer</span></td><td><code>264fbb605d976b35</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.TypeInfo</span></td><td><code>bd6904d4ac5974ce</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.HashCodeSerializer</span></td><td><code>4cc78fc15c246fbf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.InputStreamBackedDecoder</span></td><td><code>1a43def6f05c6405</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.ListSerializer</span></td><td><code>fe472a367fb15381</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.KryoBackedDecoder</span></td><td><code>f9287092db21f40c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.KryoBackedEncoder</span></td><td><code>c7b371f9548e9e06</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer</span></td><td><code>1dbc9e4c69fd1973</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer.1</span></td><td><code>bb88df969641a032</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer.2</span></td><td><code>599bac595545b9c0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.AbstractServiceMethod</span></td><td><code>d8f9bf72435aa0d5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceMethodFactory</span></td><td><code>7cd5dc9e6187cc39</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry</span></td><td><code>554c0bdbb65f55e5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.1</span></td><td><code>726e10ffdfe2409a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ClassInspector</span></td><td><code>aa4210f935a4d0a5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ClassInspector.ClassDetails</span></td><td><code>53c53e0645999e10</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.CompositeServiceProvider</span></td><td><code>91db51aebd73dbaf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ConstructorService</span></td><td><code>bc8ae40bda9c59ff</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FactoryMethodService</span></td><td><code>9f0229ae7d626482</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FactoryService</span></td><td><code>c9da4433a3208962</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FixedInstanceService</span></td><td><code>cf29b00c2e8b2d37</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ManagedObjectServiceProvider</span></td><td><code>2ca44396bc0bc74b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.OwnServices</span></td><td><code>1ee93f694ad228ec</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ParentServices</span></td><td><code>1d4570e7353520f7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.SingletonService</span></td><td><code>1f6b32eb0b444d88</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.SingletonService.BindState</span></td><td><code>3a2e6f45cbc059eb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.State</span></td><td><code>455f607243c17726</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ThisAsService</span></td><td><code>df926700e970f5a1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.InjectUtil</span></td><td><code>4e32c5f95305147b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.MethodHandleBasedServiceMethod</span></td><td><code>674037aa99129b52</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.MethodHandleBasedServiceMethodFactory</span></td><td><code>47e87df4713e4ce5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.ReflectionBasedServiceMethod</span></td><td><code>56fdba7d8393253f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.RelevantMethods</span></td><td><code>542516b051995f02</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.RelevantMethodsBuilder</span></td><td><code>2254a458e7bdf1d8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.MonotonicClock</span></td><td><code>ba849f4eb1139bf6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.Time</span></td><td><code>118854647ab7eed4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.TimeSource</span></td><td><code>a96871955c3b895e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.TimeSource.1</span></td><td><code>6de78f6b0e44a7b2</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.WorkerLoggingSerializer</span></td><td><code>adae78bad8b0e727</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.ActionExecutionWorker</span></td><td><code>a7d30aba9c762788</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.ActionExecutionWorker.1</span></td><td><code>d0eba6bfe3f78d57</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.DefaultWorkerDirectoryProvider</span></td><td><code>10469cccf2e081cb</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker</span></td><td><code>d51a401f71c96cf4</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.ContextImpl</span></td><td><code>6684822230e9827b</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.PrintUnrecoverableErrorToFileHandler</span></td><td><code>1b3eabcd9dbe24df</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices</span></td><td><code>14d92ee3ca1bb0be</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices.1</span></td><td><code>b7b72af63ebb5dff</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices.1.1</span></td><td><code>befc8ff806a5f547</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.WorkerLogEventListener</span></td><td><code>4a0b5fb708591833</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.messaging.WorkerConfig</span></td><td><code>8633f06980fb19fd</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.messaging.WorkerConfigSerializer</span></td><td><code>9cb8842482bd87b2</code></td></tr><tr><td><span class="el_class">org.hamcrest.BaseMatcher</span></td><td><code>f52733a4a58e8a8e</code></td></tr><tr><td><span class="el_class">org.hamcrest.MatcherAssert</span></td><td><code>375cdaed635186e8</code></td></tr><tr><td><span class="el_class">org.hamcrest.Matchers</span></td><td><code>69121f2930d4e465</code></td></tr><tr><td><span class="el_class">org.hamcrest.core.Is</span></td><td><code>1b4bc96017d7a098</code></td></tr><tr><td><span class="el_class">org.hamcrest.core.IsEqual</span></td><td><code>df3c8def58c301e5</code></td></tr><tr><td><span class="el_class">org.hamcrest.core.IsNot</span></td><td><code>7b55411c1f2e51f0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertEquals</span></td><td><code>02e79388fd0ddf18</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertNotEquals</span></td><td><code>16f81a8dcc216a9d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertNotNull</span></td><td><code>34eb9c4ee51b2816</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertThrows</span></td><td><code>2e413933639a681e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertionUtils</span></td><td><code>a580a647f9b0d1af</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.Assertions</span></td><td><code>30bb83f461535d85</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator</span></td><td><code>1c70d4d828122f05</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.IndicativeSentences</span></td><td><code>b23b44fe1a1ae4b6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.ReplaceUnderscores</span></td><td><code>45af1f815eb3bfc6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.Simple</span></td><td><code>3587fc3bd5ac68a7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.Standard</span></td><td><code>232bffaaa51a0c4e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.TestInstance.Lifecycle</span></td><td><code>235138c6fffd45f1</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ConditionEvaluationResult</span></td><td><code>fc311dfabd3a0e23</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext</span></td><td><code>dacb7330135ba8f9</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext.Namespace</span></td><td><code>eb8d03782ab35d64</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.InvocationInterceptor</span></td><td><code>695ac2a6b4b9c7e4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.JupiterTestEngine</span></td><td><code>011031d0b1fe58db</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.CachingJupiterConfiguration</span></td><td><code>9da5fe6b78ad9a14</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.DefaultJupiterConfiguration</span></td><td><code>bbee9c72790c271d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.EnumConfigurationParameterConverter</span></td><td><code>433eec982a6fabbc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.InstantiatingConfigurationParameterConverter</span></td><td><code>d2270f0957971443</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.AbstractExtensionContext</span></td><td><code>6b3fc41ad8b41d4f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor</span></td><td><code>414ee653c9e673cf</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassExtensionContext</span></td><td><code>e804dacaeaef4a6a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassTestDescriptor</span></td><td><code>2f87db51b4485e07</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.DefaultTestInstanceFactoryContext</span></td><td><code>b1b7d61e94c58605</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.DisplayNameUtils</span></td><td><code>8a6f8eeb3e12ddf6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ExtensionUtils</span></td><td><code>43a683ad1b768e92</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor</span></td><td><code>3d2dbddce296b041</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext</span></td><td><code>7146ce9988edfce2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterTestDescriptor</span></td><td><code>67ad750cdb2cb53b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.LifecycleMethodUtils</span></td><td><code>286eb923d0b68032</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor</span></td><td><code>f531f49451e39050</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodExtensionContext</span></td><td><code>b5abe6523f4a32d7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils</span></td><td><code>a247fc379f47df66</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor</span></td><td><code>35334f82ecefa63c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractAnnotatedDescriptorWrapper</span></td><td><code>90b10f2d90d7b01b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractOrderingVisitor</span></td><td><code>f8eb297929c247eb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractOrderingVisitor.DescriptorWrapperOrderer</span></td><td><code>c8e1585f8474ed61</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.ClassOrderingVisitor</span></td><td><code>1f09fc1c6b9779bb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.ClassSelectorResolver</span></td><td><code>e25bb2b197bc8493</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DefaultClassDescriptor</span></td><td><code>9064f3528773a161</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DiscoverySelectorResolver</span></td><td><code>5dc6be896f50996f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodFinder</span></td><td><code>621c8591e557439a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodOrderingVisitor</span></td><td><code>7d9864cebac818e1</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver</span></td><td><code>679c52dec5ee3cd2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType</span></td><td><code>2ca704c5264882ae</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.1</span></td><td><code>b3bc3007a7dfdaa0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.2</span></td><td><code>598aec8eeefe85e3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.3</span></td><td><code>e8fd5325e2431a2b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsInnerClass</span></td><td><code>d746bcff9a71ec26</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsNestedTestClass</span></td><td><code>f75dfd9ee2347890</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer</span></td><td><code>909f14a1b9fe84dc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests</span></td><td><code>34690a186bfcf3ac</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethod</span></td><td><code>941a8af0d47a68fd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestMethod</span></td><td><code>f2039dbd13fce110</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod</span></td><td><code>c13a4260435c18a8</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestableMethod</span></td><td><code>4be487dee199f633</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConditionEvaluator</span></td><td><code>df91d94b180fe511</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConstructorInvocation</span></td><td><code>60b80968f2bdedc3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.DefaultExecutableInvoker</span></td><td><code>97f15d1e3151968f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.DefaultTestInstances</span></td><td><code>0fc6d90567826bc4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InterceptingExecutableInvoker</span></td><td><code>42cb185ff5e76387</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.ReflectiveInterceptorCall</span></td><td><code>7e154d03f7a732e5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain</span></td><td><code>9798b2a812d2015d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain.InterceptedInvocation</span></td><td><code>199eef1acbe0b316</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain.ValidatingInvocation</span></td><td><code>f064b1c2c4a4bf86</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext</span></td><td><code>b48cc2a96dab0116</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builder</span></td><td><code>d1557432e23d2776</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State</span></td><td><code>3926323ef1c7fb03</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.MethodInvocation</span></td><td><code>8b8fd00463d994df</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.NamespaceAwareStore</span></td><td><code>00e5ea1337f34969</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ParameterResolutionUtils</span></td><td><code>5aba48e342016f8f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.TestInstancesProvider</span></td><td><code>357bca6226069e7b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.DisabledCondition</span></td><td><code>1604b4e34c1363e4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.ExtensionRegistry</span></td><td><code>687649643dbb04fc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.MutableExtensionRegistry</span></td><td><code>4daca7ba95c88845</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.RepeatedTestExtension</span></td><td><code>7a30afad0f944ea5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TempDirectory</span></td><td><code>7a8413f5c14657c8</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TempDirectory.Scope</span></td><td><code>ad6de5090886dd64</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestInfoParameterResolver</span></td><td><code>3c520f8376f91ff7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestReporterParameterResolver</span></td><td><code>7187071bfc76c6ac</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutConfiguration</span></td><td><code>44b8593a8e980687</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutDurationParser</span></td><td><code>bb6a412c3829dae9</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutExtension</span></td><td><code>13bcdadb20fcc7bb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.support.JupiterThrowableCollectorFactory</span></td><td><code>46546a446de4c9c0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.support.OpenTest4JAndJUnit4AwareThrowableCollector</span></td><td><code>e9ee7d4e1adecdd1</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.function.Try</span></td><td><code>5200e6adc191344c</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.function.Try.Failure</span></td><td><code>5d1cf7b52cd7a7ea</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory</span></td><td><code>39fdfe1f67bc0eda</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory.DelegatingLogger</span></td><td><code>c71dcf008235901c</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.AnnotationSupport</span></td><td><code>4b0c63263b83acb5</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.ReflectionSupport</span></td><td><code>db9de9450da5225a</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils</span></td><td><code>efebc064783617e1</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassLoaderUtils</span></td><td><code>0d0959e2f6aa173e</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassNamePatternFilterUtils</span></td><td><code>e725a6f058746f53</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassUtils</span></td><td><code>60a2276f3701443f</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClasspathScanner</span></td><td><code>54e3df9bb2092b52</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.CollectionUtils</span></td><td><code>d47999c87f911057</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.Preconditions</span></td><td><code>2c2a6e13cda880d4</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils</span></td><td><code>3d0b05a220d10774</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode</span></td><td><code>349d54e51f2ffb44</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.StringUtils</span></td><td><code>237c0cb03ac19254</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.UnrecoverableExceptions</span></td><td><code>e906a774e770e7d4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter</span></td><td><code>6a52e5b4f7292f48</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter.1</span></td><td><code>cc0aadc5880fb4e4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineDiscoveryListener</span></td><td><code>c3024068e43bb7f4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineDiscoveryListener.1</span></td><td><code>a4cdbe8dd38d8f57</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineExecutionListener</span></td><td><code>693fee5cbd4c2df0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineExecutionListener.1</span></td><td><code>999902b68f81dd9a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.ExecutionRequest</span></td><td><code>b74e001541d12dd1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.Filter</span></td><td><code>5ffaaa90df97ca04</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.FilterResult</span></td><td><code>a787a89e1f12d534</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.SelectorResolutionResult</span></td><td><code>ca52e15a278dcf5c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.SelectorResolutionResult.Status</span></td><td><code>c505c2274f89f01d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor</span></td><td><code>a828437d5cd2ea4f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor.Type</span></td><td><code>7628a7c639ef3a60</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult</span></td><td><code>6b1b512d17bb680e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult.Status</span></td><td><code>ad256e9fb4407e04</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId</span></td><td><code>4308af7bfbde4ba1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId.Segment</span></td><td><code>f2d36a9ca9d14367</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueIdFormat</span></td><td><code>6c86362ad62a1954</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.ClassSelector</span></td><td><code>3174b37b3ba53b7e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.DiscoverySelectors</span></td><td><code>7863536f4276f4dd</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.MethodSelector</span></td><td><code>3fe9eccb2ba205d2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.AbstractTestDescriptor</span></td><td><code>b9c965daf4d9a476</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.ClassSource</span></td><td><code>37bd92069360f773</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.EngineDescriptor</span></td><td><code>8f2f77769ee0e9c9</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.MethodSource</span></td><td><code>1d55ac49f5cabc20</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.ClassContainerSelectorResolver</span></td><td><code>dc6114dc7e983729</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution</span></td><td><code>506a6b871d2fd8fe</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.DefaultContext</span></td><td><code>db18f59764ea1f2a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver</span></td><td><code>e7fb3042ea8112f0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.Builder</span></td><td><code>d86618af76b95613</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.DefaultInitializationContext</span></td><td><code>1904819635770d62</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver</span></td><td><code>e64e4fd796d9641d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Match</span></td><td><code>789c682356298d75</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Match.Type</span></td><td><code>1761e56439c8d93c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Resolution</span></td><td><code>ab713bbdee405d17</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExclusiveResource</span></td><td><code>c29acbe41918b09a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExclusiveResource.LockMode</span></td><td><code>96e95d210b150f97</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine</span></td><td><code>3ac292151741b7fc</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor</span></td><td><code>963cba9b029b4b19</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.LockManager</span></td><td><code>5aedd3bd3957b5a6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node</span></td><td><code>5c68850150771b6e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node.SkipResult</span></td><td><code>5aca1404ff0f9294</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeExecutionAdvisor</span></td><td><code>7c2670c7a35cfba6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTask</span></td><td><code>f652d8cc5e11bdc5</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTask.DefaultDynamicTestExecutor</span></td><td><code>abd00dd511d28b2f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTaskContext</span></td><td><code>bdf88cd3834282a5</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTreeWalker</span></td><td><code>c689092b060d0b12</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeUtils</span></td><td><code>a7ec8f66d373c169</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeUtils.1</span></td><td><code>5a44a7e2cbf864b4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService</span></td><td><code>2f3b283eba81629f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SingleLock</span></td><td><code>2036ec8b92a38105</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ThrowableCollector</span></td><td><code>6fd7a27676be3c50</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore</span></td><td><code>f773d297d7dc3275</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.CompositeKey</span></td><td><code>3f8758b273ff41a9</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.EvaluatedValue</span></td><td><code>3362298f87d9b160</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.MemoizingSupplier</span></td><td><code>be04f7b805ba11e1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.StoredValue</span></td><td><code>8e79d12821d1a835</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.EngineDiscoveryResult</span></td><td><code>44ae55d9c94cdd13</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.EngineDiscoveryResult.Status</span></td><td><code>c6f73a818e869b3a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherDiscoveryListener</span></td><td><code>c8e17526e895636b</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherDiscoveryListener.1</span></td><td><code>8959ed22ae756aca</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherSessionListener</span></td><td><code>fd09754de5a01f16</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherSessionListener.1</span></td><td><code>44b3640faa83f474</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestExecutionListener</span></td><td><code>f482f6546d6593dc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestIdentifier</span></td><td><code>2b393a1d76332bc4</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestPlan</span></td><td><code>125780e74ba9c50c</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.CompositeEngineExecutionListener</span></td><td><code>cea0030887322419</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.CompositeTestExecutionListener</span></td><td><code>283b3c281a0728e5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultDiscoveryRequest</span></td><td><code>5706e3938a47edbc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncher</span></td><td><code>0bd6690ec3f385ab</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherConfig</span></td><td><code>6fbfe73d83f861ce</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession</span></td><td><code>593c9fadcd439bc2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession.1</span></td><td><code>4e7ad5e44df7008e</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession.ClosedLauncher</span></td><td><code>1fe238faa78c4ee2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DelegatingEngineExecutionListener</span></td><td><code>98129d4f91790da1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DelegatingLauncher</span></td><td><code>443e4e7cef8118ba</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryOrchestrator</span></td><td><code>9260ad30b5b1dcb4</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.Phase</span></td><td><code>c5da52319ffdb6cc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryResultValidator</span></td><td><code>241befbef6ea2edf</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineExecutionOrchestrator</span></td><td><code>61a7d44fcaf1fd6d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineFilterer</span></td><td><code>5886e10a3932fe3b</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineIdValidator</span></td><td><code>a3cbf4111f4706bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ExecutionListenerAdapter</span></td><td><code>027b702b863a1b7b</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.InternalTestPlan</span></td><td><code>6c1da5c749fc1754</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder</span></td><td><code>67fbbac106398c55</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder.1</span></td><td><code>c32d4c631876b3d3</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder.2</span></td><td><code>b3c544910702c338</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfig</span></td><td><code>58100dc14c875cb9</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfig.Builder</span></td><td><code>b0426f929eec8a53</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters</span></td><td><code>443c9d189d7662aa</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.Builder</span></td><td><code>89b3d95a424a68ea</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider</span></td><td><code>da0ae1240b20de42</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider.2</span></td><td><code>481aeb52e3ac15c4</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider.3</span></td><td><code>2d8e65fa362495e2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder</span></td><td><code>8aa84e8c1156fc9d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryResult</span></td><td><code>6ba764b26de92159</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherFactory</span></td><td><code>7c870cd17431cb9d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherListenerRegistry</span></td><td><code>64d5f2a8ac991f94</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ListenerRegistry</span></td><td><code>387fd40f10f1e6b5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.OutcomeDelayingEngineExecutionListener</span></td><td><code>4c68ad66a29b4dd7</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.OutcomeDelayingEngineExecutionListener.Outcome</span></td><td><code>b6ca0889820c3cca</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderRegistry</span></td><td><code>2a95faa488a889e7</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry</span></td><td><code>69f4349cc7042ed7</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.StackTracePruningEngineExecutionListener</span></td><td><code>dbf05583a874b58d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.StreamInterceptingTestExecutionListener</span></td><td><code>36972afd5e542435</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.UniqueIdTrackingListener</span></td><td><code>f828b9fe46e426f0</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.AbortOnFailureLauncherDiscoveryListener</span></td><td><code>ee6720edc40a9ccf</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.LauncherDiscoveryListeners</span></td><td><code>03063623efb5e8b2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.LauncherDiscoveryListeners.LauncherDiscoveryListenerType</span></td><td><code>e18e1a0e62e22287</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.session.LauncherSessionListeners</span></td><td><code>792ecbf10e49d607</code></td></tr><tr><td><span class="el_class">org.lambda.query.Query</span></td><td><code>f2040d3bd701543c</code></td></tr><tr><td><span class="el_class">org.lambda.query.Queryable</span></td><td><code>010320113367347d</code></td></tr><tr><td><span class="el_class">org.packagesettings.Field</span></td><td><code>2a51933ac2ece908</code></td></tr><tr><td><span class="el_class">org.packagesettings.PackageLevelSettings</span></td><td><code>f2092f3506185879</code></td></tr><tr><td><span class="el_class">org.slf4j.LoggerFactory</span></td><td><code>a381b7ddf19bf47d</code></td></tr><tr><td><span class="el_class">org.slf4j.bridge.SLF4JBridgeHandler</span></td><td><code>a24ab9068b3f1049</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.NOPLoggerFactory</span></td><td><code>54f5632bfcb8d8d5</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.SubstituteLoggerFactory</span></td><td><code>dc7efc0107a4a62d</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.Util</span></td><td><code>857ff3acc0576435</code></td></tr><tr><td><span class="el_class">org.slf4j.impl.StaticLoggerBinder</span></td><td><code>6822bf7129d487fa</code></td></tr><tr><td><span class="el_class">re.forestier.edu.GlobalTest</span></td><td><code>a747f5ef710e5ad1</code></td></tr><tr><td><a href="re.forestier.edu/Main.html" class="el_class">re.forestier.edu.Main</a></td><td><code>c6729a4ee209d149</code></td></tr><tr><td><span class="el_class">re.forestier.edu.UnitTests</span></td><td><code>ee9e1ddf7147c2e5</code></td></tr><tr><td><a href="re.forestier.edu.rpg/Affichage.html" class="el_class">re.forestier.edu.rpg.Affichage</a></td><td><code>792c6ceb2b557d8b</code></td></tr><tr><td><a href="re.forestier.edu.rpg/Player.html" class="el_class">re.forestier.edu.rpg.Player</a></td><td><code>a3240441d3e6e663</code></td></tr><tr><td><a href="re.forestier.edu.rpg/UpdatePlayer.html" class="el_class">re.forestier.edu.rpg.UpdatePlayer</a></td><td><code>8b3a00193e7341a0</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_fr</span></td><td><code>029bda9b9c0e0c46</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>cea799461486d92b</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>b4998bcaf6bc697c</code></td></tr><tr><td><span class="el_class">worker.org.gradle.api.JavaVersion</span></td><td><code>b1ecdf7e3318cb73</code></td></tr><tr><td><span class="el_class">worker.org.gradle.api.internal.jvm.JavaVersionParser</span></td><td><code>1206b4dd1a2e9827</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderSpec</span></td><td><code>cb374b01ccbebc0b</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils</span></td><td><code>8203100709821636</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.AbstractClassLoaderLookuper</span></td><td><code>c285dc94ede87ba6</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.Java9PackagesFetcher</span></td><td><code>66503273ab6df058</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.LookupClassDefiner</span></td><td><code>101fed03f270a39f</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader</span></td><td><code>685f3dec8c07e429</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.RetrieveSystemPackagesClassLoader</span></td><td><code>f37f538880fb8032</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.Spec</span></td><td><code>66254ecaab39094b</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.TrieSet</span></td><td><code>9ca6d89930a3c026</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.stream.EncodedStream.EncodedInput</span></td><td><code>6e5f5782b741154c</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.util.Trie</span></td><td><code>19fbee069a29feb3</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.util.Trie.Builder</span></td><td><code>3ff89b3303eddda1</code></td></tr><tr><td><span class="el_class">worker.org.gradle.process.internal.worker.GradleWorkerMain</span></td><td><code>232767ef46e8d7ca</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.11.202310140853</span></div></body></html>
0 2
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Affichage</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">kata</a> &gt; <a href="index.html" class="el_package">re.forestier.edu.rpg</a> &gt; <span class="el_class">Affichage</span></div><h1>Affichage</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 67</td><td class="ctr2">100 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">12</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="Affichage.java.html#L6" class="el_method">afficherJoueur(Player)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="47" alt="47"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="Affichage.java.html#L10" class="el_method">lambda$afficherJoueur$0(String[], String, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="22" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="Affichage.java.html#L14" class="el_method">lambda$afficherJoueur$1(String[], String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="20" height="10" title="8" alt="8"/></td><td class="ctr2" id="c2">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="Affichage.java.html#L3" class="el_method">Affichage()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="7" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">100 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.11.202310140853</span></div></body></html>
0 2
\ No newline at end of file
... ...
@@ -0,0 +1,20 @@
1
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Affichage.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">kata</a> &gt; <a href="index.source.html" class="el_package">re.forestier.edu.rpg</a> &gt; <span class="el_source">Affichage.java</span></div><h1>Affichage.java</h1><pre class="source lang-java linenums">package re.forestier.edu.rpg;
2
+
3
+<span class="fc" id="L3">public class Affichage {</span>
4
+
5
+    public static String afficherJoueur(Player player) {
6
+<span class="fc" id="L6">        final String[] finalString = {&quot;Joueur &quot; + player.getAvatarName() + &quot; joué par &quot; + player.getPlayerName()};</span>
7
+<span class="fc" id="L7">        finalString[0] += &quot;\nNiveau : &quot; + player.retrieveLevel() + &quot; (XP totale : &quot; + player.getXp() + &quot;)&quot;;</span>
8
+<span class="fc" id="L8">        finalString[0] += &quot;\n\nCapacités :&quot;;</span>
9
+<span class="fc" id="L9">        player.abilities.forEach((name, level) -&gt; {</span>
10
+<span class="fc" id="L10">            finalString[0] += &quot;\n   &quot; + name + &quot; : &quot; + level;</span>
11
+<span class="fc" id="L11">        });</span>
12
+<span class="fc" id="L12">        finalString[0] += &quot;\n\nInventaire :&quot;;</span>
13
+<span class="fc" id="L13">        player.inventory.forEach(item -&gt; {</span>
14
+<span class="fc" id="L14">            finalString[0] += &quot;\n   &quot; + item;</span>
15
+<span class="fc" id="L15">        });</span>
16
+
17
+<span class="fc" id="L17">        return finalString[0];</span>
18
+    }
19
+}
20
+</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.11.202310140853</span></div></body></html>
0 21
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Player</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">kata</a> &gt; <a href="index.html" class="el_package">re.forestier.edu.rpg</a> &gt; <span class="el_class">Player</span></div><h1>Player</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">3 of 187</td><td class="ctr2">98 %</td><td class="bar">0 of 16</td><td class="ctr2">100 %</td><td class="ctr1">1</td><td class="ctr2">23</td><td class="ctr1">1</td><td class="ctr2">42</td><td class="ctr1">1</td><td class="ctr2">15</td></tr></tfoot><tbody><tr><td id="a5"><a href="Player.java.html#L53" class="el_method">getLevel()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c14">0 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a11"><a href="Player.java.html#L101" class="el_method">retrieveLevel()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="78" alt="78"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a9"><a href="Player.java.html#L22" class="el_method">Player(String, String, String, int, ArrayList)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="66" height="10" title="43" alt="43"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="90" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">100 %</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i1">10</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a10"><a href="Player.java.html#L91" class="el_method">removeMoney(int)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="32" height="10" title="21" alt="21"/></td><td class="ctr2" id="c2">100 %</td><td class="bar" id="d2"><img src="../jacoco-resources/greenbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100 %</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="Player.java.html#L98" class="el_method">addMoney(int)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="13" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">100 %</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a13"><a href="Player.java.html#L63" class="el_method">setHealthPoints(int)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">100 %</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a12"><a href="Player.java.html#L73" class="el_method">setCurrentHealthPoints(int)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">100 %</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a14"><a href="Player.java.html#L83" class="el_method">setXp(int)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">100 %</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">0</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a7"><a href="Player.java.html#L38" class="el_method">getPlayerName()</a></td><td class="bar" id="b8"><img src="../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c7">100 %</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a2"><a href="Player.java.html#L43" class="el_method">getAvatarName()</a></td><td class="bar" id="b9"><img src="../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c8">100 %</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a6"><a href="Player.java.html#L48" class="el_method">getMoney()</a></td><td class="bar" id="b10"><img src="../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c9">100 %</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a4"><a href="Player.java.html#L58" class="el_method">getHealthPoints()</a></td><td class="bar" id="b11"><img src="../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c10">100 %</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a3"><a href="Player.java.html#L68" class="el_method">getCurrentHealthPoints()</a></td><td class="bar" id="b12"><img src="../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c11">100 %</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a8"><a href="Player.java.html#L78" class="el_method">getXp()</a></td><td class="bar" id="b13"><img src="../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c12">100 %</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i13">1</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a1"><a href="Player.java.html#L87" class="el_method">getAvatarClass()</a></td><td class="bar" id="b14"><img src="../jacoco-resources/greenbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c13">100 %</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i14">1</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k14">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.11.202310140853</span></div></body></html>
0 2
\ No newline at end of file
... ...
@@ -0,0 +1,120 @@
1
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Player.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">kata</a> &gt; <a href="index.source.html" class="el_package">re.forestier.edu.rpg</a> &gt; <span class="el_source">Player.java</span></div><h1>Player.java</h1><pre class="source lang-java linenums">package re.forestier.edu.rpg;
2
+
3
+import java.util.ArrayList;
4
+import java.util.HashMap;
5
+
6
+public class Player {
7
+    private String playerName;
8
+    private String Avatar_name;
9
+    private String AvatarClass;
10
+
11
+    private Integer money;
12
+    private Float __real_money__;
13
+
14
+    private int level;
15
+    private int healthpoints;
16
+    private int currenthealthpoints;
17
+    private int xp;
18
+
19
+    public HashMap&lt;String, Integer&gt; abilities; //Ability = stat
20
+    public ArrayList&lt;String&gt; inventory;
21
+
22
+<span class="fc" id="L22">    public Player(String playerName, String avatar_name, String avatarClass, int money, ArrayList&lt;String&gt; inventory) {</span>
23
+<span class="fc bfc" id="L23" title="All 6 branches covered.">        if (!avatarClass.equals(&quot;ARCHER&quot;) &amp;&amp; !avatarClass.equals(&quot;ADVENTURER&quot;) &amp;&amp; !avatarClass.equals(&quot;DWARF&quot;)) </span>
24
+        {
25
+<span class="fc" id="L25">            return;</span>
26
+        }
27
+
28
+<span class="fc" id="L28">        this.playerName = playerName;</span>
29
+<span class="fc" id="L29">        Avatar_name = avatar_name;</span>
30
+<span class="fc" id="L30">        AvatarClass = avatarClass;</span>
31
+<span class="fc" id="L31">        this.money = Integer.valueOf(money);</span>
32
+<span class="fc" id="L32">        this.inventory = inventory;</span>
33
+<span class="fc" id="L33">        this.abilities = UpdatePlayer.abilitiesPerTypeAndLevel().get(AvatarClass).get(1);</span>
34
+<span class="fc" id="L34">    }</span>
35
+
36
+    public String getPlayerName()
37
+    {
38
+<span class="fc" id="L38">        return this.playerName;</span>
39
+    }
40
+
41
+    public String getAvatarName()
42
+    {
43
+<span class="fc" id="L43">        return this.Avatar_name;</span>
44
+    }
45
+
46
+    public Integer getMoney()
47
+    {
48
+<span class="fc" id="L48">        return this.money;</span>
49
+    }
50
+
51
+    public int getLevel()
52
+    {
53
+<span class="nc" id="L53">        return this.level;</span>
54
+    }
55
+
56
+    public int getHealthPoints()
57
+    {
58
+<span class="fc" id="L58">        return this.healthpoints;</span>
59
+    }
60
+
61
+    public void setHealthPoints(int hp)
62
+    {
63
+<span class="fc" id="L63">        this.healthpoints = hp;</span>
64
+<span class="fc" id="L64">    }</span>
65
+
66
+    public int getCurrentHealthPoints()
67
+    {
68
+<span class="fc" id="L68">        return this.currenthealthpoints;</span>
69
+    }
70
+
71
+    public void setCurrentHealthPoints(int hp)
72
+    {
73
+<span class="fc" id="L73">        this.currenthealthpoints = hp;</span>
74
+<span class="fc" id="L74">    }</span>
75
+
76
+    public int getXp()
77
+    {
78
+<span class="fc" id="L78">        return this.xp;</span>
79
+    }
80
+
81
+    public void setXp(int xp)
82
+    {
83
+<span class="fc" id="L83">        this.xp = xp;</span>
84
+<span class="fc" id="L84">    }</span>
85
+
86
+    public String getAvatarClass () {
87
+<span class="fc" id="L87">        return AvatarClass;</span>
88
+    }
89
+
90
+    public void removeMoney(int amount) throws IllegalArgumentException {
91
+<span class="fc bfc" id="L91" title="All 2 branches covered.">        if (money - amount &lt; 0) {</span>
92
+<span class="fc" id="L92">            throw new IllegalArgumentException(&quot;Player can't have a negative money!&quot;);</span>
93
+        }
94
+
95
+<span class="fc" id="L95">        money = Integer.parseInt(money.toString()) - amount;</span>
96
+<span class="fc" id="L96">    }</span>
97
+    public void addMoney(int amount) { 
98
+<span class="fc" id="L98">        money = money + amount;</span>
99
+<span class="fc" id="L99">    }</span>
100
+    public int retrieveLevel() {
101
+<span class="fc" id="L101">        HashMap&lt;Integer, Integer&gt; levels = new HashMap&lt;&gt;();</span>
102
+<span class="fc" id="L102">        levels.put(2,10);</span>
103
+<span class="fc" id="L103">        levels.put(3,27);</span>
104
+<span class="fc" id="L104">        levels.put(4,57);</span>
105
+<span class="fc" id="L105">        levels.put(5,111);</span>
106
+        //TODO : ajouter les prochains niveaux
107
+
108
+<span class="fc bfc" id="L108" title="All 2 branches covered.">        if (xp &lt; levels.get(2)) {</span>
109
+<span class="fc" id="L109">            return 1;</span>
110
+        }
111
+<span class="fc bfc" id="L111" title="All 2 branches covered.">        else if (xp &lt; levels.get(3)) {return 2;</span>
112
+        }
113
+<span class="fc bfc" id="L113" title="All 2 branches covered.">        if (xp &lt; levels.get(4)) {</span>
114
+<span class="fc" id="L114">            return 3;</span>
115
+        }
116
+<span class="fc bfc" id="L116" title="All 2 branches covered.">        if (xp &lt; levels.get(5)) return 4;</span>
117
+<span class="fc" id="L117">        return 5;</span>
118
+    }
119
+}
120
+</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.11.202310140853</span></div></body></html>
0 121
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>UpdatePlayer</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">kata</a> &gt; <a href="index.html" class="el_package">re.forestier.edu.rpg</a> &gt; <span class="el_class">UpdatePlayer</span></div><h1>UpdatePlayer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 545</td><td class="ctr2">100 %</td><td class="bar">0 of 20</td><td class="ctr2">100 %</td><td class="ctr1">0</td><td class="ctr2">16</td><td class="ctr1">0</td><td class="ctr2">100</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a0"><a href="UpdatePlayer.java.html#L12" class="el_method">abilitiesPerTypeAndLevel()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="351" alt="351"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">66</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="UpdatePlayer.java.html#L127" class="el_method">majFinDeTour(Player)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="33" height="10" title="97" alt="97"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="18" alt="18"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g0">10</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">20</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="UpdatePlayer.java.html#L102" class="el_method">addXp(Player, int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="17" height="10" title="52" alt="52"/></td><td class="ctr2" id="c2">100 %</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="13" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100 %</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">10</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="UpdatePlayer.java.html#L8" class="el_method">static {...}</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="10" height="10" title="32" alt="32"/></td><td class="ctr2" id="c3">100 %</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="UpdatePlayer.java.html#L116" class="el_method">lambda$addXp$0(Player, HashMap, String, Integer)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="3" height="10" title="10" alt="10"/></td><td class="ctr2" id="c4">100 %</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="UpdatePlayer.java.html#L6" class="el_method">UpdatePlayer()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="3" alt="3"/></td><td class="ctr2" id="c5">100 %</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.11.202310140853</span></div></body></html>
0 2
\ No newline at end of file
... ...
@@ -0,0 +1,165 @@
1
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>UpdatePlayer.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">kata</a> &gt; <a href="index.source.html" class="el_package">re.forestier.edu.rpg</a> &gt; <span class="el_source">UpdatePlayer.java</span></div><h1>UpdatePlayer.java</h1><pre class="source lang-java linenums">package re.forestier.edu.rpg;
2
+
3
+import java.util.HashMap;
4
+import java.util.Random;
5
+
6
+<span class="fc" id="L6">public class UpdatePlayer {</span>
7
+
8
+<span class="fc" id="L8">    private final static String[] objectList = {&quot;Lookout Ring : Prevents surprise attacks&quot;,&quot;Scroll of Stupidity : INT-2 when applied to an enemy&quot;, &quot;Draupnir : Increases XP gained by 100%&quot;, &quot;Magic Charm : Magic +10 for 5 rounds&quot;, &quot;Rune Staff of Curse : May burn your ennemies... Or yourself. Who knows?&quot;, &quot;Combat Edge : Well, that's an edge&quot;, &quot;Holy Elixir : Recover your HP&quot;</span>
9
+    };
10
+
11
+    public static HashMap&lt;String, HashMap&lt;Integer, HashMap&lt;String, Integer&gt;&gt;&gt; abilitiesPerTypeAndLevel() {
12
+<span class="fc" id="L12">        HashMap&lt;String, HashMap&lt;Integer, HashMap&lt;String, Integer&gt;&gt;&gt; abilitiesPerTypeAndLevel = new HashMap&lt;&gt;();</span>
13
+
14
+<span class="fc" id="L14">        HashMap&lt;Integer, HashMap&lt;String, Integer&gt;&gt; adventurerMap = new HashMap&lt;&gt;();</span>
15
+<span class="fc" id="L15">        HashMap&lt;String, Integer&gt; adventurerLevel1 = new HashMap&lt;&gt;();</span>
16
+<span class="fc" id="L16">        adventurerLevel1.put(&quot;INT&quot;, 1);</span>
17
+<span class="fc" id="L17">        adventurerLevel1.put(&quot;DEF&quot;, 1);</span>
18
+<span class="fc" id="L18">        adventurerLevel1.put(&quot;ATK&quot;, 3);</span>
19
+<span class="fc" id="L19">        adventurerLevel1.put(&quot;CHA&quot;, 2);</span>
20
+<span class="fc" id="L20">        adventurerMap.put(1, adventurerLevel1);</span>
21
+
22
+<span class="fc" id="L22">        HashMap&lt;String, Integer&gt; adventurerLevel2 = new HashMap&lt;&gt;();</span>
23
+<span class="fc" id="L23">        adventurerLevel1.put(&quot;INT&quot;, 2);</span>
24
+<span class="fc" id="L24">        adventurerLevel1.put(&quot;CHA&quot;, 3);</span>
25
+<span class="fc" id="L25">        adventurerMap.put(2, adventurerLevel2);</span>
26
+
27
+<span class="fc" id="L27">        HashMap&lt;String, Integer&gt; adventurerLevel3 = new HashMap&lt;&gt;();</span>
28
+<span class="fc" id="L28">        adventurerLevel3.put(&quot;ATK&quot;, 5);</span>
29
+<span class="fc" id="L29">        adventurerLevel3.put(&quot;ALC&quot;, 1);</span>
30
+<span class="fc" id="L30">        adventurerMap.put(3, adventurerLevel3);</span>
31
+
32
+<span class="fc" id="L32">        HashMap&lt;String, Integer&gt; adventurerLevel4 = new HashMap&lt;&gt;();</span>
33
+<span class="fc" id="L33">        adventurerLevel4.put(&quot;DEF&quot;, 3);</span>
34
+<span class="fc" id="L34">        adventurerMap.put(4, adventurerLevel4);</span>
35
+
36
+<span class="fc" id="L36">        HashMap&lt;String, Integer&gt; adventurerLevel5 = new HashMap&lt;&gt;();</span>
37
+<span class="fc" id="L37">        adventurerLevel5.put(&quot;VIS&quot;, 1);</span>
38
+<span class="fc" id="L38">        adventurerLevel5.put(&quot;DEF&quot;, 4);</span>
39
+<span class="fc" id="L39">        adventurerMap.put(5, adventurerLevel5);</span>
40
+
41
+<span class="fc" id="L41">        abilitiesPerTypeAndLevel.put(&quot;ADVENTURER&quot;, adventurerMap);</span>
42
+
43
+
44
+<span class="fc" id="L44">        HashMap&lt;Integer, HashMap&lt;String, Integer&gt;&gt; archerMap = new HashMap&lt;&gt;();</span>
45
+<span class="fc" id="L45">        HashMap&lt;String, Integer&gt; archerLevel1 = new HashMap&lt;&gt;();</span>
46
+<span class="fc" id="L46">        archerLevel1.put(&quot;INT&quot;, 1);</span>
47
+<span class="fc" id="L47">        archerLevel1.put(&quot;ATK&quot;, 3);</span>
48
+<span class="fc" id="L48">        archerLevel1.put(&quot;CHA&quot;, 1);</span>
49
+<span class="fc" id="L49">        archerLevel1.put(&quot;VIS&quot;, 3);</span>
50
+<span class="fc" id="L50">        archerMap.put(1, archerLevel1);</span>
51
+
52
+<span class="fc" id="L52">        HashMap&lt;String, Integer&gt; archerLevel2 = new HashMap&lt;&gt;();</span>
53
+<span class="fc" id="L53">        archerLevel2.put(&quot;DEF&quot;, 1);</span>
54
+<span class="fc" id="L54">        archerLevel2.put(&quot;CHA&quot;, 2);</span>
55
+<span class="fc" id="L55">        archerMap.put(2, archerLevel2);</span>
56
+
57
+<span class="fc" id="L57">        HashMap&lt;String, Integer&gt; archerLevel3 = new HashMap&lt;&gt;();</span>
58
+<span class="fc" id="L58">        archerLevel3.put(&quot;ATK&quot;, 3);</span>
59
+<span class="fc" id="L59">        archerMap.put(3, archerLevel3);</span>
60
+
61
+<span class="fc" id="L61">        HashMap&lt;String, Integer&gt; archerLevel4 = new HashMap&lt;&gt;();</span>
62
+<span class="fc" id="L62">        archerLevel4.put(&quot;DEF&quot;, 2);</span>
63
+<span class="fc" id="L63">        archerMap.put(4, archerLevel4);</span>
64
+
65
+<span class="fc" id="L65">        HashMap&lt;String, Integer&gt; archerLevel5 = new HashMap&lt;&gt;();</span>
66
+<span class="fc" id="L66">        archerLevel5.put(&quot;ATK&quot;, 4);</span>
67
+<span class="fc" id="L67">        archerMap.put(5, archerLevel5);</span>
68
+
69
+<span class="fc" id="L69">        abilitiesPerTypeAndLevel.put(&quot;ARCHER&quot;, archerMap);</span>
70
+
71
+
72
+<span class="fc" id="L72">        HashMap&lt;Integer, HashMap&lt;String, Integer&gt;&gt; dwarf = new HashMap&lt;&gt;();</span>
73
+<span class="fc" id="L73">        HashMap&lt;String, Integer&gt; dwarfLevel1 = new HashMap&lt;&gt;();</span>
74
+<span class="fc" id="L74">        dwarfLevel1.put(&quot;ALC&quot;, 4);</span>
75
+<span class="fc" id="L75">        dwarfLevel1.put(&quot;INT&quot;, 1);</span>
76
+<span class="fc" id="L76">        dwarfLevel1.put(&quot;ATK&quot;, 3);</span>
77
+<span class="fc" id="L77">        dwarf.put(1, dwarfLevel1);</span>
78
+
79
+<span class="fc" id="L79">        HashMap&lt;String, Integer&gt; dwarfLevel2 = new HashMap&lt;&gt;();</span>
80
+<span class="fc" id="L80">        dwarfLevel2.put(&quot;DEF&quot;, 1);</span>
81
+<span class="fc" id="L81">        dwarfLevel2.put(&quot;ALC&quot;, 5);</span>
82
+<span class="fc" id="L82">        dwarf.put(2, dwarfLevel2);</span>
83
+
84
+<span class="fc" id="L84">        HashMap&lt;String, Integer&gt; dwarfLevel3 = new HashMap&lt;&gt;();</span>
85
+<span class="fc" id="L85">        dwarfLevel3.put(&quot;ATK&quot;, 4);</span>
86
+<span class="fc" id="L86">        dwarf.put(3, dwarfLevel3);</span>
87
+
88
+<span class="fc" id="L88">        HashMap&lt;String, Integer&gt; dwarfLevel4 = new HashMap&lt;&gt;();</span>
89
+<span class="fc" id="L89">        dwarfLevel4.put(&quot;DEF&quot;, 2);</span>
90
+<span class="fc" id="L90">        dwarf.put(4, dwarfLevel4);</span>
91
+
92
+<span class="fc" id="L92">        HashMap&lt;String, Integer&gt; dwarfLevel5 = new HashMap&lt;&gt;();</span>
93
+<span class="fc" id="L93">        dwarfLevel5.put(&quot;CHA&quot;, 1);</span>
94
+<span class="fc" id="L94">        dwarf.put(5, dwarfLevel5);</span>
95
+
96
+<span class="fc" id="L96">        abilitiesPerTypeAndLevel.put(&quot;DWARF&quot;, dwarf);</span>
97
+
98
+<span class="fc" id="L98">        return abilitiesPerTypeAndLevel;</span>
99
+    }
100
+
101
+    public static boolean addXp(Player player, int xp) {
102
+<span class="fc" id="L102">        int currentLevel = player.retrieveLevel();</span>
103
+<span class="fc" id="L103">        player.setXp(player.getXp()+xp);</span>
104
+<span class="fc" id="L104">        int newLevel = player.retrieveLevel();</span>
105
+
106
+<span class="fc bfc" id="L106" title="All 2 branches covered.">        if (newLevel != currentLevel) {</span>
107
+            // Player leveled-up!
108
+            // Give a random object
109
+            ;
110
+<span class="fc" id="L110">            Random random = new Random();</span>
111
+<span class="fc" id="L111">            player.inventory.add(objectList[random.nextInt(objectList.length - 0) + 0]);</span>
112
+
113
+            // Add/upgrade abilities to player
114
+<span class="fc" id="L114">            HashMap&lt;String, Integer&gt; abilities = abilitiesPerTypeAndLevel().get(player.getAvatarClass()).get(newLevel);</span>
115
+<span class="fc" id="L115">            abilities.forEach((ability, level) -&gt; {</span>
116
+<span class="fc" id="L116">                player.abilities.put(ability, abilities.get(ability));</span>
117
+<span class="fc" id="L117">            });</span>
118
+<span class="fc" id="L118">            return true;</span>
119
+        }
120
+<span class="fc" id="L120">        return false;</span>
121
+    }
122
+
123
+
124
+
125
+    // majFinDeTour met Ă  jour les points de vie
126
+    public static void majFinDeTour(Player player) {
127
+<span class="fc bfc" id="L127" title="All 2 branches covered.">        if(player.getCurrentHealthPoints() == 0) {</span>
128
+<span class="fc" id="L128">            System.out.println(&quot;Le joueur est KO !&quot;);</span>
129
+<span class="fc" id="L129">            return;</span>
130
+        }
131
+
132
+<span class="fc bfc" id="L132" title="All 2 branches covered.">        if(player.getCurrentHealthPoints() &lt; player.getHealthPoints()/2) {</span>
133
+<span class="fc bfc" id="L133" title="All 2 branches covered.">            if(!player.getAvatarClass().equals(&quot;ADVENTURER&quot;)) {</span>
134
+<span class="fc bfc" id="L134" title="All 2 branches covered.">                if(player.getAvatarClass().equals(&quot;DWARF&quot;)) {</span>
135
+<span class="fc bfc" id="L135" title="All 2 branches covered.">                    if(player.inventory.contains(&quot;Holy Elixir&quot;)) {</span>
136
+<span class="fc" id="L136">                        player.setCurrentHealthPoints(player.getCurrentHealthPoints()+1);</span>
137
+                    }
138
+<span class="fc" id="L138">                    player.setCurrentHealthPoints(player.getCurrentHealthPoints()+1);</span>
139
+                }
140
+
141
+
142
+<span class="fc bfc" id="L142" title="All 2 branches covered.">                if(player.getAvatarClass().equals(&quot;ARCHER&quot;)) {</span>
143
+<span class="fc" id="L143">                    player.setCurrentHealthPoints(player.getCurrentHealthPoints()+1);</span>
144
+<span class="fc bfc" id="L144" title="All 2 branches covered.">                    if(player.inventory.contains(&quot;Magic Bow&quot;)) {</span>
145
+<span class="fc" id="L145">                        player.setCurrentHealthPoints(player.getCurrentHealthPoints()+player.getCurrentHealthPoints()/8-1);</span>
146
+                    }
147
+                }
148
+            } else {
149
+<span class="fc" id="L149">                player.setCurrentHealthPoints(player.getCurrentHealthPoints()+2);</span>
150
+<span class="fc bfc" id="L150" title="All 2 branches covered.">                if(player.retrieveLevel() &lt; 3) {</span>
151
+<span class="fc" id="L151">                    player.setCurrentHealthPoints(player.getCurrentHealthPoints()-1);</span>
152
+                }
153
+            }
154
+        } else 
155
+        {
156
+<span class="fc bfc" id="L156" title="All 2 branches covered.">            if(player.getCurrentHealthPoints() &gt;= player.getHealthPoints()) {</span>
157
+<span class="fc" id="L157">                player.setCurrentHealthPoints(player.getHealthPoints());</span>
158
+<span class="fc" id="L158">                return;</span>
159
+            }
160
+        }
161
+<span class="fc" id="L161">    }</span>
162
+
163
+
164
+}
165
+</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.11.202310140853</span></div></body></html>
0 166
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>re.forestier.edu.rpg</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">kata</a> &gt; <span class="el_package">re.forestier.edu.rpg</span></div><h1>re.forestier.edu.rpg</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">3 of 799</td><td class="ctr2">99 %</td><td class="bar">0 of 36</td><td class="ctr2">100 %</td><td class="ctr1">1</td><td class="ctr2">43</td><td class="ctr1">1</td><td class="ctr2">154</td><td class="ctr1">1</td><td class="ctr2">25</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="Player.html" class="el_class">Player</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="40" height="10" title="184" alt="184"/></td><td class="ctr2" id="c2">98 %</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="96" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">23</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i1">42</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">15</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a2"><a href="UpdatePlayer.html" class="el_class">UpdatePlayer</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="545" alt="545"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="20" alt="20"/></td><td class="ctr2" id="e1">100 %</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">16</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">100</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="Affichage.html" class="el_class">Affichage</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="14" height="10" title="67" alt="67"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">12</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">4</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.11.202310140853</span></div></body></html>
0 2
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>re.forestier.edu.rpg</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">kata</a> &gt; <span class="el_package">re.forestier.edu.rpg</span></div><h1>re.forestier.edu.rpg</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">3 of 799</td><td class="ctr2">99 %</td><td class="bar">0 of 36</td><td class="ctr2">100 %</td><td class="ctr1">1</td><td class="ctr2">43</td><td class="ctr1">1</td><td class="ctr2">154</td><td class="ctr1">1</td><td class="ctr2">25</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="Player.java.html" class="el_source">Player.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="40" height="10" title="184" alt="184"/></td><td class="ctr2" id="c2">98 %</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="96" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">100 %</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">23</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i1">42</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">15</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a2"><a href="UpdatePlayer.java.html" class="el_source">UpdatePlayer.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="545" alt="545"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="20" alt="20"/></td><td class="ctr2" id="e1">100 %</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">16</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">100</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="Affichage.java.html" class="el_source">Affichage.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="14" height="10" title="67" alt="67"/></td><td class="ctr2" id="c1">100 %</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">12</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">4</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.11.202310140853</span></div></body></html>
0 2
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">kata</a> &gt; <a href="index.html" class="el_package">re.forestier.edu</a> &gt; <span class="el_class">Main</span></div><h1>Main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">34 of 37</td><td class="ctr2">8 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">2</td><td class="ctr1">8</td><td class="ctr2">9</td><td class="ctr1">1</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="Main.java.html#L10" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="c1">0 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="Main.java.html#L8" class="el_method">Main()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="10" height="10" title="3" alt="3"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.11.202310140853</span></div></body></html>
0 2
\ No newline at end of file
... ...
@@ -0,0 +1,20 @@
1
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Main.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">kata</a> &gt; <a href="index.source.html" class="el_package">re.forestier.edu</a> &gt; <span class="el_source">Main.java</span></div><h1>Main.java</h1><pre class="source lang-java linenums">package re.forestier.edu;
2
+import re.forestier.edu.rpg.Affichage;
3
+import re.forestier.edu.rpg.UpdatePlayer;
4
+import re.forestier.edu.rpg.Player;
5
+
6
+import java.util.ArrayList;
7
+
8
+<span class="fc" id="L8">public class Main {</span>
9
+    public static void main(String[] args) {
10
+<span class="nc" id="L10">        Player firstPlayer = new Player(&quot;Florian&quot;, &quot;Ruzberg de Rivehaute&quot;, &quot;DWARF&quot;, 200, new ArrayList&lt;&gt;());</span>
11
+<span class="nc" id="L11">        firstPlayer.addMoney(400);</span>
12
+
13
+<span class="nc" id="L13">        UpdatePlayer.addXp(firstPlayer, 15);</span>
14
+<span class="nc" id="L14">        System.out.println(Affichage.afficherJoueur(firstPlayer));</span>
15
+<span class="nc" id="L15">        System.out.println(&quot;------------------&quot;);</span>
16
+<span class="nc" id="L16">        UpdatePlayer.addXp(firstPlayer, 20);</span>
17
+<span class="nc" id="L17">        System.out.println(Affichage.afficherJoueur(firstPlayer));</span>
18
+<span class="nc" id="L18">    }</span>
19
+}
20
+</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.11.202310140853</span></div></body></html>
0 21
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>re.forestier.edu</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">kata</a> &gt; <span class="el_package">re.forestier.edu</span></div><h1>re.forestier.edu</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">34 of 37</td><td class="ctr2">8 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">2</td><td class="ctr1">8</td><td class="ctr2">9</td><td class="ctr1">1</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Main.html" class="el_class">Main</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="110" height="10" title="34" alt="34"/><img src="../jacoco-resources/greenbar.gif" width="9" height="10" title="3" alt="3"/></td><td class="ctr2" id="c0">8 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.11.202310140853</span></div></body></html>
0 2
\ No newline at end of file
... ...
@@ -0,0 +1 @@
1
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>re.forestier.edu</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">kata</a> &gt; <span class="el_package">re.forestier.edu</span></div><h1>re.forestier.edu</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">34 of 37</td><td class="ctr2">8 %</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">2</td><td class="ctr1">8</td><td class="ctr2">9</td><td class="ctr1">1</td><td class="ctr2">2</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Main.java.html" class="el_source">Main.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="110" height="10" title="34" alt="34"/><img src="../jacoco-resources/greenbar.gif" width="9" height="10" title="3" alt="3"/></td><td class="ctr2" id="c0">8 %</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.11.202310140853</span></div></body></html>
0 2
\ No newline at end of file
... ...
@@ -0,0 +1,77 @@
1
+<!DOCTYPE html>
2
+<html>
3
+<head>
4
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
5
+    <link rel="stylesheet" type="text/css" href="style.css">
6
+</head>
7
+<body>
8
+
9
+<h1>Pit Test Coverage Report</h1>
10
+
11
+<h3>Project Summary</h3>
12
+<table>
13
+    <thead>
14
+        <tr>
15
+            <th>Number of Classes</th>
16
+            <th>Line Coverage</th>
17
+            <th>Mutation Coverage</th>
18
+            <th>Test Strength</th>
19
+        </tr>
20
+    </thead>
21
+    <tbody>
22
+        <tr>
23
+            <td>4</td>
24
+ <td>94% <div class="coverage_bar"><div class="coverage_complete width-94"></div><div class="coverage_legend">147/157</div></div></td>
25
+            <td>82% <div class="coverage_bar"><div class="coverage_complete width-82"></div><div class="coverage_legend">56/68</div></div></td>
26
+            <td>89% <div class="coverage_bar"><div class="coverage_complete width-89"></div><div class="coverage_legend">56/63</div></div></td>
27
+        </tr>
28
+    </tbody>
29
+</table>
30
+
31
+
32
+<h3>Breakdown by Package</h3>
33
+<table>
34
+    <thead>
35
+        <tr>
36
+            <th>Name</th>
37
+            <th>Number of Classes</th>
38
+            <th>Line Coverage</th>
39
+            <th>Mutation Coverage</th>
40
+            <th>Test Strength</th>
41
+        </tr>
42
+    </thead>
43
+    <tbody>
44
+
45
+        <tr>
46
+            <td><a href="./re.forestier.edu/index.html">re.forestier.edu</a></td>
47
+            <td>1</td>
48
+ <td><div class="coverage_percentage">11% </div><div class="coverage_bar"><div class="coverage_complete width-11"></div><div class="coverage_legend">1/9</div></div></td>
49
+            <td><div class="coverage_percentage">0% </div><div class="coverage_bar"><div class="coverage_complete width-0"></div><div class="coverage_legend">0/4</div></div></td>
50
+            <td><div class="coverage_percentage">100% </div><div class="coverage_bar"><div class="coverage_complete width-100"></div><div class="coverage_legend">0/0</div></div></td>
51
+        </tr>
52
+
53
+        <tr>
54
+            <td><a href="./re.forestier.edu.rpg/index.html">re.forestier.edu.rpg</a></td>
55
+            <td>3</td>
56
+ <td><div class="coverage_percentage">99% </div><div class="coverage_bar"><div class="coverage_complete width-99"></div><div class="coverage_legend">146/148</div></div></td>
57
+            <td><div class="coverage_percentage">88% </div><div class="coverage_bar"><div class="coverage_complete width-88"></div><div class="coverage_legend">56/64</div></div></td>
58
+            <td><div class="coverage_percentage">89% </div><div class="coverage_bar"><div class="coverage_complete width-89"></div><div class="coverage_legend">56/63</div></div></td>
59
+        </tr>
60
+
61
+     </tbody>
62
+</table>
63
+<br/>
64
+
65
+
66
+
67
+<hr/>
68
+
69
+Report generated by <a href='https://pitest.org'>PIT</a> 1.15.0
70
+
71
+<br/>
72
+<br/>
73
+
74
+Enhanced functionality available at <a href='https://www.arcmutate.com/'>arcmutate.com</a>
75
+
76
+</body>
77
+</html>
0 78
\ No newline at end of file
... ...
@@ -0,0 +1,370 @@
1
+<!DOCTYPE html>
2
+<html>
3
+<head>
4
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
5
+    <link rel="stylesheet" type="text/css" href="../style.css">
6
+</head>
7
+<body>
8
+
9
+
10
+<h1>Affichage.java</h1>
11
+
12
+<table class="src">
13
+
14
+
15
+
16
+<tr>
17
+<td class='na'>
18
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_1'/>
19
+1
20
+</td>
21
+<td class=''>
22
+<span class='pop'>
23
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_1'></a>
24
+<span>
25
+</span>
26
+</span>
27
+</td>
28
+<td class=''><pre><span  class=''>package re.forestier.edu.rpg;</span></pre></td></tr>
29
+
30
+
31
+<tr>
32
+<td class='na'>
33
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_2'/>
34
+2
35
+</td>
36
+<td class=''>
37
+<span class='pop'>
38
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_2'></a>
39
+<span>
40
+</span>
41
+</span>
42
+</td>
43
+<td class=''><pre><span  class=''></span></pre></td></tr>
44
+
45
+
46
+<tr>
47
+<td class='covered'>
48
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_3'/>
49
+3
50
+</td>
51
+<td class=''>
52
+<span class='pop'>
53
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_3'></a>
54
+<span>
55
+</span>
56
+</span>
57
+</td>
58
+<td class='covered'><pre><span  class=''>public class Affichage {</span></pre></td></tr>
59
+
60
+
61
+<tr>
62
+<td class='na'>
63
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_4'/>
64
+4
65
+</td>
66
+<td class=''>
67
+<span class='pop'>
68
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_4'></a>
69
+<span>
70
+</span>
71
+</span>
72
+</td>
73
+<td class=''><pre><span  class=''></span></pre></td></tr>
74
+
75
+
76
+<tr>
77
+<td class='na'>
78
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_5'/>
79
+5
80
+</td>
81
+<td class=''>
82
+<span class='pop'>
83
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_5'></a>
84
+<span>
85
+</span>
86
+</span>
87
+</td>
88
+<td class=''><pre><span  class=''>    public static String afficherJoueur(player player) {</span></pre></td></tr>
89
+
90
+
91
+<tr>
92
+<td class='covered'>
93
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_6'/>
94
+6
95
+</td>
96
+<td class=''>
97
+<span class='pop'>
98
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_6'></a>
99
+<span>
100
+</span>
101
+</span>
102
+</td>
103
+<td class='covered'><pre><span  class=''>        final String[] finalString = {&#34;Joueur &#34; + player.Avatar_name + &#34; jou&#233; par &#34; + player.playerName};</span></pre></td></tr>
104
+
105
+
106
+<tr>
107
+<td class='covered'>
108
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_7'/>
109
+7
110
+</td>
111
+<td class=''>
112
+<span class='pop'>
113
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_7'></a>
114
+<span>
115
+</span>
116
+</span>
117
+</td>
118
+<td class='covered'><pre><span  class=''>        finalString[0] += &#34;\nNiveau : &#34; + player.retrieveLevel() + &#34; (XP totale : &#34; + player.xp + &#34;)&#34;;</span></pre></td></tr>
119
+
120
+
121
+<tr>
122
+<td class='covered'>
123
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_8'/>
124
+8
125
+</td>
126
+<td class=''>
127
+<span class='pop'>
128
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_8'></a>
129
+<span>
130
+</span>
131
+</span>
132
+</td>
133
+<td class='covered'><pre><span  class=''>        finalString[0] += &#34;\n\nCapacit&#233;s :&#34;;</span></pre></td></tr>
134
+
135
+
136
+<tr>
137
+<td class='covered'>
138
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_9'/>
139
+9
140
+</td>
141
+<td class='killed'>
142
+<span class='pop'>
143
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_9'>1</a>
144
+<span>
145
+1. afficherJoueur : removed call to java/util/HashMap::forEach &rarr; KILLED<br/>
146
+
147
+</span>
148
+</span>
149
+</td>
150
+<td class='covered'><pre><span  class='killed'>        player.abilities.forEach((name, level) -&#62; {</span></pre></td></tr>
151
+
152
+
153
+<tr>
154
+<td class='covered'>
155
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_10'/>
156
+10
157
+</td>
158
+<td class=''>
159
+<span class='pop'>
160
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_10'></a>
161
+<span>
162
+</span>
163
+</span>
164
+</td>
165
+<td class='covered'><pre><span  class=''>            finalString[0] += &#34;\n   &#34; + name + &#34; : &#34; + level;</span></pre></td></tr>
166
+
167
+
168
+<tr>
169
+<td class='covered'>
170
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_11'/>
171
+11
172
+</td>
173
+<td class=''>
174
+<span class='pop'>
175
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_11'></a>
176
+<span>
177
+</span>
178
+</span>
179
+</td>
180
+<td class='covered'><pre><span  class=''>        });</span></pre></td></tr>
181
+
182
+
183
+<tr>
184
+<td class='covered'>
185
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_12'/>
186
+12
187
+</td>
188
+<td class=''>
189
+<span class='pop'>
190
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_12'></a>
191
+<span>
192
+</span>
193
+</span>
194
+</td>
195
+<td class='covered'><pre><span  class=''>        finalString[0] += &#34;\n\nInventaire :&#34;;</span></pre></td></tr>
196
+
197
+
198
+<tr>
199
+<td class='covered'>
200
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_13'/>
201
+13
202
+</td>
203
+<td class='killed'>
204
+<span class='pop'>
205
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_13'>1</a>
206
+<span>
207
+1. afficherJoueur : removed call to java/util/ArrayList::forEach &rarr; KILLED<br/>
208
+
209
+</span>
210
+</span>
211
+</td>
212
+<td class='covered'><pre><span  class='killed'>        player.inventory.forEach(item -&#62; {</span></pre></td></tr>
213
+
214
+
215
+<tr>
216
+<td class='covered'>
217
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_14'/>
218
+14
219
+</td>
220
+<td class=''>
221
+<span class='pop'>
222
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_14'></a>
223
+<span>
224
+</span>
225
+</span>
226
+</td>
227
+<td class='covered'><pre><span  class=''>            finalString[0] += &#34;\n   &#34; + item;</span></pre></td></tr>
228
+
229
+
230
+<tr>
231
+<td class='covered'>
232
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_15'/>
233
+15
234
+</td>
235
+<td class=''>
236
+<span class='pop'>
237
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_15'></a>
238
+<span>
239
+</span>
240
+</span>
241
+</td>
242
+<td class='covered'><pre><span  class=''>        });</span></pre></td></tr>
243
+
244
+
245
+<tr>
246
+<td class='na'>
247
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_16'/>
248
+16
249
+</td>
250
+<td class=''>
251
+<span class='pop'>
252
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_16'></a>
253
+<span>
254
+</span>
255
+</span>
256
+</td>
257
+<td class=''><pre><span  class=''></span></pre></td></tr>
258
+
259
+
260
+<tr>
261
+<td class='covered'>
262
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_17'/>
263
+17
264
+</td>
265
+<td class='killed'>
266
+<span class='pop'>
267
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_17'>1</a>
268
+<span>
269
+1. afficherJoueur : replaced return value with &#34;&#34; for re/forestier/edu/rpg/Affichage::afficherJoueur &rarr; KILLED<br/>
270
+
271
+</span>
272
+</span>
273
+</td>
274
+<td class='covered'><pre><span  class='killed'>        return finalString[0];</span></pre></td></tr>
275
+
276
+
277
+<tr>
278
+<td class='na'>
279
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_18'/>
280
+18
281
+</td>
282
+<td class=''>
283
+<span class='pop'>
284
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_18'></a>
285
+<span>
286
+</span>
287
+</span>
288
+</td>
289
+<td class=''><pre><span  class=''>    }</span></pre></td></tr>
290
+
291
+
292
+<tr>
293
+<td class='na'>
294
+<a name='org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_19'/>
295
+19
296
+</td>
297
+<td class=''>
298
+<span class='pop'>
299
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_19'></a>
300
+<span>
301
+</span>
302
+</span>
303
+</td>
304
+<td class=''><pre><span  class=''>}</span></pre></td></tr>
305
+
306
+
307
+
308
+<tr><td></td><td></td><td><h2>Mutations</h2></td></tr>
309
+
310
+<tr>
311
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_9'>9</a></td> 
312
+<td></td>
313
+<td>
314
+
315
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_9'/> 
316
+
317
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>afficherJoueur<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testAfficage()]</span></span> removed call to java/util/HashMap::forEach &rarr; KILLED</p> 
318
+</td>
319
+</tr>
320
+<tr>
321
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_13'>13</a></td> 
322
+<td></td>
323
+<td>
324
+
325
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_13'/> 
326
+
327
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>afficherJoueur<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testAfficage()]</span></span> removed call to java/util/ArrayList::forEach &rarr; KILLED</p> 
328
+</td>
329
+</tr>
330
+<tr>
331
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@7dfd3c81_17'>17</a></td> 
332
+<td></td>
333
+<td>
334
+
335
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@7dfd3c81_17'/> 
336
+
337
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>afficherJoueur<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testAfficage()]</span></span> replaced return value with &#34;&#34; for re/forestier/edu/rpg/Affichage::afficherJoueur &rarr; KILLED</p> 
338
+</td>
339
+</tr>
340
+
341
+</table>
342
+
343
+
344
+<h2>Active mutators</h2>
345
+<ul>
346
+<li class='mutator'>CONDITIONALS_BOUNDARY</li>
347
+<li class='mutator'>EMPTY_RETURNS</li>
348
+<li class='mutator'>FALSE_RETURNS</li>
349
+<li class='mutator'>INCREMENTS</li>
350
+<li class='mutator'>INVERT_NEGS</li>
351
+<li class='mutator'>MATH</li>
352
+<li class='mutator'>NEGATE_CONDITIONALS</li>
353
+<li class='mutator'>NULL_RETURNS</li>
354
+<li class='mutator'>PRIMITIVE_RETURNS</li>
355
+<li class='mutator'>TRUE_RETURNS</li>
356
+<li class='mutator'>VOID_METHOD_CALLS</li>
357
+
358
+</ul>
359
+
360
+<h2>Tests examined</h2>
361
+<ul>
362
+<li>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testAfficage()] (0 ms)</li><li>re.forestier.edu.GlobalTest.[engine:junit-jupiter]/[class:re.forestier.edu.GlobalTest]/[method:testAffichageBase()] (135 ms)</li>
363
+</ul>
364
+
365
+<br/>
366
+
367
+Report generated by <a href='https://pitest.org'>PIT</a> 1.15.0
368
+
369
+</body>
370
+</html>
0 371
\ No newline at end of file
... ...
@@ -0,0 +1,2933 @@
1
+<!DOCTYPE html>
2
+<html>
3
+<head>
4
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
5
+    <link rel="stylesheet" type="text/css" href="../style.css">
6
+</head>
7
+<body>
8
+
9
+
10
+<h1>UpdatePlayer.java</h1>
11
+
12
+<table class="src">
13
+
14
+
15
+
16
+<tr>
17
+<td class='na'>
18
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_1'/>
19
+1
20
+</td>
21
+<td class=''>
22
+<span class='pop'>
23
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_1'></a>
24
+<span>
25
+</span>
26
+</span>
27
+</td>
28
+<td class=''><pre><span  class=''>package re.forestier.edu.rpg;</span></pre></td></tr>
29
+
30
+
31
+<tr>
32
+<td class='na'>
33
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_2'/>
34
+2
35
+</td>
36
+<td class=''>
37
+<span class='pop'>
38
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_2'></a>
39
+<span>
40
+</span>
41
+</span>
42
+</td>
43
+<td class=''><pre><span  class=''></span></pre></td></tr>
44
+
45
+
46
+<tr>
47
+<td class='na'>
48
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_3'/>
49
+3
50
+</td>
51
+<td class=''>
52
+<span class='pop'>
53
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_3'></a>
54
+<span>
55
+</span>
56
+</span>
57
+</td>
58
+<td class=''><pre><span  class=''>import java.util.HashMap;</span></pre></td></tr>
59
+
60
+
61
+<tr>
62
+<td class='na'>
63
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_4'/>
64
+4
65
+</td>
66
+<td class=''>
67
+<span class='pop'>
68
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_4'></a>
69
+<span>
70
+</span>
71
+</span>
72
+</td>
73
+<td class=''><pre><span  class=''>import java.util.Random;</span></pre></td></tr>
74
+
75
+
76
+<tr>
77
+<td class='na'>
78
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_5'/>
79
+5
80
+</td>
81
+<td class=''>
82
+<span class='pop'>
83
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_5'></a>
84
+<span>
85
+</span>
86
+</span>
87
+</td>
88
+<td class=''><pre><span  class=''></span></pre></td></tr>
89
+
90
+
91
+<tr>
92
+<td class='covered'>
93
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_6'/>
94
+6
95
+</td>
96
+<td class=''>
97
+<span class='pop'>
98
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_6'></a>
99
+<span>
100
+</span>
101
+</span>
102
+</td>
103
+<td class='covered'><pre><span  class=''>public class UpdatePlayer {</span></pre></td></tr>
104
+
105
+
106
+<tr>
107
+<td class='na'>
108
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_7'/>
109
+7
110
+</td>
111
+<td class=''>
112
+<span class='pop'>
113
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_7'></a>
114
+<span>
115
+</span>
116
+</span>
117
+</td>
118
+<td class=''><pre><span  class=''></span></pre></td></tr>
119
+
120
+
121
+<tr>
122
+<td class='covered'>
123
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_8'/>
124
+8
125
+</td>
126
+<td class=''>
127
+<span class='pop'>
128
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_8'></a>
129
+<span>
130
+</span>
131
+</span>
132
+</td>
133
+<td class='covered'><pre><span  class=''>    private final static String[] objectList = {&#34;Lookout Ring : Prevents surprise attacks&#34;,&#34;Scroll of Stupidity : INT-2 when applied to an enemy&#34;, &#34;Draupnir : Increases XP gained by 100%&#34;, &#34;Magic Charm : Magic +10 for 5 rounds&#34;, &#34;Rune Staff of Curse : May burn your ennemies... Or yourself. Who knows?&#34;, &#34;Combat Edge : Well, that&#39;s an edge&#34;, &#34;Holy Elixir : Recover your HP&#34;</span></pre></td></tr>
134
+
135
+
136
+<tr>
137
+<td class='na'>
138
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_9'/>
139
+9
140
+</td>
141
+<td class=''>
142
+<span class='pop'>
143
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_9'></a>
144
+<span>
145
+</span>
146
+</span>
147
+</td>
148
+<td class=''><pre><span  class=''>    };</span></pre></td></tr>
149
+
150
+
151
+<tr>
152
+<td class='na'>
153
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_10'/>
154
+10
155
+</td>
156
+<td class=''>
157
+<span class='pop'>
158
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_10'></a>
159
+<span>
160
+</span>
161
+</span>
162
+</td>
163
+<td class=''><pre><span  class=''></span></pre></td></tr>
164
+
165
+
166
+<tr>
167
+<td class='na'>
168
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_11'/>
169
+11
170
+</td>
171
+<td class=''>
172
+<span class='pop'>
173
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_11'></a>
174
+<span>
175
+</span>
176
+</span>
177
+</td>
178
+<td class=''><pre><span  class=''>    public static HashMap&#60;String, HashMap&#60;Integer, HashMap&#60;String, Integer&#62;&#62;&#62; abilitiesPerTypeAndLevel() {</span></pre></td></tr>
179
+
180
+
181
+<tr>
182
+<td class='covered'>
183
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_12'/>
184
+12
185
+</td>
186
+<td class=''>
187
+<span class='pop'>
188
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_12'></a>
189
+<span>
190
+</span>
191
+</span>
192
+</td>
193
+<td class='covered'><pre><span  class=''>        HashMap&#60;String, HashMap&#60;Integer, HashMap&#60;String, Integer&#62;&#62;&#62; abilitiesPerTypeAndLevel = new HashMap&#60;&#62;();</span></pre></td></tr>
194
+
195
+
196
+<tr>
197
+<td class='na'>
198
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_13'/>
199
+13
200
+</td>
201
+<td class=''>
202
+<span class='pop'>
203
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_13'></a>
204
+<span>
205
+</span>
206
+</span>
207
+</td>
208
+<td class=''><pre><span  class=''></span></pre></td></tr>
209
+
210
+
211
+<tr>
212
+<td class='covered'>
213
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_14'/>
214
+14
215
+</td>
216
+<td class=''>
217
+<span class='pop'>
218
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_14'></a>
219
+<span>
220
+</span>
221
+</span>
222
+</td>
223
+<td class='covered'><pre><span  class=''>        HashMap&#60;Integer, HashMap&#60;String, Integer&#62;&#62; adventurerMap = new HashMap&#60;&#62;();</span></pre></td></tr>
224
+
225
+
226
+<tr>
227
+<td class='covered'>
228
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_15'/>
229
+15
230
+</td>
231
+<td class=''>
232
+<span class='pop'>
233
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_15'></a>
234
+<span>
235
+</span>
236
+</span>
237
+</td>
238
+<td class='covered'><pre><span  class=''>        HashMap&#60;String, Integer&#62; adventurerLevel1 = new HashMap&#60;&#62;();</span></pre></td></tr>
239
+
240
+
241
+<tr>
242
+<td class='covered'>
243
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_16'/>
244
+16
245
+</td>
246
+<td class=''>
247
+<span class='pop'>
248
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_16'></a>
249
+<span>
250
+</span>
251
+</span>
252
+</td>
253
+<td class='covered'><pre><span  class=''>        adventurerLevel1.put(&#34;INT&#34;, 1);</span></pre></td></tr>
254
+
255
+
256
+<tr>
257
+<td class='covered'>
258
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_17'/>
259
+17
260
+</td>
261
+<td class=''>
262
+<span class='pop'>
263
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_17'></a>
264
+<span>
265
+</span>
266
+</span>
267
+</td>
268
+<td class='covered'><pre><span  class=''>        adventurerLevel1.put(&#34;DEF&#34;, 1);</span></pre></td></tr>
269
+
270
+
271
+<tr>
272
+<td class='covered'>
273
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_18'/>
274
+18
275
+</td>
276
+<td class=''>
277
+<span class='pop'>
278
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_18'></a>
279
+<span>
280
+</span>
281
+</span>
282
+</td>
283
+<td class='covered'><pre><span  class=''>        adventurerLevel1.put(&#34;ATK&#34;, 3);</span></pre></td></tr>
284
+
285
+
286
+<tr>
287
+<td class='covered'>
288
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_19'/>
289
+19
290
+</td>
291
+<td class=''>
292
+<span class='pop'>
293
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_19'></a>
294
+<span>
295
+</span>
296
+</span>
297
+</td>
298
+<td class='covered'><pre><span  class=''>        adventurerLevel1.put(&#34;CHA&#34;, 2);</span></pre></td></tr>
299
+
300
+
301
+<tr>
302
+<td class='covered'>
303
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_20'/>
304
+20
305
+</td>
306
+<td class=''>
307
+<span class='pop'>
308
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_20'></a>
309
+<span>
310
+</span>
311
+</span>
312
+</td>
313
+<td class='covered'><pre><span  class=''>        adventurerMap.put(1, adventurerLevel1);</span></pre></td></tr>
314
+
315
+
316
+<tr>
317
+<td class='na'>
318
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_21'/>
319
+21
320
+</td>
321
+<td class=''>
322
+<span class='pop'>
323
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_21'></a>
324
+<span>
325
+</span>
326
+</span>
327
+</td>
328
+<td class=''><pre><span  class=''></span></pre></td></tr>
329
+
330
+
331
+<tr>
332
+<td class='covered'>
333
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_22'/>
334
+22
335
+</td>
336
+<td class=''>
337
+<span class='pop'>
338
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_22'></a>
339
+<span>
340
+</span>
341
+</span>
342
+</td>
343
+<td class='covered'><pre><span  class=''>        HashMap&#60;String, Integer&#62; adventurerLevel2 = new HashMap&#60;&#62;();</span></pre></td></tr>
344
+
345
+
346
+<tr>
347
+<td class='covered'>
348
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_23'/>
349
+23
350
+</td>
351
+<td class=''>
352
+<span class='pop'>
353
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_23'></a>
354
+<span>
355
+</span>
356
+</span>
357
+</td>
358
+<td class='covered'><pre><span  class=''>        adventurerLevel1.put(&#34;INT&#34;, 2);</span></pre></td></tr>
359
+
360
+
361
+<tr>
362
+<td class='covered'>
363
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_24'/>
364
+24
365
+</td>
366
+<td class=''>
367
+<span class='pop'>
368
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_24'></a>
369
+<span>
370
+</span>
371
+</span>
372
+</td>
373
+<td class='covered'><pre><span  class=''>        adventurerLevel1.put(&#34;CHA&#34;, 3);</span></pre></td></tr>
374
+
375
+
376
+<tr>
377
+<td class='covered'>
378
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_25'/>
379
+25
380
+</td>
381
+<td class=''>
382
+<span class='pop'>
383
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_25'></a>
384
+<span>
385
+</span>
386
+</span>
387
+</td>
388
+<td class='covered'><pre><span  class=''>        adventurerMap.put(2, adventurerLevel2);</span></pre></td></tr>
389
+
390
+
391
+<tr>
392
+<td class='na'>
393
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_26'/>
394
+26
395
+</td>
396
+<td class=''>
397
+<span class='pop'>
398
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_26'></a>
399
+<span>
400
+</span>
401
+</span>
402
+</td>
403
+<td class=''><pre><span  class=''></span></pre></td></tr>
404
+
405
+
406
+<tr>
407
+<td class='covered'>
408
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_27'/>
409
+27
410
+</td>
411
+<td class=''>
412
+<span class='pop'>
413
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_27'></a>
414
+<span>
415
+</span>
416
+</span>
417
+</td>
418
+<td class='covered'><pre><span  class=''>        HashMap&#60;String, Integer&#62; adventurerLevel3 = new HashMap&#60;&#62;();</span></pre></td></tr>
419
+
420
+
421
+<tr>
422
+<td class='covered'>
423
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_28'/>
424
+28
425
+</td>
426
+<td class=''>
427
+<span class='pop'>
428
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_28'></a>
429
+<span>
430
+</span>
431
+</span>
432
+</td>
433
+<td class='covered'><pre><span  class=''>        adventurerLevel3.put(&#34;ATK&#34;, 5);</span></pre></td></tr>
434
+
435
+
436
+<tr>
437
+<td class='covered'>
438
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_29'/>
439
+29
440
+</td>
441
+<td class=''>
442
+<span class='pop'>
443
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_29'></a>
444
+<span>
445
+</span>
446
+</span>
447
+</td>
448
+<td class='covered'><pre><span  class=''>        adventurerLevel3.put(&#34;ALC&#34;, 1);</span></pre></td></tr>
449
+
450
+
451
+<tr>
452
+<td class='covered'>
453
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_30'/>
454
+30
455
+</td>
456
+<td class=''>
457
+<span class='pop'>
458
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_30'></a>
459
+<span>
460
+</span>
461
+</span>
462
+</td>
463
+<td class='covered'><pre><span  class=''>        adventurerMap.put(3, adventurerLevel3);</span></pre></td></tr>
464
+
465
+
466
+<tr>
467
+<td class='na'>
468
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_31'/>
469
+31
470
+</td>
471
+<td class=''>
472
+<span class='pop'>
473
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_31'></a>
474
+<span>
475
+</span>
476
+</span>
477
+</td>
478
+<td class=''><pre><span  class=''></span></pre></td></tr>
479
+
480
+
481
+<tr>
482
+<td class='covered'>
483
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_32'/>
484
+32
485
+</td>
486
+<td class=''>
487
+<span class='pop'>
488
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_32'></a>
489
+<span>
490
+</span>
491
+</span>
492
+</td>
493
+<td class='covered'><pre><span  class=''>        HashMap&#60;String, Integer&#62; adventurerLevel4 = new HashMap&#60;&#62;();</span></pre></td></tr>
494
+
495
+
496
+<tr>
497
+<td class='covered'>
498
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_33'/>
499
+33
500
+</td>
501
+<td class=''>
502
+<span class='pop'>
503
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_33'></a>
504
+<span>
505
+</span>
506
+</span>
507
+</td>
508
+<td class='covered'><pre><span  class=''>        adventurerLevel4.put(&#34;DEF&#34;, 3);</span></pre></td></tr>
509
+
510
+
511
+<tr>
512
+<td class='covered'>
513
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_34'/>
514
+34
515
+</td>
516
+<td class=''>
517
+<span class='pop'>
518
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_34'></a>
519
+<span>
520
+</span>
521
+</span>
522
+</td>
523
+<td class='covered'><pre><span  class=''>        adventurerMap.put(4, adventurerLevel4);</span></pre></td></tr>
524
+
525
+
526
+<tr>
527
+<td class='na'>
528
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_35'/>
529
+35
530
+</td>
531
+<td class=''>
532
+<span class='pop'>
533
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_35'></a>
534
+<span>
535
+</span>
536
+</span>
537
+</td>
538
+<td class=''><pre><span  class=''></span></pre></td></tr>
539
+
540
+
541
+<tr>
542
+<td class='covered'>
543
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_36'/>
544
+36
545
+</td>
546
+<td class=''>
547
+<span class='pop'>
548
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_36'></a>
549
+<span>
550
+</span>
551
+</span>
552
+</td>
553
+<td class='covered'><pre><span  class=''>        HashMap&#60;String, Integer&#62; adventurerLevel5 = new HashMap&#60;&#62;();</span></pre></td></tr>
554
+
555
+
556
+<tr>
557
+<td class='covered'>
558
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_37'/>
559
+37
560
+</td>
561
+<td class=''>
562
+<span class='pop'>
563
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_37'></a>
564
+<span>
565
+</span>
566
+</span>
567
+</td>
568
+<td class='covered'><pre><span  class=''>        adventurerLevel5.put(&#34;VIS&#34;, 1);</span></pre></td></tr>
569
+
570
+
571
+<tr>
572
+<td class='covered'>
573
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_38'/>
574
+38
575
+</td>
576
+<td class=''>
577
+<span class='pop'>
578
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_38'></a>
579
+<span>
580
+</span>
581
+</span>
582
+</td>
583
+<td class='covered'><pre><span  class=''>        adventurerLevel5.put(&#34;DEF&#34;, 4);</span></pre></td></tr>
584
+
585
+
586
+<tr>
587
+<td class='covered'>
588
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_39'/>
589
+39
590
+</td>
591
+<td class=''>
592
+<span class='pop'>
593
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_39'></a>
594
+<span>
595
+</span>
596
+</span>
597
+</td>
598
+<td class='covered'><pre><span  class=''>        adventurerMap.put(5, adventurerLevel5);</span></pre></td></tr>
599
+
600
+
601
+<tr>
602
+<td class='na'>
603
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_40'/>
604
+40
605
+</td>
606
+<td class=''>
607
+<span class='pop'>
608
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_40'></a>
609
+<span>
610
+</span>
611
+</span>
612
+</td>
613
+<td class=''><pre><span  class=''></span></pre></td></tr>
614
+
615
+
616
+<tr>
617
+<td class='covered'>
618
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_41'/>
619
+41
620
+</td>
621
+<td class=''>
622
+<span class='pop'>
623
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_41'></a>
624
+<span>
625
+</span>
626
+</span>
627
+</td>
628
+<td class='covered'><pre><span  class=''>        abilitiesPerTypeAndLevel.put(&#34;ADVENTURER&#34;, adventurerMap);</span></pre></td></tr>
629
+
630
+
631
+<tr>
632
+<td class='na'>
633
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_42'/>
634
+42
635
+</td>
636
+<td class=''>
637
+<span class='pop'>
638
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_42'></a>
639
+<span>
640
+</span>
641
+</span>
642
+</td>
643
+<td class=''><pre><span  class=''></span></pre></td></tr>
644
+
645
+
646
+<tr>
647
+<td class='na'>
648
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_43'/>
649
+43
650
+</td>
651
+<td class=''>
652
+<span class='pop'>
653
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_43'></a>
654
+<span>
655
+</span>
656
+</span>
657
+</td>
658
+<td class=''><pre><span  class=''></span></pre></td></tr>
659
+
660
+
661
+<tr>
662
+<td class='covered'>
663
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_44'/>
664
+44
665
+</td>
666
+<td class=''>
667
+<span class='pop'>
668
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_44'></a>
669
+<span>
670
+</span>
671
+</span>
672
+</td>
673
+<td class='covered'><pre><span  class=''>        HashMap&#60;Integer, HashMap&#60;String, Integer&#62;&#62; archerMap = new HashMap&#60;&#62;();</span></pre></td></tr>
674
+
675
+
676
+<tr>
677
+<td class='covered'>
678
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_45'/>
679
+45
680
+</td>
681
+<td class=''>
682
+<span class='pop'>
683
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_45'></a>
684
+<span>
685
+</span>
686
+</span>
687
+</td>
688
+<td class='covered'><pre><span  class=''>        HashMap&#60;String, Integer&#62; archerLevel1 = new HashMap&#60;&#62;();</span></pre></td></tr>
689
+
690
+
691
+<tr>
692
+<td class='covered'>
693
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_46'/>
694
+46
695
+</td>
696
+<td class=''>
697
+<span class='pop'>
698
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_46'></a>
699
+<span>
700
+</span>
701
+</span>
702
+</td>
703
+<td class='covered'><pre><span  class=''>        archerLevel1.put(&#34;INT&#34;, 1);</span></pre></td></tr>
704
+
705
+
706
+<tr>
707
+<td class='covered'>
708
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_47'/>
709
+47
710
+</td>
711
+<td class=''>
712
+<span class='pop'>
713
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_47'></a>
714
+<span>
715
+</span>
716
+</span>
717
+</td>
718
+<td class='covered'><pre><span  class=''>        archerLevel1.put(&#34;ATK&#34;, 3);</span></pre></td></tr>
719
+
720
+
721
+<tr>
722
+<td class='covered'>
723
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_48'/>
724
+48
725
+</td>
726
+<td class=''>
727
+<span class='pop'>
728
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_48'></a>
729
+<span>
730
+</span>
731
+</span>
732
+</td>
733
+<td class='covered'><pre><span  class=''>        archerLevel1.put(&#34;CHA&#34;, 1);</span></pre></td></tr>
734
+
735
+
736
+<tr>
737
+<td class='covered'>
738
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_49'/>
739
+49
740
+</td>
741
+<td class=''>
742
+<span class='pop'>
743
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_49'></a>
744
+<span>
745
+</span>
746
+</span>
747
+</td>
748
+<td class='covered'><pre><span  class=''>        archerLevel1.put(&#34;VIS&#34;, 3);</span></pre></td></tr>
749
+
750
+
751
+<tr>
752
+<td class='covered'>
753
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_50'/>
754
+50
755
+</td>
756
+<td class=''>
757
+<span class='pop'>
758
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_50'></a>
759
+<span>
760
+</span>
761
+</span>
762
+</td>
763
+<td class='covered'><pre><span  class=''>        archerMap.put(1, archerLevel1);</span></pre></td></tr>
764
+
765
+
766
+<tr>
767
+<td class='na'>
768
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_51'/>
769
+51
770
+</td>
771
+<td class=''>
772
+<span class='pop'>
773
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_51'></a>
774
+<span>
775
+</span>
776
+</span>
777
+</td>
778
+<td class=''><pre><span  class=''></span></pre></td></tr>
779
+
780
+
781
+<tr>
782
+<td class='covered'>
783
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_52'/>
784
+52
785
+</td>
786
+<td class=''>
787
+<span class='pop'>
788
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_52'></a>
789
+<span>
790
+</span>
791
+</span>
792
+</td>
793
+<td class='covered'><pre><span  class=''>        HashMap&#60;String, Integer&#62; archerLevel2 = new HashMap&#60;&#62;();</span></pre></td></tr>
794
+
795
+
796
+<tr>
797
+<td class='covered'>
798
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_53'/>
799
+53
800
+</td>
801
+<td class=''>
802
+<span class='pop'>
803
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_53'></a>
804
+<span>
805
+</span>
806
+</span>
807
+</td>
808
+<td class='covered'><pre><span  class=''>        archerLevel2.put(&#34;DEF&#34;, 1);</span></pre></td></tr>
809
+
810
+
811
+<tr>
812
+<td class='covered'>
813
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_54'/>
814
+54
815
+</td>
816
+<td class=''>
817
+<span class='pop'>
818
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_54'></a>
819
+<span>
820
+</span>
821
+</span>
822
+</td>
823
+<td class='covered'><pre><span  class=''>        archerLevel2.put(&#34;CHA&#34;, 2);</span></pre></td></tr>
824
+
825
+
826
+<tr>
827
+<td class='covered'>
828
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_55'/>
829
+55
830
+</td>
831
+<td class=''>
832
+<span class='pop'>
833
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_55'></a>
834
+<span>
835
+</span>
836
+</span>
837
+</td>
838
+<td class='covered'><pre><span  class=''>        archerMap.put(2, archerLevel2);</span></pre></td></tr>
839
+
840
+
841
+<tr>
842
+<td class='na'>
843
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_56'/>
844
+56
845
+</td>
846
+<td class=''>
847
+<span class='pop'>
848
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_56'></a>
849
+<span>
850
+</span>
851
+</span>
852
+</td>
853
+<td class=''><pre><span  class=''></span></pre></td></tr>
854
+
855
+
856
+<tr>
857
+<td class='covered'>
858
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_57'/>
859
+57
860
+</td>
861
+<td class=''>
862
+<span class='pop'>
863
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_57'></a>
864
+<span>
865
+</span>
866
+</span>
867
+</td>
868
+<td class='covered'><pre><span  class=''>        HashMap&#60;String, Integer&#62; archerLevel3 = new HashMap&#60;&#62;();</span></pre></td></tr>
869
+
870
+
871
+<tr>
872
+<td class='covered'>
873
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_58'/>
874
+58
875
+</td>
876
+<td class=''>
877
+<span class='pop'>
878
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_58'></a>
879
+<span>
880
+</span>
881
+</span>
882
+</td>
883
+<td class='covered'><pre><span  class=''>        archerLevel3.put(&#34;ATK&#34;, 3);</span></pre></td></tr>
884
+
885
+
886
+<tr>
887
+<td class='covered'>
888
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_59'/>
889
+59
890
+</td>
891
+<td class=''>
892
+<span class='pop'>
893
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_59'></a>
894
+<span>
895
+</span>
896
+</span>
897
+</td>
898
+<td class='covered'><pre><span  class=''>        archerMap.put(3, archerLevel3);</span></pre></td></tr>
899
+
900
+
901
+<tr>
902
+<td class='na'>
903
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_60'/>
904
+60
905
+</td>
906
+<td class=''>
907
+<span class='pop'>
908
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_60'></a>
909
+<span>
910
+</span>
911
+</span>
912
+</td>
913
+<td class=''><pre><span  class=''></span></pre></td></tr>
914
+
915
+
916
+<tr>
917
+<td class='covered'>
918
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_61'/>
919
+61
920
+</td>
921
+<td class=''>
922
+<span class='pop'>
923
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_61'></a>
924
+<span>
925
+</span>
926
+</span>
927
+</td>
928
+<td class='covered'><pre><span  class=''>        HashMap&#60;String, Integer&#62; archerLevel4 = new HashMap&#60;&#62;();</span></pre></td></tr>
929
+
930
+
931
+<tr>
932
+<td class='covered'>
933
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_62'/>
934
+62
935
+</td>
936
+<td class=''>
937
+<span class='pop'>
938
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_62'></a>
939
+<span>
940
+</span>
941
+</span>
942
+</td>
943
+<td class='covered'><pre><span  class=''>        archerLevel4.put(&#34;DEF&#34;, 2);</span></pre></td></tr>
944
+
945
+
946
+<tr>
947
+<td class='covered'>
948
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_63'/>
949
+63
950
+</td>
951
+<td class=''>
952
+<span class='pop'>
953
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_63'></a>
954
+<span>
955
+</span>
956
+</span>
957
+</td>
958
+<td class='covered'><pre><span  class=''>        archerMap.put(4, archerLevel4);</span></pre></td></tr>
959
+
960
+
961
+<tr>
962
+<td class='na'>
963
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_64'/>
964
+64
965
+</td>
966
+<td class=''>
967
+<span class='pop'>
968
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_64'></a>
969
+<span>
970
+</span>
971
+</span>
972
+</td>
973
+<td class=''><pre><span  class=''></span></pre></td></tr>
974
+
975
+
976
+<tr>
977
+<td class='covered'>
978
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_65'/>
979
+65
980
+</td>
981
+<td class=''>
982
+<span class='pop'>
983
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_65'></a>
984
+<span>
985
+</span>
986
+</span>
987
+</td>
988
+<td class='covered'><pre><span  class=''>        HashMap&#60;String, Integer&#62; archerLevel5 = new HashMap&#60;&#62;();</span></pre></td></tr>
989
+
990
+
991
+<tr>
992
+<td class='covered'>
993
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_66'/>
994
+66
995
+</td>
996
+<td class=''>
997
+<span class='pop'>
998
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_66'></a>
999
+<span>
1000
+</span>
1001
+</span>
1002
+</td>
1003
+<td class='covered'><pre><span  class=''>        archerLevel5.put(&#34;ATK&#34;, 4);</span></pre></td></tr>
1004
+
1005
+
1006
+<tr>
1007
+<td class='covered'>
1008
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_67'/>
1009
+67
1010
+</td>
1011
+<td class=''>
1012
+<span class='pop'>
1013
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_67'></a>
1014
+<span>
1015
+</span>
1016
+</span>
1017
+</td>
1018
+<td class='covered'><pre><span  class=''>        archerMap.put(5, archerLevel5);</span></pre></td></tr>
1019
+
1020
+
1021
+<tr>
1022
+<td class='na'>
1023
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_68'/>
1024
+68
1025
+</td>
1026
+<td class=''>
1027
+<span class='pop'>
1028
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_68'></a>
1029
+<span>
1030
+</span>
1031
+</span>
1032
+</td>
1033
+<td class=''><pre><span  class=''></span></pre></td></tr>
1034
+
1035
+
1036
+<tr>
1037
+<td class='covered'>
1038
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_69'/>
1039
+69
1040
+</td>
1041
+<td class=''>
1042
+<span class='pop'>
1043
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_69'></a>
1044
+<span>
1045
+</span>
1046
+</span>
1047
+</td>
1048
+<td class='covered'><pre><span  class=''>        abilitiesPerTypeAndLevel.put(&#34;ARCHER&#34;, archerMap);</span></pre></td></tr>
1049
+
1050
+
1051
+<tr>
1052
+<td class='na'>
1053
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_70'/>
1054
+70
1055
+</td>
1056
+<td class=''>
1057
+<span class='pop'>
1058
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_70'></a>
1059
+<span>
1060
+</span>
1061
+</span>
1062
+</td>
1063
+<td class=''><pre><span  class=''></span></pre></td></tr>
1064
+
1065
+
1066
+<tr>
1067
+<td class='na'>
1068
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_71'/>
1069
+71
1070
+</td>
1071
+<td class=''>
1072
+<span class='pop'>
1073
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_71'></a>
1074
+<span>
1075
+</span>
1076
+</span>
1077
+</td>
1078
+<td class=''><pre><span  class=''></span></pre></td></tr>
1079
+
1080
+
1081
+<tr>
1082
+<td class='covered'>
1083
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_72'/>
1084
+72
1085
+</td>
1086
+<td class=''>
1087
+<span class='pop'>
1088
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_72'></a>
1089
+<span>
1090
+</span>
1091
+</span>
1092
+</td>
1093
+<td class='covered'><pre><span  class=''>        HashMap&#60;Integer, HashMap&#60;String, Integer&#62;&#62; dwarf = new HashMap&#60;&#62;();</span></pre></td></tr>
1094
+
1095
+
1096
+<tr>
1097
+<td class='covered'>
1098
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_73'/>
1099
+73
1100
+</td>
1101
+<td class=''>
1102
+<span class='pop'>
1103
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_73'></a>
1104
+<span>
1105
+</span>
1106
+</span>
1107
+</td>
1108
+<td class='covered'><pre><span  class=''>        HashMap&#60;String, Integer&#62; dwarfLevel1 = new HashMap&#60;&#62;();</span></pre></td></tr>
1109
+
1110
+
1111
+<tr>
1112
+<td class='covered'>
1113
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_74'/>
1114
+74
1115
+</td>
1116
+<td class=''>
1117
+<span class='pop'>
1118
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_74'></a>
1119
+<span>
1120
+</span>
1121
+</span>
1122
+</td>
1123
+<td class='covered'><pre><span  class=''>        dwarfLevel1.put(&#34;ALC&#34;, 4);</span></pre></td></tr>
1124
+
1125
+
1126
+<tr>
1127
+<td class='covered'>
1128
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_75'/>
1129
+75
1130
+</td>
1131
+<td class=''>
1132
+<span class='pop'>
1133
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_75'></a>
1134
+<span>
1135
+</span>
1136
+</span>
1137
+</td>
1138
+<td class='covered'><pre><span  class=''>        dwarfLevel1.put(&#34;INT&#34;, 1);</span></pre></td></tr>
1139
+
1140
+
1141
+<tr>
1142
+<td class='covered'>
1143
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_76'/>
1144
+76
1145
+</td>
1146
+<td class=''>
1147
+<span class='pop'>
1148
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_76'></a>
1149
+<span>
1150
+</span>
1151
+</span>
1152
+</td>
1153
+<td class='covered'><pre><span  class=''>        dwarfLevel1.put(&#34;ATK&#34;, 3);</span></pre></td></tr>
1154
+
1155
+
1156
+<tr>
1157
+<td class='covered'>
1158
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_77'/>
1159
+77
1160
+</td>
1161
+<td class=''>
1162
+<span class='pop'>
1163
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_77'></a>
1164
+<span>
1165
+</span>
1166
+</span>
1167
+</td>
1168
+<td class='covered'><pre><span  class=''>        dwarf.put(1, dwarfLevel1);</span></pre></td></tr>
1169
+
1170
+
1171
+<tr>
1172
+<td class='na'>
1173
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_78'/>
1174
+78
1175
+</td>
1176
+<td class=''>
1177
+<span class='pop'>
1178
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_78'></a>
1179
+<span>
1180
+</span>
1181
+</span>
1182
+</td>
1183
+<td class=''><pre><span  class=''></span></pre></td></tr>
1184
+
1185
+
1186
+<tr>
1187
+<td class='covered'>
1188
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_79'/>
1189
+79
1190
+</td>
1191
+<td class=''>
1192
+<span class='pop'>
1193
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_79'></a>
1194
+<span>
1195
+</span>
1196
+</span>
1197
+</td>
1198
+<td class='covered'><pre><span  class=''>        HashMap&#60;String, Integer&#62; dwarfLevel2 = new HashMap&#60;&#62;();</span></pre></td></tr>
1199
+
1200
+
1201
+<tr>
1202
+<td class='covered'>
1203
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_80'/>
1204
+80
1205
+</td>
1206
+<td class=''>
1207
+<span class='pop'>
1208
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_80'></a>
1209
+<span>
1210
+</span>
1211
+</span>
1212
+</td>
1213
+<td class='covered'><pre><span  class=''>        dwarfLevel2.put(&#34;DEF&#34;, 1);</span></pre></td></tr>
1214
+
1215
+
1216
+<tr>
1217
+<td class='covered'>
1218
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_81'/>
1219
+81
1220
+</td>
1221
+<td class=''>
1222
+<span class='pop'>
1223
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_81'></a>
1224
+<span>
1225
+</span>
1226
+</span>
1227
+</td>
1228
+<td class='covered'><pre><span  class=''>        dwarfLevel2.put(&#34;ALC&#34;, 5);</span></pre></td></tr>
1229
+
1230
+
1231
+<tr>
1232
+<td class='covered'>
1233
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_82'/>
1234
+82
1235
+</td>
1236
+<td class=''>
1237
+<span class='pop'>
1238
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_82'></a>
1239
+<span>
1240
+</span>
1241
+</span>
1242
+</td>
1243
+<td class='covered'><pre><span  class=''>        dwarf.put(2, dwarfLevel2);</span></pre></td></tr>
1244
+
1245
+
1246
+<tr>
1247
+<td class='na'>
1248
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_83'/>
1249
+83
1250
+</td>
1251
+<td class=''>
1252
+<span class='pop'>
1253
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_83'></a>
1254
+<span>
1255
+</span>
1256
+</span>
1257
+</td>
1258
+<td class=''><pre><span  class=''></span></pre></td></tr>
1259
+
1260
+
1261
+<tr>
1262
+<td class='covered'>
1263
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_84'/>
1264
+84
1265
+</td>
1266
+<td class=''>
1267
+<span class='pop'>
1268
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_84'></a>
1269
+<span>
1270
+</span>
1271
+</span>
1272
+</td>
1273
+<td class='covered'><pre><span  class=''>        HashMap&#60;String, Integer&#62; dwarfLevel3 = new HashMap&#60;&#62;();</span></pre></td></tr>
1274
+
1275
+
1276
+<tr>
1277
+<td class='covered'>
1278
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_85'/>
1279
+85
1280
+</td>
1281
+<td class=''>
1282
+<span class='pop'>
1283
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_85'></a>
1284
+<span>
1285
+</span>
1286
+</span>
1287
+</td>
1288
+<td class='covered'><pre><span  class=''>        dwarfLevel3.put(&#34;ATK&#34;, 4);</span></pre></td></tr>
1289
+
1290
+
1291
+<tr>
1292
+<td class='covered'>
1293
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_86'/>
1294
+86
1295
+</td>
1296
+<td class=''>
1297
+<span class='pop'>
1298
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_86'></a>
1299
+<span>
1300
+</span>
1301
+</span>
1302
+</td>
1303
+<td class='covered'><pre><span  class=''>        dwarf.put(3, dwarfLevel3);</span></pre></td></tr>
1304
+
1305
+
1306
+<tr>
1307
+<td class='na'>
1308
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_87'/>
1309
+87
1310
+</td>
1311
+<td class=''>
1312
+<span class='pop'>
1313
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_87'></a>
1314
+<span>
1315
+</span>
1316
+</span>
1317
+</td>
1318
+<td class=''><pre><span  class=''></span></pre></td></tr>
1319
+
1320
+
1321
+<tr>
1322
+<td class='covered'>
1323
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_88'/>
1324
+88
1325
+</td>
1326
+<td class=''>
1327
+<span class='pop'>
1328
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_88'></a>
1329
+<span>
1330
+</span>
1331
+</span>
1332
+</td>
1333
+<td class='covered'><pre><span  class=''>        HashMap&#60;String, Integer&#62; dwarfLevel4 = new HashMap&#60;&#62;();</span></pre></td></tr>
1334
+
1335
+
1336
+<tr>
1337
+<td class='covered'>
1338
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_89'/>
1339
+89
1340
+</td>
1341
+<td class=''>
1342
+<span class='pop'>
1343
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_89'></a>
1344
+<span>
1345
+</span>
1346
+</span>
1347
+</td>
1348
+<td class='covered'><pre><span  class=''>        dwarfLevel4.put(&#34;DEF&#34;, 2);</span></pre></td></tr>
1349
+
1350
+
1351
+<tr>
1352
+<td class='covered'>
1353
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_90'/>
1354
+90
1355
+</td>
1356
+<td class=''>
1357
+<span class='pop'>
1358
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_90'></a>
1359
+<span>
1360
+</span>
1361
+</span>
1362
+</td>
1363
+<td class='covered'><pre><span  class=''>        dwarf.put(4, dwarfLevel4);</span></pre></td></tr>
1364
+
1365
+
1366
+<tr>
1367
+<td class='na'>
1368
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_91'/>
1369
+91
1370
+</td>
1371
+<td class=''>
1372
+<span class='pop'>
1373
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_91'></a>
1374
+<span>
1375
+</span>
1376
+</span>
1377
+</td>
1378
+<td class=''><pre><span  class=''></span></pre></td></tr>
1379
+
1380
+
1381
+<tr>
1382
+<td class='covered'>
1383
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_92'/>
1384
+92
1385
+</td>
1386
+<td class=''>
1387
+<span class='pop'>
1388
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_92'></a>
1389
+<span>
1390
+</span>
1391
+</span>
1392
+</td>
1393
+<td class='covered'><pre><span  class=''>        HashMap&#60;String, Integer&#62; dwarfLevel5 = new HashMap&#60;&#62;();</span></pre></td></tr>
1394
+
1395
+
1396
+<tr>
1397
+<td class='covered'>
1398
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_93'/>
1399
+93
1400
+</td>
1401
+<td class=''>
1402
+<span class='pop'>
1403
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_93'></a>
1404
+<span>
1405
+</span>
1406
+</span>
1407
+</td>
1408
+<td class='covered'><pre><span  class=''>        dwarfLevel5.put(&#34;CHA&#34;, 1);</span></pre></td></tr>
1409
+
1410
+
1411
+<tr>
1412
+<td class='covered'>
1413
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_94'/>
1414
+94
1415
+</td>
1416
+<td class=''>
1417
+<span class='pop'>
1418
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_94'></a>
1419
+<span>
1420
+</span>
1421
+</span>
1422
+</td>
1423
+<td class='covered'><pre><span  class=''>        dwarf.put(5, dwarfLevel5);</span></pre></td></tr>
1424
+
1425
+
1426
+<tr>
1427
+<td class='na'>
1428
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_95'/>
1429
+95
1430
+</td>
1431
+<td class=''>
1432
+<span class='pop'>
1433
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_95'></a>
1434
+<span>
1435
+</span>
1436
+</span>
1437
+</td>
1438
+<td class=''><pre><span  class=''></span></pre></td></tr>
1439
+
1440
+
1441
+<tr>
1442
+<td class='covered'>
1443
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_96'/>
1444
+96
1445
+</td>
1446
+<td class=''>
1447
+<span class='pop'>
1448
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_96'></a>
1449
+<span>
1450
+</span>
1451
+</span>
1452
+</td>
1453
+<td class='covered'><pre><span  class=''>        abilitiesPerTypeAndLevel.put(&#34;DWARF&#34;, dwarf);</span></pre></td></tr>
1454
+
1455
+
1456
+<tr>
1457
+<td class='na'>
1458
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_97'/>
1459
+97
1460
+</td>
1461
+<td class=''>
1462
+<span class='pop'>
1463
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_97'></a>
1464
+<span>
1465
+</span>
1466
+</span>
1467
+</td>
1468
+<td class=''><pre><span  class=''></span></pre></td></tr>
1469
+
1470
+
1471
+<tr>
1472
+<td class='covered'>
1473
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_98'/>
1474
+98
1475
+</td>
1476
+<td class='killed'>
1477
+<span class='pop'>
1478
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_98'>1</a>
1479
+<span>
1480
+1. abilitiesPerTypeAndLevel : replaced return value with null for re/forestier/edu/rpg/UpdatePlayer::abilitiesPerTypeAndLevel &rarr; KILLED<br/>
1481
+
1482
+</span>
1483
+</span>
1484
+</td>
1485
+<td class='covered'><pre><span  class='killed'>        return abilitiesPerTypeAndLevel;</span></pre></td></tr>
1486
+
1487
+
1488
+<tr>
1489
+<td class='na'>
1490
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_99'/>
1491
+99
1492
+</td>
1493
+<td class=''>
1494
+<span class='pop'>
1495
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_99'></a>
1496
+<span>
1497
+</span>
1498
+</span>
1499
+</td>
1500
+<td class=''><pre><span  class=''>    }</span></pre></td></tr>
1501
+
1502
+
1503
+<tr>
1504
+<td class='na'>
1505
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_100'/>
1506
+100
1507
+</td>
1508
+<td class=''>
1509
+<span class='pop'>
1510
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_100'></a>
1511
+<span>
1512
+</span>
1513
+</span>
1514
+</td>
1515
+<td class=''><pre><span  class=''></span></pre></td></tr>
1516
+
1517
+
1518
+<tr>
1519
+<td class='na'>
1520
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_101'/>
1521
+101
1522
+</td>
1523
+<td class=''>
1524
+<span class='pop'>
1525
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_101'></a>
1526
+<span>
1527
+</span>
1528
+</span>
1529
+</td>
1530
+<td class=''><pre><span  class=''>    public static boolean addXp(player player, int xp) {</span></pre></td></tr>
1531
+
1532
+
1533
+<tr>
1534
+<td class='covered'>
1535
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_102'/>
1536
+102
1537
+</td>
1538
+<td class=''>
1539
+<span class='pop'>
1540
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_102'></a>
1541
+<span>
1542
+</span>
1543
+</span>
1544
+</td>
1545
+<td class='covered'><pre><span  class=''>        int currentLevel = player.retrieveLevel();</span></pre></td></tr>
1546
+
1547
+
1548
+<tr>
1549
+<td class='covered'>
1550
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_103'/>
1551
+103
1552
+</td>
1553
+<td class='killed'>
1554
+<span class='pop'>
1555
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_103'>1</a>
1556
+<span>
1557
+1. addXp : Replaced integer addition with subtraction &rarr; KILLED<br/>
1558
+
1559
+</span>
1560
+</span>
1561
+</td>
1562
+<td class='covered'><pre><span  class='killed'>        player.xp += xp;</span></pre></td></tr>
1563
+
1564
+
1565
+<tr>
1566
+<td class='covered'>
1567
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_104'/>
1568
+104
1569
+</td>
1570
+<td class=''>
1571
+<span class='pop'>
1572
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_104'></a>
1573
+<span>
1574
+</span>
1575
+</span>
1576
+</td>
1577
+<td class='covered'><pre><span  class=''>        int newLevel = player.retrieveLevel();</span></pre></td></tr>
1578
+
1579
+
1580
+<tr>
1581
+<td class='na'>
1582
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_105'/>
1583
+105
1584
+</td>
1585
+<td class=''>
1586
+<span class='pop'>
1587
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_105'></a>
1588
+<span>
1589
+</span>
1590
+</span>
1591
+</td>
1592
+<td class=''><pre><span  class=''></span></pre></td></tr>
1593
+
1594
+
1595
+<tr>
1596
+<td class='covered'>
1597
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_106'/>
1598
+106
1599
+</td>
1600
+<td class='killed'>
1601
+<span class='pop'>
1602
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_106'>1</a>
1603
+<span>
1604
+1. addXp : negated conditional &rarr; KILLED<br/>
1605
+
1606
+</span>
1607
+</span>
1608
+</td>
1609
+<td class='covered'><pre><span  class='killed'>        if (newLevel != currentLevel) {</span></pre></td></tr>
1610
+
1611
+
1612
+<tr>
1613
+<td class='na'>
1614
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_107'/>
1615
+107
1616
+</td>
1617
+<td class=''>
1618
+<span class='pop'>
1619
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_107'></a>
1620
+<span>
1621
+</span>
1622
+</span>
1623
+</td>
1624
+<td class=''><pre><span  class=''>            // Player leveled-up!</span></pre></td></tr>
1625
+
1626
+
1627
+<tr>
1628
+<td class='na'>
1629
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_108'/>
1630
+108
1631
+</td>
1632
+<td class=''>
1633
+<span class='pop'>
1634
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_108'></a>
1635
+<span>
1636
+</span>
1637
+</span>
1638
+</td>
1639
+<td class=''><pre><span  class=''>            // Give a random object</span></pre></td></tr>
1640
+
1641
+
1642
+<tr>
1643
+<td class='na'>
1644
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_109'/>
1645
+109
1646
+</td>
1647
+<td class=''>
1648
+<span class='pop'>
1649
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_109'></a>
1650
+<span>
1651
+</span>
1652
+</span>
1653
+</td>
1654
+<td class=''><pre><span  class=''>            ;</span></pre></td></tr>
1655
+
1656
+
1657
+<tr>
1658
+<td class='covered'>
1659
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_110'/>
1660
+110
1661
+</td>
1662
+<td class=''>
1663
+<span class='pop'>
1664
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_110'></a>
1665
+<span>
1666
+</span>
1667
+</span>
1668
+</td>
1669
+<td class='covered'><pre><span  class=''>            Random random = new Random();</span></pre></td></tr>
1670
+
1671
+
1672
+<tr>
1673
+<td class='covered'>
1674
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_111'/>
1675
+111
1676
+</td>
1677
+<td class='survived'>
1678
+<span class='pop'>
1679
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_111'>2</a>
1680
+<span>
1681
+1. addXp : Replaced integer subtraction with addition &rarr; SURVIVED<br/>
1682
+2. addXp : Replaced integer addition with subtraction &rarr; SURVIVED<br/>
1683
+
1684
+</span>
1685
+</span>
1686
+</td>
1687
+<td class='covered'><pre><span  class='survived'>            player.inventory.add(objectList[random.nextInt(objectList.length - 0) + 0]);</span></pre></td></tr>
1688
+
1689
+
1690
+<tr>
1691
+<td class='na'>
1692
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_112'/>
1693
+112
1694
+</td>
1695
+<td class=''>
1696
+<span class='pop'>
1697
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_112'></a>
1698
+<span>
1699
+</span>
1700
+</span>
1701
+</td>
1702
+<td class=''><pre><span  class=''></span></pre></td></tr>
1703
+
1704
+
1705
+<tr>
1706
+<td class='na'>
1707
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_113'/>
1708
+113
1709
+</td>
1710
+<td class=''>
1711
+<span class='pop'>
1712
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_113'></a>
1713
+<span>
1714
+</span>
1715
+</span>
1716
+</td>
1717
+<td class=''><pre><span  class=''>            // Add/upgrade abilities to player</span></pre></td></tr>
1718
+
1719
+
1720
+<tr>
1721
+<td class='covered'>
1722
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_114'/>
1723
+114
1724
+</td>
1725
+<td class=''>
1726
+<span class='pop'>
1727
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_114'></a>
1728
+<span>
1729
+</span>
1730
+</span>
1731
+</td>
1732
+<td class='covered'><pre><span  class=''>            HashMap&#60;String, Integer&#62; abilities = abilitiesPerTypeAndLevel().get(player.getAvatarClass()).get(newLevel);</span></pre></td></tr>
1733
+
1734
+
1735
+<tr>
1736
+<td class='covered'>
1737
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_115'/>
1738
+115
1739
+</td>
1740
+<td class='killed'>
1741
+<span class='pop'>
1742
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_115'>1</a>
1743
+<span>
1744
+1. addXp : removed call to java/util/HashMap::forEach &rarr; KILLED<br/>
1745
+
1746
+</span>
1747
+</span>
1748
+</td>
1749
+<td class='covered'><pre><span  class='killed'>            abilities.forEach((ability, level) -&#62; {</span></pre></td></tr>
1750
+
1751
+
1752
+<tr>
1753
+<td class='covered'>
1754
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_116'/>
1755
+116
1756
+</td>
1757
+<td class=''>
1758
+<span class='pop'>
1759
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_116'></a>
1760
+<span>
1761
+</span>
1762
+</span>
1763
+</td>
1764
+<td class='covered'><pre><span  class=''>                player.abilities.put(ability, abilities.get(ability));</span></pre></td></tr>
1765
+
1766
+
1767
+<tr>
1768
+<td class='covered'>
1769
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_117'/>
1770
+117
1771
+</td>
1772
+<td class=''>
1773
+<span class='pop'>
1774
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_117'></a>
1775
+<span>
1776
+</span>
1777
+</span>
1778
+</td>
1779
+<td class='covered'><pre><span  class=''>            });</span></pre></td></tr>
1780
+
1781
+
1782
+<tr>
1783
+<td class='covered'>
1784
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_118'/>
1785
+118
1786
+</td>
1787
+<td class='killed'>
1788
+<span class='pop'>
1789
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_118'>1</a>
1790
+<span>
1791
+1. addXp : replaced boolean return with false for re/forestier/edu/rpg/UpdatePlayer::addXp &rarr; KILLED<br/>
1792
+
1793
+</span>
1794
+</span>
1795
+</td>
1796
+<td class='covered'><pre><span  class='killed'>            return true;</span></pre></td></tr>
1797
+
1798
+
1799
+<tr>
1800
+<td class='na'>
1801
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_119'/>
1802
+119
1803
+</td>
1804
+<td class=''>
1805
+<span class='pop'>
1806
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_119'></a>
1807
+<span>
1808
+</span>
1809
+</span>
1810
+</td>
1811
+<td class=''><pre><span  class=''>        }</span></pre></td></tr>
1812
+
1813
+
1814
+<tr>
1815
+<td class='covered'>
1816
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_120'/>
1817
+120
1818
+</td>
1819
+<td class='killed'>
1820
+<span class='pop'>
1821
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_120'>1</a>
1822
+<span>
1823
+1. addXp : replaced boolean return with true for re/forestier/edu/rpg/UpdatePlayer::addXp &rarr; KILLED<br/>
1824
+
1825
+</span>
1826
+</span>
1827
+</td>
1828
+<td class='covered'><pre><span  class='killed'>        return false;</span></pre></td></tr>
1829
+
1830
+
1831
+<tr>
1832
+<td class='na'>
1833
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_121'/>
1834
+121
1835
+</td>
1836
+<td class=''>
1837
+<span class='pop'>
1838
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_121'></a>
1839
+<span>
1840
+</span>
1841
+</span>
1842
+</td>
1843
+<td class=''><pre><span  class=''>    }</span></pre></td></tr>
1844
+
1845
+
1846
+<tr>
1847
+<td class='na'>
1848
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_122'/>
1849
+122
1850
+</td>
1851
+<td class=''>
1852
+<span class='pop'>
1853
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_122'></a>
1854
+<span>
1855
+</span>
1856
+</span>
1857
+</td>
1858
+<td class=''><pre><span  class=''></span></pre></td></tr>
1859
+
1860
+
1861
+<tr>
1862
+<td class='na'>
1863
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_123'/>
1864
+123
1865
+</td>
1866
+<td class=''>
1867
+<span class='pop'>
1868
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_123'></a>
1869
+<span>
1870
+</span>
1871
+</span>
1872
+</td>
1873
+<td class=''><pre><span  class=''></span></pre></td></tr>
1874
+
1875
+
1876
+<tr>
1877
+<td class='na'>
1878
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_124'/>
1879
+124
1880
+</td>
1881
+<td class=''>
1882
+<span class='pop'>
1883
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_124'></a>
1884
+<span>
1885
+</span>
1886
+</span>
1887
+</td>
1888
+<td class=''><pre><span  class=''></span></pre></td></tr>
1889
+
1890
+
1891
+<tr>
1892
+<td class='na'>
1893
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_125'/>
1894
+125
1895
+</td>
1896
+<td class=''>
1897
+<span class='pop'>
1898
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_125'></a>
1899
+<span>
1900
+</span>
1901
+</span>
1902
+</td>
1903
+<td class=''><pre><span  class=''>    // majFinDeTour met &#224; jour les points de vie</span></pre></td></tr>
1904
+
1905
+
1906
+<tr>
1907
+<td class='na'>
1908
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_126'/>
1909
+126
1910
+</td>
1911
+<td class=''>
1912
+<span class='pop'>
1913
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_126'></a>
1914
+<span>
1915
+</span>
1916
+</span>
1917
+</td>
1918
+<td class=''><pre><span  class=''>    public static void majFinDeTour(player player) {</span></pre></td></tr>
1919
+
1920
+
1921
+<tr>
1922
+<td class='covered'>
1923
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_127'/>
1924
+127
1925
+</td>
1926
+<td class='killed'>
1927
+<span class='pop'>
1928
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_127'>1</a>
1929
+<span>
1930
+1. majFinDeTour : negated conditional &rarr; KILLED<br/>
1931
+
1932
+</span>
1933
+</span>
1934
+</td>
1935
+<td class='covered'><pre><span  class='killed'>        if(player.currenthealthpoints == 0) {</span></pre></td></tr>
1936
+
1937
+
1938
+<tr>
1939
+<td class='covered'>
1940
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_128'/>
1941
+128
1942
+</td>
1943
+<td class='killed'>
1944
+<span class='pop'>
1945
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_128'>1</a>
1946
+<span>
1947
+1. majFinDeTour : removed call to java/io/PrintStream::println &rarr; KILLED<br/>
1948
+
1949
+</span>
1950
+</span>
1951
+</td>
1952
+<td class='covered'><pre><span  class='killed'>            System.out.println(&#34;Le joueur est KO !&#34;);</span></pre></td></tr>
1953
+
1954
+
1955
+<tr>
1956
+<td class='covered'>
1957
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_129'/>
1958
+129
1959
+</td>
1960
+<td class=''>
1961
+<span class='pop'>
1962
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_129'></a>
1963
+<span>
1964
+</span>
1965
+</span>
1966
+</td>
1967
+<td class='covered'><pre><span  class=''>            return;</span></pre></td></tr>
1968
+
1969
+
1970
+<tr>
1971
+<td class='na'>
1972
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_130'/>
1973
+130
1974
+</td>
1975
+<td class=''>
1976
+<span class='pop'>
1977
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_130'></a>
1978
+<span>
1979
+</span>
1980
+</span>
1981
+</td>
1982
+<td class=''><pre><span  class=''>        }</span></pre></td></tr>
1983
+
1984
+
1985
+<tr>
1986
+<td class='na'>
1987
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_131'/>
1988
+131
1989
+</td>
1990
+<td class=''>
1991
+<span class='pop'>
1992
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_131'></a>
1993
+<span>
1994
+</span>
1995
+</span>
1996
+</td>
1997
+<td class=''><pre><span  class=''></span></pre></td></tr>
1998
+
1999
+
2000
+<tr>
2001
+<td class='covered'>
2002
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_132'/>
2003
+132
2004
+</td>
2005
+<td class='killed'>
2006
+<span class='pop'>
2007
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_132'>3</a>
2008
+<span>
2009
+1. majFinDeTour : changed conditional boundary &rarr; KILLED<br/>
2010
+2. majFinDeTour : Replaced integer division with multiplication &rarr; KILLED<br/>
2011
+3. majFinDeTour : negated conditional &rarr; KILLED<br/>
2012
+
2013
+</span>
2014
+</span>
2015
+</td>
2016
+<td class='covered'><pre><span  class='killed'>        if(player.currenthealthpoints &#60; player.healthpoints/2) {</span></pre></td></tr>
2017
+
2018
+
2019
+<tr>
2020
+<td class='covered'>
2021
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_133'/>
2022
+133
2023
+</td>
2024
+<td class='killed'>
2025
+<span class='pop'>
2026
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_133'>1</a>
2027
+<span>
2028
+1. majFinDeTour : negated conditional &rarr; KILLED<br/>
2029
+
2030
+</span>
2031
+</span>
2032
+</td>
2033
+<td class='covered'><pre><span  class='killed'>            if(!player.getAvatarClass().equals(&#34;ADVENTURER&#34;)) {</span></pre></td></tr>
2034
+
2035
+
2036
+<tr>
2037
+<td class='covered'>
2038
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_134'/>
2039
+134
2040
+</td>
2041
+<td class='killed'>
2042
+<span class='pop'>
2043
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_134'>1</a>
2044
+<span>
2045
+1. majFinDeTour : negated conditional &rarr; KILLED<br/>
2046
+
2047
+</span>
2048
+</span>
2049
+</td>
2050
+<td class='covered'><pre><span  class='killed'>                if(player.getAvatarClass().equals(&#34;DWARF&#34;)) {</span></pre></td></tr>
2051
+
2052
+
2053
+<tr>
2054
+<td class='covered'>
2055
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_135'/>
2056
+135
2057
+</td>
2058
+<td class='killed'>
2059
+<span class='pop'>
2060
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_135'>1</a>
2061
+<span>
2062
+1. majFinDeTour : negated conditional &rarr; KILLED<br/>
2063
+
2064
+</span>
2065
+</span>
2066
+</td>
2067
+<td class='covered'><pre><span  class='killed'>                    if(player.inventory.contains(&#34;Holy Elixir&#34;)) {</span></pre></td></tr>
2068
+
2069
+
2070
+<tr>
2071
+<td class='covered'>
2072
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_136'/>
2073
+136
2074
+</td>
2075
+<td class='killed'>
2076
+<span class='pop'>
2077
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_136'>1</a>
2078
+<span>
2079
+1. majFinDeTour : Replaced integer addition with subtraction &rarr; KILLED<br/>
2080
+
2081
+</span>
2082
+</span>
2083
+</td>
2084
+<td class='covered'><pre><span  class='killed'>                        player.currenthealthpoints+=1;</span></pre></td></tr>
2085
+
2086
+
2087
+<tr>
2088
+<td class='na'>
2089
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_137'/>
2090
+137
2091
+</td>
2092
+<td class=''>
2093
+<span class='pop'>
2094
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_137'></a>
2095
+<span>
2096
+</span>
2097
+</span>
2098
+</td>
2099
+<td class=''><pre><span  class=''>                    }</span></pre></td></tr>
2100
+
2101
+
2102
+<tr>
2103
+<td class='covered'>
2104
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_138'/>
2105
+138
2106
+</td>
2107
+<td class='killed'>
2108
+<span class='pop'>
2109
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_138'>1</a>
2110
+<span>
2111
+1. majFinDeTour : Replaced integer addition with subtraction &rarr; KILLED<br/>
2112
+
2113
+</span>
2114
+</span>
2115
+</td>
2116
+<td class='covered'><pre><span  class='killed'>                    player.currenthealthpoints+=1;</span></pre></td></tr>
2117
+
2118
+
2119
+<tr>
2120
+<td class='covered'>
2121
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_139'/>
2122
+139
2123
+</td>
2124
+<td class='killed'>
2125
+<span class='pop'>
2126
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_139'>1</a>
2127
+<span>
2128
+1. majFinDeTour : negated conditional &rarr; KILLED<br/>
2129
+
2130
+</span>
2131
+</span>
2132
+</td>
2133
+<td class='covered'><pre><span  class='killed'>                } else if(player.getAvatarClass().equals(&#34;ADVENTURER&#34;)) {</span></pre></td></tr>
2134
+
2135
+
2136
+<tr>
2137
+<td class='uncovered'>
2138
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_140'/>
2139
+140
2140
+</td>
2141
+<td class='survived'>
2142
+<span class='pop'>
2143
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_140'>1</a>
2144
+<span>
2145
+1. majFinDeTour : Replaced integer addition with subtraction &rarr; NO_COVERAGE<br/>
2146
+
2147
+</span>
2148
+</span>
2149
+</td>
2150
+<td class='uncovered'><pre><span  class='survived'>                    player.currenthealthpoints+=2;</span></pre></td></tr>
2151
+
2152
+
2153
+<tr>
2154
+<td class='na'>
2155
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_141'/>
2156
+141
2157
+</td>
2158
+<td class=''>
2159
+<span class='pop'>
2160
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_141'></a>
2161
+<span>
2162
+</span>
2163
+</span>
2164
+</td>
2165
+<td class=''><pre><span  class=''>                }</span></pre></td></tr>
2166
+
2167
+
2168
+<tr>
2169
+<td class='na'>
2170
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_142'/>
2171
+142
2172
+</td>
2173
+<td class=''>
2174
+<span class='pop'>
2175
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_142'></a>
2176
+<span>
2177
+</span>
2178
+</span>
2179
+</td>
2180
+<td class=''><pre><span  class=''></span></pre></td></tr>
2181
+
2182
+
2183
+<tr>
2184
+<td class='na'>
2185
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_143'/>
2186
+143
2187
+</td>
2188
+<td class=''>
2189
+<span class='pop'>
2190
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_143'></a>
2191
+<span>
2192
+</span>
2193
+</span>
2194
+</td>
2195
+<td class=''><pre><span  class=''></span></pre></td></tr>
2196
+
2197
+
2198
+<tr>
2199
+<td class='covered'>
2200
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_144'/>
2201
+144
2202
+</td>
2203
+<td class='killed'>
2204
+<span class='pop'>
2205
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_144'>1</a>
2206
+<span>
2207
+1. majFinDeTour : negated conditional &rarr; KILLED<br/>
2208
+
2209
+</span>
2210
+</span>
2211
+</td>
2212
+<td class='covered'><pre><span  class='killed'>                if(player.getAvatarClass().equals(&#34;ARCHER&#34;)) {</span></pre></td></tr>
2213
+
2214
+
2215
+<tr>
2216
+<td class='covered'>
2217
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_145'/>
2218
+145
2219
+</td>
2220
+<td class='killed'>
2221
+<span class='pop'>
2222
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_145'>1</a>
2223
+<span>
2224
+1. majFinDeTour : Replaced integer addition with subtraction &rarr; KILLED<br/>
2225
+
2226
+</span>
2227
+</span>
2228
+</td>
2229
+<td class='covered'><pre><span  class='killed'>                    player.currenthealthpoints+=1;</span></pre></td></tr>
2230
+
2231
+
2232
+<tr>
2233
+<td class='covered'>
2234
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_146'/>
2235
+146
2236
+</td>
2237
+<td class='killed'>
2238
+<span class='pop'>
2239
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_146'>1</a>
2240
+<span>
2241
+1. majFinDeTour : negated conditional &rarr; KILLED<br/>
2242
+
2243
+</span>
2244
+</span>
2245
+</td>
2246
+<td class='covered'><pre><span  class='killed'>                    if(player.inventory.contains(&#34;Magic Bow&#34;)) {</span></pre></td></tr>
2247
+
2248
+
2249
+<tr>
2250
+<td class='covered'>
2251
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_147'/>
2252
+147
2253
+</td>
2254
+<td class='killed'>
2255
+<span class='pop'>
2256
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_147'>3</a>
2257
+<span>
2258
+1. majFinDeTour : Replaced integer subtraction with addition &rarr; KILLED<br/>
2259
+2. majFinDeTour : Replaced integer division with multiplication &rarr; KILLED<br/>
2260
+3. majFinDeTour : Replaced integer addition with subtraction &rarr; KILLED<br/>
2261
+
2262
+</span>
2263
+</span>
2264
+</td>
2265
+<td class='covered'><pre><span  class='killed'>                        player.currenthealthpoints+=player.currenthealthpoints/8-1;</span></pre></td></tr>
2266
+
2267
+
2268
+<tr>
2269
+<td class='na'>
2270
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_148'/>
2271
+148
2272
+</td>
2273
+<td class=''>
2274
+<span class='pop'>
2275
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_148'></a>
2276
+<span>
2277
+</span>
2278
+</span>
2279
+</td>
2280
+<td class=''><pre><span  class=''>                    }</span></pre></td></tr>
2281
+
2282
+
2283
+<tr>
2284
+<td class='na'>
2285
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_149'/>
2286
+149
2287
+</td>
2288
+<td class=''>
2289
+<span class='pop'>
2290
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_149'></a>
2291
+<span>
2292
+</span>
2293
+</span>
2294
+</td>
2295
+<td class=''><pre><span  class=''>                }</span></pre></td></tr>
2296
+
2297
+
2298
+<tr>
2299
+<td class='na'>
2300
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_150'/>
2301
+150
2302
+</td>
2303
+<td class=''>
2304
+<span class='pop'>
2305
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_150'></a>
2306
+<span>
2307
+</span>
2308
+</span>
2309
+</td>
2310
+<td class=''><pre><span  class=''>            } else {</span></pre></td></tr>
2311
+
2312
+
2313
+<tr>
2314
+<td class='covered'>
2315
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_151'/>
2316
+151
2317
+</td>
2318
+<td class='killed'>
2319
+<span class='pop'>
2320
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_151'>1</a>
2321
+<span>
2322
+1. majFinDeTour : Replaced integer addition with subtraction &rarr; KILLED<br/>
2323
+
2324
+</span>
2325
+</span>
2326
+</td>
2327
+<td class='covered'><pre><span  class='killed'>                player.currenthealthpoints+=2;</span></pre></td></tr>
2328
+
2329
+
2330
+<tr>
2331
+<td class='covered'>
2332
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_152'/>
2333
+152
2334
+</td>
2335
+<td class='killed'>
2336
+<span class='pop'>
2337
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_152'>2</a>
2338
+<span>
2339
+1. majFinDeTour : changed conditional boundary &rarr; KILLED<br/>
2340
+2. majFinDeTour : negated conditional &rarr; KILLED<br/>
2341
+
2342
+</span>
2343
+</span>
2344
+</td>
2345
+<td class='covered'><pre><span  class='killed'>                if(player.retrieveLevel() &#60; 3) {</span></pre></td></tr>
2346
+
2347
+
2348
+<tr>
2349
+<td class='covered'>
2350
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_153'/>
2351
+153
2352
+</td>
2353
+<td class='killed'>
2354
+<span class='pop'>
2355
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_153'>1</a>
2356
+<span>
2357
+1. majFinDeTour : Replaced integer subtraction with addition &rarr; KILLED<br/>
2358
+
2359
+</span>
2360
+</span>
2361
+</td>
2362
+<td class='covered'><pre><span  class='killed'>                    player.currenthealthpoints-=1;</span></pre></td></tr>
2363
+
2364
+
2365
+<tr>
2366
+<td class='na'>
2367
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_154'/>
2368
+154
2369
+</td>
2370
+<td class=''>
2371
+<span class='pop'>
2372
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_154'></a>
2373
+<span>
2374
+</span>
2375
+</span>
2376
+</td>
2377
+<td class=''><pre><span  class=''>                }</span></pre></td></tr>
2378
+
2379
+
2380
+<tr>
2381
+<td class='na'>
2382
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_155'/>
2383
+155
2384
+</td>
2385
+<td class=''>
2386
+<span class='pop'>
2387
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_155'></a>
2388
+<span>
2389
+</span>
2390
+</span>
2391
+</td>
2392
+<td class=''><pre><span  class=''>            }</span></pre></td></tr>
2393
+
2394
+
2395
+<tr>
2396
+<td class='covered'>
2397
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_156'/>
2398
+156
2399
+</td>
2400
+<td class='survived'>
2401
+<span class='pop'>
2402
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_156'>3</a>
2403
+<span>
2404
+1. majFinDeTour : changed conditional boundary &rarr; SURVIVED<br/>
2405
+2. majFinDeTour : Replaced integer division with multiplication &rarr; SURVIVED<br/>
2406
+3. majFinDeTour : negated conditional &rarr; SURVIVED<br/>
2407
+
2408
+</span>
2409
+</span>
2410
+</td>
2411
+<td class='covered'><pre><span  class='survived'>        } else if(player.currenthealthpoints &#62;= player.healthpoints/2){</span></pre></td></tr>
2412
+
2413
+
2414
+<tr>
2415
+<td class='covered'>
2416
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_157'/>
2417
+157
2418
+</td>
2419
+<td class='survived'>
2420
+<span class='pop'>
2421
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_157'>2</a>
2422
+<span>
2423
+1. majFinDeTour : changed conditional boundary &rarr; SURVIVED<br/>
2424
+2. majFinDeTour : negated conditional &rarr; KILLED<br/>
2425
+
2426
+</span>
2427
+</span>
2428
+</td>
2429
+<td class='covered'><pre><span  class='survived'>            if(player.currenthealthpoints &#62;= player.healthpoints) {</span></pre></td></tr>
2430
+
2431
+
2432
+<tr>
2433
+<td class='covered'>
2434
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_158'/>
2435
+158
2436
+</td>
2437
+<td class=''>
2438
+<span class='pop'>
2439
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_158'></a>
2440
+<span>
2441
+</span>
2442
+</span>
2443
+</td>
2444
+<td class='covered'><pre><span  class=''>                player.currenthealthpoints = player.healthpoints;</span></pre></td></tr>
2445
+
2446
+
2447
+<tr>
2448
+<td class='covered'>
2449
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_159'/>
2450
+159
2451
+</td>
2452
+<td class=''>
2453
+<span class='pop'>
2454
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_159'></a>
2455
+<span>
2456
+</span>
2457
+</span>
2458
+</td>
2459
+<td class='covered'><pre><span  class=''>                return;</span></pre></td></tr>
2460
+
2461
+
2462
+<tr>
2463
+<td class='na'>
2464
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_160'/>
2465
+160
2466
+</td>
2467
+<td class=''>
2468
+<span class='pop'>
2469
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_160'></a>
2470
+<span>
2471
+</span>
2472
+</span>
2473
+</td>
2474
+<td class=''><pre><span  class=''>            }</span></pre></td></tr>
2475
+
2476
+
2477
+<tr>
2478
+<td class='na'>
2479
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_161'/>
2480
+161
2481
+</td>
2482
+<td class=''>
2483
+<span class='pop'>
2484
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_161'></a>
2485
+<span>
2486
+</span>
2487
+</span>
2488
+</td>
2489
+<td class=''><pre><span  class=''>        }</span></pre></td></tr>
2490
+
2491
+
2492
+<tr>
2493
+<td class='na'>
2494
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_162'/>
2495
+162
2496
+</td>
2497
+<td class=''>
2498
+<span class='pop'>
2499
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_162'></a>
2500
+<span>
2501
+</span>
2502
+</span>
2503
+</td>
2504
+<td class=''><pre><span  class=''></span></pre></td></tr>
2505
+
2506
+
2507
+<tr>
2508
+<td class='na'>
2509
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_163'/>
2510
+163
2511
+</td>
2512
+<td class=''>
2513
+<span class='pop'>
2514
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_163'></a>
2515
+<span>
2516
+</span>
2517
+</span>
2518
+</td>
2519
+<td class=''><pre><span  class=''></span></pre></td></tr>
2520
+
2521
+
2522
+<tr>
2523
+<td class='covered'>
2524
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_164'/>
2525
+164
2526
+</td>
2527
+<td class='survived'>
2528
+<span class='pop'>
2529
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_164'>2</a>
2530
+<span>
2531
+1. majFinDeTour : changed conditional boundary &rarr; SURVIVED<br/>
2532
+2. majFinDeTour : negated conditional &rarr; KILLED<br/>
2533
+
2534
+</span>
2535
+</span>
2536
+</td>
2537
+<td class='covered'><pre><span  class='survived'>        if(player.currenthealthpoints &#62;= player.healthpoints) {</span></pre></td></tr>
2538
+
2539
+
2540
+<tr>
2541
+<td class='uncovered'>
2542
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_165'/>
2543
+165
2544
+</td>
2545
+<td class=''>
2546
+<span class='pop'>
2547
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_165'></a>
2548
+<span>
2549
+</span>
2550
+</span>
2551
+</td>
2552
+<td class='uncovered'><pre><span  class=''>            player.currenthealthpoints = player.healthpoints;</span></pre></td></tr>
2553
+
2554
+
2555
+<tr>
2556
+<td class='na'>
2557
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_166'/>
2558
+166
2559
+</td>
2560
+<td class=''>
2561
+<span class='pop'>
2562
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_166'></a>
2563
+<span>
2564
+</span>
2565
+</span>
2566
+</td>
2567
+<td class=''><pre><span  class=''>        }</span></pre></td></tr>
2568
+
2569
+
2570
+<tr>
2571
+<td class='covered'>
2572
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_167'/>
2573
+167
2574
+</td>
2575
+<td class=''>
2576
+<span class='pop'>
2577
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_167'></a>
2578
+<span>
2579
+</span>
2580
+</span>
2581
+</td>
2582
+<td class='covered'><pre><span  class=''>    }</span></pre></td></tr>
2583
+
2584
+
2585
+<tr>
2586
+<td class='na'>
2587
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_168'/>
2588
+168
2589
+</td>
2590
+<td class=''>
2591
+<span class='pop'>
2592
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_168'></a>
2593
+<span>
2594
+</span>
2595
+</span>
2596
+</td>
2597
+<td class=''><pre><span  class=''></span></pre></td></tr>
2598
+
2599
+
2600
+<tr>
2601
+<td class='na'>
2602
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_169'/>
2603
+169
2604
+</td>
2605
+<td class=''>
2606
+<span class='pop'>
2607
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_169'></a>
2608
+<span>
2609
+</span>
2610
+</span>
2611
+</td>
2612
+<td class=''><pre><span  class=''></span></pre></td></tr>
2613
+
2614
+
2615
+<tr>
2616
+<td class='na'>
2617
+<a name='org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_170'/>
2618
+170
2619
+</td>
2620
+<td class=''>
2621
+<span class='pop'>
2622
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_170'></a>
2623
+<span>
2624
+</span>
2625
+</span>
2626
+</td>
2627
+<td class=''><pre><span  class=''>}</span></pre></td></tr>
2628
+
2629
+
2630
+
2631
+<tr><td></td><td></td><td><h2>Mutations</h2></td></tr>
2632
+
2633
+<tr>
2634
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_98'>98</a></td> 
2635
+<td></td>
2636
+<td>
2637
+
2638
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_98'/> 
2639
+
2640
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>abilitiesPerTypeAndLevel<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testPlayerName()]</span></span> replaced return value with null for re/forestier/edu/rpg/UpdatePlayer::abilitiesPerTypeAndLevel &rarr; KILLED</p> 
2641
+</td>
2642
+</tr>
2643
+<tr>
2644
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_103'>103</a></td> 
2645
+<td></td>
2646
+<td>
2647
+
2648
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_103'/> 
2649
+
2650
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>addXp<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]</span></span> Replaced integer addition with subtraction &rarr; KILLED</p> 
2651
+</td>
2652
+</tr>
2653
+<tr>
2654
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_106'>106</a></td> 
2655
+<td></td>
2656
+<td>
2657
+
2658
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_106'/> 
2659
+
2660
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>addXp<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]</span></span> negated conditional &rarr; KILLED</p> 
2661
+</td>
2662
+</tr>
2663
+<tr>
2664
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_111'>111</a></td> 
2665
+<td></td>
2666
+<td>
2667
+
2668
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_111'/> 
2669
+
2670
+<p class='SURVIVED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>addXp<br/><b>Killed by : </b>none</span></span> Replaced integer subtraction with addition &rarr; SURVIVED</p> <p class='SURVIVED'><span class='pop'>2.<span><b>2</b><br/><b>Location : </b>addXp<br/><b>Killed by : </b>none</span></span> Replaced integer addition with subtraction &rarr; SURVIVED</p> 
2671
+</td>
2672
+</tr>
2673
+<tr>
2674
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_115'>115</a></td> 
2675
+<td></td>
2676
+<td>
2677
+
2678
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_115'/> 
2679
+
2680
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>addXp<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]</span></span> removed call to java/util/HashMap::forEach &rarr; KILLED</p> 
2681
+</td>
2682
+</tr>
2683
+<tr>
2684
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_118'>118</a></td> 
2685
+<td></td>
2686
+<td>
2687
+
2688
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_118'/> 
2689
+
2690
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>addXp<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]</span></span> replaced boolean return with false for re/forestier/edu/rpg/UpdatePlayer::addXp &rarr; KILLED</p> 
2691
+</td>
2692
+</tr>
2693
+<tr>
2694
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_120'>120</a></td> 
2695
+<td></td>
2696
+<td>
2697
+
2698
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_120'/> 
2699
+
2700
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>addXp<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]</span></span> replaced boolean return with true for re/forestier/edu/rpg/UpdatePlayer::addXp &rarr; KILLED</p> 
2701
+</td>
2702
+</tr>
2703
+<tr>
2704
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_127'>127</a></td> 
2705
+<td></td>
2706
+<td>
2707
+
2708
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_127'/> 
2709
+
2710
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> negated conditional &rarr; KILLED</p> 
2711
+</td>
2712
+</tr>
2713
+<tr>
2714
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_128'>128</a></td> 
2715
+<td></td>
2716
+<td>
2717
+
2718
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_128'/> 
2719
+
2720
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> removed call to java/io/PrintStream::println &rarr; KILLED</p> 
2721
+</td>
2722
+</tr>
2723
+<tr>
2724
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_132'>132</a></td> 
2725
+<td></td>
2726
+<td>
2727
+
2728
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_132'/> 
2729
+
2730
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> changed conditional boundary &rarr; KILLED</p> <p class='KILLED'><span class='pop'>2.<span><b>2</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> Replaced integer division with multiplication &rarr; KILLED</p> <p class='KILLED'><span class='pop'>3.<span><b>3</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> negated conditional &rarr; KILLED</p> 
2731
+</td>
2732
+</tr>
2733
+<tr>
2734
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_133'>133</a></td> 
2735
+<td></td>
2736
+<td>
2737
+
2738
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_133'/> 
2739
+
2740
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> negated conditional &rarr; KILLED</p> 
2741
+</td>
2742
+</tr>
2743
+<tr>
2744
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_134'>134</a></td> 
2745
+<td></td>
2746
+<td>
2747
+
2748
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_134'/> 
2749
+
2750
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> negated conditional &rarr; KILLED</p> 
2751
+</td>
2752
+</tr>
2753
+<tr>
2754
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_135'>135</a></td> 
2755
+<td></td>
2756
+<td>
2757
+
2758
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_135'/> 
2759
+
2760
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> negated conditional &rarr; KILLED</p> 
2761
+</td>
2762
+</tr>
2763
+<tr>
2764
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_136'>136</a></td> 
2765
+<td></td>
2766
+<td>
2767
+
2768
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_136'/> 
2769
+
2770
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> Replaced integer addition with subtraction &rarr; KILLED</p> 
2771
+</td>
2772
+</tr>
2773
+<tr>
2774
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_138'>138</a></td> 
2775
+<td></td>
2776
+<td>
2777
+
2778
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_138'/> 
2779
+
2780
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> Replaced integer addition with subtraction &rarr; KILLED</p> 
2781
+</td>
2782
+</tr>
2783
+<tr>
2784
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_139'>139</a></td> 
2785
+<td></td>
2786
+<td>
2787
+
2788
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_139'/> 
2789
+
2790
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> negated conditional &rarr; KILLED</p> 
2791
+</td>
2792
+</tr>
2793
+<tr>
2794
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_140'>140</a></td> 
2795
+<td></td>
2796
+<td>
2797
+
2798
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_140'/> 
2799
+
2800
+<p class='NO_COVERAGE'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>none</span></span> Replaced integer addition with subtraction &rarr; NO_COVERAGE</p> 
2801
+</td>
2802
+</tr>
2803
+<tr>
2804
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_144'>144</a></td> 
2805
+<td></td>
2806
+<td>
2807
+
2808
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_144'/> 
2809
+
2810
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> negated conditional &rarr; KILLED</p> 
2811
+</td>
2812
+</tr>
2813
+<tr>
2814
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_145'>145</a></td> 
2815
+<td></td>
2816
+<td>
2817
+
2818
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_145'/> 
2819
+
2820
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> Replaced integer addition with subtraction &rarr; KILLED</p> 
2821
+</td>
2822
+</tr>
2823
+<tr>
2824
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_146'>146</a></td> 
2825
+<td></td>
2826
+<td>
2827
+
2828
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_146'/> 
2829
+
2830
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> negated conditional &rarr; KILLED</p> 
2831
+</td>
2832
+</tr>
2833
+<tr>
2834
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_147'>147</a></td> 
2835
+<td></td>
2836
+<td>
2837
+
2838
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_147'/> 
2839
+
2840
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> Replaced integer subtraction with addition &rarr; KILLED</p> <p class='KILLED'><span class='pop'>2.<span><b>2</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> Replaced integer division with multiplication &rarr; KILLED</p> <p class='KILLED'><span class='pop'>3.<span><b>3</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> Replaced integer addition with subtraction &rarr; KILLED</p> 
2841
+</td>
2842
+</tr>
2843
+<tr>
2844
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_151'>151</a></td> 
2845
+<td></td>
2846
+<td>
2847
+
2848
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_151'/> 
2849
+
2850
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> Replaced integer addition with subtraction &rarr; KILLED</p> 
2851
+</td>
2852
+</tr>
2853
+<tr>
2854
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_152'>152</a></td> 
2855
+<td></td>
2856
+<td>
2857
+
2858
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_152'/> 
2859
+
2860
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> changed conditional boundary &rarr; KILLED</p> <p class='KILLED'><span class='pop'>2.<span><b>2</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> negated conditional &rarr; KILLED</p> 
2861
+</td>
2862
+</tr>
2863
+<tr>
2864
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_153'>153</a></td> 
2865
+<td></td>
2866
+<td>
2867
+
2868
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_153'/> 
2869
+
2870
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> Replaced integer subtraction with addition &rarr; KILLED</p> 
2871
+</td>
2872
+</tr>
2873
+<tr>
2874
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_156'>156</a></td> 
2875
+<td></td>
2876
+<td>
2877
+
2878
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_156'/> 
2879
+
2880
+<p class='SURVIVED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>none</span></span> changed conditional boundary &rarr; SURVIVED</p> <p class='SURVIVED'><span class='pop'>2.<span><b>2</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>none</span></span> Replaced integer division with multiplication &rarr; SURVIVED</p> <p class='SURVIVED'><span class='pop'>3.<span><b>3</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>none</span></span> negated conditional &rarr; SURVIVED</p> 
2881
+</td>
2882
+</tr>
2883
+<tr>
2884
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_157'>157</a></td> 
2885
+<td></td>
2886
+<td>
2887
+
2888
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_157'/> 
2889
+
2890
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> negated conditional &rarr; KILLED</p> <p class='SURVIVED'><span class='pop'>2.<span><b>2</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>none</span></span> changed conditional boundary &rarr; SURVIVED</p> 
2891
+</td>
2892
+</tr>
2893
+<tr>
2894
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@1b1cfb87_164'>164</a></td> 
2895
+<td></td>
2896
+<td>
2897
+
2898
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@1b1cfb87_164'/> 
2899
+
2900
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()]</span></span> negated conditional &rarr; KILLED</p> <p class='SURVIVED'><span class='pop'>2.<span><b>2</b><br/><b>Location : </b>majFinDeTour<br/><b>Killed by : </b>none</span></span> changed conditional boundary &rarr; SURVIVED</p> 
2901
+</td>
2902
+</tr>
2903
+
2904
+</table>
2905
+
2906
+
2907
+<h2>Active mutators</h2>
2908
+<ul>
2909
+<li class='mutator'>CONDITIONALS_BOUNDARY</li>
2910
+<li class='mutator'>EMPTY_RETURNS</li>
2911
+<li class='mutator'>FALSE_RETURNS</li>
2912
+<li class='mutator'>INCREMENTS</li>
2913
+<li class='mutator'>INVERT_NEGS</li>
2914
+<li class='mutator'>MATH</li>
2915
+<li class='mutator'>NEGATE_CONDITIONALS</li>
2916
+<li class='mutator'>NULL_RETURNS</li>
2917
+<li class='mutator'>PRIMITIVE_RETURNS</li>
2918
+<li class='mutator'>TRUE_RETURNS</li>
2919
+<li class='mutator'>VOID_METHOD_CALLS</li>
2920
+
2921
+</ul>
2922
+
2923
+<h2>Tests examined</h2>
2924
+<ul>
2925
+<li>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()] (0 ms)</li><li>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()] (0 ms)</li><li>re.forestier.edu.GlobalTest.[engine:junit-jupiter]/[class:re.forestier.edu.GlobalTest]/[method:testAffichageBase()] (135 ms)</li><li>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testPlayerName()] (0 ms)</li><li>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testAddMoney()] (0 ms)</li><li>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testPlayerConstructor()] (0 ms)</li><li>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testAfficage()] (0 ms)</li><li>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRemoveMoney()] (1 ms)</li>
2926
+</ul>
2927
+
2928
+<br/>
2929
+
2930
+Report generated by <a href='https://pitest.org'>PIT</a> 1.15.0
2931
+
2932
+</body>
2933
+</html>
0 2934
\ No newline at end of file
... ...
@@ -0,0 +1,76 @@
1
+<!DOCTYPE html>
2
+<html>
3
+<head>
4
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
5
+    <link rel="stylesheet" type="text/css" href="../style.css">
6
+</head>
7
+<body>
8
+
9
+<h1>Pit Test Coverage Report</h1>
10
+<h2>Package Summary</h2>
11
+<h3>re.forestier.edu.rpg</h3>
12
+<table>
13
+    <thead>
14
+        <tr>
15
+            <th>Number of Classes</th>
16
+            <th>Line Coverage</th>
17
+            <th>Mutation Coverage</th>
18
+            <th>Test Strength</th>
19
+        </tr>
20
+    </thead>
21
+    <tbody>
22
+        <tr>
23
+            <td>3</td>
24
+<td>99% <div class="coverage_bar"><div class="coverage_complete width-99"></div><div class="coverage_legend">146/148</div></div></td>
25
+            <td>88% <div class="coverage_bar"><div class="coverage_complete width-88"></div><div class="coverage_legend">56/64</div></div></td>
26
+            <td>89% <div class="coverage_bar"><div class="coverage_complete width-89"></div><div class="coverage_legend">56/63</div></div></td>
27
+        </tr>
28
+    </tbody>
29
+</table>
30
+
31
+
32
+<h3>Breakdown by Class</h3>
33
+<table>
34
+    <thead>
35
+        <tr>
36
+            <th>Name</th>
37
+            <th>Line Coverage</th>
38
+            <th>Mutation Coverage</th>
39
+            <th>Test Strength</th>
40
+        </tr>
41
+    </thead>
42
+    <tbody>
43
+
44
+        <tr>
45
+            <td><a href="./Affichage.java.html">Affichage.java</a></td>
46
+<td><div class="coverage_percentage">100% </div><div class="coverage_bar"><div class="coverage_complete width-100"></div><div class="coverage_legend">12/12</div></div></td>
47
+            <td><div class="coverage_percentage">100% </div><div class="coverage_bar"><div class="coverage_complete width-100"></div><div class="coverage_legend">3/3</div></div></td>
48
+            <td><div class="coverage_percentage">100% </div><div class="coverage_bar"><div class="coverage_complete width-100"></div><div class="coverage_legend">3/3</div></div></td>
49
+        </tr>
50
+
51
+        <tr>
52
+            <td><a href="./UpdatePlayer.java.html">UpdatePlayer.java</a></td>
53
+<td><div class="coverage_percentage">98% </div><div class="coverage_bar"><div class="coverage_complete width-98"></div><div class="coverage_legend">103/105</div></div></td>
54
+            <td><div class="coverage_percentage">78% </div><div class="coverage_bar"><div class="coverage_complete width-78"></div><div class="coverage_legend">29/37</div></div></td>
55
+            <td><div class="coverage_percentage">81% </div><div class="coverage_bar"><div class="coverage_complete width-81"></div><div class="coverage_legend">29/36</div></div></td>
56
+        </tr>
57
+
58
+        <tr>
59
+            <td><a href="./player.java.html">player.java</a></td>
60
+<td><div class="coverage_percentage">100% </div><div class="coverage_bar"><div class="coverage_complete width-100"></div><div class="coverage_legend">31/31</div></div></td>
61
+            <td><div class="coverage_percentage">100% </div><div class="coverage_bar"><div class="coverage_complete width-100"></div><div class="coverage_legend">24/24</div></div></td>
62
+            <td><div class="coverage_percentage">100% </div><div class="coverage_bar"><div class="coverage_complete width-100"></div><div class="coverage_legend">24/24</div></div></td>
63
+        </tr>
64
+
65
+     </tbody>
66
+</table>
67
+<br/>
68
+
69
+
70
+
71
+<hr/>
72
+
73
+Report generated by <a href='https://pitest.org'>PIT</a> 1.15.0
74
+
75
+</body>
76
+</html>
0 77
\ No newline at end of file
... ...
@@ -0,0 +1,1521 @@
1
+<!DOCTYPE html>
2
+<html>
3
+<head>
4
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
5
+    <link rel="stylesheet" type="text/css" href="../style.css">
6
+</head>
7
+<body>
8
+
9
+
10
+<h1>player.java</h1>
11
+
12
+<table class="src">
13
+
14
+
15
+
16
+<tr>
17
+<td class='na'>
18
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_1'/>
19
+1
20
+</td>
21
+<td class=''>
22
+<span class='pop'>
23
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_1'></a>
24
+<span>
25
+</span>
26
+</span>
27
+</td>
28
+<td class=''><pre><span  class=''>package re.forestier.edu.rpg;</span></pre></td></tr>
29
+
30
+
31
+<tr>
32
+<td class='na'>
33
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_2'/>
34
+2
35
+</td>
36
+<td class=''>
37
+<span class='pop'>
38
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_2'></a>
39
+<span>
40
+</span>
41
+</span>
42
+</td>
43
+<td class=''><pre><span  class=''></span></pre></td></tr>
44
+
45
+
46
+<tr>
47
+<td class='na'>
48
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_3'/>
49
+3
50
+</td>
51
+<td class=''>
52
+<span class='pop'>
53
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_3'></a>
54
+<span>
55
+</span>
56
+</span>
57
+</td>
58
+<td class=''><pre><span  class=''>import java.util.ArrayList;</span></pre></td></tr>
59
+
60
+
61
+<tr>
62
+<td class='na'>
63
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_4'/>
64
+4
65
+</td>
66
+<td class=''>
67
+<span class='pop'>
68
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_4'></a>
69
+<span>
70
+</span>
71
+</span>
72
+</td>
73
+<td class=''><pre><span  class=''>import java.util.HashMap;</span></pre></td></tr>
74
+
75
+
76
+<tr>
77
+<td class='na'>
78
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_5'/>
79
+5
80
+</td>
81
+<td class=''>
82
+<span class='pop'>
83
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_5'></a>
84
+<span>
85
+</span>
86
+</span>
87
+</td>
88
+<td class=''><pre><span  class=''></span></pre></td></tr>
89
+
90
+
91
+<tr>
92
+<td class='na'>
93
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_6'/>
94
+6
95
+</td>
96
+<td class=''>
97
+<span class='pop'>
98
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_6'></a>
99
+<span>
100
+</span>
101
+</span>
102
+</td>
103
+<td class=''><pre><span  class=''>public class player {</span></pre></td></tr>
104
+
105
+
106
+<tr>
107
+<td class='na'>
108
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_7'/>
109
+7
110
+</td>
111
+<td class=''>
112
+<span class='pop'>
113
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_7'></a>
114
+<span>
115
+</span>
116
+</span>
117
+</td>
118
+<td class=''><pre><span  class=''>    public String playerName;</span></pre></td></tr>
119
+
120
+
121
+<tr>
122
+<td class='na'>
123
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_8'/>
124
+8
125
+</td>
126
+<td class=''>
127
+<span class='pop'>
128
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_8'></a>
129
+<span>
130
+</span>
131
+</span>
132
+</td>
133
+<td class=''><pre><span  class=''>    public String Avatar_name;</span></pre></td></tr>
134
+
135
+
136
+<tr>
137
+<td class='na'>
138
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_9'/>
139
+9
140
+</td>
141
+<td class=''>
142
+<span class='pop'>
143
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_9'></a>
144
+<span>
145
+</span>
146
+</span>
147
+</td>
148
+<td class=''><pre><span  class=''>    private String AvatarClass;</span></pre></td></tr>
149
+
150
+
151
+<tr>
152
+<td class='na'>
153
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_10'/>
154
+10
155
+</td>
156
+<td class=''>
157
+<span class='pop'>
158
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_10'></a>
159
+<span>
160
+</span>
161
+</span>
162
+</td>
163
+<td class=''><pre><span  class=''></span></pre></td></tr>
164
+
165
+
166
+<tr>
167
+<td class='na'>
168
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_11'/>
169
+11
170
+</td>
171
+<td class=''>
172
+<span class='pop'>
173
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_11'></a>
174
+<span>
175
+</span>
176
+</span>
177
+</td>
178
+<td class=''><pre><span  class=''>    public Integer money;</span></pre></td></tr>
179
+
180
+
181
+<tr>
182
+<td class='na'>
183
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_12'/>
184
+12
185
+</td>
186
+<td class=''>
187
+<span class='pop'>
188
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_12'></a>
189
+<span>
190
+</span>
191
+</span>
192
+</td>
193
+<td class=''><pre><span  class=''>    private Float __real_money__;</span></pre></td></tr>
194
+
195
+
196
+<tr>
197
+<td class='na'>
198
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_13'/>
199
+13
200
+</td>
201
+<td class=''>
202
+<span class='pop'>
203
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_13'></a>
204
+<span>
205
+</span>
206
+</span>
207
+</td>
208
+<td class=''><pre><span  class=''></span></pre></td></tr>
209
+
210
+
211
+<tr>
212
+<td class='na'>
213
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_14'/>
214
+14
215
+</td>
216
+<td class=''>
217
+<span class='pop'>
218
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_14'></a>
219
+<span>
220
+</span>
221
+</span>
222
+</td>
223
+<td class=''><pre><span  class=''>    public int level;</span></pre></td></tr>
224
+
225
+
226
+<tr>
227
+<td class='na'>
228
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_15'/>
229
+15
230
+</td>
231
+<td class=''>
232
+<span class='pop'>
233
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_15'></a>
234
+<span>
235
+</span>
236
+</span>
237
+</td>
238
+<td class=''><pre><span  class=''>    public int healthpoints;</span></pre></td></tr>
239
+
240
+
241
+<tr>
242
+<td class='na'>
243
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_16'/>
244
+16
245
+</td>
246
+<td class=''>
247
+<span class='pop'>
248
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_16'></a>
249
+<span>
250
+</span>
251
+</span>
252
+</td>
253
+<td class=''><pre><span  class=''>    public int currenthealthpoints;</span></pre></td></tr>
254
+
255
+
256
+<tr>
257
+<td class='na'>
258
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_17'/>
259
+17
260
+</td>
261
+<td class=''>
262
+<span class='pop'>
263
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_17'></a>
264
+<span>
265
+</span>
266
+</span>
267
+</td>
268
+<td class=''><pre><span  class=''>    protected int xp;</span></pre></td></tr>
269
+
270
+
271
+<tr>
272
+<td class='na'>
273
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_18'/>
274
+18
275
+</td>
276
+<td class=''>
277
+<span class='pop'>
278
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_18'></a>
279
+<span>
280
+</span>
281
+</span>
282
+</td>
283
+<td class=''><pre><span  class=''></span></pre></td></tr>
284
+
285
+
286
+<tr>
287
+<td class='na'>
288
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_19'/>
289
+19
290
+</td>
291
+<td class=''>
292
+<span class='pop'>
293
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_19'></a>
294
+<span>
295
+</span>
296
+</span>
297
+</td>
298
+<td class=''><pre><span  class=''>    public HashMap&#60;String, Integer&#62; abilities; //Ability = stat</span></pre></td></tr>
299
+
300
+
301
+<tr>
302
+<td class='na'>
303
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_20'/>
304
+20
305
+</td>
306
+<td class=''>
307
+<span class='pop'>
308
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_20'></a>
309
+<span>
310
+</span>
311
+</span>
312
+</td>
313
+<td class=''><pre><span  class=''>    public ArrayList&#60;String&#62; inventory;</span></pre></td></tr>
314
+
315
+
316
+<tr>
317
+<td class='na'>
318
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_21'/>
319
+21
320
+</td>
321
+<td class=''>
322
+<span class='pop'>
323
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_21'></a>
324
+<span>
325
+</span>
326
+</span>
327
+</td>
328
+<td class=''><pre><span  class=''></span></pre></td></tr>
329
+
330
+
331
+<tr>
332
+<td class='covered'>
333
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_22'/>
334
+22
335
+</td>
336
+<td class=''>
337
+<span class='pop'>
338
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_22'></a>
339
+<span>
340
+</span>
341
+</span>
342
+</td>
343
+<td class='covered'><pre><span  class=''>    public player(String playerName, String avatar_name, String avatarClass, int money, ArrayList&#60;String&#62; inventory) {</span></pre></td></tr>
344
+
345
+
346
+<tr>
347
+<td class='covered'>
348
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_23'/>
349
+23
350
+</td>
351
+<td class='killed'>
352
+<span class='pop'>
353
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_23'>3</a>
354
+<span>
355
+1. &#60;init&#62; : negated conditional &rarr; KILLED<br/>
356
+2. &#60;init&#62; : negated conditional &rarr; KILLED<br/>
357
+3. &#60;init&#62; : negated conditional &rarr; KILLED<br/>
358
+
359
+</span>
360
+</span>
361
+</td>
362
+<td class='covered'><pre><span  class='killed'>        if (!avatarClass.equals(&#34;ARCHER&#34;) &#38;&#38; !avatarClass.equals(&#34;ADVENTURER&#34;) &#38;&#38; !avatarClass.equals(&#34;DWARF&#34;)) </span></pre></td></tr>
363
+
364
+
365
+<tr>
366
+<td class='na'>
367
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_24'/>
368
+24
369
+</td>
370
+<td class=''>
371
+<span class='pop'>
372
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_24'></a>
373
+<span>
374
+</span>
375
+</span>
376
+</td>
377
+<td class=''><pre><span  class=''>        {</span></pre></td></tr>
378
+
379
+
380
+<tr>
381
+<td class='covered'>
382
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_25'/>
383
+25
384
+</td>
385
+<td class=''>
386
+<span class='pop'>
387
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_25'></a>
388
+<span>
389
+</span>
390
+</span>
391
+</td>
392
+<td class='covered'><pre><span  class=''>            return;</span></pre></td></tr>
393
+
394
+
395
+<tr>
396
+<td class='na'>
397
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_26'/>
398
+26
399
+</td>
400
+<td class=''>
401
+<span class='pop'>
402
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_26'></a>
403
+<span>
404
+</span>
405
+</span>
406
+</td>
407
+<td class=''><pre><span  class=''>        }</span></pre></td></tr>
408
+
409
+
410
+<tr>
411
+<td class='na'>
412
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_27'/>
413
+27
414
+</td>
415
+<td class=''>
416
+<span class='pop'>
417
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_27'></a>
418
+<span>
419
+</span>
420
+</span>
421
+</td>
422
+<td class=''><pre><span  class=''></span></pre></td></tr>
423
+
424
+
425
+<tr>
426
+<td class='covered'>
427
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_28'/>
428
+28
429
+</td>
430
+<td class=''>
431
+<span class='pop'>
432
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_28'></a>
433
+<span>
434
+</span>
435
+</span>
436
+</td>
437
+<td class='covered'><pre><span  class=''>        this.playerName = playerName;</span></pre></td></tr>
438
+
439
+
440
+<tr>
441
+<td class='covered'>
442
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_29'/>
443
+29
444
+</td>
445
+<td class=''>
446
+<span class='pop'>
447
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_29'></a>
448
+<span>
449
+</span>
450
+</span>
451
+</td>
452
+<td class='covered'><pre><span  class=''>        Avatar_name = avatar_name;</span></pre></td></tr>
453
+
454
+
455
+<tr>
456
+<td class='covered'>
457
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_30'/>
458
+30
459
+</td>
460
+<td class=''>
461
+<span class='pop'>
462
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_30'></a>
463
+<span>
464
+</span>
465
+</span>
466
+</td>
467
+<td class='covered'><pre><span  class=''>        AvatarClass = avatarClass;</span></pre></td></tr>
468
+
469
+
470
+<tr>
471
+<td class='covered'>
472
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_31'/>
473
+31
474
+</td>
475
+<td class=''>
476
+<span class='pop'>
477
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_31'></a>
478
+<span>
479
+</span>
480
+</span>
481
+</td>
482
+<td class='covered'><pre><span  class=''>        this.money = Integer.valueOf(money);</span></pre></td></tr>
483
+
484
+
485
+<tr>
486
+<td class='covered'>
487
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_32'/>
488
+32
489
+</td>
490
+<td class=''>
491
+<span class='pop'>
492
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_32'></a>
493
+<span>
494
+</span>
495
+</span>
496
+</td>
497
+<td class='covered'><pre><span  class=''>        this.inventory = inventory;</span></pre></td></tr>
498
+
499
+
500
+<tr>
501
+<td class='covered'>
502
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_33'/>
503
+33
504
+</td>
505
+<td class=''>
506
+<span class='pop'>
507
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_33'></a>
508
+<span>
509
+</span>
510
+</span>
511
+</td>
512
+<td class='covered'><pre><span  class=''>        this.abilities = UpdatePlayer.abilitiesPerTypeAndLevel().get(AvatarClass).get(1);</span></pre></td></tr>
513
+
514
+
515
+<tr>
516
+<td class='covered'>
517
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_34'/>
518
+34
519
+</td>
520
+<td class=''>
521
+<span class='pop'>
522
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_34'></a>
523
+<span>
524
+</span>
525
+</span>
526
+</td>
527
+<td class='covered'><pre><span  class=''>    }</span></pre></td></tr>
528
+
529
+
530
+<tr>
531
+<td class='na'>
532
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_35'/>
533
+35
534
+</td>
535
+<td class=''>
536
+<span class='pop'>
537
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_35'></a>
538
+<span>
539
+</span>
540
+</span>
541
+</td>
542
+<td class=''><pre><span  class=''></span></pre></td></tr>
543
+
544
+
545
+<tr>
546
+<td class='na'>
547
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_36'/>
548
+36
549
+</td>
550
+<td class=''>
551
+<span class='pop'>
552
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_36'></a>
553
+<span>
554
+</span>
555
+</span>
556
+</td>
557
+<td class=''><pre><span  class=''>    public String getAvatarClass () {</span></pre></td></tr>
558
+
559
+
560
+<tr>
561
+<td class='covered'>
562
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_37'/>
563
+37
564
+</td>
565
+<td class='killed'>
566
+<span class='pop'>
567
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_37'>1</a>
568
+<span>
569
+1. getAvatarClass : replaced return value with &#34;&#34; for re/forestier/edu/rpg/player::getAvatarClass &rarr; KILLED<br/>
570
+
571
+</span>
572
+</span>
573
+</td>
574
+<td class='covered'><pre><span  class='killed'>        return AvatarClass;</span></pre></td></tr>
575
+
576
+
577
+<tr>
578
+<td class='na'>
579
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_38'/>
580
+38
581
+</td>
582
+<td class=''>
583
+<span class='pop'>
584
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_38'></a>
585
+<span>
586
+</span>
587
+</span>
588
+</td>
589
+<td class=''><pre><span  class=''>    }</span></pre></td></tr>
590
+
591
+
592
+<tr>
593
+<td class='na'>
594
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_39'/>
595
+39
596
+</td>
597
+<td class=''>
598
+<span class='pop'>
599
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_39'></a>
600
+<span>
601
+</span>
602
+</span>
603
+</td>
604
+<td class=''><pre><span  class=''></span></pre></td></tr>
605
+
606
+
607
+<tr>
608
+<td class='na'>
609
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_40'/>
610
+40
611
+</td>
612
+<td class=''>
613
+<span class='pop'>
614
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_40'></a>
615
+<span>
616
+</span>
617
+</span>
618
+</td>
619
+<td class=''><pre><span  class=''>    public void removeMoney(int amount) throws IllegalArgumentException {</span></pre></td></tr>
620
+
621
+
622
+<tr>
623
+<td class='covered'>
624
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_41'/>
625
+41
626
+</td>
627
+<td class='killed'>
628
+<span class='pop'>
629
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_41'>3</a>
630
+<span>
631
+1. removeMoney : changed conditional boundary &rarr; KILLED<br/>
632
+2. removeMoney : Replaced integer subtraction with addition &rarr; KILLED<br/>
633
+3. removeMoney : negated conditional &rarr; KILLED<br/>
634
+
635
+</span>
636
+</span>
637
+</td>
638
+<td class='covered'><pre><span  class='killed'>        if (money - amount &#60; 0) {</span></pre></td></tr>
639
+
640
+
641
+<tr>
642
+<td class='covered'>
643
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_42'/>
644
+42
645
+</td>
646
+<td class=''>
647
+<span class='pop'>
648
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_42'></a>
649
+<span>
650
+</span>
651
+</span>
652
+</td>
653
+<td class='covered'><pre><span  class=''>            throw new IllegalArgumentException(&#34;Player can&#39;t have a negative money!&#34;);</span></pre></td></tr>
654
+
655
+
656
+<tr>
657
+<td class='na'>
658
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_43'/>
659
+43
660
+</td>
661
+<td class=''>
662
+<span class='pop'>
663
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_43'></a>
664
+<span>
665
+</span>
666
+</span>
667
+</td>
668
+<td class=''><pre><span  class=''>        }</span></pre></td></tr>
669
+
670
+
671
+<tr>
672
+<td class='na'>
673
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_44'/>
674
+44
675
+</td>
676
+<td class=''>
677
+<span class='pop'>
678
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_44'></a>
679
+<span>
680
+</span>
681
+</span>
682
+</td>
683
+<td class=''><pre><span  class=''></span></pre></td></tr>
684
+
685
+
686
+<tr>
687
+<td class='covered'>
688
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_45'/>
689
+45
690
+</td>
691
+<td class='killed'>
692
+<span class='pop'>
693
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_45'>1</a>
694
+<span>
695
+1. removeMoney : Replaced integer subtraction with addition &rarr; KILLED<br/>
696
+
697
+</span>
698
+</span>
699
+</td>
700
+<td class='covered'><pre><span  class='killed'>        money = Integer.parseInt(money.toString()) - amount;</span></pre></td></tr>
701
+
702
+
703
+<tr>
704
+<td class='covered'>
705
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_46'/>
706
+46
707
+</td>
708
+<td class=''>
709
+<span class='pop'>
710
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_46'></a>
711
+<span>
712
+</span>
713
+</span>
714
+</td>
715
+<td class='covered'><pre><span  class=''>    }</span></pre></td></tr>
716
+
717
+
718
+<tr>
719
+<td class='na'>
720
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_47'/>
721
+47
722
+</td>
723
+<td class=''>
724
+<span class='pop'>
725
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_47'></a>
726
+<span>
727
+</span>
728
+</span>
729
+</td>
730
+<td class=''><pre><span  class=''>    public void addMoney(int amount) {</span></pre></td></tr>
731
+
732
+
733
+<tr>
734
+<td class='covered'>
735
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_48'/>
736
+48
737
+</td>
738
+<td class=''>
739
+<span class='pop'>
740
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_48'></a>
741
+<span>
742
+</span>
743
+</span>
744
+</td>
745
+<td class='covered'><pre><span  class=''>        var value = Integer.valueOf(amount);</span></pre></td></tr>
746
+
747
+
748
+<tr>
749
+<td class='covered'>
750
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_49'/>
751
+49
752
+</td>
753
+<td class='killed'>
754
+<span class='pop'>
755
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_49'>2</a>
756
+<span>
757
+1. addMoney : negated conditional &rarr; KILLED<br/>
758
+2. addMoney : Replaced integer addition with subtraction &rarr; KILLED<br/>
759
+
760
+</span>
761
+</span>
762
+</td>
763
+<td class='covered'><pre><span  class='killed'>        money = money + (value != null ? value : 0);</span></pre></td></tr>
764
+
765
+
766
+<tr>
767
+<td class='covered'>
768
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_50'/>
769
+50
770
+</td>
771
+<td class=''>
772
+<span class='pop'>
773
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_50'></a>
774
+<span>
775
+</span>
776
+</span>
777
+</td>
778
+<td class='covered'><pre><span  class=''>    }</span></pre></td></tr>
779
+
780
+
781
+<tr>
782
+<td class='na'>
783
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_51'/>
784
+51
785
+</td>
786
+<td class=''>
787
+<span class='pop'>
788
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_51'></a>
789
+<span>
790
+</span>
791
+</span>
792
+</td>
793
+<td class=''><pre><span  class=''>    public int retrieveLevel() {</span></pre></td></tr>
794
+
795
+
796
+<tr>
797
+<td class='na'>
798
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_52'/>
799
+52
800
+</td>
801
+<td class=''>
802
+<span class='pop'>
803
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_52'></a>
804
+<span>
805
+</span>
806
+</span>
807
+</td>
808
+<td class=''><pre><span  class=''>        // (lvl-1) * 10 + round((lvl * xplvl-1)/4)</span></pre></td></tr>
809
+
810
+
811
+<tr>
812
+<td class='covered'>
813
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_53'/>
814
+53
815
+</td>
816
+<td class=''>
817
+<span class='pop'>
818
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_53'></a>
819
+<span>
820
+</span>
821
+</span>
822
+</td>
823
+<td class='covered'><pre><span  class=''>        HashMap&#60;Integer, Integer&#62; levels = new HashMap&#60;&#62;();</span></pre></td></tr>
824
+
825
+
826
+<tr>
827
+<td class='covered'>
828
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_54'/>
829
+54
830
+</td>
831
+<td class=''>
832
+<span class='pop'>
833
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_54'></a>
834
+<span>
835
+</span>
836
+</span>
837
+</td>
838
+<td class='covered'><pre><span  class=''>        levels.put(2,10); // 1*10 + ((2*0)/4)</span></pre></td></tr>
839
+
840
+
841
+<tr>
842
+<td class='covered'>
843
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_55'/>
844
+55
845
+</td>
846
+<td class=''>
847
+<span class='pop'>
848
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_55'></a>
849
+<span>
850
+</span>
851
+</span>
852
+</td>
853
+<td class='covered'><pre><span  class=''>        levels.put(3,27); // 2*10 + ((3*10)/4)</span></pre></td></tr>
854
+
855
+
856
+<tr>
857
+<td class='covered'>
858
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_56'/>
859
+56
860
+</td>
861
+<td class=''>
862
+<span class='pop'>
863
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_56'></a>
864
+<span>
865
+</span>
866
+</span>
867
+</td>
868
+<td class='covered'><pre><span  class=''>        levels.put(4,57); // 3*10 + ((4*27)/4)</span></pre></td></tr>
869
+
870
+
871
+<tr>
872
+<td class='covered'>
873
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_57'/>
874
+57
875
+</td>
876
+<td class=''>
877
+<span class='pop'>
878
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_57'></a>
879
+<span>
880
+</span>
881
+</span>
882
+</td>
883
+<td class='covered'><pre><span  class=''>        levels.put(5,111); // 4*10 + ((5*57)/4)</span></pre></td></tr>
884
+
885
+
886
+<tr>
887
+<td class='na'>
888
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_58'/>
889
+58
890
+</td>
891
+<td class=''>
892
+<span class='pop'>
893
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_58'></a>
894
+<span>
895
+</span>
896
+</span>
897
+</td>
898
+<td class=''><pre><span  class=''>        //TODO : ajouter les prochains niveaux</span></pre></td></tr>
899
+
900
+
901
+<tr>
902
+<td class='na'>
903
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_59'/>
904
+59
905
+</td>
906
+<td class=''>
907
+<span class='pop'>
908
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_59'></a>
909
+<span>
910
+</span>
911
+</span>
912
+</td>
913
+<td class=''><pre><span  class=''></span></pre></td></tr>
914
+
915
+
916
+<tr>
917
+<td class='covered'>
918
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_60'/>
919
+60
920
+</td>
921
+<td class='killed'>
922
+<span class='pop'>
923
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_60'>2</a>
924
+<span>
925
+1. retrieveLevel : changed conditional boundary &rarr; KILLED<br/>
926
+2. retrieveLevel : negated conditional &rarr; KILLED<br/>
927
+
928
+</span>
929
+</span>
930
+</td>
931
+<td class='covered'><pre><span  class='killed'>        if (xp &#60; levels.get(2)) {</span></pre></td></tr>
932
+
933
+
934
+<tr>
935
+<td class='covered'>
936
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_61'/>
937
+61
938
+</td>
939
+<td class='killed'>
940
+<span class='pop'>
941
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_61'>1</a>
942
+<span>
943
+1. retrieveLevel : replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel &rarr; KILLED<br/>
944
+
945
+</span>
946
+</span>
947
+</td>
948
+<td class='covered'><pre><span  class='killed'>            return 1;</span></pre></td></tr>
949
+
950
+
951
+<tr>
952
+<td class='na'>
953
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_62'/>
954
+62
955
+</td>
956
+<td class=''>
957
+<span class='pop'>
958
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_62'></a>
959
+<span>
960
+</span>
961
+</span>
962
+</td>
963
+<td class=''><pre><span  class=''>        }</span></pre></td></tr>
964
+
965
+
966
+<tr>
967
+<td class='covered'>
968
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_63'/>
969
+63
970
+</td>
971
+<td class='killed'>
972
+<span class='pop'>
973
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_63'>3</a>
974
+<span>
975
+1. retrieveLevel : negated conditional &rarr; KILLED<br/>
976
+2. retrieveLevel : replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel &rarr; KILLED<br/>
977
+3. retrieveLevel : changed conditional boundary &rarr; KILLED<br/>
978
+
979
+</span>
980
+</span>
981
+</td>
982
+<td class='covered'><pre><span  class='killed'>        else if (xp &#60; levels.get(3)) {return 2;</span></pre></td></tr>
983
+
984
+
985
+<tr>
986
+<td class='na'>
987
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_64'/>
988
+64
989
+</td>
990
+<td class=''>
991
+<span class='pop'>
992
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_64'></a>
993
+<span>
994
+</span>
995
+</span>
996
+</td>
997
+<td class=''><pre><span  class=''>        }</span></pre></td></tr>
998
+
999
+
1000
+<tr>
1001
+<td class='covered'>
1002
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_65'/>
1003
+65
1004
+</td>
1005
+<td class='killed'>
1006
+<span class='pop'>
1007
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_65'>2</a>
1008
+<span>
1009
+1. retrieveLevel : negated conditional &rarr; KILLED<br/>
1010
+2. retrieveLevel : changed conditional boundary &rarr; KILLED<br/>
1011
+
1012
+</span>
1013
+</span>
1014
+</td>
1015
+<td class='covered'><pre><span  class='killed'>        if (xp &#60; levels.get(4)) {</span></pre></td></tr>
1016
+
1017
+
1018
+<tr>
1019
+<td class='covered'>
1020
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_66'/>
1021
+66
1022
+</td>
1023
+<td class='killed'>
1024
+<span class='pop'>
1025
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_66'>1</a>
1026
+<span>
1027
+1. retrieveLevel : replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel &rarr; KILLED<br/>
1028
+
1029
+</span>
1030
+</span>
1031
+</td>
1032
+<td class='covered'><pre><span  class='killed'>            return 3;</span></pre></td></tr>
1033
+
1034
+
1035
+<tr>
1036
+<td class='na'>
1037
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_67'/>
1038
+67
1039
+</td>
1040
+<td class=''>
1041
+<span class='pop'>
1042
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_67'></a>
1043
+<span>
1044
+</span>
1045
+</span>
1046
+</td>
1047
+<td class=''><pre><span  class=''>        }</span></pre></td></tr>
1048
+
1049
+
1050
+<tr>
1051
+<td class='covered'>
1052
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_68'/>
1053
+68
1054
+</td>
1055
+<td class='killed'>
1056
+<span class='pop'>
1057
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_68'>3</a>
1058
+<span>
1059
+1. retrieveLevel : negated conditional &rarr; KILLED<br/>
1060
+2. retrieveLevel : changed conditional boundary &rarr; KILLED<br/>
1061
+3. retrieveLevel : replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel &rarr; KILLED<br/>
1062
+
1063
+</span>
1064
+</span>
1065
+</td>
1066
+<td class='covered'><pre><span  class='killed'>        if (xp &#60; levels.get(5)) return 4;</span></pre></td></tr>
1067
+
1068
+
1069
+<tr>
1070
+<td class='covered'>
1071
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_69'/>
1072
+69
1073
+</td>
1074
+<td class='killed'>
1075
+<span class='pop'>
1076
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_69'>1</a>
1077
+<span>
1078
+1. retrieveLevel : replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel &rarr; KILLED<br/>
1079
+
1080
+</span>
1081
+</span>
1082
+</td>
1083
+<td class='covered'><pre><span  class='killed'>        return 5;</span></pre></td></tr>
1084
+
1085
+
1086
+<tr>
1087
+<td class='na'>
1088
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_70'/>
1089
+70
1090
+</td>
1091
+<td class=''>
1092
+<span class='pop'>
1093
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_70'></a>
1094
+<span>
1095
+</span>
1096
+</span>
1097
+</td>
1098
+<td class=''><pre><span  class=''>    }</span></pre></td></tr>
1099
+
1100
+
1101
+<tr>
1102
+<td class='na'>
1103
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_71'/>
1104
+71
1105
+</td>
1106
+<td class=''>
1107
+<span class='pop'>
1108
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_71'></a>
1109
+<span>
1110
+</span>
1111
+</span>
1112
+</td>
1113
+<td class=''><pre><span  class=''></span></pre></td></tr>
1114
+
1115
+
1116
+<tr>
1117
+<td class='na'>
1118
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_72'/>
1119
+72
1120
+</td>
1121
+<td class=''>
1122
+<span class='pop'>
1123
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_72'></a>
1124
+<span>
1125
+</span>
1126
+</span>
1127
+</td>
1128
+<td class=''><pre><span  class=''>    public int getXp() {</span></pre></td></tr>
1129
+
1130
+
1131
+<tr>
1132
+<td class='covered'>
1133
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_73'/>
1134
+73
1135
+</td>
1136
+<td class='killed'>
1137
+<span class='pop'>
1138
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_73'>1</a>
1139
+<span>
1140
+1. getXp : replaced int return with 0 for re/forestier/edu/rpg/player::getXp &rarr; KILLED<br/>
1141
+
1142
+</span>
1143
+</span>
1144
+</td>
1145
+<td class='covered'><pre><span  class='killed'>        return this.xp;</span></pre></td></tr>
1146
+
1147
+
1148
+<tr>
1149
+<td class='na'>
1150
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_74'/>
1151
+74
1152
+</td>
1153
+<td class=''>
1154
+<span class='pop'>
1155
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_74'></a>
1156
+<span>
1157
+</span>
1158
+</span>
1159
+</td>
1160
+<td class=''><pre><span  class=''>    }</span></pre></td></tr>
1161
+
1162
+
1163
+<tr>
1164
+<td class='na'>
1165
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_75'/>
1166
+75
1167
+</td>
1168
+<td class=''>
1169
+<span class='pop'>
1170
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_75'></a>
1171
+<span>
1172
+</span>
1173
+</span>
1174
+</td>
1175
+<td class=''><pre><span  class=''></span></pre></td></tr>
1176
+
1177
+
1178
+<tr>
1179
+<td class='na'>
1180
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_76'/>
1181
+76
1182
+</td>
1183
+<td class=''>
1184
+<span class='pop'>
1185
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_76'></a>
1186
+<span>
1187
+</span>
1188
+</span>
1189
+</td>
1190
+<td class=''><pre><span  class=''>    /*</span></pre></td></tr>
1191
+
1192
+
1193
+<tr>
1194
+<td class='na'>
1195
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_77'/>
1196
+77
1197
+</td>
1198
+<td class=''>
1199
+<span class='pop'>
1200
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_77'></a>
1201
+<span>
1202
+</span>
1203
+</span>
1204
+</td>
1205
+<td class=''><pre><span  class=''>    &#1048;&#1085;&#1075;&#1088;&#1077;&#1076;&#1080;&#1077;&#1085;&#1090;&#1099;:</span></pre></td></tr>
1206
+
1207
+
1208
+<tr>
1209
+<td class='na'>
1210
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_78'/>
1211
+78
1212
+</td>
1213
+<td class=''>
1214
+<span class='pop'>
1215
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_78'></a>
1216
+<span>
1217
+</span>
1218
+</span>
1219
+</td>
1220
+<td class=''><pre><span  class=''>        &#1044;&#1083;&#1103; &#1090;&#1077;&#1089;&#1090;&#1072;:</span></pre></td></tr>
1221
+
1222
+
1223
+<tr>
1224
+<td class='na'>
1225
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_79'/>
1226
+79
1227
+</td>
1228
+<td class=''>
1229
+<span class='pop'>
1230
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_79'></a>
1231
+<span>
1232
+</span>
1233
+</span>
1234
+</td>
1235
+<td class=''><pre><span  class=''></span></pre></td></tr>
1236
+
1237
+
1238
+<tr>
1239
+<td class='na'>
1240
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_80'/>
1241
+80
1242
+</td>
1243
+<td class=''>
1244
+<span class='pop'>
1245
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_80'></a>
1246
+<span>
1247
+</span>
1248
+</span>
1249
+</td>
1250
+<td class=''><pre><span  class=''>            250 &#1075; &#1084;&#1091;&#1082;&#1080;</span></pre></td></tr>
1251
+
1252
+
1253
+<tr>
1254
+<td class='na'>
1255
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_81'/>
1256
+81
1257
+</td>
1258
+<td class=''>
1259
+<span class='pop'>
1260
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_81'></a>
1261
+<span>
1262
+</span>
1263
+</span>
1264
+</td>
1265
+<td class=''><pre><span  class=''>            125 &#1075; &#1089;&#1083;&#1080;&#1074;&#1086;&#1095;&#1085;&#1086;&#1075;&#1086; &#1084;&#1072;&#1089;&#1083;&#1072; (&#1093;&#1086;&#1083;&#1086;&#1076;&#1085;&#1086;&#1077;)</span></pre></td></tr>
1266
+
1267
+
1268
+<tr>
1269
+<td class='na'>
1270
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_82'/>
1271
+82
1272
+</td>
1273
+<td class=''>
1274
+<span class='pop'>
1275
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_82'></a>
1276
+<span>
1277
+</span>
1278
+</span>
1279
+</td>
1280
+<td class=''><pre><span  class=''>            70 &#1075; &#1089;&#1072;&#1093;&#1072;&#1088;&#1072;</span></pre></td></tr>
1281
+
1282
+
1283
+<tr>
1284
+<td class='na'>
1285
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_83'/>
1286
+83
1287
+</td>
1288
+<td class=''>
1289
+<span class='pop'>
1290
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_83'></a>
1291
+<span>
1292
+</span>
1293
+</span>
1294
+</td>
1295
+<td class=''><pre><span  class=''>            1 &#1103;&#1081;&#1094;&#1086;</span></pre></td></tr>
1296
+
1297
+
1298
+<tr>
1299
+<td class='na'>
1300
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_84'/>
1301
+84
1302
+</td>
1303
+<td class=''>
1304
+<span class='pop'>
1305
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_84'></a>
1306
+<span>
1307
+</span>
1308
+</span>
1309
+</td>
1310
+<td class=''><pre><span  class=''>            1 &#1097;&#1077;&#1087;&#1086;&#1090;&#1082;&#1072; &#1089;&#1086;&#1083;&#1080;</span></pre></td></tr>
1311
+
1312
+
1313
+<tr>
1314
+<td class='na'>
1315
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_85'/>
1316
+85
1317
+</td>
1318
+<td class=''>
1319
+<span class='pop'>
1320
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_85'></a>
1321
+<span>
1322
+</span>
1323
+</span>
1324
+</td>
1325
+<td class=''><pre><span  class=''>     */</span></pre></td></tr>
1326
+
1327
+
1328
+<tr>
1329
+<td class='na'>
1330
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_86'/>
1331
+86
1332
+</td>
1333
+<td class=''>
1334
+<span class='pop'>
1335
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_86'></a>
1336
+<span>
1337
+</span>
1338
+</span>
1339
+</td>
1340
+<td class=''><pre><span  class=''></span></pre></td></tr>
1341
+
1342
+
1343
+<tr>
1344
+<td class='na'>
1345
+<a name='org.pitest.mutationtest.report.html.SourceFile@126253fd_87'/>
1346
+87
1347
+</td>
1348
+<td class=''>
1349
+<span class='pop'>
1350
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_87'></a>
1351
+<span>
1352
+</span>
1353
+</span>
1354
+</td>
1355
+<td class=''><pre><span  class=''>}</span></pre></td></tr>
1356
+
1357
+
1358
+
1359
+<tr><td></td><td></td><td><h2>Mutations</h2></td></tr>
1360
+
1361
+<tr>
1362
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@126253fd_23'>23</a></td> 
1363
+<td></td>
1364
+<td>
1365
+
1366
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_23'/> 
1367
+
1368
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>&#60;init&#62;<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testPlayerName()]</span></span> negated conditional &rarr; KILLED</p> <p class='KILLED'><span class='pop'>2.<span><b>2</b><br/><b>Location : </b>&#60;init&#62;<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testPlayerConstructor()]</span></span> negated conditional &rarr; KILLED</p> <p class='KILLED'><span class='pop'>3.<span><b>3</b><br/><b>Location : </b>&#60;init&#62;<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testPlayerConstructor()]</span></span> negated conditional &rarr; KILLED</p> 
1369
+</td>
1370
+</tr>
1371
+<tr>
1372
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@126253fd_37'>37</a></td> 
1373
+<td></td>
1374
+<td>
1375
+
1376
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_37'/> 
1377
+
1378
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>getAvatarClass<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]</span></span> replaced return value with &#34;&#34; for re/forestier/edu/rpg/player::getAvatarClass &rarr; KILLED</p> 
1379
+</td>
1380
+</tr>
1381
+<tr>
1382
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@126253fd_41'>41</a></td> 
1383
+<td></td>
1384
+<td>
1385
+
1386
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_41'/> 
1387
+
1388
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>removeMoney<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRemoveMoney()]</span></span> changed conditional boundary &rarr; KILLED</p> <p class='KILLED'><span class='pop'>2.<span><b>2</b><br/><b>Location : </b>removeMoney<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRemoveMoney()]</span></span> Replaced integer subtraction with addition &rarr; KILLED</p> <p class='KILLED'><span class='pop'>3.<span><b>3</b><br/><b>Location : </b>removeMoney<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRemoveMoney()]</span></span> negated conditional &rarr; KILLED</p> 
1389
+</td>
1390
+</tr>
1391
+<tr>
1392
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@126253fd_45'>45</a></td> 
1393
+<td></td>
1394
+<td>
1395
+
1396
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_45'/> 
1397
+
1398
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>removeMoney<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRemoveMoney()]</span></span> Replaced integer subtraction with addition &rarr; KILLED</p> 
1399
+</td>
1400
+</tr>
1401
+<tr>
1402
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@126253fd_49'>49</a></td> 
1403
+<td></td>
1404
+<td>
1405
+
1406
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_49'/> 
1407
+
1408
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>addMoney<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testAddMoney()]</span></span> negated conditional &rarr; KILLED</p> <p class='KILLED'><span class='pop'>2.<span><b>2</b><br/><b>Location : </b>addMoney<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testAddMoney()]</span></span> Replaced integer addition with subtraction &rarr; KILLED</p> 
1409
+</td>
1410
+</tr>
1411
+<tr>
1412
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@126253fd_60'>60</a></td> 
1413
+<td></td>
1414
+<td>
1415
+
1416
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_60'/> 
1417
+
1418
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>retrieveLevel<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]</span></span> changed conditional boundary &rarr; KILLED</p> <p class='KILLED'><span class='pop'>2.<span><b>2</b><br/><b>Location : </b>retrieveLevel<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testAfficage()]</span></span> negated conditional &rarr; KILLED</p> 
1419
+</td>
1420
+</tr>
1421
+<tr>
1422
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@126253fd_61'>61</a></td> 
1423
+<td></td>
1424
+<td>
1425
+
1426
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_61'/> 
1427
+
1428
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>retrieveLevel<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testAfficage()]</span></span> replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel &rarr; KILLED</p> 
1429
+</td>
1430
+</tr>
1431
+<tr>
1432
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@126253fd_63'>63</a></td> 
1433
+<td></td>
1434
+<td>
1435
+
1436
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_63'/> 
1437
+
1438
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>retrieveLevel<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]</span></span> negated conditional &rarr; KILLED</p> <p class='KILLED'><span class='pop'>2.<span><b>2</b><br/><b>Location : </b>retrieveLevel<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]</span></span> replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel &rarr; KILLED</p> <p class='KILLED'><span class='pop'>3.<span><b>3</b><br/><b>Location : </b>retrieveLevel<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]</span></span> changed conditional boundary &rarr; KILLED</p> 
1439
+</td>
1440
+</tr>
1441
+<tr>
1442
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@126253fd_65'>65</a></td> 
1443
+<td></td>
1444
+<td>
1445
+
1446
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_65'/> 
1447
+
1448
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>retrieveLevel<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]</span></span> negated conditional &rarr; KILLED</p> <p class='KILLED'><span class='pop'>2.<span><b>2</b><br/><b>Location : </b>retrieveLevel<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]</span></span> changed conditional boundary &rarr; KILLED</p> 
1449
+</td>
1450
+</tr>
1451
+<tr>
1452
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@126253fd_66'>66</a></td> 
1453
+<td></td>
1454
+<td>
1455
+
1456
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_66'/> 
1457
+
1458
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>retrieveLevel<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]</span></span> replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel &rarr; KILLED</p> 
1459
+</td>
1460
+</tr>
1461
+<tr>
1462
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@126253fd_68'>68</a></td> 
1463
+<td></td>
1464
+<td>
1465
+
1466
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_68'/> 
1467
+
1468
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>retrieveLevel<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]</span></span> negated conditional &rarr; KILLED</p> <p class='KILLED'><span class='pop'>2.<span><b>2</b><br/><b>Location : </b>retrieveLevel<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]</span></span> changed conditional boundary &rarr; KILLED</p> <p class='KILLED'><span class='pop'>3.<span><b>3</b><br/><b>Location : </b>retrieveLevel<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]</span></span> replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel &rarr; KILLED</p> 
1469
+</td>
1470
+</tr>
1471
+<tr>
1472
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@126253fd_69'>69</a></td> 
1473
+<td></td>
1474
+<td>
1475
+
1476
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_69'/> 
1477
+
1478
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>retrieveLevel<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]</span></span> replaced int return with 0 for re/forestier/edu/rpg/player::retrieveLevel &rarr; KILLED</p> 
1479
+</td>
1480
+</tr>
1481
+<tr>
1482
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@126253fd_73'>73</a></td> 
1483
+<td></td>
1484
+<td>
1485
+
1486
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@126253fd_73'/> 
1487
+
1488
+<p class='KILLED'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>getXp<br/><b>Killed by : </b>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()]</span></span> replaced int return with 0 for re/forestier/edu/rpg/player::getXp &rarr; KILLED</p> 
1489
+</td>
1490
+</tr>
1491
+
1492
+</table>
1493
+
1494
+
1495
+<h2>Active mutators</h2>
1496
+<ul>
1497
+<li class='mutator'>CONDITIONALS_BOUNDARY</li>
1498
+<li class='mutator'>EMPTY_RETURNS</li>
1499
+<li class='mutator'>FALSE_RETURNS</li>
1500
+<li class='mutator'>INCREMENTS</li>
1501
+<li class='mutator'>INVERT_NEGS</li>
1502
+<li class='mutator'>MATH</li>
1503
+<li class='mutator'>NEGATE_CONDITIONALS</li>
1504
+<li class='mutator'>NULL_RETURNS</li>
1505
+<li class='mutator'>PRIMITIVE_RETURNS</li>
1506
+<li class='mutator'>TRUE_RETURNS</li>
1507
+<li class='mutator'>VOID_METHOD_CALLS</li>
1508
+
1509
+</ul>
1510
+
1511
+<h2>Tests examined</h2>
1512
+<ul>
1513
+<li>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRetrieveLevel()] (0 ms)</li><li>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testMajFinTour()] (0 ms)</li><li>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testPlayerName()] (0 ms)</li><li>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testAddMoney()] (0 ms)</li><li>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testPlayerConstructor()] (0 ms)</li><li>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testAfficage()] (0 ms)</li><li>re.forestier.edu.UnitTests.[engine:junit-jupiter]/[class:re.forestier.edu.UnitTests]/[method:testRemoveMoney()] (1 ms)</li><li>re.forestier.edu.GlobalTest.[engine:junit-jupiter]/[class:re.forestier.edu.GlobalTest]/[method:testAffichageBase()] (135 ms)</li>
1514
+</ul>
1515
+
1516
+<br/>
1517
+
1518
+Report generated by <a href='https://pitest.org'>PIT</a> 1.15.0
1519
+
1520
+</body>
1521
+</html>
0 1522
\ No newline at end of file
... ...
@@ -0,0 +1,381 @@
1
+<!DOCTYPE html>
2
+<html>
3
+<head>
4
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
5
+    <link rel="stylesheet" type="text/css" href="../style.css">
6
+</head>
7
+<body>
8
+
9
+
10
+<h1>Main.java</h1>
11
+
12
+<table class="src">
13
+
14
+
15
+
16
+<tr>
17
+<td class='na'>
18
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_1'/>
19
+1
20
+</td>
21
+<td class=''>
22
+<span class='pop'>
23
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_1'></a>
24
+<span>
25
+</span>
26
+</span>
27
+</td>
28
+<td class=''><pre><span  class=''>package re.forestier.edu;</span></pre></td></tr>
29
+
30
+
31
+<tr>
32
+<td class='na'>
33
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_2'/>
34
+2
35
+</td>
36
+<td class=''>
37
+<span class='pop'>
38
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_2'></a>
39
+<span>
40
+</span>
41
+</span>
42
+</td>
43
+<td class=''><pre><span  class=''>import re.forestier.edu.rpg.Affichage;</span></pre></td></tr>
44
+
45
+
46
+<tr>
47
+<td class='na'>
48
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_3'/>
49
+3
50
+</td>
51
+<td class=''>
52
+<span class='pop'>
53
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_3'></a>
54
+<span>
55
+</span>
56
+</span>
57
+</td>
58
+<td class=''><pre><span  class=''>import re.forestier.edu.rpg.UpdatePlayer;</span></pre></td></tr>
59
+
60
+
61
+<tr>
62
+<td class='na'>
63
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_4'/>
64
+4
65
+</td>
66
+<td class=''>
67
+<span class='pop'>
68
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_4'></a>
69
+<span>
70
+</span>
71
+</span>
72
+</td>
73
+<td class=''><pre><span  class=''>import re.forestier.edu.rpg.player;</span></pre></td></tr>
74
+
75
+
76
+<tr>
77
+<td class='na'>
78
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_5'/>
79
+5
80
+</td>
81
+<td class=''>
82
+<span class='pop'>
83
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_5'></a>
84
+<span>
85
+</span>
86
+</span>
87
+</td>
88
+<td class=''><pre><span  class=''></span></pre></td></tr>
89
+
90
+
91
+<tr>
92
+<td class='na'>
93
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_6'/>
94
+6
95
+</td>
96
+<td class=''>
97
+<span class='pop'>
98
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_6'></a>
99
+<span>
100
+</span>
101
+</span>
102
+</td>
103
+<td class=''><pre><span  class=''>import java.util.ArrayList;</span></pre></td></tr>
104
+
105
+
106
+<tr>
107
+<td class='na'>
108
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_7'/>
109
+7
110
+</td>
111
+<td class=''>
112
+<span class='pop'>
113
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_7'></a>
114
+<span>
115
+</span>
116
+</span>
117
+</td>
118
+<td class=''><pre><span  class=''></span></pre></td></tr>
119
+
120
+
121
+<tr>
122
+<td class='covered'>
123
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_8'/>
124
+8
125
+</td>
126
+<td class=''>
127
+<span class='pop'>
128
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_8'></a>
129
+<span>
130
+</span>
131
+</span>
132
+</td>
133
+<td class='covered'><pre><span  class=''>public class Main {</span></pre></td></tr>
134
+
135
+
136
+<tr>
137
+<td class='na'>
138
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_9'/>
139
+9
140
+</td>
141
+<td class=''>
142
+<span class='pop'>
143
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_9'></a>
144
+<span>
145
+</span>
146
+</span>
147
+</td>
148
+<td class=''><pre><span  class=''>    public static void main(String[] args) {</span></pre></td></tr>
149
+
150
+
151
+<tr>
152
+<td class='uncovered'>
153
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_10'/>
154
+10
155
+</td>
156
+<td class=''>
157
+<span class='pop'>
158
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_10'></a>
159
+<span>
160
+</span>
161
+</span>
162
+</td>
163
+<td class='uncovered'><pre><span  class=''>        player firstPlayer = new player(&#34;Florian&#34;, &#34;Ruzberg de Rivehaute&#34;, &#34;DWARF&#34;, 200, new ArrayList&#60;&#62;());</span></pre></td></tr>
164
+
165
+
166
+<tr>
167
+<td class='uncovered'>
168
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_11'/>
169
+11
170
+</td>
171
+<td class='survived'>
172
+<span class='pop'>
173
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_11'>1</a>
174
+<span>
175
+1. main : removed call to re/forestier/edu/rpg/player::addMoney &rarr; NO_COVERAGE<br/>
176
+
177
+</span>
178
+</span>
179
+</td>
180
+<td class='uncovered'><pre><span  class='survived'>        firstPlayer.addMoney(400);</span></pre></td></tr>
181
+
182
+
183
+<tr>
184
+<td class='na'>
185
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_12'/>
186
+12
187
+</td>
188
+<td class=''>
189
+<span class='pop'>
190
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_12'></a>
191
+<span>
192
+</span>
193
+</span>
194
+</td>
195
+<td class=''><pre><span  class=''></span></pre></td></tr>
196
+
197
+
198
+<tr>
199
+<td class='uncovered'>
200
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_13'/>
201
+13
202
+</td>
203
+<td class=''>
204
+<span class='pop'>
205
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_13'></a>
206
+<span>
207
+</span>
208
+</span>
209
+</td>
210
+<td class='uncovered'><pre><span  class=''>        UpdatePlayer.addXp(firstPlayer, 15);</span></pre></td></tr>
211
+
212
+
213
+<tr>
214
+<td class='uncovered'>
215
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_14'/>
216
+14
217
+</td>
218
+<td class='survived'>
219
+<span class='pop'>
220
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_14'>1</a>
221
+<span>
222
+1. main : removed call to java/io/PrintStream::println &rarr; NO_COVERAGE<br/>
223
+
224
+</span>
225
+</span>
226
+</td>
227
+<td class='uncovered'><pre><span  class='survived'>        System.out.println(Affichage.afficherJoueur(firstPlayer));</span></pre></td></tr>
228
+
229
+
230
+<tr>
231
+<td class='uncovered'>
232
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_15'/>
233
+15
234
+</td>
235
+<td class='survived'>
236
+<span class='pop'>
237
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_15'>1</a>
238
+<span>
239
+1. main : removed call to java/io/PrintStream::println &rarr; NO_COVERAGE<br/>
240
+
241
+</span>
242
+</span>
243
+</td>
244
+<td class='uncovered'><pre><span  class='survived'>        System.out.println(&#34;------------------&#34;);</span></pre></td></tr>
245
+
246
+
247
+<tr>
248
+<td class='uncovered'>
249
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_16'/>
250
+16
251
+</td>
252
+<td class=''>
253
+<span class='pop'>
254
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_16'></a>
255
+<span>
256
+</span>
257
+</span>
258
+</td>
259
+<td class='uncovered'><pre><span  class=''>        UpdatePlayer.addXp(firstPlayer, 20);</span></pre></td></tr>
260
+
261
+
262
+<tr>
263
+<td class='uncovered'>
264
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_17'/>
265
+17
266
+</td>
267
+<td class='survived'>
268
+<span class='pop'>
269
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_17'>1</a>
270
+<span>
271
+1. main : removed call to java/io/PrintStream::println &rarr; NO_COVERAGE<br/>
272
+
273
+</span>
274
+</span>
275
+</td>
276
+<td class='uncovered'><pre><span  class='survived'>        System.out.println(Affichage.afficherJoueur(firstPlayer));</span></pre></td></tr>
277
+
278
+
279
+<tr>
280
+<td class='uncovered'>
281
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_18'/>
282
+18
283
+</td>
284
+<td class=''>
285
+<span class='pop'>
286
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_18'></a>
287
+<span>
288
+</span>
289
+</span>
290
+</td>
291
+<td class='uncovered'><pre><span  class=''>    }</span></pre></td></tr>
292
+
293
+
294
+<tr>
295
+<td class='na'>
296
+<a name='org.pitest.mutationtest.report.html.SourceFile@5276d6ee_19'/>
297
+19
298
+</td>
299
+<td class=''>
300
+<span class='pop'>
301
+<a href='#grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_19'></a>
302
+<span>
303
+</span>
304
+</span>
305
+</td>
306
+<td class=''><pre><span  class=''>}</span></pre></td></tr>
307
+
308
+
309
+
310
+<tr><td></td><td></td><td><h2>Mutations</h2></td></tr>
311
+
312
+<tr>
313
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@5276d6ee_11'>11</a></td> 
314
+<td></td>
315
+<td>
316
+
317
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_11'/> 
318
+
319
+<p class='NO_COVERAGE'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>main<br/><b>Killed by : </b>none</span></span> removed call to re/forestier/edu/rpg/player::addMoney &rarr; NO_COVERAGE</p> 
320
+</td>
321
+</tr>
322
+<tr>
323
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@5276d6ee_14'>14</a></td> 
324
+<td></td>
325
+<td>
326
+
327
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_14'/> 
328
+
329
+<p class='NO_COVERAGE'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>main<br/><b>Killed by : </b>none</span></span> removed call to java/io/PrintStream::println &rarr; NO_COVERAGE</p> 
330
+</td>
331
+</tr>
332
+<tr>
333
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@5276d6ee_15'>15</a></td> 
334
+<td></td>
335
+<td>
336
+
337
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_15'/> 
338
+
339
+<p class='NO_COVERAGE'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>main<br/><b>Killed by : </b>none</span></span> removed call to java/io/PrintStream::println &rarr; NO_COVERAGE</p> 
340
+</td>
341
+</tr>
342
+<tr>
343
+<td><a href='#org.pitest.mutationtest.report.html.SourceFile@5276d6ee_17'>17</a></td> 
344
+<td></td>
345
+<td>
346
+
347
+<a name='grouporg.pitest.mutationtest.report.html.SourceFile@5276d6ee_17'/> 
348
+
349
+<p class='NO_COVERAGE'><span class='pop'>1.<span><b>1</b><br/><b>Location : </b>main<br/><b>Killed by : </b>none</span></span> removed call to java/io/PrintStream::println &rarr; NO_COVERAGE</p> 
350
+</td>
351
+</tr>
352
+
353
+</table>
354
+
355
+
356
+<h2>Active mutators</h2>
357
+<ul>
358
+<li class='mutator'>CONDITIONALS_BOUNDARY</li>
359
+<li class='mutator'>EMPTY_RETURNS</li>
360
+<li class='mutator'>FALSE_RETURNS</li>
361
+<li class='mutator'>INCREMENTS</li>
362
+<li class='mutator'>INVERT_NEGS</li>
363
+<li class='mutator'>MATH</li>
364
+<li class='mutator'>NEGATE_CONDITIONALS</li>
365
+<li class='mutator'>NULL_RETURNS</li>
366
+<li class='mutator'>PRIMITIVE_RETURNS</li>
367
+<li class='mutator'>TRUE_RETURNS</li>
368
+<li class='mutator'>VOID_METHOD_CALLS</li>
369
+
370
+</ul>
371
+
372
+<h2>Tests examined</h2>
373
+<ul>
374
+</ul>
375
+
376
+<br/>
377
+
378
+Report generated by <a href='https://pitest.org'>PIT</a> 1.15.0
379
+
380
+</body>
381
+</html>
0 382
\ No newline at end of file
... ...
@@ -0,0 +1,62 @@
1
+<!DOCTYPE html>
2
+<html>
3
+<head>
4
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
5
+    <link rel="stylesheet" type="text/css" href="../style.css">
6
+</head>
7
+<body>
8
+
9
+<h1>Pit Test Coverage Report</h1>
10
+<h2>Package Summary</h2>
11
+<h3>re.forestier.edu</h3>
12
+<table>
13
+    <thead>
14
+        <tr>
15
+            <th>Number of Classes</th>
16
+            <th>Line Coverage</th>
17
+            <th>Mutation Coverage</th>
18
+            <th>Test Strength</th>
19
+        </tr>
20
+    </thead>
21
+    <tbody>
22
+        <tr>
23
+            <td>1</td>
24
+<td>11% <div class="coverage_bar"><div class="coverage_complete width-11"></div><div class="coverage_legend">1/9</div></div></td>
25
+            <td>0% <div class="coverage_bar"><div class="coverage_complete width-0"></div><div class="coverage_legend">0/4</div></div></td>
26
+            <td>100% <div class="coverage_bar"><div class="coverage_complete width-100"></div><div class="coverage_legend">0/0</div></div></td>
27
+        </tr>
28
+    </tbody>
29
+</table>
30
+
31
+
32
+<h3>Breakdown by Class</h3>
33
+<table>
34
+    <thead>
35
+        <tr>
36
+            <th>Name</th>
37
+            <th>Line Coverage</th>
38
+            <th>Mutation Coverage</th>
39
+            <th>Test Strength</th>
40
+        </tr>
41
+    </thead>
42
+    <tbody>
43
+
44
+        <tr>
45
+            <td><a href="./Main.java.html">Main.java</a></td>
46
+<td><div class="coverage_percentage">11% </div><div class="coverage_bar"><div class="coverage_complete width-11"></div><div class="coverage_legend">1/9</div></div></td>
47
+            <td><div class="coverage_percentage">0% </div><div class="coverage_bar"><div class="coverage_complete width-0"></div><div class="coverage_legend">0/4</div></div></td>
48
+            <td><div class="coverage_percentage">100% </div><div class="coverage_bar"><div class="coverage_complete width-100"></div><div class="coverage_legend">0/0</div></div></td>
49
+        </tr>
50
+
51
+     </tbody>
52
+</table>
53
+<br/>
54
+
55
+
56
+
57
+<hr/>
58
+
59
+Report generated by <a href='https://pitest.org'>PIT</a> 1.15.0
60
+
61
+</body>
62
+</html>
0 63
\ No newline at end of file
... ...
@@ -0,0 +1,563 @@
1
+html, body, div, span, p, blockquote, pre {
2
+    margin: 0;
3
+    padding: 0;
4
+    border: 0;
5
+    outline: 0;
6
+    font-weight: inherit;
7
+    font-style: inherit;
8
+    font-size: 100%;
9
+    font-family: inherit;
10
+    vertical-align: baseline;
11
+}
12
+
13
+body{
14
+    line-height: 1;
15
+    color: black;
16
+    background: white;
17
+    margin-left: 20px;
18
+}
19
+
20
+.src { 
21
+    border: 1px solid #dddddd;
22
+    padding-top: 10px;
23
+    padding-right: 5px;
24
+    padding-left: 5px;
25
+    font-family: Consolas, Courier, monospace;
26
+}
27
+
28
+.covered, .COVERED {
29
+    background-color: #ddffdd;
30
+}
31
+
32
+.uncovered, .UNCOVERED {
33
+    background-color: #ffdddd;
34
+}
35
+
36
+.killed, .KILLED {
37
+    background-color: #aaffaa;
38
+}
39
+
40
+.survived, .SURVIVED {
41
+    background-color: #ffaaaa;
42
+}
43
+
44
+.uncertain, .UNCERTAIN {
45
+    background-color: #dde7ef;
46
+}
47
+
48
+.run_error, .RUN_ERROR {
49
+    background-color: #dde7ef;
50
+}
51
+
52
+.na {
53
+    background-color: #eeeeee;
54
+}
55
+
56
+.timed_out, .TIMED_OUT {
57
+    background-color: #dde7ef;
58
+}
59
+
60
+.non_viable, .NON_VIABLE {
61
+    background-color: #aaffaa;
62
+}
63
+
64
+.memory_error, .MEMORY_ERROR {
65
+    background-color: #dde7ef;
66
+}
67
+
68
+.not_started, .NO_STARTED {
69
+    background-color: #dde7ef; color : red
70
+}
71
+
72
+.no_coverage, .NO_COVERAGE {
73
+    background-color: #ffaaaa;
74
+}
75
+
76
+.tests {
77
+    width: 50%;
78
+    float: left;
79
+}
80
+
81
+.mutees {
82
+    float: right;
83
+    width: 50%;
84
+}
85
+
86
+.unit {
87
+    padding-top: 20px;
88
+    clear: both;
89
+}
90
+
91
+.coverage_bar {
92
+    display: inline-block;
93
+    height: 1.1em;
94
+    width: 130px;
95
+    background: #FAA;
96
+    margin: 0 5px;
97
+    vertical-align: middle;
98
+    border: 1px solid #AAA;
99
+    position: relative;
100
+}
101
+
102
+.coverage_complete {
103
+    display: inline-block;
104
+    height: 100%;
105
+    background: #DFD;
106
+    float: left;
107
+}
108
+
109
+.coverage_legend {
110
+    position: absolute;
111
+    height: 100%;
112
+    width: 100%;
113
+    left: 0;
114
+    top: 0;
115
+    text-align: center;
116
+}
117
+
118
+.line, .mut {
119
+    vertical-align: middle;
120
+}
121
+
122
+.coverage_percentage {
123
+    display: inline-block;
124
+    width: 3em;
125
+    text-align: right;
126
+}
127
+
128
+.pop {
129
+    outline:none;
130
+}
131
+
132
+.pop strong {
133
+    line-height: 30px;
134
+}
135
+
136
+.pop {
137
+    text-decoration: none;
138
+}
139
+
140
+.pop span {
141
+    z-index: 10;
142
+    display: none;
143
+    padding: 14px 20px;
144
+    margin-top: -30px;
145
+    margin-left: 28px;
146
+    width: 800px;
147
+    line-height: 16px;
148
+    word-wrap: break-word;
149
+    border-radius: 4px;
150
+    -moz-border-radius: 4px;
151
+    -webkit-border-radius: 4px;
152
+    -moz-box-shadow: 5px 5px 8px #CCC;
153
+    -webkit-box-shadow: 5px 5px 8px #CCC;
154
+    box-shadow: 5px 5px 8px #CCC;
155
+}
156
+
157
+.pop:hover span {
158
+    display: inline;
159
+    position: absolute;
160
+    color: #111;
161
+    border: 1px solid #DCA;
162
+    background: #fffAF0;
163
+}
164
+
165
+.width-1 {
166
+    width: 1%;
167
+}
168
+
169
+.width-2 {
170
+    width: 2%;
171
+}
172
+
173
+.width-3 {
174
+    width: 3%;
175
+}
176
+
177
+.width-4 {
178
+    width: 4%;
179
+}
180
+
181
+.width-5 {
182
+    width: 5%;
183
+}
184
+
185
+.width-6 {
186
+    width: 6%;
187
+}
188
+
189
+.width-7 {
190
+    width: 7%;
191
+}
192
+
193
+.width-8 {
194
+    width: 8%;
195
+}
196
+
197
+.width-9 {
198
+    width: 9%;
199
+}
200
+
201
+.width-10 {
202
+    width: 10%;
203
+}
204
+
205
+.width-11 {
206
+    width: 11%;
207
+}
208
+
209
+.width-12 {
210
+    width: 12%;
211
+}
212
+
213
+.width-13 {
214
+    width: 13%;
215
+}
216
+
217
+.width-14 {
218
+    width: 14%;
219
+}
220
+
221
+.width-15 {
222
+    width: 15%;
223
+}
224
+
225
+.width-16 {
226
+    width: 16%;
227
+}
228
+
229
+.width-17 {
230
+    width: 17%;
231
+}
232
+
233
+.width-18 {
234
+    width: 18%;
235
+}
236
+
237
+.width-19 {
238
+    width: 19%;
239
+}
240
+
241
+.width-20 {
242
+    width: 20%;
243
+}
244
+
245
+.width-21 {
246
+    width: 21%;
247
+}
248
+
249
+.width-22 {
250
+    width: 22%;
251
+}
252
+
253
+.width-23 {
254
+    width: 23%;
255
+}
256
+
257
+.width-24 {
258
+    width: 24%;
259
+}
260
+
261
+.width-25 {
262
+    width: 25%;
263
+}
264
+
265
+.width-26 {
266
+    width: 26%;
267
+}
268
+
269
+.width-27 {
270
+    width: 27%;
271
+}
272
+
273
+.width-28 {
274
+    width: 28%;
275
+}
276
+
277
+.width-29 {
278
+    width: 29%;
279
+}
280
+
281
+.width-30 {
282
+    width: 30%;
283
+}
284
+
285
+.width-31 {
286
+    width: 31%;
287
+}
288
+
289
+.width-32 {
290
+    width: 32%;
291
+}
292
+
293
+.width-33 {
294
+    width: 33%;
295
+}
296
+
297
+.width-34 {
298
+    width: 34%;
299
+}
300
+
301
+.width-35 {
302
+    width: 35%;
303
+}
304
+
305
+.width-36 {
306
+    width: 36%;
307
+}
308
+
309
+.width-37 {
310
+    width: 37%;
311
+}
312
+
313
+.width-38 {
314
+    width: 38%;
315
+}
316
+
317
+.width-39 {
318
+    width: 39%;
319
+}
320
+
321
+.width-40 {
322
+    width: 40%;
323
+}
324
+
325
+.width-41 {
326
+    width: 41%;
327
+}
328
+
329
+.width-42 {
330
+    width: 42%;
331
+}
332
+
333
+.width-43 {
334
+    width: 43%;
335
+}
336
+
337
+.width-44 {
338
+    width: 44%;
339
+}
340
+
341
+.width-45 {
342
+    width: 45%;
343
+}
344
+
345
+.width-46 {
346
+    width: 46%;
347
+}
348
+
349
+.width-47 {
350
+    width: 47%;
351
+}
352
+
353
+.width-48 {
354
+    width: 48%;
355
+}
356
+
357
+.width-49 {
358
+    width: 49%;
359
+}
360
+
361
+.width-50 {
362
+    width: 50%;
363
+}
364
+
365
+.width-51 {
366
+    width: 51%;
367
+}
368
+
369
+.width-52 {
370
+    width: 52%;
371
+}
372
+
373
+.width-53 {
374
+    width: 53%;
375
+}
376
+
377
+.width-54 {
378
+    width: 54%;
379
+}
380
+
381
+.width-55 {
382
+    width: 55%;
383
+}
384
+
385
+.width-56 {
386
+    width: 56%;
387
+}
388
+
389
+.width-57 {
390
+    width: 57%;
391
+}
392
+
393
+.width-58 {
394
+    width: 58%;
395
+}
396
+
397
+.width-59 {
398
+    width: 59%;
399
+}
400
+
401
+.width-60 {
402
+    width: 60%;
403
+}
404
+
405
+.width-61 {
406
+    width: 61%;
407
+}
408
+
409
+.width-62 {
410
+    width: 62%;
411
+}
412
+
413
+.width-63 {
414
+    width: 63%;
415
+}
416
+
417
+.width-64 {
418
+    width: 64%;
419
+}
420
+
421
+.width-65 {
422
+    width: 65%;
423
+}
424
+
425
+.width-66 {
426
+    width: 66%;
427
+}
428
+
429
+.width-67 {
430
+    width: 67%;
431
+}
432
+
433
+.width-68 {
434
+    width: 68%;
435
+}
436
+
437
+.width-69 {
438
+    width: 69%;
439
+}
440
+
441
+.width-70 {
442
+    width: 70%;
443
+}
444
+
445
+.width-71 {
446
+    width: 71%;
447
+}
448
+
449
+.width-72 {
450
+    width: 72%;
451
+}
452
+
453
+.width-73 {
454
+    width: 73%;
455
+}
456
+
457
+.width-74 {
458
+    width: 74%;
459
+}
460
+
461
+.width-75 {
462
+    width: 75%;
463
+}
464
+
465
+.width-76 {
466
+    width: 76%;
467
+}
468
+
469
+.width-77 {
470
+    width: 77%;
471
+}
472
+
473
+.width-78 {
474
+    width: 78%;
475
+}
476
+
477
+.width-79 {
478
+    width: 79%;
479
+}
480
+
481
+.width-80 {
482
+    width: 80%;
483
+}
484
+
485
+.width-81 {
486
+    width: 81%;
487
+}
488
+
489
+.width-82 {
490
+    width: 82%;
491
+}
492
+
493
+.width-83 {
494
+    width: 83%;
495
+}
496
+
497
+.width-84 {
498
+    width: 84%;
499
+}
500
+
501
+.width-85 {
502
+    width: 85%;
503
+}
504
+
505
+.width-86 {
506
+    width: 86%;
507
+}
508
+
509
+.width-87 {
510
+    width: 87%;
511
+}
512
+
513
+.width-88 {
514
+    width: 88%;
515
+}
516
+
517
+.width-89 {
518
+    width: 89%;
519
+}
520
+
521
+.width-90 {
522
+    width: 90%;
523
+}
524
+
525
+.width-91 {
526
+    width: 91%;
527
+}
528
+
529
+.width-92 {
530
+    width: 92%;
531
+}
532
+
533
+.width-93 {
534
+    width: 93%;
535
+}
536
+
537
+.width-94 {
538
+    width: 94%;
539
+}
540
+
541
+.width-95 {
542
+    width: 95%;
543
+}
544
+
545
+.width-96 {
546
+    width: 96%;
547
+}
548
+
549
+.width-97 {
550
+    width: 97%;
551
+}
552
+
553
+.width-98 {
554
+    width: 98%;
555
+}
556
+
557
+.width-99 {
558
+    width: 99%;
559
+}
560
+
561
+.width-100 {
562
+    width: 100%;
563
+}
0 564
\ No newline at end of file
... ...
@@ -0,0 +1,96 @@
1
+<!DOCTYPE html>
2
+<html>
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
5
+<meta http-equiv="x-ua-compatible" content="IE=edge"/>
6
+<title>Test results - GlobalTest</title>
7
+<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
8
+<link href="../css/style.css" rel="stylesheet" type="text/css"/>
9
+<script src="../js/report.js" type="text/javascript"></script>
10
+</head>
11
+<body>
12
+<div id="content">
13
+<h1>GlobalTest</h1>
14
+<div class="breadcrumbs">
15
+<a href="../index.html">all</a> &gt; 
16
+<a href="../packages/re.forestier.edu.html">re.forestier.edu</a> &gt; GlobalTest</div>
17
+<div id="summary">
18
+<table>
19
+<tr>
20
+<td>
21
+<div class="summaryGroup">
22
+<table>
23
+<tr>
24
+<td>
25
+<div class="infoBox" id="tests">
26
+<div class="counter">1</div>
27
+<p>tests</p>
28
+</div>
29
+</td>
30
+<td>
31
+<div class="infoBox" id="failures">
32
+<div class="counter">0</div>
33
+<p>failures</p>
34
+</div>
35
+</td>
36
+<td>
37
+<div class="infoBox" id="ignored">
38
+<div class="counter">0</div>
39
+<p>ignored</p>
40
+</div>
41
+</td>
42
+<td>
43
+<div class="infoBox" id="duration">
44
+<div class="counter">0.154s</div>
45
+<p>duration</p>
46
+</div>
47
+</td>
48
+</tr>
49
+</table>
50
+</div>
51
+</td>
52
+<td>
53
+<div class="infoBox success" id="successRate">
54
+<div class="percent">100%</div>
55
+<p>successful</p>
56
+</div>
57
+</td>
58
+</tr>
59
+</table>
60
+</div>
61
+<div id="tabs">
62
+<ul class="tabLinks">
63
+<li>
64
+<a href="#tab0">Tests</a>
65
+</li>
66
+</ul>
67
+<div id="tab0" class="tab">
68
+<h2>Tests</h2>
69
+<table>
70
+<thead>
71
+<tr>
72
+<th>Test</th>
73
+<th>Duration</th>
74
+<th>Result</th>
75
+</tr>
76
+</thead>
77
+<tr>
78
+<td class="success">testAffichageBase()</td>
79
+<td class="success">0.154s</td>
80
+<td class="success">passed</td>
81
+</tr>
82
+</table>
83
+</div>
84
+</div>
85
+<div id="footer">
86
+<p>
87
+<div>
88
+<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
89
+<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
90
+</label>
91
+</div>Generated by 
92
+<a href="http://www.gradle.org">Gradle 8.8</a> at 7 oct. 2024, 10:28:56</p>
93
+</div>
94
+</div>
95
+</body>
96
+</html>
... ...
@@ -0,0 +1,146 @@
1
+<!DOCTYPE html>
2
+<html>
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
5
+<meta http-equiv="x-ua-compatible" content="IE=edge"/>
6
+<title>Test results - UnitTests</title>
7
+<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
8
+<link href="../css/style.css" rel="stylesheet" type="text/css"/>
9
+<script src="../js/report.js" type="text/javascript"></script>
10
+</head>
11
+<body>
12
+<div id="content">
13
+<h1>UnitTests</h1>
14
+<div class="breadcrumbs">
15
+<a href="../index.html">all</a> &gt; 
16
+<a href="../packages/re.forestier.edu.html">re.forestier.edu</a> &gt; UnitTests</div>
17
+<div id="summary">
18
+<table>
19
+<tr>
20
+<td>
21
+<div class="summaryGroup">
22
+<table>
23
+<tr>
24
+<td>
25
+<div class="infoBox" id="tests">
26
+<div class="counter">9</div>
27
+<p>tests</p>
28
+</div>
29
+</td>
30
+<td>
31
+<div class="infoBox" id="failures">
32
+<div class="counter">0</div>
33
+<p>failures</p>
34
+</div>
35
+</td>
36
+<td>
37
+<div class="infoBox" id="ignored">
38
+<div class="counter">0</div>
39
+<p>ignored</p>
40
+</div>
41
+</td>
42
+<td>
43
+<div class="infoBox" id="duration">
44
+<div class="counter">0.031s</div>
45
+<p>duration</p>
46
+</div>
47
+</td>
48
+</tr>
49
+</table>
50
+</div>
51
+</td>
52
+<td>
53
+<div class="infoBox success" id="successRate">
54
+<div class="percent">100%</div>
55
+<p>successful</p>
56
+</div>
57
+</td>
58
+</tr>
59
+</table>
60
+</div>
61
+<div id="tabs">
62
+<ul class="tabLinks">
63
+<li>
64
+<a href="#tab0">Tests</a>
65
+</li>
66
+</ul>
67
+<div id="tab0" class="tab">
68
+<h2>Tests</h2>
69
+<table>
70
+<thead>
71
+<tr>
72
+<th>Test</th>
73
+<th>Method name</th>
74
+<th>Duration</th>
75
+<th>Result</th>
76
+</tr>
77
+</thead>
78
+<tr>
79
+<td class="success">addMoney</td>
80
+<td class="success">testAddMoney()</td>
81
+<td class="success">0.001s</td>
82
+<td class="success">passed</td>
83
+</tr>
84
+<tr>
85
+<td class="success">Affichage</td>
86
+<td class="success">testAfficage()</td>
87
+<td class="success">0.008s</td>
88
+<td class="success">passed</td>
89
+</tr>
90
+<tr>
91
+<td class="success">Main</td>
92
+<td class="success">testMain()</td>
93
+<td class="success">0.012s</td>
94
+<td class="success">passed</td>
95
+</tr>
96
+<tr>
97
+<td class="success">majDeFinDeTour</td>
98
+<td class="success">testMajFinTour()</td>
99
+<td class="success">0.002s</td>
100
+<td class="success">passed</td>
101
+</tr>
102
+<tr>
103
+<td class="success">Constructor Player</td>
104
+<td class="success">testPlayerConstructor()</td>
105
+<td class="success">0.001s</td>
106
+<td class="success">passed</td>
107
+</tr>
108
+<tr>
109
+<td class="success">Sample test</td>
110
+<td class="success">testPlayerName()</td>
111
+<td class="success">0s</td>
112
+<td class="success">passed</td>
113
+</tr>
114
+<tr>
115
+<td class="success">removeMoney</td>
116
+<td class="success">testRemoveMoney()</td>
117
+<td class="success">0.005s</td>
118
+<td class="success">passed</td>
119
+</tr>
120
+<tr>
121
+<td class="success">ex &amp; lvl</td>
122
+<td class="success">testRetrieveLevel()</td>
123
+<td class="success">0.002s</td>
124
+<td class="success">passed</td>
125
+</tr>
126
+<tr>
127
+<td class="success">Construcor UpdatePlayer</td>
128
+<td class="success">testUpdatePlayer()</td>
129
+<td class="success">0s</td>
130
+<td class="success">passed</td>
131
+</tr>
132
+</table>
133
+</div>
134
+</div>
135
+<div id="footer">
136
+<p>
137
+<div>
138
+<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
139
+<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
140
+</label>
141
+</div>Generated by 
142
+<a href="http://www.gradle.org">Gradle 8.8</a> at 7 oct. 2024, 10:28:56</p>
143
+</div>
144
+</div>
145
+</body>
146
+</html>
... ...
@@ -0,0 +1,179 @@
1
+
2
+body {
3
+    margin: 0;
4
+    padding: 0;
5
+    font-family: sans-serif;
6
+    font-size: 12pt;
7
+}
8
+
9
+body, a, a:visited {
10
+    color: #303030;
11
+}
12
+
13
+#content {
14
+    padding-left: 50px;
15
+    padding-right: 50px;
16
+    padding-top: 30px;
17
+    padding-bottom: 30px;
18
+}
19
+
20
+#content h1 {
21
+    font-size: 160%;
22
+    margin-bottom: 10px;
23
+}
24
+
25
+#footer {
26
+    margin-top: 100px;
27
+    font-size: 80%;
28
+    white-space: nowrap;
29
+}
30
+
31
+#footer, #footer a {
32
+    color: #a0a0a0;
33
+}
34
+
35
+#line-wrapping-toggle {
36
+    vertical-align: middle;
37
+}
38
+
39
+#label-for-line-wrapping-toggle {
40
+    vertical-align: middle;
41
+}
42
+
43
+ul {
44
+    margin-left: 0;
45
+}
46
+
47
+h1, h2, h3 {
48
+    white-space: nowrap;
49
+}
50
+
51
+h2 {
52
+    font-size: 120%;
53
+}
54
+
55
+ul.tabLinks {
56
+    padding-left: 0;
57
+    padding-top: 10px;
58
+    padding-bottom: 10px;
59
+    overflow: auto;
60
+    min-width: 800px;
61
+    width: auto !important;
62
+    width: 800px;
63
+}
64
+
65
+ul.tabLinks li {
66
+    float: left;
67
+    height: 100%;
68
+    list-style: none;
69
+    padding-left: 10px;
70
+    padding-right: 10px;
71
+    padding-top: 5px;
72
+    padding-bottom: 5px;
73
+    margin-bottom: 0;
74
+    -moz-border-radius: 7px;
75
+    border-radius: 7px;
76
+    margin-right: 25px;
77
+    border: solid 1px #d4d4d4;
78
+    background-color: #f0f0f0;
79
+}
80
+
81
+ul.tabLinks li:hover {
82
+    background-color: #fafafa;
83
+}
84
+
85
+ul.tabLinks li.selected {
86
+    background-color: #c5f0f5;
87
+    border-color: #c5f0f5;
88
+}
89
+
90
+ul.tabLinks a {
91
+    font-size: 120%;
92
+    display: block;
93
+    outline: none;
94
+    text-decoration: none;
95
+    margin: 0;
96
+    padding: 0;
97
+}
98
+
99
+ul.tabLinks li h2 {
100
+    margin: 0;
101
+    padding: 0;
102
+}
103
+
104
+div.tab {
105
+}
106
+
107
+div.selected {
108
+    display: block;
109
+}
110
+
111
+div.deselected {
112
+    display: none;
113
+}
114
+
115
+div.tab table {
116
+    min-width: 350px;
117
+    width: auto !important;
118
+    width: 350px;
119
+    border-collapse: collapse;
120
+}
121
+
122
+div.tab th, div.tab table {
123
+    border-bottom: solid #d0d0d0 1px;
124
+}
125
+
126
+div.tab th {
127
+    text-align: left;
128
+    white-space: nowrap;
129
+    padding-left: 6em;
130
+}
131
+
132
+div.tab th:first-child {
133
+    padding-left: 0;
134
+}
135
+
136
+div.tab td {
137
+    white-space: nowrap;
138
+    padding-left: 6em;
139
+    padding-top: 5px;
140
+    padding-bottom: 5px;
141
+}
142
+
143
+div.tab td:first-child {
144
+    padding-left: 0;
145
+}
146
+
147
+div.tab td.numeric, div.tab th.numeric {
148
+    text-align: right;
149
+}
150
+
151
+span.code {
152
+    display: inline-block;
153
+    margin-top: 0em;
154
+    margin-bottom: 1em;
155
+}
156
+
157
+span.code pre {
158
+    font-size: 11pt;
159
+    padding-top: 10px;
160
+    padding-bottom: 10px;
161
+    padding-left: 10px;
162
+    padding-right: 10px;
163
+    margin: 0;
164
+    background-color: #f7f7f7;
165
+    border: solid 1px #d0d0d0;
166
+    min-width: 700px;
167
+    width: auto !important;
168
+    width: 700px;
169
+}
170
+
171
+span.wrapped pre {
172
+    word-wrap: break-word;
173
+    white-space: pre-wrap;
174
+    word-break: break-all;
175
+}
176
+
177
+label.hidden {
178
+    display: none;
179
+}
0 180
\ No newline at end of file
... ...
@@ -0,0 +1,84 @@
1
+
2
+#summary {
3
+    margin-top: 30px;
4
+    margin-bottom: 40px;
5
+}
6
+
7
+#summary table {
8
+    border-collapse: collapse;
9
+}
10
+
11
+#summary td {
12
+    vertical-align: top;
13
+}
14
+
15
+.breadcrumbs, .breadcrumbs a {
16
+    color: #606060;
17
+}
18
+
19
+.infoBox {
20
+    width: 110px;
21
+    padding-top: 15px;
22
+    padding-bottom: 15px;
23
+    text-align: center;
24
+}
25
+
26
+.infoBox p {
27
+    margin: 0;
28
+}
29
+
30
+.counter, .percent {
31
+    font-size: 120%;
32
+    font-weight: bold;
33
+    margin-bottom: 8px;
34
+}
35
+
36
+#duration {
37
+    width: 125px;
38
+}
39
+
40
+#successRate, .summaryGroup {
41
+    border: solid 2px #d0d0d0;
42
+    -moz-border-radius: 10px;
43
+    border-radius: 10px;
44
+}
45
+
46
+#successRate {
47
+    width: 140px;
48
+    margin-left: 35px;
49
+}
50
+
51
+#successRate .percent {
52
+    font-size: 180%;
53
+}
54
+
55
+.success, .success a {
56
+    color: #008000;
57
+}
58
+
59
+div.success, #successRate.success {
60
+    background-color: #bbd9bb;
61
+    border-color: #008000;
62
+}
63
+
64
+.failures, .failures a {
65
+    color: #b60808;
66
+}
67
+
68
+.skipped, .skipped a {
69
+    color: #c09853;
70
+}
71
+
72
+div.failures, #successRate.failures {
73
+    background-color: #ecdada;
74
+    border-color: #b60808;
75
+}
76
+
77
+ul.linkList {
78
+    padding-left: 0;
79
+}
80
+
81
+ul.linkList li {
82
+    list-style: none;
83
+    margin-bottom: 5px;
84
+}
... ...
@@ -0,0 +1,143 @@
1
+<!DOCTYPE html>
2
+<html>
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
5
+<meta http-equiv="x-ua-compatible" content="IE=edge"/>
6
+<title>Test results - Test Summary</title>
7
+<link href="css/base-style.css" rel="stylesheet" type="text/css"/>
8
+<link href="css/style.css" rel="stylesheet" type="text/css"/>
9
+<script src="js/report.js" type="text/javascript"></script>
10
+</head>
11
+<body>
12
+<div id="content">
13
+<h1>Test Summary</h1>
14
+<div id="summary">
15
+<table>
16
+<tr>
17
+<td>
18
+<div class="summaryGroup">
19
+<table>
20
+<tr>
21
+<td>
22
+<div class="infoBox" id="tests">
23
+<div class="counter">10</div>
24
+<p>tests</p>
25
+</div>
26
+</td>
27
+<td>
28
+<div class="infoBox" id="failures">
29
+<div class="counter">0</div>
30
+<p>failures</p>
31
+</div>
32
+</td>
33
+<td>
34
+<div class="infoBox" id="ignored">
35
+<div class="counter">0</div>
36
+<p>ignored</p>
37
+</div>
38
+</td>
39
+<td>
40
+<div class="infoBox" id="duration">
41
+<div class="counter">0.185s</div>
42
+<p>duration</p>
43
+</div>
44
+</td>
45
+</tr>
46
+</table>
47
+</div>
48
+</td>
49
+<td>
50
+<div class="infoBox success" id="successRate">
51
+<div class="percent">100%</div>
52
+<p>successful</p>
53
+</div>
54
+</td>
55
+</tr>
56
+</table>
57
+</div>
58
+<div id="tabs">
59
+<ul class="tabLinks">
60
+<li>
61
+<a href="#tab0">Packages</a>
62
+</li>
63
+<li>
64
+<a href="#tab1">Classes</a>
65
+</li>
66
+</ul>
67
+<div id="tab0" class="tab">
68
+<h2>Packages</h2>
69
+<table>
70
+<thead>
71
+<tr>
72
+<th>Package</th>
73
+<th>Tests</th>
74
+<th>Failures</th>
75
+<th>Ignored</th>
76
+<th>Duration</th>
77
+<th>Success rate</th>
78
+</tr>
79
+</thead>
80
+<tbody>
81
+<tr>
82
+<td class="success">
83
+<a href="packages/re.forestier.edu.html">re.forestier.edu</a>
84
+</td>
85
+<td>10</td>
86
+<td>0</td>
87
+<td>0</td>
88
+<td>0.185s</td>
89
+<td class="success">100%</td>
90
+</tr>
91
+</tbody>
92
+</table>
93
+</div>
94
+<div id="tab1" class="tab">
95
+<h2>Classes</h2>
96
+<table>
97
+<thead>
98
+<tr>
99
+<th>Class</th>
100
+<th>Tests</th>
101
+<th>Failures</th>
102
+<th>Ignored</th>
103
+<th>Duration</th>
104
+<th>Success rate</th>
105
+</tr>
106
+</thead>
107
+<tbody>
108
+<tr>
109
+<td class="success">
110
+<a href="classes/re.forestier.edu.GlobalTest.html">re.forestier.edu.GlobalTest</a>
111
+</td>
112
+<td>1</td>
113
+<td>0</td>
114
+<td>0</td>
115
+<td>0.154s</td>
116
+<td class="success">100%</td>
117
+</tr>
118
+<tr>
119
+<td class="success">
120
+<a href="classes/re.forestier.edu.UnitTests.html">re.forestier.edu.UnitTests</a>
121
+</td>
122
+<td>9</td>
123
+<td>0</td>
124
+<td>0</td>
125
+<td>0.031s</td>
126
+<td class="success">100%</td>
127
+</tr>
128
+</tbody>
129
+</table>
130
+</div>
131
+</div>
132
+<div id="footer">
133
+<p>
134
+<div>
135
+<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
136
+<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
137
+</label>
138
+</div>Generated by 
139
+<a href="http://www.gradle.org">Gradle 8.8</a> at 7 oct. 2024, 10:28:56</p>
140
+</div>
141
+</div>
142
+</body>
143
+</html>
... ...
@@ -0,0 +1,194 @@
1
+(function (window, document) {
2
+    "use strict";
3
+
4
+    var tabs = {};
5
+
6
+    function changeElementClass(element, classValue) {
7
+        if (element.getAttribute("className")) {
8
+            element.setAttribute("className", classValue);
9
+        } else {
10
+            element.setAttribute("class", classValue);
11
+        }
12
+    }
13
+
14
+    function getClassAttribute(element) {
15
+        if (element.getAttribute("className")) {
16
+            return element.getAttribute("className");
17
+        } else {
18
+            return element.getAttribute("class");
19
+        }
20
+    }
21
+
22
+    function addClass(element, classValue) {
23
+        changeElementClass(element, getClassAttribute(element) + " " + classValue);
24
+    }
25
+
26
+    function removeClass(element, classValue) {
27
+        changeElementClass(element, getClassAttribute(element).replace(classValue, ""));
28
+    }
29
+
30
+    function initTabs() {
31
+        var container = document.getElementById("tabs");
32
+
33
+        tabs.tabs = findTabs(container);
34
+        tabs.titles = findTitles(tabs.tabs);
35
+        tabs.headers = findHeaders(container);
36
+        tabs.select = select;
37
+        tabs.deselectAll = deselectAll;
38
+        tabs.select(0);
39
+
40
+        return true;
41
+    }
42
+
43
+    function getCheckBox() {
44
+        return document.getElementById("line-wrapping-toggle");
45
+    }
46
+
47
+    function getLabelForCheckBox() {
48
+        return document.getElementById("label-for-line-wrapping-toggle");
49
+    }
50
+
51
+    function findCodeBlocks() {
52
+        var spans = document.getElementById("tabs").getElementsByTagName("span");
53
+        var codeBlocks = [];
54
+        for (var i = 0; i < spans.length; ++i) {
55
+            if (spans[i].className.indexOf("code") >= 0) {
56
+                codeBlocks.push(spans[i]);
57
+            }
58
+        }
59
+        return codeBlocks;
60
+    }
61
+
62
+    function forAllCodeBlocks(operation) {
63
+        var codeBlocks = findCodeBlocks();
64
+
65
+        for (var i = 0; i < codeBlocks.length; ++i) {
66
+            operation(codeBlocks[i], "wrapped");
67
+        }
68
+    }
69
+
70
+    function toggleLineWrapping() {
71
+        var checkBox = getCheckBox();
72
+
73
+        if (checkBox.checked) {
74
+            forAllCodeBlocks(addClass);
75
+        } else {
76
+            forAllCodeBlocks(removeClass);
77
+        }
78
+    }
79
+
80
+    function initControls() {
81
+        if (findCodeBlocks().length > 0) {
82
+            var checkBox = getCheckBox();
83
+            var label = getLabelForCheckBox();
84
+
85
+            checkBox.onclick = toggleLineWrapping;
86
+            checkBox.checked = false;
87
+
88
+            removeClass(label, "hidden");
89
+         }
90
+    }
91
+
92
+    function switchTab() {
93
+        var id = this.id.substr(1);
94
+
95
+        for (var i = 0; i < tabs.tabs.length; i++) {
96
+            if (tabs.tabs[i].id === id) {
97
+                tabs.select(i);
98
+                break;
99
+            }
100
+        }
101
+
102
+        return false;
103
+    }
104
+
105
+    function select(i) {
106
+        this.deselectAll();
107
+
108
+        changeElementClass(this.tabs[i], "tab selected");
109
+        changeElementClass(this.headers[i], "selected");
110
+
111
+        while (this.headers[i].firstChild) {
112
+            this.headers[i].removeChild(this.headers[i].firstChild);
113
+        }
114
+
115
+        var h2 = document.createElement("H2");
116
+
117
+        h2.appendChild(document.createTextNode(this.titles[i]));
118
+        this.headers[i].appendChild(h2);
119
+    }
120
+
121
+    function deselectAll() {
122
+        for (var i = 0; i < this.tabs.length; i++) {
123
+            changeElementClass(this.tabs[i], "tab deselected");
124
+            changeElementClass(this.headers[i], "deselected");
125
+
126
+            while (this.headers[i].firstChild) {
127
+                this.headers[i].removeChild(this.headers[i].firstChild);
128
+            }
129
+
130
+            var a = document.createElement("A");
131
+
132
+            a.setAttribute("id", "ltab" + i);
133
+            a.setAttribute("href", "#tab" + i);
134
+            a.onclick = switchTab;
135
+            a.appendChild(document.createTextNode(this.titles[i]));
136
+
137
+            this.headers[i].appendChild(a);
138
+        }
139
+    }
140
+
141
+    function findTabs(container) {
142
+        return findChildElements(container, "DIV", "tab");
143
+    }
144
+
145
+    function findHeaders(container) {
146
+        var owner = findChildElements(container, "UL", "tabLinks");
147
+        return findChildElements(owner[0], "LI", null);
148
+    }
149
+
150
+    function findTitles(tabs) {
151
+        var titles = [];
152
+
153
+        for (var i = 0; i < tabs.length; i++) {
154
+            var tab = tabs[i];
155
+            var header = findChildElements(tab, "H2", null)[0];
156
+
157
+            header.parentNode.removeChild(header);
158
+
159
+            if (header.innerText) {
160
+                titles.push(header.innerText);
161
+            } else {
162
+                titles.push(header.textContent);
163
+            }
164
+        }
165
+
166
+        return titles;
167
+    }
168
+
169
+    function findChildElements(container, name, targetClass) {
170
+        var elements = [];
171
+        var children = container.childNodes;
172
+
173
+        for (var i = 0; i < children.length; i++) {
174
+            var child = children.item(i);
175
+
176
+            if (child.nodeType === 1 && child.nodeName === name) {
177
+                if (targetClass && child.className.indexOf(targetClass) < 0) {
178
+                    continue;
179
+                }
180
+
181
+                elements.push(child);
182
+            }
183
+        }
184
+
185
+        return elements;
186
+    }
187
+
188
+    // Entry point.
189
+
190
+    window.onload = function() {
191
+        initTabs();
192
+        initControls();
193
+    };
194
+} (window, window.document));
0 195
\ No newline at end of file
... ...
@@ -0,0 +1,113 @@
1
+<!DOCTYPE html>
2
+<html>
3
+<head>
4
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
5
+<meta http-equiv="x-ua-compatible" content="IE=edge"/>
6
+<title>Test results - Package re.forestier.edu</title>
7
+<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
8
+<link href="../css/style.css" rel="stylesheet" type="text/css"/>
9
+<script src="../js/report.js" type="text/javascript"></script>
10
+</head>
11
+<body>
12
+<div id="content">
13
+<h1>Package re.forestier.edu</h1>
14
+<div class="breadcrumbs">
15
+<a href="../index.html">all</a> &gt; re.forestier.edu</div>
16
+<div id="summary">
17
+<table>
18
+<tr>
19
+<td>
20
+<div class="summaryGroup">
21
+<table>
22
+<tr>
23
+<td>
24
+<div class="infoBox" id="tests">
25
+<div class="counter">10</div>
26
+<p>tests</p>
27
+</div>
28
+</td>
29
+<td>
30
+<div class="infoBox" id="failures">
31
+<div class="counter">0</div>
32
+<p>failures</p>
33
+</div>
34
+</td>
35
+<td>
36
+<div class="infoBox" id="ignored">
37
+<div class="counter">0</div>
38
+<p>ignored</p>
39
+</div>
40
+</td>
41
+<td>
42
+<div class="infoBox" id="duration">
43
+<div class="counter">0.185s</div>
44
+<p>duration</p>
45
+</div>
46
+</td>
47
+</tr>
48
+</table>
49
+</div>
50
+</td>
51
+<td>
52
+<div class="infoBox success" id="successRate">
53
+<div class="percent">100%</div>
54
+<p>successful</p>
55
+</div>
56
+</td>
57
+</tr>
58
+</table>
59
+</div>
60
+<div id="tabs">
61
+<ul class="tabLinks">
62
+<li>
63
+<a href="#tab0">Classes</a>
64
+</li>
65
+</ul>
66
+<div id="tab0" class="tab">
67
+<h2>Classes</h2>
68
+<table>
69
+<thead>
70
+<tr>
71
+<th>Class</th>
72
+<th>Tests</th>
73
+<th>Failures</th>
74
+<th>Ignored</th>
75
+<th>Duration</th>
76
+<th>Success rate</th>
77
+</tr>
78
+</thead>
79
+<tr>
80
+<td class="success">
81
+<a href="../classes/re.forestier.edu.GlobalTest.html">GlobalTest</a>
82
+</td>
83
+<td>1</td>
84
+<td>0</td>
85
+<td>0</td>
86
+<td>0.154s</td>
87
+<td class="success">100%</td>
88
+</tr>
89
+<tr>
90
+<td class="success">
91
+<a href="../classes/re.forestier.edu.UnitTests.html">UnitTests</a>
92
+</td>
93
+<td>9</td>
94
+<td>0</td>
95
+<td>0</td>
96
+<td>0.031s</td>
97
+<td class="success">100%</td>
98
+</tr>
99
+</table>
100
+</div>
101
+</div>
102
+<div id="footer">
103
+<p>
104
+<div>
105
+<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
106
+<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
107
+</label>
108
+</div>Generated by 
109
+<a href="http://www.gradle.org">Gradle 8.8</a> at 7 oct. 2024, 10:28:56</p>
110
+</div>
111
+</div>
112
+</body>
113
+</html>
... ...
@@ -0,0 +1,7 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<testsuite name="re.forestier.edu.GlobalTest" tests="1" skipped="0" failures="0" errors="0" timestamp="2024-10-07T08:28:56" hostname="a206pc27L.local.isima.fr" time="0.154">
3
+  <properties/>
4
+  <testcase name="testAffichageBase()" classname="re.forestier.edu.GlobalTest" time="0.154"/>
5
+  <system-out><![CDATA[]]></system-out>
6
+  <system-err><![CDATA[]]></system-err>
7
+</testsuite>
... ...
@@ -0,0 +1,15 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<testsuite name="re.forestier.edu.UnitTests" tests="9" skipped="0" failures="0" errors="0" timestamp="2024-10-07T08:28:56" hostname="a206pc27L.local.isima.fr" time="0.036">
3
+  <properties/>
4
+  <testcase name="Main" classname="re.forestier.edu.UnitTests" time="0.012"/>
5
+  <testcase name="removeMoney" classname="re.forestier.edu.UnitTests" time="0.005"/>
6
+  <testcase name="ex &amp; lvl" classname="re.forestier.edu.UnitTests" time="0.002"/>
7
+  <testcase name="addMoney" classname="re.forestier.edu.UnitTests" time="0.001"/>
8
+  <testcase name="Construcor UpdatePlayer" classname="re.forestier.edu.UnitTests" time="0.0"/>
9
+  <testcase name="majDeFinDeTour" classname="re.forestier.edu.UnitTests" time="0.002"/>
10
+  <testcase name="Constructor Player" classname="re.forestier.edu.UnitTests" time="0.001"/>
11
+  <testcase name="Affichage" classname="re.forestier.edu.UnitTests" time="0.008"/>
12
+  <testcase name="Sample test" classname="re.forestier.edu.UnitTests" time="0.0"/>
13
+  <system-out><![CDATA[]]></system-out>
14
+  <system-err><![CDATA[]]></system-err>
15
+</testsuite>
... ...
@@ -0,0 +1,23 @@
1
+Manifest-Version: 1.0
2
+Archiver-Version: Plexus Archiver
3
+Created-By: Apache Maven Bundle Plugin
4
+Built-By: root
5
+Build-Jdk: 11.0.16
6
+Automatic-Module-Name: org.jacoco.agent
7
+Bnd-LastModified: 1680299897956
8
+Bundle-Description: JaCoCo Agent
9
+Bundle-License: https://www.eclipse.org/legal/epl-2.0/
10
+Bundle-ManifestVersion: 2
11
+Bundle-Name: JaCoCo Agent
12
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
13
+Bundle-SymbolicName: org.jacoco.agent
14
+Bundle-Vendor: Mountainminds GmbH & Co. KG
15
+Bundle-Version: 0.8.9.202303310957
16
+Eclipse-SourceReferences: scm:git:git://github.com/jacoco/jacoco.git;p
17
+ ath="org.jacoco.agent";commitId=c0ad7810555f4c19ab8da68e94d4bf9344481
18
+ 564
19
+Export-Package: org.jacoco.agent;version="0.8.9"
20
+Originally-Created-By: Apache Maven Bundle Plugin
21
+Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.5))"
22
+Tool: Bnd-3.5.0.201709291849
23
+
... ...
@@ -0,0 +1,5 @@
1
+#Generated by Maven
2
+#Fri Mar 31 21:43:06 UTC 2023
3
+groupId=org.jacoco
4
+artifactId=org.jacoco.agent
5
+version=0.8.9
... ...
@@ -0,0 +1,106 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!--
3
+   Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors
4
+   This program and the accompanying materials are made available under
5
+   the terms of the Eclipse Public License 2.0 which is available at
6
+   http://www.eclipse.org/legal/epl-2.0
7
+
8
+   SPDX-License-Identifier: EPL-2.0
9
+
10
+   Contributors:
11
+      Evgeny Mandrikov - initial API and implementation
12
+-->
13
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
14
+  <modelVersion>4.0.0</modelVersion>
15
+
16
+  <parent>
17
+    <groupId>org.jacoco</groupId>
18
+    <artifactId>org.jacoco.build</artifactId>
19
+    <version>0.8.9</version>
20
+    <relativePath>../org.jacoco.build</relativePath>
21
+  </parent>
22
+
23
+  <artifactId>org.jacoco.agent</artifactId>
24
+
25
+  <name>JaCoCo :: Agent</name>
26
+  <description>JaCoCo Agent</description>
27
+
28
+  <build>
29
+    <sourceDirectory>src</sourceDirectory>
30
+
31
+    <plugins>
32
+      <plugin>
33
+        <groupId>org.apache.maven.plugins</groupId>
34
+        <artifactId>maven-dependency-plugin</artifactId>
35
+        <executions>
36
+          <execution>
37
+            <phase>prepare-package</phase>
38
+            <goals>
39
+              <goal>copy</goal>
40
+            </goals>
41
+            <configuration>
42
+              <artifactItems>
43
+                <artifactItem>
44
+                  <groupId>${project.groupId}</groupId>
45
+                  <artifactId>org.jacoco.agent.rt</artifactId>
46
+                  <classifier>all</classifier>
47
+                  <version>${project.version}</version>
48
+                  <destFileName>jacocoagent.jar</destFileName>
49
+                </artifactItem>
50
+              </artifactItems>
51
+              <outputDirectory>${project.build.directory}/classes</outputDirectory>
52
+              <overWriteReleases>false</overWriteReleases>
53
+              <overWriteSnapshots>false</overWriteSnapshots>
54
+              <overWriteIfNewer>true</overWriteIfNewer>
55
+            </configuration>
56
+          </execution>
57
+        </executions>
58
+      </plugin>
59
+
60
+      <plugin>
61
+        <groupId>org.codehaus.mojo</groupId>
62
+        <artifactId>build-helper-maven-plugin</artifactId>
63
+        <executions>
64
+          <execution>
65
+            <id>attach-artifacts</id>
66
+            <phase>package</phase>
67
+            <goals>
68
+              <goal>attach-artifact</goal>
69
+            </goals>
70
+            <configuration>
71
+              <artifacts>
72
+                <artifact>
73
+                  <file>${project.build.directory}/classes/jacocoagent.jar</file>
74
+                  <type>jar</type>
75
+                  <classifier>runtime</classifier>
76
+                </artifact>
77
+              </artifacts>
78
+            </configuration>
79
+          </execution>
80
+        </executions>
81
+      </plugin>
82
+
83
+      <plugin>
84
+        <groupId>org.apache.felix</groupId>
85
+        <artifactId>maven-bundle-plugin</artifactId>
86
+        <executions>
87
+          <execution>
88
+            <phase>process-classes</phase>
89
+            <goals>
90
+              <goal>manifest</goal>
91
+            </goals>
92
+          </execution>
93
+        </executions>
94
+      </plugin>
95
+      <plugin>
96
+        <groupId>org.apache.maven.plugins</groupId>
97
+        <artifactId>maven-jar-plugin</artifactId>
98
+        <configuration>
99
+          <archive>
100
+            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
101
+          </archive>
102
+        </configuration>
103
+      </plugin>
104
+    </plugins>
105
+  </build>
106
+</project>
... ...
@@ -0,0 +1,72 @@
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+<html>
4
+<head>
5
+<title>About</title>
6
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
7
+</head>
8
+<body lang="EN-US">
9
+<h2>About This Content</h2>
10
+
11
+<p>
12
+  2023/03/31
13
+</p>
14
+
15
+<h3>License</h3>
16
+
17
+<p>
18
+  All Content in this distribution is made available by Mountainminds GmbH &amp; Co.
19
+  KG, Munich. Unless otherwise indicated below, the Content is provided to you
20
+  under the terms and conditions of the Eclipse Public License Version 2.0
21
+  (&quot;EPL&quot;). A copy of the EPL is available at
22
+  <a href="https://www.eclipse.org/legal/epl-2.0/">https://www.eclipse.org/legal/epl-2.0/</a>.
23
+  For purposes of the EPL, "Program" will mean the Content.
24
+</p>
25
+
26
+<h3>Third Party Content</h3>
27
+
28
+<p>
29
+  The Content includes items that have been sourced from third parties as set
30
+  out below.
31
+</p>
32
+
33
+<h4>ASM</h4>
34
+
35
+<p>
36
+  <a href="http://asm.objectweb.org/">ASM 9.5</a> is subject to the terms and
37
+  conditions of the following license:
38
+</p>
39
+
40
+<pre>
41
+ASM: a very small and fast Java bytecode manipulation framework
42
+Copyright (c) 2000-2011 INRIA, France Telecom
43
+All rights reserved.
44
+
45
+Redistribution and use in source and binary forms, with or without
46
+modification, are permitted provided that the following conditions
47
+are met:
48
+1. Redistributions of source code must retain the above copyright
49
+   notice, this list of conditions and the following disclaimer.
50
+2. Redistributions in binary form must reproduce the above copyright
51
+   notice, this list of conditions and the following disclaimer in the
52
+   documentation and/or other materials provided with the distribution.
53
+3. Neither the name of the copyright holders nor the names of its
54
+   contributors may be used to endorse or promote products derived from
55
+   this software without specific prior written permission.
56
+
57
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
58
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
59
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
60
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
61
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
62
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
63
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
64
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
65
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
66
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
67
+THE POSSIBILITY OF SUCH DAMAGE.
68
+</pre>
69
+
70
+
71
+</body>
72
+</html>
... ...
@@ -0,0 +1,21 @@
1
+Manifest-Version: 1.0
2
+Created-By: Apache Maven Bundle Plugin
3
+Build-Jdk-Spec: 17
4
+Automatic-Module-Name: org.jacoco.agent
5
+Bnd-LastModified: 1697316834495
6
+Build-Jdk: 17.0.8.1
7
+Built-By: root
8
+Bundle-Description: JaCoCo Agent
9
+Bundle-License: https://www.eclipse.org/legal/epl-2.0/
10
+Bundle-ManifestVersion: 2
11
+Bundle-Name: JaCoCo Agent
12
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
13
+Bundle-SymbolicName: org.jacoco.agent
14
+Bundle-Vendor: Mountainminds GmbH & Co. KG
15
+Bundle-Version: 0.8.11.202310140853
16
+Eclipse-SourceReferences: scm:git:git://github.com/jacoco/jacoco.git;pat
17
+ h="org.jacoco.agent";commitId=f33756c37f1e41041d84018047b14cb394742761
18
+Export-Package: org.jacoco.agent;version="0.8.11"
19
+Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.5))"
20
+Tool: Bnd-3.5.0.201709291849
21
+
... ...
@@ -0,0 +1,106 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!--
3
+   Copyright (c) 2009, 2023 Mountainminds GmbH & Co. KG and Contributors
4
+   This program and the accompanying materials are made available under
5
+   the terms of the Eclipse Public License 2.0 which is available at
6
+   http://www.eclipse.org/legal/epl-2.0
7
+
8
+   SPDX-License-Identifier: EPL-2.0
9
+
10
+   Contributors:
11
+      Evgeny Mandrikov - initial API and implementation
12
+-->
13
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
14
+  <modelVersion>4.0.0</modelVersion>
15
+
16
+  <parent>
17
+    <groupId>org.jacoco</groupId>
18
+    <artifactId>org.jacoco.build</artifactId>
19
+    <version>0.8.11</version>
20
+    <relativePath>../org.jacoco.build</relativePath>
21
+  </parent>
22
+
23
+  <artifactId>org.jacoco.agent</artifactId>
24
+
25
+  <name>JaCoCo :: Agent</name>
26
+  <description>JaCoCo Agent</description>
27
+
28
+  <build>
29
+    <sourceDirectory>src</sourceDirectory>
30
+
31
+    <plugins>
32
+      <plugin>
33
+        <groupId>org.apache.maven.plugins</groupId>
34
+        <artifactId>maven-dependency-plugin</artifactId>
35
+        <executions>
36
+          <execution>
37
+            <phase>prepare-package</phase>
38
+            <goals>
39
+              <goal>copy</goal>
40
+            </goals>
41
+            <configuration>
42
+              <artifactItems>
43
+                <artifactItem>
44
+                  <groupId>${project.groupId}</groupId>
45
+                  <artifactId>org.jacoco.agent.rt</artifactId>
46
+                  <classifier>all</classifier>
47
+                  <version>${project.version}</version>
48
+                  <destFileName>jacocoagent.jar</destFileName>
49
+                </artifactItem>
50
+              </artifactItems>
51
+              <outputDirectory>${project.build.directory}/classes</outputDirectory>
52
+              <overWriteReleases>false</overWriteReleases>
53
+              <overWriteSnapshots>false</overWriteSnapshots>
54
+              <overWriteIfNewer>true</overWriteIfNewer>
55
+            </configuration>
56
+          </execution>
57
+        </executions>
58
+      </plugin>
59
+
60
+      <plugin>
61
+        <groupId>org.codehaus.mojo</groupId>
62
+        <artifactId>build-helper-maven-plugin</artifactId>
63
+        <executions>
64
+          <execution>
65
+            <id>attach-artifacts</id>
66
+            <phase>package</phase>
67
+            <goals>
68
+              <goal>attach-artifact</goal>
69
+            </goals>
70
+            <configuration>
71
+              <artifacts>
72
+                <artifact>
73
+                  <file>${project.build.directory}/classes/jacocoagent.jar</file>
74
+                  <type>jar</type>
75
+                  <classifier>runtime</classifier>
76
+                </artifact>
77
+              </artifacts>
78
+            </configuration>
79
+          </execution>
80
+        </executions>
81
+      </plugin>
82
+
83
+      <plugin>
84
+        <groupId>org.apache.felix</groupId>
85
+        <artifactId>maven-bundle-plugin</artifactId>
86
+        <executions>
87
+          <execution>
88
+            <phase>process-classes</phase>
89
+            <goals>
90
+              <goal>manifest</goal>
91
+            </goals>
92
+          </execution>
93
+        </executions>
94
+      </plugin>
95
+      <plugin>
96
+        <groupId>org.apache.maven.plugins</groupId>
97
+        <artifactId>maven-jar-plugin</artifactId>
98
+        <configuration>
99
+          <archive>
100
+            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
101
+          </archive>
102
+        </configuration>
103
+      </plugin>
104
+    </plugins>
105
+  </build>
106
+</project>
... ...
@@ -0,0 +1,72 @@
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+<html>
4
+<head>
5
+<title>About</title>
6
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
7
+</head>
8
+<body lang="EN-US">
9
+<h2>About This Content</h2>
10
+
11
+<p>
12
+  2023/10/14
13
+</p>
14
+
15
+<h3>License</h3>
16
+
17
+<p>
18
+  All Content in this distribution is made available by Mountainminds GmbH &amp; Co.
19
+  KG, Munich. Unless otherwise indicated below, the Content is provided to you
20
+  under the terms and conditions of the Eclipse Public License Version 2.0
21
+  (&quot;EPL&quot;). A copy of the EPL is available at
22
+  <a href="https://www.eclipse.org/legal/epl-2.0/">https://www.eclipse.org/legal/epl-2.0/</a>.
23
+  For purposes of the EPL, "Program" will mean the Content.
24
+</p>
25
+
26
+<h3>Third Party Content</h3>
27
+
28
+<p>
29
+  The Content includes items that have been sourced from third parties as set
30
+  out below.
31
+</p>
32
+
33
+<h4>ASM</h4>
34
+
35
+<p>
36
+  <a href="https://asm.ow2.io/">ASM 9.6</a> is subject to the terms and
37
+  conditions of the following license:
38
+</p>
39
+
40
+<pre>
41
+ASM: a very small and fast Java bytecode manipulation framework
42
+Copyright (c) 2000-2011 INRIA, France Telecom
43
+All rights reserved.
44
+
45
+Redistribution and use in source and binary forms, with or without
46
+modification, are permitted provided that the following conditions
47
+are met:
48
+1. Redistributions of source code must retain the above copyright
49
+   notice, this list of conditions and the following disclaimer.
50
+2. Redistributions in binary form must reproduce the above copyright
51
+   notice, this list of conditions and the following disclaimer in the
52
+   documentation and/or other materials provided with the distribution.
53
+3. Neither the name of the copyright holders nor the names of its
54
+   contributors may be used to endorse or promote products derived from
55
+   this software without specific prior written permission.
56
+
57
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
58
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
59
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
60
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
61
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
62
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
63
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
64
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
65
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
66
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
67
+THE POSSIBILITY OF SUCH DAMAGE.
68
+</pre>
69
+
70
+
71
+</body>
72
+</html>
... ...
@@ -0,0 +1,2 @@
1
+Manifest-Version: 1.0
2
+
... ...
@@ -0,0 +1,132 @@
1
+package re.forestier.edu.rpg;
2
+
3
+import java.util.Random;
4
+import java.util.ArrayList;
5
+import java.util.HashMap;
6
+
7
+public class Player {
8
+    private static final Integer[] xpForlevel = {0,10,27,57,111}; //Level = i+1 
9
+                                                                  //TODO : add level
10
+
11
+    private String playerName;
12
+    private String Avatar_name;
13
+    private String AvatarClass;
14
+
15
+    private Integer money;
16
+    private Float __real_money__;
17
+
18
+    private int level;
19
+    private int healthpoints;
20
+    private int currenthealthpoints;
21
+    private int xp;
22
+
23
+    public HashMap<String, Integer> abilities; //Ability = stat
24
+    public ArrayList<String> inventory;
25
+
26
+    public Player(String playerName, String avatar_name, String avatarClass, int money, ArrayList<String> inventory) {
27
+        if (!avatarClass.equals("ARCHER") && !avatarClass.equals("ADVENTURER") && !avatarClass.equals("DWARF")) 
28
+        {
29
+            return;
30
+        }
31
+
32
+        this.playerName = playerName;
33
+        Avatar_name = avatar_name;
34
+        AvatarClass = avatarClass;
35
+        this.money = Integer.valueOf(money);
36
+        this.inventory = inventory;
37
+        this.level = 1;
38
+        this.xp = 0;
39
+        this.abilities = UpdatePlayer.abilitiesPerTypeAndLevel().get(AvatarClass).get(1);
40
+    }
41
+
42
+    public String getPlayerName()
43
+    {
44
+        return this.playerName;
45
+    }
46
+            
47
+    public String getAvatarName()
48
+    {
49
+        return this.Avatar_name;
50
+    }
51
+            
52
+    public Integer getMoney()
53
+    {
54
+        return this.money;
55
+    }
56
+
57
+    public int getLevel()
58
+    {
59
+        return this.level;
60
+    }
61
+
62
+    public int getHealthPoints()
63
+    {
64
+        return this.healthpoints;
65
+    }
66
+
67
+    public void setHealthPoints(int hp)
68
+    {
69
+        this.healthpoints = hp;
70
+    }
71
+
72
+    public int getCurrentHealthPoints()
73
+    {
74
+        return this.currenthealthpoints;
75
+    }
76
+
77
+    public void setCurrentHealthPoints(int hp)
78
+    {
79
+        this.currenthealthpoints = hp;
80
+    }
81
+
82
+    public int getXp()
83
+    {
84
+        return this.xp;
85
+    }
86
+
87
+    public void setXp(int xp)
88
+    {
89
+        this.xp = xp;
90
+    }
91
+
92
+    public String getAvatarClass () {
93
+        return AvatarClass;
94
+    }
95
+
96
+    public void addXp(int xp) {
97
+        int ancientLevel = this.level;
98
+        this.xp += xp;
99
+        int i = 0;
100
+        while(i < xpForlevel.length && this.xp >= xpForlevel[i])
101
+        {
102
+            i++;
103
+        }
104
+
105
+        this.level = i;
106
+
107
+        if (this.level != ancientLevel) {
108
+            // Player leveled-up!
109
+            // Give a random object
110
+            ;
111
+            Random random = new Random();
112
+            this.inventory.add(UpdatePlayer.objectList[random.nextInt(UpdatePlayer.objectList.length)]);
113
+
114
+            // Add/upgrade abilities to player
115
+            HashMap<String, Integer> abilities = UpdatePlayer.abilitiesPerTypeAndLevel().get(this.getAvatarClass()).get(this.level);
116
+            abilities.forEach((ability, level) -> {
117
+                this.abilities.put(ability, abilities.get(ability));
118
+            });
119
+        }
120
+    }
121
+
122
+    public void removeMoney(int amount) throws IllegalArgumentException {
123
+        if (money - amount < 0) {
124
+            throw new IllegalArgumentException("Player can't have a negative money!");
125
+        }
126
+
127
+        money = Integer.parseInt(money.toString()) - amount;
128
+    }
129
+    public void addMoney(int amount) { 
130
+        money = money + amount;
131
+    }
132
+}
0 133
\ No newline at end of file
1 134