Skip to content

Commit 85c0881

Browse files
committed
add tests
1 parent 157e6ab commit 85c0881

File tree

8 files changed

+103
-21
lines changed

8 files changed

+103
-21
lines changed

net.lecousin.core/src/main/java/net/lecousin/framework/concurrent/Task.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ void execute() {
335335
cancelling = new CancelException("Unexpected exception thrown", t);
336336
result.cancelled(cancelling);
337337
} catch (Throwable e) {
338-
cancelling = new CancelException("Unexpected exception thrown", t);
338+
cancelling = new CancelException("Unexpected exception thrown", e);
339339
result.cancelled(cancelling);
340340
}
341341
} else

net.lecousin.core/src/main/java/net/lecousin/framework/io/buffering/SingleBufferReadable.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ private void fillNextBuffer() {
7474
});
7575
else
7676
reading = io.readAsync(ByteBuffer.wrap(buffer), (result) -> {
77+
if (result.getValue1() == null) return;
7778
AtomicState ns = new AtomicState();
7879
ns.len = result.getValue1().intValue();
7980
if (ns.len <= 0) {
@@ -175,7 +176,7 @@ public IO getWrappedIO() {
175176

176177
@Override
177178
public byte getPriority() {
178-
return io.getPriority();
179+
return io != null ? io.getPriority() : Task.PRIORITY_NORMAL;
179180
}
180181

181182
@Override

net.lecousin.core/src/test/java/net/lecousin/framework/core/tests/collections/TestArrayUtil.java

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package net.lecousin.framework.core.tests.collections;
22

3+
import java.util.ArrayList;
34
import java.util.Arrays;
45
import java.util.Collection;
6+
import java.util.Collections;
57
import java.util.NoSuchElementException;
68

79
import net.lecousin.framework.collections.ArrayIterator;
@@ -225,17 +227,30 @@ public void otherTests() {
225227
Assert.assertTrue(col.contains(o3));
226228
Assert.assertFalse(col.contains(o4));
227229

228-
Assert.assertTrue(ArrayUtil.equals(ArrayUtil.concatenate(new Object[] { o1, o2, o3 }, new Object[] { o2, o4 }), new Object[] { o1, o2, o3, o2, o4 }));
230+
Object[] a1 = new Object[] { o1, o2, o3 };
231+
Object[] a2 = new Object[] { o2, o4 };
232+
Assert.assertTrue(ArrayUtil.equals(ArrayUtil.concatenate(a1, a2), new Object[] { o1, o2, o3, o2, o4 }));
233+
Assert.assertTrue(a1 == ArrayUtil.concatenate(a1, new Object[0]));
234+
Assert.assertTrue(a2 == ArrayUtil.concatenate(new Object[0], a2));
229235

230-
Assert.assertTrue(ArrayUtil.equals(ArrayUtil.merge(Arrays.asList(new byte[] { 0, 1, 2 }, new byte[] { 10, 20, 30 }, new byte[] { 90 })), new byte[] { 0, 1, 2, 10, 20, 30, 90 }));
236+
byte[] b1 = new byte[] { 0, 1, 2 };
237+
byte[] b2 = new byte[] { 10, 20, 30 };
238+
byte[] b3 = new byte[] { 90 };
239+
Assert.assertTrue(ArrayUtil.equals(ArrayUtil.merge(Arrays.asList(b1, b2, b3)), new byte[] { 0, 1, 2, 10, 20, 30, 90 }));
240+
Assert.assertEquals(0, ArrayUtil.merge(new ArrayList<byte[]>()).length);
241+
Assert.assertArrayEquals(b1, ArrayUtil.merge(Collections.singletonList(b1)));
231242

232-
Assert.assertTrue(ArrayUtil.compare(new byte[] { 0, 1, 2 } ,new byte[] { 10, 20, 30 }) < 0);
233-
Assert.assertTrue(ArrayUtil.compare(new byte[] { 10, 1, 2 } ,new byte[] { 10, 20, 30 }) < 0);
234-
Assert.assertTrue(ArrayUtil.compare(new byte[] { 11, 1, 2 } ,new byte[] { 10, 20, 30 }) > 0);
235-
Assert.assertTrue(ArrayUtil.compare(new byte[] { 0, 1, 2 } ,new byte[] { 0, 1, 2 }) == 0);
236-
Assert.assertTrue(ArrayUtil.compare(new byte[] { 10, 20, 21 } ,new byte[] { 10, 20, 30 }) < 0);
237-
Assert.assertTrue(ArrayUtil.compare(new byte[] { 10, 20, 31 } ,new byte[] { 10, 20, 30 }) > 0);
238-
Assert.assertTrue(ArrayUtil.compare(new byte[] { 10, 20, 30, 0 } ,new byte[] { 10, 20, 30 }) > 0);
243+
Assert.assertTrue(ArrayUtil.compare(new byte[] { 0, 1, 2 } ,new byte[] { 10, 20, 30 }) < 0);
244+
Assert.assertTrue(ArrayUtil.compare(new byte[] { 10, 1, 2 } ,new byte[] { 10, 20, 30 }) < 0);
245+
Assert.assertTrue(ArrayUtil.compare(new byte[] { 11, 1, 2 } ,new byte[] { 10, 20, 30 }) > 0);
246+
Assert.assertTrue(ArrayUtil.compare(new byte[] { 0, 1, 2 } ,new byte[] { 0, 1, 2 }) == 0);
247+
Assert.assertTrue(ArrayUtil.compare(new byte[] { 10, 20, 21 } ,new byte[] { 10, 20, 30 }) < 0);
248+
Assert.assertTrue(ArrayUtil.compare(new byte[] { 10, 20, 31 } ,new byte[] { 10, 20, 30 }) > 0);
249+
Assert.assertTrue(ArrayUtil.compare(new byte[] { 10, 20, 30, 0 } ,new byte[] { 10, 20, 30 }) > 0);
250+
Assert.assertTrue(ArrayUtil.compare(new byte[] { 0, 1, 2 } ,new byte[] { 0, 1, 2, 3 }) < 0);
251+
Assert.assertTrue(ArrayUtil.compare(new byte[] { 0, 1, 2, 3 } ,new byte[] { 0, 1, 2 }) > 0);
252+
Assert.assertTrue(ArrayUtil.compare(new byte[] { 0, 1, 2 } ,new byte[] { 0, 1, 1, 0 }) > 0);
253+
Assert.assertTrue(ArrayUtil.compare(new byte[] { 0, 1, 1, 0 } ,new byte[] { 0, 1, 2 }) < 0);
239254

240255
Assert.assertTrue(ArrayUtil.equals(ArrayUtil.add(new Object[] { o1, o2 }, o3), new Object[] { o1, o2, o3 }));
241256
Assert.assertTrue(ArrayUtil.equals(ArrayUtil.add(new Object[] { o1, o2 }, o3, 0), new Object[] { o3, o1, o2 }));
@@ -246,10 +261,16 @@ public void otherTests() {
246261
Assert.assertTrue(ArrayUtil.equals(ArrayUtil.remove(new Object[] { o1, o2, o3, o4 }, o3), new Object[] { o1, o2, o4 }));
247262
Assert.assertTrue(ArrayUtil.equals(ArrayUtil.remove(new Object[] { o1, o2, o3, o4 }, o1), new Object[] { o2, o3, o4 }));
248263
Assert.assertTrue(ArrayUtil.equals(ArrayUtil.remove(new Object[] { o1, o2, o3, o4 }, o4), new Object[] { o1, o2, o3 }));
264+
Assert.assertEquals(0, ArrayUtil.remove(new Object[0], new Object()).length);
249265

250266
Assert.assertTrue(ArrayUtil.equals(ArrayUtil.removeAt(new Object[] { o1, o2, o3, o4 }, 2), new Object[] { o1, o2, o4 }));
251267
Assert.assertTrue(ArrayUtil.equals(ArrayUtil.removeAt(new Object[] { o1, o2, o3, o4 }, 0), new Object[] { o2, o3, o4 }));
252268
Assert.assertTrue(ArrayUtil.equals(ArrayUtil.removeAt(new Object[] { o1, o2, o3, o4 }, 3), new Object[] { o1, o2, o3 }));
269+
270+
Integer[] a = ArrayUtil.createGenericArray(Integer[].class, new Integer[] { Integer.valueOf(10), Integer.valueOf(20) });
271+
Assert.assertEquals(2, a.length);
272+
Assert.assertEquals(10, a[0].intValue());
273+
Assert.assertEquals(20, a[1].intValue());
253274
}
254275

255276
@Test(timeout=30000)

net.lecousin.core/src/test/java/net/lecousin/framework/core/tests/xml/TestXMLStreamEventsSync.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ public abstract class TestXMLStreamEventsSync extends LCCoreAbstractTest {
1717
@Test
1818
public void test1() throws Exception {
1919
XMLStreamEventsSync xml = parse("xml-test-suite/mine/002.xml");
20+
xml.getMaximumTextSize();
21+
xml.getMaximumCDataSize();
2022
xml.start();
2123
Assert.assertTrue(xml.nextStartElement());
2224
Assert.assertEquals("myRoot", xml.event.text.asString());

net.lecousin.core/src/test/java/net/lecousin/framework/core/tests/xml/TestXMLStreamEventsWithDOM.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,8 +188,8 @@ public void testParse() throws Exception {
188188
IO.Readable io = new IOFromInputStream(in2, filepath, Threading.getDrivesTaskManager().getTaskManager(new File(".")), Task.PRIORITY_NORMAL);
189189
EVENTS xml = start(io);
190190
checkNodeContent(doc, xml, new LinkedList<>());
191-
in2.close();
192191
in.close();
192+
io.close();
193193
}
194194

195195
private void checkNodeContent(Node node, EVENTS xml, LinkedList<String> openElements) throws Exception {

net.lecousin.core/src/test/java/net/lecousin/framework/core/tests/xml/TestXMLStreamReaderAsync.java

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,45 @@
22

33
import org.junit.Assert;
44
import org.junit.Test;
5+
import org.junit.runner.RunWith;
6+
import org.junit.runners.Parameterized;
7+
import org.junit.runners.Parameterized.Parameters;
8+
9+
import java.util.ArrayList;
10+
import java.util.Collection;
511

612
import net.lecousin.framework.application.LCCore;
713
import net.lecousin.framework.concurrent.Task;
14+
import net.lecousin.framework.io.IO;
15+
import net.lecousin.framework.io.buffering.SingleBufferReadable;
816
import net.lecousin.framework.xml.XMLStreamEvents.Event;
917
import net.lecousin.framework.xml.XMLStreamReaderAsync;
1018

19+
@RunWith(Parameterized.class)
1120
public class TestXMLStreamReaderAsync extends TestXMLStreamEventsAsync {
1221

22+
@Parameters(name = "efficient = {0}")
23+
public static Collection<Object[]> parameters() {
24+
ArrayList<Object[]> list = new ArrayList<>(2);
25+
list.add(new Object[] { Boolean.TRUE });
26+
list.add(new Object[] { Boolean.FALSE });
27+
return list;
28+
}
29+
30+
public TestXMLStreamReaderAsync(boolean efficient) {
31+
this.efficient = efficient;
32+
}
33+
34+
protected boolean efficient;
35+
36+
@SuppressWarnings("resource")
1337
@Override
1438
protected XMLStreamReaderAsync parse(String resource) {
15-
return new XMLStreamReaderAsync(LCCore.getApplication().getResource(resource, Task.PRIORITY_NORMAL), 512);
39+
if (efficient)
40+
return new XMLStreamReaderAsync(LCCore.getApplication().getResource(resource, Task.PRIORITY_NORMAL), 512);
41+
IO.Readable io = LCCore.getApplication().getResource(resource, Task.PRIORITY_NORMAL);
42+
SingleBufferReadable bio = new SingleBufferReadable(io, 2, false);
43+
return new XMLStreamReaderAsync(bio, 1);
1644
}
1745

1846
@Test

net.lecousin.core/src/test/java/net/lecousin/framework/core/tests/xml/TestXMLStreamReaderAsyncWithDOM.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
import java.util.Collection;
55
import java.util.List;
66

7-
import org.junit.runner.RunWith;
8-
import org.junit.runners.Parameterized;
9-
import org.junit.runners.Parameterized.Parameters;
10-
117
import net.lecousin.framework.io.IO;
12-
import net.lecousin.framework.io.buffering.SimpleBufferedReadable;
8+
import net.lecousin.framework.io.buffering.SingleBufferReadable;
139
import net.lecousin.framework.xml.XMLStreamEventsAsync;
1410
import net.lecousin.framework.xml.XMLStreamReaderAsync;
1511

12+
import org.junit.runner.RunWith;
13+
import org.junit.runners.Parameterized;
14+
import org.junit.runners.Parameterized.Parameters;
15+
1616
@RunWith(Parameterized.class)
1717
public class TestXMLStreamReaderAsyncWithDOM extends TestXMLStreamEventsWithDOM<XMLStreamEventsAsync> {
1818

@@ -41,8 +41,8 @@ protected XMLStreamEventsAsync start(IO.Readable input) throws Exception {
4141
xml = new XMLStreamReaderAsync(input, 1024);
4242
else {
4343
@SuppressWarnings("resource")
44-
SimpleBufferedReadable bio = new SimpleBufferedReadable(input, 5);
45-
xml = new XMLStreamReaderAsync(bio, 3);
44+
SingleBufferReadable bio = new SingleBufferReadable(input, 2, false);
45+
xml = new XMLStreamReaderAsync(bio, 1);
4646
}
4747
xml.start().blockException(0);
4848
return xml;

net.lecousin.framework.log.bridges/slf4j/src/test/java/net/lecousin/framework/log/bridges/slf4j/TestSLF4J.java

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,43 @@
33
import net.lecousin.framework.core.test.LCCoreAbstractTest;
44

55
import org.junit.Test;
6+
import org.slf4j.Logger;
67
import org.slf4j.LoggerFactory;
78

89
public class TestSLF4J extends LCCoreAbstractTest {
910

1011
@Test(timeout=30000)
1112
public void test() {
12-
LoggerFactory.getLogger("test").info("This is a test");
13+
Logger l = LoggerFactory.getLogger("test");
14+
l.getName();
15+
Object o1 = Integer.valueOf(11);
16+
Object o2 = Integer.valueOf(22);
17+
Object o3 = Integer.valueOf(33);
18+
l.isTraceEnabled();
19+
l.trace("test");
20+
l.trace("test", o1);
21+
l.trace("test", o1, o2);
22+
l.trace("test", o1, o2, o3);
23+
l.isDebugEnabled();
24+
l.debug("test");
25+
l.debug("test", o1);
26+
l.debug("test", o1, o2);
27+
l.debug("test", o1, o2, o3);
28+
l.isInfoEnabled();
29+
l.info("test");
30+
l.info("test", o1);
31+
l.info("test", o1, o2);
32+
l.info("test", o1, o2, o3);
33+
l.isWarnEnabled();
34+
l.warn("test");
35+
l.warn("test", o1);
36+
l.warn("test", o1, o2);
37+
l.warn("test", o1, o2, o3);
38+
l.isErrorEnabled();
39+
l.error("test");
40+
l.error("test", o1);
41+
l.error("test", o1, o2);
42+
l.error("test", o1, o2, o3);
1343
}
1444

1545
}

0 commit comments

Comments
 (0)