[JAVA-22519] Move articles from generic libraries module to specific library modules (#15416)
This commit is contained in:
@@ -1,118 +0,0 @@
|
||||
package com.baeldung.javatuples;
|
||||
|
||||
import org.javatuples.KeyValue;
|
||||
import org.javatuples.LabelValue;
|
||||
import org.javatuples.Pair;
|
||||
import org.javatuples.Quartet;
|
||||
import org.javatuples.Triplet;
|
||||
import org.javatuples.Unit;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public class JavaTuplesUnitTest {
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@Test
|
||||
public void whenCreatingTuples_thenCreateTuples() {
|
||||
Pair<String, Integer> pair = new Pair<String, Integer>("This is a pair", 55);
|
||||
Triplet<String, Integer, Double> triplet = Triplet.with("hello", 23, 33.2);
|
||||
|
||||
List<String> collectionOfNames = Arrays.asList("john", "doe", "anne", "alex");
|
||||
Quartet<String, String, String, String> quartet = Quartet.fromCollection(collectionOfNames);
|
||||
|
||||
Pair<String, String> pairFromList = Pair.fromIterable(collectionOfNames, 2);
|
||||
|
||||
String[] names = new String[] { "john", "doe", "anne" };
|
||||
Triplet<String, String, String> triplet2 = Triplet.fromArray(names);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenGetValuexFromTuples_thenRetriveValueWithType() {
|
||||
Quartet<String, Double, Integer, String> quartet = Quartet.with("john", 72.5, 32, "1051 SW");
|
||||
|
||||
String name = quartet.getValue0();
|
||||
Integer age = quartet.getValue2();
|
||||
assertThat(name).isEqualTo("john");
|
||||
assertThat(age).isEqualTo(32);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenGetKeyValue_thenGetKeyValue() {
|
||||
KeyValue<Integer, String> keyValue = KeyValue.with(5, "F");
|
||||
Integer key = keyValue.getKey();
|
||||
String value = keyValue.getValue();
|
||||
|
||||
assertThat(key).isEqualTo(5);
|
||||
assertThat(value).isEqualTo("F");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenGetLabelValue_thenGetLabelValue() {
|
||||
LabelValue<Integer, String> labelValue = LabelValue.with(5, "F");
|
||||
Integer key = labelValue.getLabel();
|
||||
String value = labelValue.getValue();
|
||||
|
||||
assertThat(key).isEqualTo(5);
|
||||
assertThat(value).isEqualTo("F");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenGetValueFromTuples_thenRetriveValueWithoutType() {
|
||||
Quartet<String, Double, Integer, String> quartet = Quartet.with("john", 72.5, 32, "1051 SW");
|
||||
|
||||
String name = (String) quartet.getValue(0);
|
||||
Integer age = (Integer) quartet.getValue(2);
|
||||
assertThat(name).isEqualTo("john");
|
||||
assertThat(age).isEqualTo(32);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenSetValueInTuple_thenGetANewTuple() {
|
||||
Pair<String, Integer> john = Pair.with("john", 32);
|
||||
Pair<String, Integer> alex = john.setAt0("alex");
|
||||
assertThat(john.toString()).isNotEqualTo(alex.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenAddNewElement_thenCreateNewTuple() {
|
||||
Pair<String, Integer> pair1 = Pair.with("john", 32);
|
||||
Triplet<String, Integer, String> triplet1 = pair1.add("1051 SW");
|
||||
assertThat(triplet1.contains("john"));
|
||||
assertThat(triplet1.contains(32));
|
||||
assertThat(triplet1.contains("1051 SW"));
|
||||
|
||||
Pair<String, Integer> pair2 = Pair.with("alex", 45);
|
||||
Quartet<String, Integer, String, Integer> quartet2 = pair1.add(pair2);
|
||||
assertThat(quartet2.containsAll(pair1));
|
||||
assertThat(quartet2.containsAll(pair2));
|
||||
|
||||
Quartet<String, Integer, String, Integer> quartet1 = pair1.add("alex", 45);
|
||||
assertThat(quartet1.containsAll("alex", "john", 32, 45));
|
||||
|
||||
Triplet<String, String, Integer> triplet2 = pair1.addAt1("1051 SW");
|
||||
assertThat(triplet2.indexOf("john")).isEqualTo(0);
|
||||
assertThat(triplet2.indexOf("1051 SW")).isEqualTo(1);
|
||||
assertThat(triplet2.indexOf(32)).isEqualTo(2);
|
||||
|
||||
Unit<Integer> unit = pair1.removeFrom0();
|
||||
assertThat(unit.contains(32));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenCallingToList_thenReturnList() {
|
||||
Quartet<String, Double, Integer, String> quartet = Quartet.with("john", 72.5, 32, "1051 SW");
|
||||
List<Object> list = quartet.toList();
|
||||
assertThat(list.size()).isEqualTo(4);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenCallingToArray_thenReturnArray() {
|
||||
Quartet<String, Double, Integer, String> quartet = Quartet.with("john", 72.5, 32, "1051 SW");
|
||||
Object[] array = quartet.toArray();
|
||||
assertThat(array.length).isEqualTo(4);
|
||||
}
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
package com.baeldung.neuroph;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.neuroph.core.NeuralNetwork;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class XORIntegrationTest {
|
||||
private NeuralNetwork ann = null;
|
||||
|
||||
private void print(String input, double output, double actual) {
|
||||
System.out.println("Testing: " + input + " Expected: " + actual + " Result: " + output);
|
||||
}
|
||||
|
||||
@Before
|
||||
public void annInit() {
|
||||
ann = NeurophXOR.trainNeuralNetwork(NeurophXOR.assembleNeuralNetwork());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void leftDisjunctTest() {
|
||||
ann.setInput(0, 1);
|
||||
ann.calculate();
|
||||
print("0, 1", ann.getOutput()[0], 1.0);
|
||||
assertEquals(ann.getOutput()[0], 1.0, 0.0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void rightDisjunctTest() {
|
||||
ann.setInput(1, 0);
|
||||
ann.calculate();
|
||||
print("1, 0", ann.getOutput()[0], 1.0);
|
||||
assertEquals(ann.getOutput()[0], 1.0, 0.0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void bothFalseConjunctTest() {
|
||||
ann.setInput(0, 0);
|
||||
ann.calculate();
|
||||
print("0, 0", ann.getOutput()[0], 0.0);
|
||||
assertEquals(ann.getOutput()[0], 0.0, 0.0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void bothTrueConjunctTest() {
|
||||
ann.setInput(1, 1);
|
||||
ann.calculate();
|
||||
print("1, 1", ann.getOutput()[0], 0.0);
|
||||
assertEquals(ann.getOutput()[0], 0.0, 0.0);
|
||||
}
|
||||
|
||||
@After
|
||||
public void annClose() {
|
||||
ann = null;
|
||||
}
|
||||
}
|
||||
@@ -1,141 +0,0 @@
|
||||
package com.baeldung.stm;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import static org.assertj.core.api.Java6Assertions.assertThat;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
public class AccountUnitTest {
|
||||
|
||||
@Test
|
||||
public void givenAccount_whenDecrement_thenShouldReturnProperValue() {
|
||||
// given
|
||||
Account a = new Account(10);
|
||||
|
||||
// when
|
||||
a.adjustBy(-5);
|
||||
|
||||
// then
|
||||
assertThat(a.getBalance()).isEqualTo(5);
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void givenAccount_whenDecrementTooMuch_thenShouldThrow() {
|
||||
// given
|
||||
Account a = new Account(10);
|
||||
|
||||
// when
|
||||
a.adjustBy(-11);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenTwoThreads_whenBothApplyOperation_thenShouldThrow() throws InterruptedException {
|
||||
// given
|
||||
ExecutorService ex = Executors.newFixedThreadPool(2);
|
||||
Account a = new Account(10);
|
||||
CountDownLatch countDownLatch = new CountDownLatch(1);
|
||||
AtomicBoolean exceptionThrown = new AtomicBoolean(false);
|
||||
|
||||
// when
|
||||
ex.submit(() -> {
|
||||
try {
|
||||
countDownLatch.await();
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
try {
|
||||
a.adjustBy(-6);
|
||||
} catch (IllegalArgumentException e) {
|
||||
exceptionThrown.set(true);
|
||||
}
|
||||
});
|
||||
ex.submit(() -> {
|
||||
try {
|
||||
countDownLatch.await();
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
a.adjustBy(-5);
|
||||
} catch (IllegalArgumentException e) {
|
||||
exceptionThrown.set(true);
|
||||
}
|
||||
});
|
||||
|
||||
countDownLatch.countDown();
|
||||
ex.awaitTermination(1, TimeUnit.SECONDS);
|
||||
ex.shutdown();
|
||||
|
||||
// then
|
||||
assertTrue(exceptionThrown.get());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenTwoAccounts_whenFailedWhileTransferring_thenShouldRollbackTransaction() {
|
||||
// given
|
||||
final Account a = new Account(10);
|
||||
final Account b = new Account(10);
|
||||
|
||||
// when
|
||||
a.transferTo(b, 5);
|
||||
|
||||
// then
|
||||
assertThat(a.getBalance()).isEqualTo(5);
|
||||
assertThat(b.getBalance()).isEqualTo(15);
|
||||
|
||||
// and
|
||||
try {
|
||||
a.transferTo(b, 20);
|
||||
} catch (final IllegalArgumentException e) {
|
||||
System.out.println("failed to transfer money");
|
||||
}
|
||||
|
||||
// then
|
||||
assertThat(a.getBalance()).isEqualTo(5);
|
||||
assertThat(b.getBalance()).isEqualTo(15);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenTwoThreads_whenBothTryToTransfer_thenShouldNotDeadlock() throws InterruptedException {
|
||||
// given
|
||||
ExecutorService ex = Executors.newFixedThreadPool(2);
|
||||
final Account a = new Account(10);
|
||||
final Account b = new Account(10);
|
||||
CountDownLatch countDownLatch = new CountDownLatch(1);
|
||||
|
||||
// when
|
||||
ex.submit(() -> {
|
||||
try {
|
||||
countDownLatch.await();
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
a.transferTo(b, 10);
|
||||
});
|
||||
ex.submit(() -> {
|
||||
try {
|
||||
countDownLatch.await();
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
b.transferTo(a, 1);
|
||||
|
||||
});
|
||||
|
||||
countDownLatch.countDown();
|
||||
ex.awaitTermination(1, TimeUnit.SECONDS);
|
||||
ex.shutdown();
|
||||
|
||||
// then
|
||||
assertThat(a.getBalance()).isEqualTo(1);
|
||||
assertThat(b.getBalance()).isEqualTo(19);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user