mirror of
https://github.com/haraldk/TwelveMonkeys.git
synced 2026-05-20 00:00:03 -04:00
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c709fcafa9 | |||
| 4f6ed55218 | |||
| ae7e3d8c9b | |||
| 43ddc84986 | |||
| e682696fac | |||
| 5f190ea57d | |||
| 3ca37e4b8c | |||
| a30a032a9c | |||
| 77ebba4f7d | |||
| 456749ded8 | |||
| 47a26651b4 | |||
| 10183ef830 |
@@ -35,7 +35,7 @@ jobs:
|
|||||||
- name: Run Tests
|
- name: Run Tests
|
||||||
run: mvn --batch-mode --no-transfer-progress test
|
run: mvn --batch-mode --no-transfer-progress test
|
||||||
- name: Publish Test Report
|
- name: Publish Test Report
|
||||||
uses: mikepenz/action-junit-report@49b2ca06f62aa7ef83ae6769a2179271e160d8e4 # v5
|
uses: mikepenz/action-junit-report@bccf2e31636835cf0874589931c4116687171386 # v5
|
||||||
if: ${{ !cancelled() }}
|
if: ${{ !cancelled() }}
|
||||||
with:
|
with:
|
||||||
report_paths: "**/target/surefire-reports/TEST*.xml"
|
report_paths: "**/target/surefire-reports/TEST*.xml"
|
||||||
@@ -57,7 +57,7 @@ jobs:
|
|||||||
- name: Run Tests
|
- name: Run Tests
|
||||||
run: mvn --batch-mode --no-transfer-progress test
|
run: mvn --batch-mode --no-transfer-progress test
|
||||||
- name: Publish Test Report
|
- name: Publish Test Report
|
||||||
uses: mikepenz/action-junit-report@49b2ca06f62aa7ef83ae6769a2179271e160d8e4 # v5
|
uses: mikepenz/action-junit-report@bccf2e31636835cf0874589931c4116687171386 # v5
|
||||||
if: ${{ !cancelled() }}
|
if: ${{ !cancelled() }}
|
||||||
with:
|
with:
|
||||||
report_paths: "**/target/surefire-reports/TEST*.xml"
|
report_paths: "**/target/surefire-reports/TEST*.xml"
|
||||||
@@ -91,7 +91,7 @@ jobs:
|
|||||||
- name: Run Tests
|
- name: Run Tests
|
||||||
run: mvn --batch-mode --no-transfer-progress test
|
run: mvn --batch-mode --no-transfer-progress test
|
||||||
- name: Publish Test Report
|
- name: Publish Test Report
|
||||||
uses: mikepenz/action-junit-report@49b2ca06f62aa7ef83ae6769a2179271e160d8e4 # v5
|
uses: mikepenz/action-junit-report@bccf2e31636835cf0874589931c4116687171386 # v5
|
||||||
if: ${{ !cancelled() }}
|
if: ${{ !cancelled() }}
|
||||||
with:
|
with:
|
||||||
report_paths: "**/target/surefire-reports/TEST*.xml"
|
report_paths: "**/target/surefire-reports/TEST*.xml"
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ jobs:
|
|||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4.32.4
|
uses: github/codeql-action/init@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4.35.2
|
||||||
with:
|
with:
|
||||||
languages: ${{ matrix.language }}
|
languages: ${{ matrix.language }}
|
||||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||||
@@ -51,7 +51,7 @@ jobs:
|
|||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
|
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
# If this step fails, then you should remove it and run the build manually (see below)
|
||||||
- name: Autobuild
|
- name: Autobuild
|
||||||
uses: github/codeql-action/autobuild@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4.32.4
|
uses: github/codeql-action/autobuild@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4.35.2
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
||||||
@@ -64,6 +64,6 @@ jobs:
|
|||||||
# ./location_of_script_within_repo/buildscript.sh
|
# ./location_of_script_within_repo/buildscript.sh
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4.32.4
|
uses: github/codeql-action/analyze@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4.35.2
|
||||||
with:
|
with:
|
||||||
category: "/language:${{matrix.language}}"
|
category: "/language:${{matrix.language}}"
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ jobs:
|
|||||||
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
|
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
|
||||||
# format to the repository Actions tab.
|
# format to the repository Actions tab.
|
||||||
- name: "Upload artifact"
|
- name: "Upload artifact"
|
||||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
||||||
with:
|
with:
|
||||||
name: SARIF file
|
name: SARIF file
|
||||||
path: results.sarif
|
path: results.sarif
|
||||||
@@ -57,6 +57,6 @@ jobs:
|
|||||||
|
|
||||||
# Upload the results to GitHub's code scanning dashboard.
|
# Upload the results to GitHub's code scanning dashboard.
|
||||||
- name: "Upload to code-scanning"
|
- name: "Upload to code-scanning"
|
||||||
uses: github/codeql-action/upload-sarif@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4.32.4
|
uses: github/codeql-action/upload-sarif@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4.35.2
|
||||||
with:
|
with:
|
||||||
sarif_file: results.sarif
|
sarif_file: results.sarif
|
||||||
|
|||||||
@@ -284,20 +284,6 @@ abstract class AbstractDecoratedMap<K, V> extends AbstractMap<K, V> implements M
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
// NOTE: Extra cautions is taken, to only remove the entry if it
|
|
||||||
// equals the entry in the map
|
|
||||||
Object key = ((Entry) o).getKey();
|
|
||||||
Entry entry = (Entry) entries.get(key);
|
|
||||||
|
|
||||||
// Same entry?
|
|
||||||
if (entry != null && entry.equals(o)) {
|
|
||||||
return AbstractWrappedMap.this.remove(key) != null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
*/
|
|
||||||
|
|
||||||
//noinspection unchecked
|
//noinspection unchecked
|
||||||
return AbstractDecoratedMap.this.removeEntry((Entry) o) != null;
|
return AbstractDecoratedMap.this.removeEntry((Entry) o) != null;
|
||||||
}
|
}
|
||||||
@@ -322,7 +308,7 @@ abstract class AbstractDecoratedMap<K, V> extends AbstractMap<K, V> implements M
|
|||||||
return containsKey(o);
|
return containsKey(o);
|
||||||
}
|
}
|
||||||
public boolean remove(Object o) {
|
public boolean remove(Object o) {
|
||||||
return AbstractDecoratedMap.this.remove(o) != null;
|
return AbstractDecoratedMap.this.removeEntry(getEntry((K) o)) != null;
|
||||||
}
|
}
|
||||||
public void clear() {
|
public void clear() {
|
||||||
AbstractDecoratedMap.this.clear();
|
AbstractDecoratedMap.this.clear();
|
||||||
|
|||||||
@@ -137,43 +137,43 @@ public final class BeanMap extends AbstractMap<String, Object> implements Serial
|
|||||||
}
|
}
|
||||||
|
|
||||||
private class BeanIterator implements Iterator<Entry<String, Object>> {
|
private class BeanIterator implements Iterator<Entry<String, Object>> {
|
||||||
private final Iterator<PropertyDescriptor> mIterator;
|
private final Iterator<PropertyDescriptor> iterator;
|
||||||
|
|
||||||
public BeanIterator(final Iterator<PropertyDescriptor> pIterator) {
|
public BeanIterator(final Iterator<PropertyDescriptor> pIterator) {
|
||||||
mIterator = pIterator;
|
iterator = pIterator;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasNext() {
|
public boolean hasNext() {
|
||||||
return mIterator.hasNext();
|
return iterator.hasNext();
|
||||||
}
|
}
|
||||||
|
|
||||||
public BeanEntry next() {
|
public BeanEntry next() {
|
||||||
return new BeanEntry(mIterator.next());
|
return new BeanEntry(iterator.next());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void remove() {
|
public void remove() {
|
||||||
mIterator.remove();
|
iterator.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class BeanEntry implements Entry<String, Object> {
|
private class BeanEntry implements Entry<String, Object> {
|
||||||
private final PropertyDescriptor mDescriptor;
|
private final PropertyDescriptor descriptor;
|
||||||
|
|
||||||
public BeanEntry(final PropertyDescriptor pDescriptor) {
|
public BeanEntry(final PropertyDescriptor pDescriptor) {
|
||||||
this.mDescriptor = pDescriptor;
|
this.descriptor = pDescriptor;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getKey() {
|
public String getKey() {
|
||||||
return mDescriptor.getName();
|
return descriptor.getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object getValue() {
|
public Object getValue() {
|
||||||
return unwrap(new Wrapped() {
|
return unwrap(new Wrapped() {
|
||||||
public Object run() throws IllegalAccessException, InvocationTargetException {
|
public Object run() throws IllegalAccessException, InvocationTargetException {
|
||||||
final Method method = mDescriptor.getReadMethod();
|
final Method method = descriptor.getReadMethod();
|
||||||
// A write-only bean.
|
// A write-only bean.
|
||||||
if (method == null) {
|
if (method == null) {
|
||||||
throw new UnsupportedOperationException("No getter: " + mDescriptor.getName());
|
throw new UnsupportedOperationException("No getter: " + descriptor.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
return method.invoke(bean);
|
return method.invoke(bean);
|
||||||
@@ -184,10 +184,10 @@ public final class BeanMap extends AbstractMap<String, Object> implements Serial
|
|||||||
public Object setValue(final Object pValue) {
|
public Object setValue(final Object pValue) {
|
||||||
return unwrap(new Wrapped() {
|
return unwrap(new Wrapped() {
|
||||||
public Object run() throws IllegalAccessException, InvocationTargetException {
|
public Object run() throws IllegalAccessException, InvocationTargetException {
|
||||||
final Method method = mDescriptor.getWriteMethod();
|
final Method method = descriptor.getWriteMethod();
|
||||||
// A read-only bean.
|
// A read-only bean.
|
||||||
if (method == null) {
|
if (method == null) {
|
||||||
throw new UnsupportedOperationException("No write method for property: " + mDescriptor.getName());
|
throw new UnsupportedOperationException("No write method for property: " + descriptor.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
final Object old = getValue();
|
final Object old = getValue();
|
||||||
|
|||||||
@@ -71,7 +71,6 @@ public abstract class ObjectAbstractTest {
|
|||||||
// TODO: What more can we test?
|
// TODO: What more can we test?
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: assert that either BOTH or NONE of equals/hashcode is overridden
|
|
||||||
@Test
|
@Test
|
||||||
public void testEqualsHashCode(){
|
public void testEqualsHashCode(){
|
||||||
Object obj = makeObject();
|
Object obj = makeObject();
|
||||||
@@ -328,5 +327,4 @@ public abstract class ObjectAbstractTest {
|
|||||||
return new Cloneable() {};
|
return new Cloneable() {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,8 @@
|
|||||||
|
|
||||||
package com.twelvemonkeys.util;
|
package com.twelvemonkeys.util;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Nested;
|
||||||
|
|
||||||
import java.beans.IntrospectionException;
|
import java.beans.IntrospectionException;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -172,4 +174,16 @@ public class BeanMapTest extends MapAbstractTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static class NullBean implements Serializable { }
|
static class NullBean implements Serializable { }
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
public class TestBeanMapEntrySet extends TestMapEntrySet {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
public class TestBeanMapKeySet extends TestMapKeySet {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
public class TestBeanMapValues extends TestMapValues {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+16
-17
@@ -436,24 +436,24 @@ public abstract class CollectionAbstractTest extends ObjectAbstractTest {
|
|||||||
*/
|
*/
|
||||||
public Object[] getFullNonNullElements() {
|
public Object[] getFullNonNullElements() {
|
||||||
return new Object[] {
|
return new Object[] {
|
||||||
new String(""),
|
"",
|
||||||
new String("One"),
|
|
||||||
new Integer(2),
|
|
||||||
"Three",
|
|
||||||
new Integer(4),
|
|
||||||
"One",
|
"One",
|
||||||
new Double(5),
|
2,
|
||||||
new Float(6),
|
"Three",
|
||||||
|
4,
|
||||||
|
"One",
|
||||||
|
5.0,
|
||||||
|
6F,
|
||||||
"Seven",
|
"Seven",
|
||||||
"Eight",
|
"Eight",
|
||||||
new String("Nine"),
|
"Nine",
|
||||||
new Integer(10),
|
10,
|
||||||
new Short((short)11),
|
(short) 11,
|
||||||
new Long(12),
|
12L,
|
||||||
"Thirteen",
|
"Thirteen",
|
||||||
"14",
|
"14",
|
||||||
"15",
|
"15",
|
||||||
new Byte((byte)16)
|
(byte) 16
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1149,7 +1149,7 @@ public abstract class CollectionAbstractTest extends ObjectAbstractTest {
|
|||||||
public void testUnsupportedRemove() {
|
public void testUnsupportedRemove() {
|
||||||
if (isRemoveSupported()) return;
|
if (isRemoveSupported()) return;
|
||||||
|
|
||||||
resetEmpty();
|
resetFull();
|
||||||
try {
|
try {
|
||||||
collection.clear();
|
collection.clear();
|
||||||
fail("clear should raise UnsupportedOperationException");
|
fail("clear should raise UnsupportedOperationException");
|
||||||
@@ -1159,7 +1159,7 @@ public abstract class CollectionAbstractTest extends ObjectAbstractTest {
|
|||||||
verifyAll();
|
verifyAll();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
collection.remove(null);
|
collection.remove(getFullElements()[0]);
|
||||||
fail("remove should raise UnsupportedOperationException");
|
fail("remove should raise UnsupportedOperationException");
|
||||||
} catch (UnsupportedOperationException e) {
|
} catch (UnsupportedOperationException e) {
|
||||||
// expected
|
// expected
|
||||||
@@ -1167,7 +1167,7 @@ public abstract class CollectionAbstractTest extends ObjectAbstractTest {
|
|||||||
verifyAll();
|
verifyAll();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
collection.removeAll(null);
|
collection.removeAll(Arrays.asList(getFullElements()));
|
||||||
fail("removeAll should raise UnsupportedOperationException");
|
fail("removeAll should raise UnsupportedOperationException");
|
||||||
} catch (UnsupportedOperationException e) {
|
} catch (UnsupportedOperationException e) {
|
||||||
// expected
|
// expected
|
||||||
@@ -1175,7 +1175,7 @@ public abstract class CollectionAbstractTest extends ObjectAbstractTest {
|
|||||||
verifyAll();
|
verifyAll();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
collection.retainAll(null);
|
collection.retainAll(Collections.emptySet());
|
||||||
fail("removeAll should raise UnsupportedOperationException");
|
fail("removeAll should raise UnsupportedOperationException");
|
||||||
} catch (UnsupportedOperationException e) {
|
} catch (UnsupportedOperationException e) {
|
||||||
// expected
|
// expected
|
||||||
@@ -1192,7 +1192,6 @@ public abstract class CollectionAbstractTest extends ObjectAbstractTest {
|
|||||||
// expected
|
// expected
|
||||||
}
|
}
|
||||||
verifyAll();
|
verifyAll();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -212,5 +212,17 @@ public class LRUMapTest extends LinkedMapTest {
|
|||||||
list.add(pEntry.getKey());
|
list.add(pEntry.getKey());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
public class TestLRUMapEntrySet extends TestMapEntrySet {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
public class TestLRUMapKeySet extends TestMapKeySet {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
public class TestLRUMapValues extends TestMapValues {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -201,4 +201,16 @@ public class LinkedMapTest extends MapAbstractTest {
|
|||||||
public void tearDown() throws Exception {
|
public void tearDown() throws Exception {
|
||||||
labRat = null;
|
labRat = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
public class TestLinkedMapEntrySet extends TestMapEntrySet {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
public class TestLinkedMapKeySet extends TestMapKeySet {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
public class TestLinkedMapValues extends TestMapValues {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1255,7 +1255,7 @@ public abstract class MapAbstractTest extends ObjectAbstractTest {
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class TestMapEntrySet extends SetAbstractTest {
|
protected abstract class TestMapEntrySet extends SetAbstractTest {
|
||||||
|
|
||||||
// Have to implement manually; entrySet doesn't support addAll
|
// Have to implement manually; entrySet doesn't support addAll
|
||||||
public Object[] getFullElements() {
|
public Object[] getFullElements() {
|
||||||
@@ -1429,7 +1429,7 @@ public abstract class MapAbstractTest extends ObjectAbstractTest {
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class TestMapKeySet extends SetAbstractTest {
|
protected abstract class TestMapKeySet extends SetAbstractTest {
|
||||||
public Object[] getFullElements() {
|
public Object[] getFullElements() {
|
||||||
return getSampleKeys();
|
return getSampleKeys();
|
||||||
}
|
}
|
||||||
@@ -1495,7 +1495,7 @@ public abstract class MapAbstractTest extends ObjectAbstractTest {
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class TestMapValues extends CollectionAbstractTest {
|
protected abstract class TestMapValues extends CollectionAbstractTest {
|
||||||
public Object[] getFullElements() {
|
public Object[] getFullElements() {
|
||||||
return getSampleValues();
|
return getSampleValues();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -668,5 +668,17 @@ public class TimeoutMapTest extends MapAbstractTest {
|
|||||||
assertFalse(timeoutMap.containsKey("xyz"));
|
assertFalse(timeoutMap.containsKey("xyz"));
|
||||||
assertNull(timeoutMap.get("xyz"));
|
assertNull(timeoutMap.get("xyz"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
public class TestTimeoutMapEntrySet extends TestMapEntrySet {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
public class TestTimeoutMapKeySet extends TestMapKeySet {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
public class TestTimeoutMapValues extends TestMapValues {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -21,7 +21,7 @@
|
|||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<junit.jupiter.version>5.14.3</junit.jupiter.version>
|
<junit.jupiter.version>5.14.4</junit.jupiter.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencyManagement>
|
<dependencyManagement>
|
||||||
|
|||||||
+1
-1
@@ -14,7 +14,7 @@
|
|||||||
</description>
|
</description>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<junit.jupiter.version>5.14.3</junit.jupiter.version>
|
<junit.jupiter.version>5.14.4</junit.jupiter.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>commons-io</groupId>
|
<groupId>commons-io</groupId>
|
||||||
<artifactId>commons-io</artifactId>
|
<artifactId>commons-io</artifactId>
|
||||||
<version>2.21.0</version>
|
<version>2.22.0</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -61,7 +61,7 @@
|
|||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<junit.jupiter.version>5.14.3</junit.jupiter.version>
|
<junit.jupiter.version>5.14.4</junit.jupiter.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
|||||||
+1
-1
@@ -15,7 +15,7 @@
|
|||||||
</description>
|
</description>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<junit.jupiter.version>5.14.3</junit.jupiter.version>
|
<junit.jupiter.version>5.14.4</junit.jupiter.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
|||||||
Reference in New Issue
Block a user