Compare commits
4 Commits
4fa55c8607
...
ManageTask
| Author | SHA1 | Date | |
|---|---|---|---|
| c10de39091 | |||
| 98bbddb31a | |||
| 7640b1ef35 | |||
| 20daf315ca |
BIN
build/classes/java/test/hhn/temp/project/BadCasesTest.class
Normal file
BIN
build/classes/java/test/hhn/temp/project/GoodCasesTest.class
Normal file
1
build/jacocoHtml/hhn.temp.project/AssignmentManager.html
Normal file
@@ -0,0 +1,73 @@
|
||||
<?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="de"><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>AssignmentManager.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">Template</a> > <a href="index.source.html" class="el_package">hhn.temp.project</a> > <span class="el_source">AssignmentManager.java</span></div><h1>AssignmentManager.java</h1><pre class="source lang-java linenums">package hhn.temp.project;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class AssignmentManager {
|
||||
Map<Integer, Worker> workerMap;
|
||||
Map<Integer, Task> taskMap;
|
||||
int workerIdCounter;
|
||||
int taskIdCounter;
|
||||
|
||||
<span class="fc" id="L14"> public AssignmentManager() {</span>
|
||||
<span class="fc" id="L15"> workerMap = new HashMap<>();</span>
|
||||
<span class="fc" id="L16"> taskMap = new HashMap<>();</span>
|
||||
<span class="fc" id="L17"> int workerIdCounter = 1000;</span>
|
||||
<span class="fc" id="L18"> int taskIdCounter = 0;</span>
|
||||
<span class="fc" id="L19"> }</span>
|
||||
|
||||
public int createWorker(String name) {
|
||||
<span class="fc" id="L22"> Worker worker = new Worker(name, ++workerIdCounter);</span>
|
||||
<span class="fc" id="L23"> workerMap.put(workerIdCounter, worker);</span>
|
||||
<span class="fc" id="L24"> return workerIdCounter;</span>
|
||||
}
|
||||
public int addTask(int workerId, String name, String description) {
|
||||
<span class="pc bpc" id="L27" title="1 of 6 branches missed."> if (!workerMap.containsKey(workerId) || name == null || description == null) {</span>
|
||||
<span class="fc" id="L28"> throw new IllegalArgumentException("WorkerId must exist and name or description can't be null");</span>
|
||||
}
|
||||
<span class="fc" id="L30"> Task task = new Task(++taskIdCounter, workerId, name, description, this);</span>
|
||||
<span class="fc" id="L31"> taskMap.put(taskIdCounter, task);</span>
|
||||
<span class="fc" id="L32"> return taskIdCounter;</span>
|
||||
}
|
||||
public Task getTask(int taskId) {
|
||||
<span class="fc bfc" id="L35" title="All 2 branches covered."> if (!taskMap.containsKey(taskId)) {</span>
|
||||
<span class="fc" id="L36"> throw new IllegalArgumentException("Task Id does not exist");</span>
|
||||
}
|
||||
<span class="fc" id="L38"> return taskMap.get(taskId);</span>
|
||||
}
|
||||
public Map<Integer, Task> getTaskMap() {
|
||||
<span class="fc" id="L41"> return taskMap;</span>
|
||||
}
|
||||
public void editTask(int workerId, int taskId, String name, String description) {
|
||||
<span class="fc bfc" id="L44" title="All 4 branches covered."> if (!workerMap.containsKey(workerId) || !taskMap.containsKey(taskId)) {</span>
|
||||
<span class="fc" id="L45"> throw new IllegalArgumentException("Task Id or Worker Id does not exist");</span>
|
||||
}
|
||||
<span class="fc" id="L47"> Task task = taskMap.get(taskId);</span>
|
||||
<span class="fc" id="L48"> task.setName(name);</span>
|
||||
<span class="fc" id="L49"> task.setDescription(description);</span>
|
||||
<span class="fc" id="L50"> }</span>
|
||||
public void removeTask(int taskId) {
|
||||
<span class="fc bfc" id="L52" title="All 2 branches covered."> if (!taskMap.containsKey(taskId)) {</span>
|
||||
<span class="fc" id="L53"> throw new IllegalArgumentException("Task Id does not exist");</span>
|
||||
}
|
||||
<span class="fc" id="L55"> taskMap.remove(taskId);</span>
|
||||
<span class="fc" id="L56"> }</span>
|
||||
public void finishTask(int workerId, int taskId) {
|
||||
<span class="pc bpc" id="L58" title="1 of 4 branches missed."> if (!workerMap.containsKey(workerId) || !taskMap.containsKey(taskId)) {</span>
|
||||
<span class="fc" id="L59"> throw new IllegalArgumentException("Task Id or Worker Id does not exist");</span>
|
||||
}
|
||||
<span class="fc" id="L61"> Task task = taskMap.get(taskId);</span>
|
||||
<span class="fc" id="L62"> task.setTaskState(TaskState.FINISHED);</span>
|
||||
<span class="fc" id="L63"> }</span>
|
||||
public void unfinishTask(int workerId, int taskId) {
|
||||
<span class="pc bpc" id="L65" title="1 of 4 branches missed."> if (!workerMap.containsKey(workerId) || !taskMap.containsKey(taskId)) {</span>
|
||||
<span class="fc" id="L66"> throw new IllegalArgumentException("Task Id or Worker Id does not exist");</span>
|
||||
}
|
||||
<span class="fc" id="L68"> Task task = taskMap.get(taskId);</span>
|
||||
<span class="fc" id="L69"> task.setTaskState(TaskState.IN_PROGRESS);</span>
|
||||
<span class="fc" id="L70"> }</span>
|
||||
|
||||
}
|
||||
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>
|
||||
1
build/jacocoHtml/hhn.temp.project/Task.html
Normal file
45
build/jacocoHtml/hhn.temp.project/Task.java.html
Normal file
@@ -0,0 +1,45 @@
|
||||
<?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="de"><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>Task.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">Template</a> > <a href="index.source.html" class="el_package">hhn.temp.project</a> > <span class="el_source">Task.java</span></div><h1>Task.java</h1><pre class="source lang-java linenums">package hhn.temp.project;
|
||||
|
||||
public class Task {
|
||||
String name;
|
||||
String description;
|
||||
int taskId;
|
||||
int workerId;
|
||||
AssignmentManager manager;
|
||||
TaskState state;
|
||||
<span class="fc" id="L10"> public Task(int taskId, int workerId, String name, String description, AssignmentManager manager) {</span>
|
||||
<span class="fc" id="L11"> this.manager = manager;</span>
|
||||
<span class="fc" id="L12"> this.name = name;</span>
|
||||
<span class="fc" id="L13"> this.description = description;</span>
|
||||
<span class="fc" id="L14"> this.taskId = taskId;</span>
|
||||
<span class="fc" id="L15"> this.workerId = workerId;</span>
|
||||
<span class="fc" id="L16"> this.state = TaskState.IN_PROGRESS;</span>
|
||||
<span class="fc" id="L17"> }</span>
|
||||
|
||||
public String getName() {
|
||||
<span class="fc" id="L20"> return name;</span>
|
||||
}
|
||||
public void setName(String name) {
|
||||
<span class="fc" id="L23"> this.name = name;</span>
|
||||
<span class="fc" id="L24"> }</span>
|
||||
public String getDescription() {
|
||||
<span class="fc" id="L26"> return description;</span>
|
||||
}
|
||||
public void setDescription(String description) {
|
||||
<span class="fc" id="L29"> this.description = description;</span>
|
||||
<span class="fc" id="L30"> }</span>
|
||||
public int getTaskId() {
|
||||
<span class="fc" id="L32"> return taskId;</span>
|
||||
}
|
||||
public int getWorkerId() {
|
||||
<span class="fc" id="L35"> return workerId;</span>
|
||||
}
|
||||
public void setTaskState(TaskState state) {
|
||||
<span class="fc" id="L38"> this.state = state;</span>
|
||||
<span class="fc" id="L39"> }</span>
|
||||
public TaskState getTaskState() {
|
||||
<span class="fc" id="L41"> return state;</span>
|
||||
}
|
||||
|
||||
}
|
||||
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>
|
||||
1
build/jacocoHtml/hhn.temp.project/TaskState.html
Normal file
@@ -0,0 +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="de"><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>TaskState</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">Template</a> > <a href="index.html" class="el_package">hhn.temp.project</a> > <span class="el_class">TaskState</span></div><h1>TaskState</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 15</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">1</td><td class="ctr1">0</td><td class="ctr2">3</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="TaskState.java.html#L3" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="15" alt="15"/></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">3</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>
|
||||
7
build/jacocoHtml/hhn.temp.project/TaskState.java.html
Normal file
@@ -0,0 +1,7 @@
|
||||
<?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="de"><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>TaskState.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">Template</a> > <a href="index.source.html" class="el_package">hhn.temp.project</a> > <span class="el_source">TaskState.java</span></div><h1>TaskState.java</h1><pre class="source lang-java linenums">package hhn.temp.project;
|
||||
|
||||
<span class="fc" id="L3">public enum TaskState {</span>
|
||||
<span class="fc" id="L4"> IN_PROGRESS,</span>
|
||||
<span class="fc" id="L5"> FINISHED;</span>
|
||||
}
|
||||
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>
|
||||
1
build/jacocoHtml/hhn.temp.project/Worker.html
Normal file
@@ -0,0 +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="de"><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>Worker</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">Template</a> > <a href="index.html" class="el_package">hhn.temp.project</a> > <span class="el_class">Worker</span></div><h1>Worker</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 15</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">3</td><td class="ctr1">0</td><td class="ctr2">6</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="Worker.java.html#L6" class="el_method">Worker(String, int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="9" alt="9"/></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">4</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="Worker.java.html#L12" class="el_method">getName()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="40" height="10" title="3" alt="3"/></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">1</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="Worker.java.html#L15" class="el_method">getId()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="40" height="10" title="3" alt="3"/></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">1</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>
|
||||
18
build/jacocoHtml/hhn.temp.project/Worker.java.html
Normal file
@@ -0,0 +1,18 @@
|
||||
<?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="de"><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>Worker.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">Template</a> > <a href="index.source.html" class="el_package">hhn.temp.project</a> > <span class="el_source">Worker.java</span></div><h1>Worker.java</h1><pre class="source lang-java linenums">package hhn.temp.project;
|
||||
|
||||
public class Worker {
|
||||
String name;
|
||||
int workerId;
|
||||
<span class="fc" id="L6"> public Worker(String name, int workerId) {</span>
|
||||
<span class="fc" id="L7"> this.name = name;</span>
|
||||
<span class="fc" id="L8"> this.workerId = workerId;</span>
|
||||
<span class="fc" id="L9"> }</span>
|
||||
|
||||
public String getName() {
|
||||
<span class="fc" id="L12"> return name;</span>
|
||||
}
|
||||
public int getId() {
|
||||
<span class="fc" id="L15"> return workerId;</span>
|
||||
}
|
||||
}
|
||||
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>
|
||||
1
build/jacocoHtml/hhn.temp.project/index.html
Normal file
@@ -0,0 +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="de"><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>hhn.temp.project</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">Template</a> > <span class="el_package">hhn.temp.project</span></div><h1>hhn.temp.project</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">0 of 285</td><td class="ctr2">100 %</td><td class="bar">3 of 22</td><td class="ctr2">86 %</td><td class="ctr1">3</td><td class="ctr2">33</td><td class="ctr1">0</td><td class="ctr2">66</td><td class="ctr1">0</td><td class="ctr2">22</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="AssignmentManager.html" class="el_class">AssignmentManager</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="207" alt="207"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="3" alt="3"/><img src="../jacoco-resources/greenbar.gif" width="103" height="10" title="19" alt="19"/></td><td class="ctr2" id="e0">86 %</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">20</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">38</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">9</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="Task.html" class="el_class">Task</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="27" height="10" title="48" alt="48"/></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">9</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">19</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="TaskState.html" class="el_class">TaskState</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="8" height="10" title="15" alt="15"/></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="g3">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a3"><a href="Worker.html" class="el_class">Worker</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="8" height="10" title="15" alt="15"/></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="g2">3</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>
|
||||
1
build/jacocoHtml/hhn.temp.project/index.source.html
Normal file
@@ -0,0 +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="de"><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>hhn.temp.project</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">Template</a> > <span class="el_package">hhn.temp.project</span></div><h1>hhn.temp.project</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">0 of 285</td><td class="ctr2">100 %</td><td class="bar">3 of 22</td><td class="ctr2">86 %</td><td class="ctr1">3</td><td class="ctr2">33</td><td class="ctr1">0</td><td class="ctr2">66</td><td class="ctr1">0</td><td class="ctr2">22</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="AssignmentManager.java.html" class="el_source">AssignmentManager.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="207" alt="207"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="3" alt="3"/><img src="../jacoco-resources/greenbar.gif" width="103" height="10" title="19" alt="19"/></td><td class="ctr2" id="e0">86 %</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">20</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">38</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">9</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="Task.java.html" class="el_source">Task.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="27" height="10" title="48" alt="48"/></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">9</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">19</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">9</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a3"><a href="Worker.java.html" class="el_source">Worker.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="8" height="10" title="15" alt="15"/></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">3</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="TaskState.java.html" class="el_source">TaskState.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="8" height="10" title="15" alt="15"/></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">3</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>
|
||||
1
build/jacocoHtml/index.html
Normal file
@@ -0,0 +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="de"><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>Template</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">Template</span></div><h1>Template</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">0 of 285</td><td class="ctr2">100 %</td><td class="bar">3 of 22</td><td class="ctr2">86 %</td><td class="ctr1">3</td><td class="ctr2">33</td><td class="ctr1">0</td><td class="ctr2">66</td><td class="ctr1">0</td><td class="ctr2">22</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="hhn.temp.project/index.html" class="el_package">hhn.temp.project</a></td><td class="bar" id="b0"><img src="jacoco-resources/greenbar.gif" width="120" height="10" title="285" alt="285"/></td><td class="ctr2" id="c0">100 %</td><td class="bar" id="d0"><img src="jacoco-resources/redbar.gif" width="16" height="10" title="3" alt="3"/><img src="jacoco-resources/greenbar.gif" width="103" height="10" title="19" alt="19"/></td><td class="ctr2" id="e0">86 %</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">33</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">22</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">4</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.13.202504020838</span></div></body></html>
|
||||
BIN
build/jacocoHtml/jacoco-resources/branchfc.gif
Normal file
|
After Width: | Height: | Size: 91 B |
BIN
build/jacocoHtml/jacoco-resources/branchnc.gif
Normal file
|
After Width: | Height: | Size: 91 B |
BIN
build/jacocoHtml/jacoco-resources/branchpc.gif
Normal file
|
After Width: | Height: | Size: 91 B |
BIN
build/jacocoHtml/jacoco-resources/bundle.gif
Normal file
|
After Width: | Height: | Size: 709 B |
BIN
build/jacocoHtml/jacoco-resources/class.gif
Normal file
|
After Width: | Height: | Size: 586 B |
BIN
build/jacocoHtml/jacoco-resources/down.gif
Normal file
|
After Width: | Height: | Size: 67 B |
BIN
build/jacocoHtml/jacoco-resources/greenbar.gif
Normal file
|
After Width: | Height: | Size: 91 B |
BIN
build/jacocoHtml/jacoco-resources/group.gif
Normal file
|
After Width: | Height: | Size: 351 B |
BIN
build/jacocoHtml/jacoco-resources/method.gif
Normal file
|
After Width: | Height: | Size: 193 B |
BIN
build/jacocoHtml/jacoco-resources/package.gif
Normal file
|
After Width: | Height: | Size: 227 B |
13
build/jacocoHtml/jacoco-resources/prettify.css
Normal file
@@ -0,0 +1,13 @@
|
||||
/* Pretty printing styles. Used with prettify.js. */
|
||||
|
||||
.str { color: #2A00FF; }
|
||||
.kwd { color: #7F0055; font-weight:bold; }
|
||||
.com { color: #3F5FBF; }
|
||||
.typ { color: #606; }
|
||||
.lit { color: #066; }
|
||||
.pun { color: #660; }
|
||||
.pln { color: #000; }
|
||||
.tag { color: #008; }
|
||||
.atn { color: #606; }
|
||||
.atv { color: #080; }
|
||||
.dec { color: #606; }
|
||||
1510
build/jacocoHtml/jacoco-resources/prettify.js
Normal file
BIN
build/jacocoHtml/jacoco-resources/redbar.gif
Normal file
|
After Width: | Height: | Size: 91 B |
243
build/jacocoHtml/jacoco-resources/report.css
Normal file
@@ -0,0 +1,243 @@
|
||||
body, td {
|
||||
font-family:sans-serif;
|
||||
font-size:10pt;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-weight:bold;
|
||||
font-size:18pt;
|
||||
}
|
||||
|
||||
.breadcrumb {
|
||||
border:#d6d3ce 1px solid;
|
||||
padding:2px 4px 2px 4px;
|
||||
}
|
||||
|
||||
.breadcrumb .info {
|
||||
float:right;
|
||||
}
|
||||
|
||||
.breadcrumb .info a {
|
||||
margin-left:8px;
|
||||
}
|
||||
|
||||
.el_report {
|
||||
padding-left:18px;
|
||||
background-image:url(report.gif);
|
||||
background-position:left center;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
|
||||
.el_group {
|
||||
padding-left:18px;
|
||||
background-image:url(group.gif);
|
||||
background-position:left center;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
|
||||
.el_bundle {
|
||||
padding-left:18px;
|
||||
background-image:url(bundle.gif);
|
||||
background-position:left center;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
|
||||
.el_package {
|
||||
padding-left:18px;
|
||||
background-image:url(package.gif);
|
||||
background-position:left center;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
|
||||
.el_class {
|
||||
padding-left:18px;
|
||||
background-image:url(class.gif);
|
||||
background-position:left center;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
|
||||
.el_source {
|
||||
padding-left:18px;
|
||||
background-image:url(source.gif);
|
||||
background-position:left center;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
|
||||
.el_method {
|
||||
padding-left:18px;
|
||||
background-image:url(method.gif);
|
||||
background-position:left center;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
|
||||
.el_session {
|
||||
padding-left:18px;
|
||||
background-image:url(session.gif);
|
||||
background-position:left center;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
|
||||
pre.source {
|
||||
border:#d6d3ce 1px solid;
|
||||
font-family:monospace;
|
||||
}
|
||||
|
||||
pre.source ol {
|
||||
margin-bottom: 0px;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
pre.source li {
|
||||
border-left: 1px solid #D6D3CE;
|
||||
color: #A0A0A0;
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
pre.source span.fc {
|
||||
background-color:#ccffcc;
|
||||
}
|
||||
|
||||
pre.source span.nc {
|
||||
background-color:#ffaaaa;
|
||||
}
|
||||
|
||||
pre.source span.pc {
|
||||
background-color:#ffffcc;
|
||||
}
|
||||
|
||||
pre.source span.bfc {
|
||||
background-image: url(branchfc.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 2px center;
|
||||
}
|
||||
|
||||
pre.source span.bfc:hover {
|
||||
background-color:#80ff80;
|
||||
}
|
||||
|
||||
pre.source span.bnc {
|
||||
background-image: url(branchnc.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 2px center;
|
||||
}
|
||||
|
||||
pre.source span.bnc:hover {
|
||||
background-color:#ff8080;
|
||||
}
|
||||
|
||||
pre.source span.bpc {
|
||||
background-image: url(branchpc.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 2px center;
|
||||
}
|
||||
|
||||
pre.source span.bpc:hover {
|
||||
background-color:#ffff80;
|
||||
}
|
||||
|
||||
table.coverage {
|
||||
empty-cells:show;
|
||||
border-collapse:collapse;
|
||||
}
|
||||
|
||||
table.coverage thead {
|
||||
background-color:#e0e0e0;
|
||||
}
|
||||
|
||||
table.coverage thead td {
|
||||
white-space:nowrap;
|
||||
padding:2px 14px 0px 6px;
|
||||
border-bottom:#b0b0b0 1px solid;
|
||||
}
|
||||
|
||||
table.coverage thead td.bar {
|
||||
border-left:#cccccc 1px solid;
|
||||
}
|
||||
|
||||
table.coverage thead td.ctr1 {
|
||||
text-align:right;
|
||||
border-left:#cccccc 1px solid;
|
||||
}
|
||||
|
||||
table.coverage thead td.ctr2 {
|
||||
text-align:right;
|
||||
padding-left:2px;
|
||||
}
|
||||
|
||||
table.coverage thead td.sortable {
|
||||
cursor:pointer;
|
||||
background-image:url(sort.gif);
|
||||
background-position:right center;
|
||||
background-repeat:no-repeat;
|
||||
}
|
||||
|
||||
table.coverage thead td.up {
|
||||
background-image:url(up.gif);
|
||||
}
|
||||
|
||||
table.coverage thead td.down {
|
||||
background-image:url(down.gif);
|
||||
}
|
||||
|
||||
table.coverage tbody td {
|
||||
white-space:nowrap;
|
||||
padding:2px 6px 2px 6px;
|
||||
border-bottom:#d6d3ce 1px solid;
|
||||
}
|
||||
|
||||
table.coverage tbody tr:hover {
|
||||
background: #f0f0d0 !important;
|
||||
}
|
||||
|
||||
table.coverage tbody td.bar {
|
||||
border-left:#e8e8e8 1px solid;
|
||||
}
|
||||
|
||||
table.coverage tbody td.ctr1 {
|
||||
text-align:right;
|
||||
padding-right:14px;
|
||||
border-left:#e8e8e8 1px solid;
|
||||
}
|
||||
|
||||
table.coverage tbody td.ctr2 {
|
||||
text-align:right;
|
||||
padding-right:14px;
|
||||
padding-left:2px;
|
||||
}
|
||||
|
||||
table.coverage tfoot td {
|
||||
white-space:nowrap;
|
||||
padding:2px 6px 2px 6px;
|
||||
}
|
||||
|
||||
table.coverage tfoot td.bar {
|
||||
border-left:#e8e8e8 1px solid;
|
||||
}
|
||||
|
||||
table.coverage tfoot td.ctr1 {
|
||||
text-align:right;
|
||||
padding-right:14px;
|
||||
border-left:#e8e8e8 1px solid;
|
||||
}
|
||||
|
||||
table.coverage tfoot td.ctr2 {
|
||||
text-align:right;
|
||||
padding-right:14px;
|
||||
padding-left:2px;
|
||||
}
|
||||
|
||||
.footer {
|
||||
margin-top:20px;
|
||||
border-top:#d6d3ce 1px solid;
|
||||
padding-top:2px;
|
||||
font-size:8pt;
|
||||
color:#a0a0a0;
|
||||
}
|
||||
|
||||
.footer a {
|
||||
color:#a0a0a0;
|
||||
}
|
||||
|
||||
.right {
|
||||
float:right;
|
||||
}
|
||||
BIN
build/jacocoHtml/jacoco-resources/report.gif
Normal file
|
After Width: | Height: | Size: 363 B |
BIN
build/jacocoHtml/jacoco-resources/session.gif
Normal file
|
After Width: | Height: | Size: 213 B |
BIN
build/jacocoHtml/jacoco-resources/sort.gif
Normal file
|
After Width: | Height: | Size: 58 B |
148
build/jacocoHtml/jacoco-resources/sort.js
Normal file
@@ -0,0 +1,148 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2009, 2025 Mountainminds GmbH & Co. KG and Contributors
|
||||
* This program and the accompanying materials are made available under
|
||||
* the terms of the Eclipse Public License 2.0 which is available at
|
||||
* http://www.eclipse.org/legal/epl-2.0
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*
|
||||
* Contributors:
|
||||
* Marc R. Hoffmann - initial API and implementation
|
||||
*
|
||||
*******************************************************************************/
|
||||
|
||||
(function () {
|
||||
|
||||
/**
|
||||
* Sets the initial sorting derived from the hash.
|
||||
*
|
||||
* @param linkelementids
|
||||
* list of element ids to search for links to add sort inidcator
|
||||
* hash links
|
||||
*/
|
||||
function initialSort(linkelementids) {
|
||||
window.linkelementids = linkelementids;
|
||||
var hash = window.location.hash;
|
||||
if (hash) {
|
||||
var m = hash.match(/up-./);
|
||||
if (m) {
|
||||
var header = window.document.getElementById(m[0].charAt(3));
|
||||
if (header) {
|
||||
sortColumn(header, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
var m = hash.match(/dn-./);
|
||||
if (m) {
|
||||
var header = window.document.getElementById(m[0].charAt(3));
|
||||
if (header) {
|
||||
sortColumn(header, false);
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sorts the columns with the given header dependening on the current sort state.
|
||||
*/
|
||||
function toggleSort(header) {
|
||||
var sortup = header.className.indexOf('down ') == 0;
|
||||
sortColumn(header, sortup);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sorts the columns with the given header in the given direction.
|
||||
*/
|
||||
function sortColumn(header, sortup) {
|
||||
var table = header.parentNode.parentNode.parentNode;
|
||||
var body = table.tBodies[0];
|
||||
var colidx = getNodePosition(header);
|
||||
|
||||
resetSortedStyle(table);
|
||||
|
||||
var rows = body.rows;
|
||||
var sortedrows = [];
|
||||
for (var i = 0; i < rows.length; i++) {
|
||||
r = rows[i];
|
||||
sortedrows[parseInt(r.childNodes[colidx].id.slice(1))] = r;
|
||||
}
|
||||
|
||||
var hash;
|
||||
|
||||
if (sortup) {
|
||||
for (var i = sortedrows.length - 1; i >= 0; i--) {
|
||||
body.appendChild(sortedrows[i]);
|
||||
}
|
||||
header.className = 'up ' + header.className;
|
||||
hash = 'up-' + header.id;
|
||||
} else {
|
||||
for (var i = 0; i < sortedrows.length; i++) {
|
||||
body.appendChild(sortedrows[i]);
|
||||
}
|
||||
header.className = 'down ' + header.className;
|
||||
hash = 'dn-' + header.id;
|
||||
}
|
||||
|
||||
setHash(hash);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the sort indicator as a hash to the document URL and all links.
|
||||
*/
|
||||
function setHash(hash) {
|
||||
window.document.location.hash = hash;
|
||||
ids = window.linkelementids;
|
||||
for (var i = 0; i < ids.length; i++) {
|
||||
setHashOnAllLinks(document.getElementById(ids[i]), hash);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Extend all links within the given tag with the given hash.
|
||||
*/
|
||||
function setHashOnAllLinks(tag, hash) {
|
||||
links = tag.getElementsByTagName("a");
|
||||
for (var i = 0; i < links.length; i++) {
|
||||
var a = links[i];
|
||||
var href = a.href;
|
||||
var hashpos = href.indexOf("#");
|
||||
if (hashpos != -1) {
|
||||
href = href.substring(0, hashpos);
|
||||
}
|
||||
a.href = href + "#" + hash;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculates the position of a element within its parent.
|
||||
*/
|
||||
function getNodePosition(element) {
|
||||
var pos = -1;
|
||||
while (element) {
|
||||
element = element.previousSibling;
|
||||
pos++;
|
||||
}
|
||||
return pos;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the sorting indicator style from all headers.
|
||||
*/
|
||||
function resetSortedStyle(table) {
|
||||
for (var c = table.tHead.firstChild.firstChild; c; c = c.nextSibling) {
|
||||
if (c.className) {
|
||||
if (c.className.indexOf('down ') == 0) {
|
||||
c.className = c.className.slice(5);
|
||||
}
|
||||
if (c.className.indexOf('up ') == 0) {
|
||||
c.className = c.className.slice(3);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
window['initialSort'] = initialSort;
|
||||
window['toggleSort'] = toggleSort;
|
||||
|
||||
})();
|
||||
BIN
build/jacocoHtml/jacoco-resources/source.gif
Normal file
|
After Width: | Height: | Size: 354 B |
BIN
build/jacocoHtml/jacoco-resources/up.gif
Normal file
|
After Width: | Height: | Size: 67 B |
1
build/jacocoHtml/jacoco-sessions.html
Normal file
@@ -650,7 +650,7 @@ code + .copy-button {
|
||||
<script type="text/javascript">
|
||||
function configurationCacheProblems() { return (
|
||||
// begin-report-data
|
||||
{"diagnostics":[{"locations":[{}],"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.14/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('exceptionFormat = <value>') instead."}]]}],"problemsReport":{"totalProblemCount":1,"buildName":"Template","requestedTasks":"","documentationLink":"https://docs.gradle.org/8.14/userguide/reporting_problems.html","documentationLinkCaption":"Problem report","summaries":[]}}
|
||||
{"diagnostics":[{"locations":[{}],"problem":[{"text":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10.0."}],"contextualLabel":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated.","documentationLink":"https://docs.gradle.org/8.14/userguide/upgrading_version_8.html#groovy_space_assignment_syntax","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"properties-should-be-assigned-using-the-propname-value-syntax-setting-a-property-via-the-gradle-generated-propname-value-or-propname-value-syntax-in-groovy-dsl","displayName":"Properties should be assigned using the 'propName = value' syntax. Setting a property via the Gradle-generated 'propName value' or 'propName(value)' syntax in Groovy DSL has been deprecated."}],"solutions":[[{"text":"Use assignment ('exceptionFormat = <value>') instead."}]]}],"problemsReport":{"totalProblemCount":1,"buildName":"Template","requestedTasks":"jacocoTestReport","documentationLink":"https://docs.gradle.org/8.14/userguide/reporting_problems.html","documentationLinkCaption":"Problem report","summaries":[]}}
|
||||
// end-report-data
|
||||
);}
|
||||
</script>
|
||||
|
||||
@@ -1,192 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
|
||||
<title>Test results - Class Gradle Test Executor 1</title>
|
||||
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
|
||||
<script src="../js/report.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<h1>Class Gradle Test Executor 1</h1>
|
||||
<div class="breadcrumbs">
|
||||
<a href="../index.html">all</a> >
|
||||
<a href="../packages/default-package.html">default-package</a> > Gradle Test Executor 1</div>
|
||||
<div id="summary">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="summaryGroup">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="infoBox" id="tests">
|
||||
<div class="counter">1</div>
|
||||
<p>tests</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox" id="failures">
|
||||
<div class="counter">1</div>
|
||||
<p>failures</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox" id="ignored">
|
||||
<div class="counter">0</div>
|
||||
<p>ignored</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox" id="duration">
|
||||
<div class="counter">0.293s</div>
|
||||
<p>duration</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox failures" id="successRate">
|
||||
<div class="percent">0%</div>
|
||||
<p>successful</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a href="#">Failed tests</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">Tests</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>Failed tests</h2>
|
||||
<div class="test">
|
||||
<a name="failed to execute tests"></a>
|
||||
<h3 class="failures">failed to execute tests</h3>
|
||||
<span class="code">
|
||||
<pre id="test-message-failed to execute tests">org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not execute test class 'java.BadCasesTest'.
|
||||
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:56)
|
||||
at java.base@17.0.12/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||
at java.base@17.0.12/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
|
||||
at java.base@17.0.12/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||
at java.base@17.0.12/java.lang.reflect.Method.invoke(Method.java:568)
|
||||
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
|
||||
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
|
||||
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
|
||||
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:92)
|
||||
at jdk.proxy2/jdk.proxy2.$Proxy6.processTestClass(Unknown Source)
|
||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:177)
|
||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126)
|
||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103)
|
||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63)
|
||||
at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
|
||||
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122)
|
||||
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72)
|
||||
at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
|
||||
at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
|
||||
Caused by: java.lang.SecurityException: Prohibited package name: java
|
||||
at java.base/java.lang.ClassLoader.preDefineClass(ClassLoader.java:900)
|
||||
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1015)
|
||||
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
|
||||
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
|
||||
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
|
||||
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
|
||||
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
|
||||
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
|
||||
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
|
||||
at java.base/java.lang.Class.forName0(Native Method)
|
||||
at java.base/java.lang.Class.forName(Class.java:467)
|
||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.loadClass(JUnitPlatformTestClassProcessor.java:184)
|
||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.access$100(JUnitPlatformTestClassProcessor.java:62)
|
||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:120)
|
||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:110)
|
||||
at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:61)
|
||||
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:54)
|
||||
... 18 more
|
||||
</pre>
|
||||
<button class="clipboard-copy-btn" aria-label="Copy to clipboard" data-copy-element-id="test-message-failed to execute tests">Copy</button>
|
||||
</span>
|
||||
<span class="code">
|
||||
<pre id="test-message-failed to execute tests">org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not execute test class 'java.GoodCasesTest'.
|
||||
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:56)
|
||||
at java.base@17.0.12/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||
at java.base@17.0.12/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
|
||||
at java.base@17.0.12/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||
at java.base@17.0.12/java.lang.reflect.Method.invoke(Method.java:568)
|
||||
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
|
||||
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
|
||||
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
|
||||
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:92)
|
||||
at jdk.proxy2/jdk.proxy2.$Proxy6.processTestClass(Unknown Source)
|
||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:177)
|
||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126)
|
||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103)
|
||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63)
|
||||
at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
|
||||
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122)
|
||||
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72)
|
||||
at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
|
||||
at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
|
||||
Caused by: java.lang.SecurityException: Prohibited package name: java
|
||||
at java.base/java.lang.ClassLoader.preDefineClass(ClassLoader.java:900)
|
||||
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1015)
|
||||
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
|
||||
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
|
||||
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
|
||||
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
|
||||
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
|
||||
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
|
||||
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
|
||||
at java.base/java.lang.Class.forName0(Native Method)
|
||||
at java.base/java.lang.Class.forName(Class.java:467)
|
||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.loadClass(JUnitPlatformTestClassProcessor.java:184)
|
||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.access$100(JUnitPlatformTestClassProcessor.java:62)
|
||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:120)
|
||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:110)
|
||||
at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:61)
|
||||
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:54)
|
||||
... 18 more
|
||||
</pre>
|
||||
<button class="clipboard-copy-btn" aria-label="Copy to clipboard" data-copy-element-id="test-message-failed to execute tests">Copy</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab">
|
||||
<h2>Tests</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Test</th>
|
||||
<th>Duration</th>
|
||||
<th>Result</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr>
|
||||
<td class="failures">failed to execute tests</td>
|
||||
<td class="failures">0.293s</td>
|
||||
<td class="failures">failed</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<p>
|
||||
<div>
|
||||
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
|
||||
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
|
||||
</label>
|
||||
</div>Generated by
|
||||
<a href="https://www.gradle.org">Gradle 9.1.0</a> at 03.12.2025, 16:01:59</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,128 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
|
||||
<title>Test results - BadCasesTest</title>
|
||||
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
|
||||
<script src="../js/report.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<h1>BadCasesTest</h1>
|
||||
<div class="breadcrumbs">
|
||||
<a href="../index.html">all</a> >
|
||||
<a href="../packages/hhn.temp.project.html">hhn.temp.project</a> > BadCasesTest</div>
|
||||
<div id="summary">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="summaryGroup">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="infoBox" id="tests">
|
||||
<div class="counter">6</div>
|
||||
<p>tests</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox" id="failures">
|
||||
<div class="counter">0</div>
|
||||
<p>failures</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox" id="ignored">
|
||||
<div class="counter">0</div>
|
||||
<p>ignored</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox" id="duration">
|
||||
<div class="counter">0.057s</div>
|
||||
<p>duration</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox success" id="successRate">
|
||||
<div class="percent">100%</div>
|
||||
<p>successful</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a href="#">Tests</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>Tests</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Test</th>
|
||||
<th>Method name</th>
|
||||
<th>Duration</th>
|
||||
<th>Result</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr>
|
||||
<td class="success">Assert Add Task is programmed defensively</td>
|
||||
<td class="success">assertAddTaskOnlyAcceptsValidParameters()</td>
|
||||
<td class="success">0.002s</td>
|
||||
<td class="success">passed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">Assert only existing tasks can be edited</td>
|
||||
<td class="success">assertEditOnlyExistingTasks()</td>
|
||||
<td class="success">0.002s</td>
|
||||
<td class="success">passed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">Assert List isn't empty after adding a task</td>
|
||||
<td class="success">assertListNowEmptyAfterAdd()</td>
|
||||
<td class="success">0.046s</td>
|
||||
<td class="success">passed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">Assert that added tasks can't be Null</td>
|
||||
<td class="success">assertNewTasksAreNotNull()</td>
|
||||
<td class="success">0.002s</td>
|
||||
<td class="success">passed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">Assert that Remove Task is programmed defensively</td>
|
||||
<td class="success">assertRemoveTaskOnlyAcceptsValidParameters()</td>
|
||||
<td class="success">0.003s</td>
|
||||
<td class="success">passed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">Assert that un-/finishing a Task only works with valid parameters</td>
|
||||
<td class="success">assertTaskStateChangesOnlyAcceptsValidParameters()</td>
|
||||
<td class="success">0.002s</td>
|
||||
<td class="success">passed</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<p>
|
||||
<div>
|
||||
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
|
||||
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
|
||||
</label>
|
||||
</div>Generated by
|
||||
<a href="https://www.gradle.org">Gradle 8.14</a> at 03.12.2025, 19:35:34</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,134 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
|
||||
<title>Test results - GoodCasesTest</title>
|
||||
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
|
||||
<script src="../js/report.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<h1>GoodCasesTest</h1>
|
||||
<div class="breadcrumbs">
|
||||
<a href="../index.html">all</a> >
|
||||
<a href="../packages/hhn.temp.project.html">hhn.temp.project</a> > GoodCasesTest</div>
|
||||
<div id="summary">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="summaryGroup">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="infoBox" id="tests">
|
||||
<div class="counter">7</div>
|
||||
<p>tests</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox" id="failures">
|
||||
<div class="counter">0</div>
|
||||
<p>failures</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox" id="ignored">
|
||||
<div class="counter">0</div>
|
||||
<p>ignored</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox" id="duration">
|
||||
<div class="counter">0.007s</div>
|
||||
<p>duration</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox success" id="successRate">
|
||||
<div class="percent">100%</div>
|
||||
<p>successful</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a href="#">Tests</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>Tests</h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Test</th>
|
||||
<th>Method name</th>
|
||||
<th>Duration</th>
|
||||
<th>Result</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr>
|
||||
<td class="success">Assert deleted Tasks no longer show up in the List</td>
|
||||
<td class="success">assertDeletedTasksDisappear()</td>
|
||||
<td class="success">0s</td>
|
||||
<td class="success">passed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">Assert existing Tasks can be edited</td>
|
||||
<td class="success">assertExistingTasksCanBeEdited()</td>
|
||||
<td class="success">0s</td>
|
||||
<td class="success">passed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">Check Getters</td>
|
||||
<td class="success">assertGettersWorkCorrectly()</td>
|
||||
<td class="success">0.003s</td>
|
||||
<td class="success">passed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">Assert that Task State is actually changed when submitted as finished</td>
|
||||
<td class="success">assertTaskStateChanges()</td>
|
||||
<td class="success">0.002s</td>
|
||||
<td class="success">passed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">Assert that added Tasks are added to the List</td>
|
||||
<td class="success">assertTasksShowInList()</td>
|
||||
<td class="success">0.001s</td>
|
||||
<td class="success">passed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">Assert that a Worker can add a Task</td>
|
||||
<td class="success">assertWorkerCanAddTask()</td>
|
||||
<td class="success">0.001s</td>
|
||||
<td class="success">passed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">Assert that Worker can remove Task</td>
|
||||
<td class="success">assertWorkerCanRemoveOwnTask()</td>
|
||||
<td class="success">0s</td>
|
||||
<td class="success">passed</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<p>
|
||||
<div>
|
||||
<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
|
||||
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
|
||||
</label>
|
||||
</div>Generated by
|
||||
<a href="https://www.gradle.org">Gradle 8.14</a> at 03.12.2025, 19:35:34</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -82,16 +82,3 @@ ul.linkList li {
|
||||
list-style: none;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.code {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.clipboard-copy-btn {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
right: 8px;
|
||||
padding: 4px 8px;
|
||||
font-size: 0.9em;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@@ -20,13 +20,13 @@
|
||||
<tr>
|
||||
<td>
|
||||
<div class="infoBox" id="tests">
|
||||
<div class="counter">1</div>
|
||||
<div class="counter">13</div>
|
||||
<p>tests</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox" id="failures">
|
||||
<div class="counter">1</div>
|
||||
<div class="counter">0</div>
|
||||
<p>failures</p>
|
||||
</div>
|
||||
</td>
|
||||
@@ -38,7 +38,7 @@
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox" id="duration">
|
||||
<div class="counter">0.293s</div>
|
||||
<div class="counter">0.064s</div>
|
||||
<p>duration</p>
|
||||
</div>
|
||||
</td>
|
||||
@@ -47,8 +47,8 @@
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox failures" id="successRate">
|
||||
<div class="percent">0%</div>
|
||||
<div class="infoBox success" id="successRate">
|
||||
<div class="percent">100%</div>
|
||||
<p>successful</p>
|
||||
</div>
|
||||
</td>
|
||||
@@ -58,9 +58,6 @@
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a href="#">Failed tests</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">Packages</a>
|
||||
</li>
|
||||
<li>
|
||||
@@ -68,15 +65,6 @@
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>Failed tests</h2>
|
||||
<ul class="linkList">
|
||||
<li>
|
||||
<a href="classes/Gradle%2320Test%2320Executor%23201.html">Gradle Test Executor 1</a>.
|
||||
<a href="classes/Gradle%2320Test%2320Executor%23201.html#failed to execute tests">failed to execute tests</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tab">
|
||||
<h2>Packages</h2>
|
||||
<table>
|
||||
<thead>
|
||||
@@ -91,14 +79,14 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="failures">
|
||||
<a href="packages/default-package.html">default-package</a>
|
||||
<td class="success">
|
||||
<a href="packages/hhn.temp.project.html">hhn.temp.project</a>
|
||||
</td>
|
||||
<td>1</td>
|
||||
<td>1</td>
|
||||
<td>13</td>
|
||||
<td>0</td>
|
||||
<td>0.293s</td>
|
||||
<td class="failures">0%</td>
|
||||
<td>0</td>
|
||||
<td>0.064s</td>
|
||||
<td class="success">100%</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -118,14 +106,24 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="failures">
|
||||
<a href="classes/Gradle%2320Test%2320Executor%23201.html">Gradle Test Executor 1</a>
|
||||
<td class="success">
|
||||
<a href="classes/hhn.temp.project.BadCasesTest.html">hhn.temp.project.BadCasesTest</a>
|
||||
</td>
|
||||
<td>1</td>
|
||||
<td>1</td>
|
||||
<td>6</td>
|
||||
<td>0</td>
|
||||
<td>0.293s</td>
|
||||
<td class="failures">0%</td>
|
||||
<td>0</td>
|
||||
<td>0.057s</td>
|
||||
<td class="success">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">
|
||||
<a href="classes/hhn.temp.project.GoodCasesTest.html">hhn.temp.project.GoodCasesTest</a>
|
||||
</td>
|
||||
<td>7</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td>0.007s</td>
|
||||
<td class="success">100%</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -138,7 +136,7 @@
|
||||
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
|
||||
</label>
|
||||
</div>Generated by
|
||||
<a href="https://www.gradle.org">Gradle 9.1.0</a> at 03.12.2025, 16:01:59</p>
|
||||
<a href="https://www.gradle.org">Gradle 8.14</a> at 03.12.2025, 19:35:34</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -65,29 +65,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
function initClipboardCopyButton() {
|
||||
document.querySelectorAll(".clipboard-copy-btn").forEach((button) => {
|
||||
const copyElementId = button.getAttribute("data-copy-element-id");
|
||||
const elementWithCodeToSelect = document.getElementById(copyElementId);
|
||||
|
||||
button.addEventListener("click", () => {
|
||||
const text = elementWithCodeToSelect.innerText.trim();
|
||||
navigator.clipboard
|
||||
.writeText(text)
|
||||
.then(() => {
|
||||
button.textContent = "Copied!";
|
||||
setTimeout(() => {
|
||||
button.textContent = "Copy";
|
||||
}, 1500);
|
||||
})
|
||||
.catch((err) => {
|
||||
alert("Failed to copy to the clipboard: '" + err.message + "'. Check JavaScript console for more details.")
|
||||
console.warn("Failed to copy to the clipboard", err);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function initControls() {
|
||||
if (findCodeBlocks().length > 0) {
|
||||
const checkBox = getCheckBox();
|
||||
@@ -98,8 +75,6 @@
|
||||
|
||||
removeClass(label, "hidden");
|
||||
}
|
||||
|
||||
initClipboardCopyButton()
|
||||
}
|
||||
|
||||
class TabManager {
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
|
||||
<title>Test results - Default package</title>
|
||||
<title>Test results - Package hhn.temp.project</title>
|
||||
<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="../css/style.css" rel="stylesheet" type="text/css"/>
|
||||
<script src="../js/report.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content">
|
||||
<h1>Default package</h1>
|
||||
<h1>Package hhn.temp.project</h1>
|
||||
<div class="breadcrumbs">
|
||||
<a href="../index.html">all</a> > default-package</div>
|
||||
<a href="../index.html">all</a> > hhn.temp.project</div>
|
||||
<div id="summary">
|
||||
<table>
|
||||
<tr>
|
||||
@@ -22,13 +22,13 @@
|
||||
<tr>
|
||||
<td>
|
||||
<div class="infoBox" id="tests">
|
||||
<div class="counter">1</div>
|
||||
<div class="counter">13</div>
|
||||
<p>tests</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox" id="failures">
|
||||
<div class="counter">1</div>
|
||||
<div class="counter">0</div>
|
||||
<p>failures</p>
|
||||
</div>
|
||||
</td>
|
||||
@@ -40,7 +40,7 @@
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox" id="duration">
|
||||
<div class="counter">0.293s</div>
|
||||
<div class="counter">0.064s</div>
|
||||
<p>duration</p>
|
||||
</div>
|
||||
</td>
|
||||
@@ -49,8 +49,8 @@
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="infoBox failures" id="successRate">
|
||||
<div class="percent">0%</div>
|
||||
<div class="infoBox success" id="successRate">
|
||||
<div class="percent">100%</div>
|
||||
<p>successful</p>
|
||||
</div>
|
||||
</td>
|
||||
@@ -60,22 +60,10 @@
|
||||
<div class="tab-container">
|
||||
<ul class="tabLinks">
|
||||
<li>
|
||||
<a href="#">Failed tests</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">Classes</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab">
|
||||
<h2>Failed tests</h2>
|
||||
<ul class="linkList">
|
||||
<li>
|
||||
<a href="../classes/Gradle%2320Test%2320Executor%23201.html">Gradle Test Executor 1</a>.
|
||||
<a href="../classes/Gradle%2320Test%2320Executor%23201.html#failed to execute tests">failed to execute tests</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tab">
|
||||
<h2>Classes</h2>
|
||||
<table>
|
||||
<thead>
|
||||
@@ -89,14 +77,24 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tr>
|
||||
<td class="failures">
|
||||
<a href="../classes/Gradle%2320Test%2320Executor%23201.html">Gradle Test Executor 1</a>
|
||||
<td class="success">
|
||||
<a href="../classes/hhn.temp.project.BadCasesTest.html">BadCasesTest</a>
|
||||
</td>
|
||||
<td>1</td>
|
||||
<td>1</td>
|
||||
<td>6</td>
|
||||
<td>0</td>
|
||||
<td>0.293s</td>
|
||||
<td class="failures">0%</td>
|
||||
<td>0</td>
|
||||
<td>0.057s</td>
|
||||
<td class="success">100%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="success">
|
||||
<a href="../classes/hhn.temp.project.GoodCasesTest.html">GoodCasesTest</a>
|
||||
</td>
|
||||
<td>7</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td>0.007s</td>
|
||||
<td class="success">100%</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
@@ -108,7 +106,7 @@
|
||||
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
|
||||
</label>
|
||||
</div>Generated by
|
||||
<a href="https://www.gradle.org">Gradle 9.1.0</a> at 03.12.2025, 16:01:59</p>
|
||||
<a href="https://www.gradle.org">Gradle 8.14</a> at 03.12.2025, 19:35:34</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
@@ -1,88 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<testsuite name="Gradle Test Executor 1" tests="1" skipped="0" failures="1" errors="0" timestamp="2025-12-03T15:01:58.682Z" hostname="FERRYRY" time="0.293">
|
||||
<properties/>
|
||||
<testcase name="failed to execute tests" classname="Gradle Test Executor 1" time="0.293">
|
||||
<failure message="org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not execute test class 'java.BadCasesTest'." type="org.gradle.api.internal.tasks.testing.TestSuiteExecutionException">org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not execute test class 'java.BadCasesTest'.
|
||||
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:56)
|
||||
at java.base@17.0.12/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||
at java.base@17.0.12/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
|
||||
at java.base@17.0.12/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||
at java.base@17.0.12/java.lang.reflect.Method.invoke(Method.java:568)
|
||||
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
|
||||
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
|
||||
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
|
||||
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:92)
|
||||
at jdk.proxy2/jdk.proxy2.$Proxy6.processTestClass(Unknown Source)
|
||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:177)
|
||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126)
|
||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103)
|
||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63)
|
||||
at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
|
||||
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122)
|
||||
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72)
|
||||
at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
|
||||
at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
|
||||
Caused by: java.lang.SecurityException: Prohibited package name: java
|
||||
at java.base/java.lang.ClassLoader.preDefineClass(ClassLoader.java:900)
|
||||
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1015)
|
||||
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
|
||||
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
|
||||
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
|
||||
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
|
||||
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
|
||||
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
|
||||
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
|
||||
at java.base/java.lang.Class.forName0(Native Method)
|
||||
at java.base/java.lang.Class.forName(Class.java:467)
|
||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.loadClass(JUnitPlatformTestClassProcessor.java:184)
|
||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.access$100(JUnitPlatformTestClassProcessor.java:62)
|
||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:120)
|
||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:110)
|
||||
at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:61)
|
||||
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:54)
|
||||
... 18 more
|
||||
</failure>
|
||||
<failure message="org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not execute test class 'java.GoodCasesTest'." type="org.gradle.api.internal.tasks.testing.TestSuiteExecutionException">org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not execute test class 'java.GoodCasesTest'.
|
||||
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:56)
|
||||
at java.base@17.0.12/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||
at java.base@17.0.12/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
|
||||
at java.base@17.0.12/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
|
||||
at java.base@17.0.12/java.lang.reflect.Method.invoke(Method.java:568)
|
||||
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
|
||||
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
|
||||
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
|
||||
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:92)
|
||||
at jdk.proxy2/jdk.proxy2.$Proxy6.processTestClass(Unknown Source)
|
||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:177)
|
||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:126)
|
||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103)
|
||||
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63)
|
||||
at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
|
||||
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122)
|
||||
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72)
|
||||
at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
|
||||
at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
|
||||
Caused by: java.lang.SecurityException: Prohibited package name: java
|
||||
at java.base/java.lang.ClassLoader.preDefineClass(ClassLoader.java:900)
|
||||
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1015)
|
||||
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
|
||||
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
|
||||
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
|
||||
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
|
||||
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
|
||||
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
|
||||
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
|
||||
at java.base/java.lang.Class.forName0(Native Method)
|
||||
at java.base/java.lang.Class.forName(Class.java:467)
|
||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.loadClass(JUnitPlatformTestClassProcessor.java:184)
|
||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.access$100(JUnitPlatformTestClassProcessor.java:62)
|
||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:120)
|
||||
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.execute(JUnitPlatformTestClassProcessor.java:110)
|
||||
at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:61)
|
||||
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:54)
|
||||
... 18 more
|
||||
</failure>
|
||||
</testcase>
|
||||
<system-out><![CDATA[]]></system-out>
|
||||
<system-err><![CDATA[]]></system-err>
|
||||
</testsuite>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<testsuite name="hhn.temp.project.BadCasesTest" tests="6" skipped="0" failures="0" errors="0" timestamp="2025-12-03T18:35:34.515Z" hostname="KEVIN-THINKPAD" time="0.067">
|
||||
<properties/>
|
||||
<testcase name="Assert List isn't empty after adding a task" classname="hhn.temp.project.BadCasesTest" time="0.046"/>
|
||||
<testcase name="Assert that Remove Task is programmed defensively" classname="hhn.temp.project.BadCasesTest" time="0.003"/>
|
||||
<testcase name="Assert Add Task is programmed defensively" classname="hhn.temp.project.BadCasesTest" time="0.002"/>
|
||||
<testcase name="Assert only existing tasks can be edited" classname="hhn.temp.project.BadCasesTest" time="0.002"/>
|
||||
<testcase name="Assert that un-/finishing a Task only works with valid parameters" classname="hhn.temp.project.BadCasesTest" time="0.002"/>
|
||||
<testcase name="Assert that added tasks can't be Null" classname="hhn.temp.project.BadCasesTest" time="0.002"/>
|
||||
<system-out><![CDATA[]]></system-out>
|
||||
<system-err><![CDATA[]]></system-err>
|
||||
</testsuite>
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<testsuite name="hhn.temp.project.GoodCasesTest" tests="7" skipped="0" failures="0" errors="0" timestamp="2025-12-03T18:35:34.587Z" hostname="KEVIN-THINKPAD" time="0.013">
|
||||
<properties/>
|
||||
<testcase name="Check Getters" classname="hhn.temp.project.GoodCasesTest" time="0.003"/>
|
||||
<testcase name="Assert that added Tasks are added to the List" classname="hhn.temp.project.GoodCasesTest" time="0.001"/>
|
||||
<testcase name="Assert that Worker can remove Task" classname="hhn.temp.project.GoodCasesTest" time="0.0"/>
|
||||
<testcase name="Assert that a Worker can add a Task" classname="hhn.temp.project.GoodCasesTest" time="0.001"/>
|
||||
<testcase name="Assert existing Tasks can be edited" classname="hhn.temp.project.GoodCasesTest" time="0.0"/>
|
||||
<testcase name="Assert that Task State is actually changed when submitted as finished" classname="hhn.temp.project.GoodCasesTest" time="0.002"/>
|
||||
<testcase name="Assert deleted Tasks no longer show up in the List" classname="hhn.temp.project.GoodCasesTest" time="0.0"/>
|
||||
<system-out><![CDATA[]]></system-out>
|
||||
<system-err><![CDATA[]]></system-err>
|
||||
</testsuite>
|
||||
BIN
build/tmp/compileTestJava/previous-compilation-data.bin
Normal file
@@ -7,13 +7,15 @@ import java.util.Map;
|
||||
|
||||
public class AssignmentManager {
|
||||
Map<Integer, Worker> workerMap;
|
||||
List<Task> taskList;
|
||||
Map<Integer, Task> taskMap;
|
||||
int workerIdCounter;
|
||||
int taskIdCounter;
|
||||
|
||||
public AssignmentManager() {
|
||||
workerMap = new HashMap<>();
|
||||
taskList = new ArrayList<>();
|
||||
taskMap = new HashMap<>();
|
||||
int workerIdCounter = 1000;
|
||||
int taskIdCounter = 0;
|
||||
}
|
||||
|
||||
public int createWorker(String name) {
|
||||
@@ -22,18 +24,49 @@ public class AssignmentManager {
|
||||
return workerIdCounter;
|
||||
}
|
||||
public int addTask(int workerId, String name, String description) {
|
||||
return 0;
|
||||
if (!workerMap.containsKey(workerId) || name == null || description == null) {
|
||||
throw new IllegalArgumentException("WorkerId must exist and name or description can't be null");
|
||||
}
|
||||
Task task = new Task(++taskIdCounter, workerId, name, description, this);
|
||||
taskMap.put(taskIdCounter, task);
|
||||
return taskIdCounter;
|
||||
}
|
||||
public Task getTask(int taskId) {
|
||||
return null;
|
||||
if (!taskMap.containsKey(taskId)) {
|
||||
throw new IllegalArgumentException("Task Id does not exist");
|
||||
}
|
||||
return taskMap.get(taskId);
|
||||
}
|
||||
public ArrayList<Task> getTaskList() {
|
||||
return null;
|
||||
public Map<Integer, Task> getTaskMap() {
|
||||
return taskMap;
|
||||
}
|
||||
public void editTask(int workerId, int taskId, String name, String description) {
|
||||
|
||||
if (!workerMap.containsKey(workerId) || !taskMap.containsKey(taskId)) {
|
||||
throw new IllegalArgumentException("Task Id or Worker Id does not exist");
|
||||
}
|
||||
Task task = taskMap.get(taskId);
|
||||
task.setName(name);
|
||||
task.setDescription(description);
|
||||
}
|
||||
public void removeTask(int taskId) {
|
||||
|
||||
if (!taskMap.containsKey(taskId)) {
|
||||
throw new IllegalArgumentException("Task Id does not exist");
|
||||
}
|
||||
taskMap.remove(taskId);
|
||||
}
|
||||
public void finishTask(int workerId, int taskId) {
|
||||
if (!workerMap.containsKey(workerId) || !taskMap.containsKey(taskId)) {
|
||||
throw new IllegalArgumentException("Task Id or Worker Id does not exist");
|
||||
}
|
||||
Task task = taskMap.get(taskId);
|
||||
task.setTaskState(TaskState.FINISHED);
|
||||
}
|
||||
public void unfinishTask(int workerId, int taskId) {
|
||||
if (!workerMap.containsKey(workerId) || !taskMap.containsKey(taskId)) {
|
||||
throw new IllegalArgumentException("Task Id or Worker Id does not exist");
|
||||
}
|
||||
Task task = taskMap.get(taskId);
|
||||
task.setTaskState(TaskState.IN_PROGRESS);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -5,11 +5,15 @@ public class Task {
|
||||
String description;
|
||||
int taskId;
|
||||
int workerId;
|
||||
public Task(int taskId, int workerId, String name, String description) {
|
||||
AssignmentManager manager;
|
||||
TaskState state;
|
||||
public Task(int taskId, int workerId, String name, String description, AssignmentManager manager) {
|
||||
this.manager = manager;
|
||||
this.name = name;
|
||||
this.description = description;
|
||||
this.taskId = taskId;
|
||||
this.workerId = workerId;
|
||||
this.state = TaskState.IN_PROGRESS;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
@@ -30,5 +34,11 @@ public class Task {
|
||||
public int getWorkerId() {
|
||||
return workerId;
|
||||
}
|
||||
public void setTaskState(TaskState state) {
|
||||
this.state = state;
|
||||
}
|
||||
public TaskState getTaskState() {
|
||||
return state;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,8 +4,7 @@ import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public class BadCasesTest {
|
||||
AssignmentManager manager;
|
||||
@@ -19,20 +18,38 @@ public class BadCasesTest {
|
||||
@DisplayName("Assert that added tasks can't be Null")
|
||||
public void assertNewTasksAreNotNull() {
|
||||
int workerId = manager.createWorker("Alfred");
|
||||
assertThrows(manager.addTask(workerId, null, null) instanceof IllegalArgumentException);
|
||||
assertThrows(IllegalArgumentException.class, () -> manager.addTask(workerId, null, null));
|
||||
}
|
||||
@Test
|
||||
@DisplayName("Assert List isn't empty after adding a task")
|
||||
public void assertListNowEmptyAfterAdd() {
|
||||
int workerId = manager.createWorker("Alfred");
|
||||
int taskId = manager.addTask(workerId, "Run", "Jog 10 Miles");
|
||||
assertTrue(manager.getTaskList().size >= 1);
|
||||
assertFalse(manager.getTaskMap().isEmpty());
|
||||
}
|
||||
@Test
|
||||
@DisplayName("Assert only existing tasks can be edited")
|
||||
public void assertEditOnlyExistingTasks() {
|
||||
int workerId = manager.createWorker("Alfred");
|
||||
assertThrows(manager.editTask(workerId, 99969, "I", "am Illegal") instanceof IllegalArgumentException);
|
||||
assertThrows(IllegalArgumentException.class, () -> manager.editTask(workerId, 99969, "I", "am Illegal"));
|
||||
assertThrows(IllegalArgumentException.class, () -> manager.editTask(22200, 99969, "I", "am Illegal"));
|
||||
}
|
||||
@Test
|
||||
@DisplayName("Assert Add Task is programmed defensively")
|
||||
public void assertAddTaskOnlyAcceptsValidParameters() {
|
||||
int workerId = manager.createWorker("Alfred");
|
||||
assertThrows(IllegalArgumentException.class, () -> manager.addTask( 20203,"I", "am Illegal"));
|
||||
assertThrows(IllegalArgumentException.class, () -> manager.addTask( workerId,null, null));
|
||||
}
|
||||
@Test
|
||||
@DisplayName("Assert that Remove Task is programmed defensively")
|
||||
public void assertRemoveTaskOnlyAcceptsValidParameters() {
|
||||
assertThrows(IllegalArgumentException.class, () -> manager.removeTask(20320));
|
||||
}
|
||||
@Test
|
||||
@DisplayName("Assert that un-/finishing a Task only works with valid parameters")
|
||||
public void assertTaskStateChangesOnlyAcceptsValidParameters() {
|
||||
assertThrows(IllegalArgumentException.class, () -> manager.finishTask(20405, 21034));
|
||||
assertThrows(IllegalArgumentException.class, () -> manager.unfinishTask(20405, 21034));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -19,16 +19,16 @@ public class GoodCasesTest {
|
||||
int workerId = manager.createWorker("Alfred");
|
||||
int taskId = manager.addTask(workerId, "Run", "Jog 10 Miles");
|
||||
assertNotNull(manager.getTask(taskId));
|
||||
assertEquals(manager.getTask(taskId).getName(), "Run");
|
||||
assertEquals("Run", manager.getTask(taskId).getName());
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Assert that added Tasks are added to the List")
|
||||
public void assertTasksShowInList() {
|
||||
int sizeCount = manager.getTaskList().size();
|
||||
int sizeCount = manager.getTaskMap().size();
|
||||
int workerId = manager.createWorker("Alfred");
|
||||
int taskId = manager.addTask(workerId, "Run", "Jog 10 Miles");
|
||||
assertEquals(sizeCount + 1, manager.getTaskList().size);
|
||||
assertEquals(sizeCount + 1, manager.getTaskMap().size());
|
||||
}
|
||||
@Test
|
||||
@DisplayName("Assert existing Tasks can be edited")
|
||||
@@ -36,19 +36,19 @@ public class GoodCasesTest {
|
||||
int workerId = manager.createWorker("Alfred");
|
||||
int taskId = manager.addTask(workerId, "Run", "Jog 10 Miles");
|
||||
manager.editTask(workerId, taskId, "Walk", "Walk 3 Miles");
|
||||
assertEquals(manager.getTask(taskId).getName(), "Walk");
|
||||
assertEquals(manager.getTask(taskId).getDescription(), "Walk 3 Miles");
|
||||
assertEquals("Walk", manager.getTask(taskId).getName());
|
||||
assertEquals("Walk 3 Miles", manager.getTask(taskId).getDescription());
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Assert that Worker can remove Task")
|
||||
public void assertWorkerCanRemoveOwnTask() {
|
||||
int sizeCount = manager.getTaskList().size();
|
||||
int sizeCount = manager.getTaskMap().size();
|
||||
int workerId = manager.createWorker("Alfred");
|
||||
int taskId = manager.addTask(workerId, "Run", "Jog 10 Miles");
|
||||
assertEquals(sizeCount + 1, manager.getTaskList().size);
|
||||
assertEquals(sizeCount + 1, manager.getTaskMap().size());
|
||||
manager.removeTask(taskId);
|
||||
assertEquals(sizeCount - 1, manager.getTaskList().size);
|
||||
assertEquals(sizeCount, manager.getTaskMap().size());
|
||||
}
|
||||
@Test
|
||||
@DisplayName("Assert deleted Tasks no longer show up in the List")
|
||||
@@ -56,15 +56,29 @@ public class GoodCasesTest {
|
||||
int workerId = manager.createWorker("Alfred");
|
||||
int taskId = manager.addTask(workerId, "Run", "Jog 10 Miles");
|
||||
manager.removeTask(taskId);
|
||||
assertThrows(manager.getTask(taskId) instanceof IllegalArgumentException);
|
||||
assertThrows(IllegalArgumentException.class, () -> manager.getTask(taskId));
|
||||
}
|
||||
@Test
|
||||
@DisplayName("Check Getters")
|
||||
public void assertGettersWorkCorrectly() {
|
||||
int workerId = manager.createWorker("Alfred");
|
||||
assertEquals(manager.workerMap.get(workerId).getName(), "Alfred");
|
||||
int taskId = manager.addTask(workerId, "Run", "Jog 10 Miles");
|
||||
assertEquals("Alfred", manager.workerMap.get(workerId).getName());
|
||||
//This one may be somewhat nonsensical, but it ensures the getId works so one may iterate over the workerMap
|
||||
assertEquals(manager.workerMap.get(workerId).getId(), workerId);
|
||||
assertEquals(manager.getTask(taskId).getTaskId(), taskId);
|
||||
assertEquals(manager.getTask(taskId).getWorkerId(), workerId);
|
||||
|
||||
}
|
||||
@Test
|
||||
@DisplayName("Assert that Task State is actually changed when submitted as finished")
|
||||
public void assertTaskStateChanges() {
|
||||
int workerId = manager.createWorker("Alfred");
|
||||
int taskId = manager.addTask(workerId, "Run", "Jog 10 Miles");
|
||||
manager.finishTask(workerId, taskId);
|
||||
assertSame(TaskState.FINISHED, manager.getTask(taskId).getTaskState());
|
||||
manager.unfinishTask(workerId, taskId);
|
||||
assertSame(TaskState.IN_PROGRESS, manager.getTask(taskId).getTaskState());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||