Minor refactorings and code style changes (#807)
* Made minor changes in some patterns such as removed throws clause where not needed, changed incorrect order of arguments in assertEquals * Minor refactorings and code style changes. 1) Removed several use of raw types 2) Removed unnecessary throws clauses 3) Used lambda expressions wherever applicable 4) Used apt assertion methods for readability 5) Use of try with resources wherever applicable 6) Corrected incorrect order of assertXXX arguments * Removed unused import from Promise * Addressed review comments * Addressed checkstyle issue
This commit is contained in:
parent
25ed7c09c5
commit
2aa9e78ddd
@ -32,6 +32,7 @@ import java.util.stream.Stream;
|
|||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* AbstractDocument test class
|
* AbstractDocument test class
|
||||||
@ -81,8 +82,8 @@ public class AbstractDocumentTest {
|
|||||||
Map<String, Object> props = new HashMap<>();
|
Map<String, Object> props = new HashMap<>();
|
||||||
props.put(KEY, VALUE);
|
props.put(KEY, VALUE);
|
||||||
DocumentImplementation document = new DocumentImplementation(props);
|
DocumentImplementation document = new DocumentImplementation(props);
|
||||||
assertNotNull(document.toString().contains(KEY));
|
assertTrue(document.toString().contains(KEY));
|
||||||
assertNotNull(document.toString().contains(VALUE));
|
assertTrue(document.toString().contains(VALUE));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -25,27 +25,19 @@ package com.iluwatar.acyclicvisitor;
|
|||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.assertj.core.groups.Tuple.tuple;
|
import static org.assertj.core.groups.Tuple.tuple;
|
||||||
import static uk.org.lidalia.slf4jext.Level.INFO;
|
import static uk.org.lidalia.slf4jext.Level.INFO;
|
||||||
import static org.mockito.Mockito.mock;
|
|
||||||
|
import org.junit.jupiter.api.AfterEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import uk.org.lidalia.slf4jtest.TestLogger;
|
import uk.org.lidalia.slf4jtest.TestLogger;
|
||||||
import uk.org.lidalia.slf4jtest.TestLoggerFactory;
|
import uk.org.lidalia.slf4jtest.TestLoggerFactory;
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
|
|
||||||
import com.iluwatar.acyclicvisitor.ConfigureForUnixVisitor;
|
|
||||||
import com.iluwatar.acyclicvisitor.Hayes;
|
|
||||||
import com.iluwatar.acyclicvisitor.HayesVisitor;
|
|
||||||
import com.iluwatar.acyclicvisitor.Zoom;
|
|
||||||
import com.iluwatar.acyclicvisitor.ZoomVisitor;
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.AfterEach;
|
|
||||||
import org.junit.jupiter.api.Assertions;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ConfigureForUnixVisitor test class
|
* ConfigureForUnixVisitor test class
|
||||||
*/
|
*/
|
||||||
public class ConfigureForUnixVisitorTest {
|
public class ConfigureForUnixVisitorTest {
|
||||||
|
|
||||||
TestLogger logger = TestLoggerFactory.getTestLogger(ConfigureForUnixVisitor.class);
|
private static final TestLogger LOGGER = TestLoggerFactory.getTestLogger(ConfigureForUnixVisitor.class);
|
||||||
|
|
||||||
@AfterEach
|
@AfterEach
|
||||||
public void clearLoggers() {
|
public void clearLoggers() {
|
||||||
@ -59,7 +51,7 @@ public class ConfigureForUnixVisitorTest {
|
|||||||
|
|
||||||
conUnix.visit(zoom);
|
conUnix.visit(zoom);
|
||||||
|
|
||||||
assertThat(logger.getLoggingEvents()).extracting("level", "message").contains(
|
assertThat(LOGGER.getLoggingEvents()).extracting("level", "message").contains(
|
||||||
tuple(INFO, zoom + " used with Unix configurator."));
|
tuple(INFO, zoom + " used with Unix configurator."));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
|
|||||||
*/
|
*/
|
||||||
public class InventoryControllerTest {
|
public class InventoryControllerTest {
|
||||||
@Test
|
@Test
|
||||||
public void testGetProductInventories() throws Exception {
|
public void testGetProductInventories() {
|
||||||
InventoryController inventoryController = new InventoryController();
|
InventoryController inventoryController = new InventoryController();
|
||||||
|
|
||||||
int numberOfInventories = inventoryController.getProductInventories();
|
int numberOfInventories = inventoryController.getProductInventories();
|
||||||
|
@ -37,7 +37,7 @@ public class HammerTest extends WeaponTest {
|
|||||||
* underlying weapon implementation.
|
* underlying weapon implementation.
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testHammer() throws Exception {
|
public void testHammer() {
|
||||||
final Hammer hammer = spy(new Hammer(mock(FlyingEnchantment.class)));
|
final Hammer hammer = spy(new Hammer(mock(FlyingEnchantment.class)));
|
||||||
testBasicWeaponActions(hammer);
|
testBasicWeaponActions(hammer);
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ public class SwordTest extends WeaponTest {
|
|||||||
* underlying weapon implementation.
|
* underlying weapon implementation.
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testSword() throws Exception {
|
public void testSword() {
|
||||||
final Sword sword = spy(new Sword(mock(FlyingEnchantment.class)));
|
final Sword sword = spy(new Sword(mock(FlyingEnchantment.class)));
|
||||||
testBasicWeaponActions(sword);
|
testBasicWeaponActions(sword);
|
||||||
}
|
}
|
||||||
|
@ -41,12 +41,7 @@ public class App {
|
|||||||
*/
|
*/
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Task task = new SimpleTask();
|
Task task = new SimpleTask();
|
||||||
Callback callback = new Callback() {
|
Callback callback = () -> LOGGER.info("I'm done now.");
|
||||||
@Override
|
|
||||||
public void call() {
|
|
||||||
LOGGER.info("I'm done now.");
|
|
||||||
}
|
|
||||||
};
|
|
||||||
task.executeWith(callback);
|
task.executeWith(callback);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,29 +38,6 @@ public class CallbackTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void test() {
|
public void test() {
|
||||||
Callback callback = new Callback() {
|
|
||||||
@Override
|
|
||||||
public void call() {
|
|
||||||
callingCount++;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
Task task = new SimpleTask();
|
|
||||||
|
|
||||||
assertEquals(new Integer(0), callingCount, "Initial calling count of 0");
|
|
||||||
|
|
||||||
task.executeWith(callback);
|
|
||||||
|
|
||||||
assertEquals(new Integer(1), callingCount, "Callback called once");
|
|
||||||
|
|
||||||
task.executeWith(callback);
|
|
||||||
|
|
||||||
assertEquals(new Integer(2), callingCount, "Callback called twice");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testWithLambdasExample() {
|
|
||||||
Callback callback = () -> callingCount++;
|
Callback callback = () -> callingCount++;
|
||||||
|
|
||||||
Task task = new SimpleTask();
|
Task task = new SimpleTask();
|
||||||
|
@ -43,7 +43,7 @@ public class OrcKingTest {
|
|||||||
};
|
};
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testMakeRequest() throws Exception {
|
public void testMakeRequest() {
|
||||||
final OrcKing king = new OrcKing();
|
final OrcKing king = new OrcKing();
|
||||||
|
|
||||||
for (final Request request : REQUESTS) {
|
for (final Request request : REQUESTS) {
|
||||||
|
@ -26,10 +26,10 @@ package com.iluwatar.collectionpipeline;
|
|||||||
* A Car class that has the properties of make, model, year and category.
|
* A Car class that has the properties of make, model, year and category.
|
||||||
*/
|
*/
|
||||||
public class Car {
|
public class Car {
|
||||||
private String make;
|
private final String make;
|
||||||
private String model;
|
private final String model;
|
||||||
private int year;
|
private final int year;
|
||||||
private Category category;
|
private final Category category;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor to create an instance of car.
|
* Constructor to create an instance of car.
|
||||||
|
@ -71,7 +71,7 @@ public class ConverterTest {
|
|||||||
user.getFirstName().toLowerCase() + user.getLastName().toLowerCase() + "@whatever.com"));
|
user.getFirstName().toLowerCase() + user.getLastName().toLowerCase() + "@whatever.com"));
|
||||||
User u1 = new User("John", "Doe", false, "12324");
|
User u1 = new User("John", "Doe", false, "12324");
|
||||||
UserDto userDto = converter.convertFromEntity(u1);
|
UserDto userDto = converter.convertFromEntity(u1);
|
||||||
assertEquals(userDto.getEmail(), "johndoe@whatever.com");
|
assertEquals("johndoe@whatever.com", userDto.getEmail());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -83,6 +83,6 @@ public class ConverterTest {
|
|||||||
ArrayList<User> users = Lists.newArrayList(new User("Camile", "Tough", false, "124sad"),
|
ArrayList<User> users = Lists.newArrayList(new User("Camile", "Tough", false, "124sad"),
|
||||||
new User("Marti", "Luther", true, "42309fd"), new User("Kate", "Smith", true, "if0243"));
|
new User("Marti", "Luther", true, "42309fd"), new User("Kate", "Smith", true, "if0243"));
|
||||||
List<User> fromDtos = userConverter.createFromDtos(userConverter.createFromEntities(users));
|
List<User> fromDtos = userConverter.createFromDtos(userConverter.createFromEntities(users));
|
||||||
assertEquals(fromDtos, users);
|
assertEquals(users, fromDtos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -96,7 +96,7 @@ public class IntegrationTest {
|
|||||||
@Test
|
@Test
|
||||||
public void testGetAuthorBooks() {
|
public void testGetAuthorBooks() {
|
||||||
List<Book> books = queryService.getAuthorBooks("username1");
|
List<Book> books = queryService.getAuthorBooks("username1");
|
||||||
assertTrue(books.size() == 2);
|
assertEquals(2, books.size());
|
||||||
assertTrue(books.contains(new Book("title1", 10)));
|
assertTrue(books.contains(new Book("title1", 10)));
|
||||||
assertTrue(books.contains(new Book("new_title2", 30)));
|
assertTrue(books.contains(new Book("new_title2", 30)));
|
||||||
}
|
}
|
||||||
|
@ -88,13 +88,7 @@ public class CustomerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testToString() {
|
public void testToString() {
|
||||||
final StringBuffer buffer = new StringBuffer();
|
assertEquals(String.format("Customer{id=%s, firstName='%s', lastName='%s'}",
|
||||||
buffer.append("Customer{id=")
|
customer.getId(), customer.getFirstName(), customer.getLastName()), customer.toString());
|
||||||
.append("" + customer.getId())
|
|
||||||
.append(", firstName='")
|
|
||||||
.append(customer.getFirstName())
|
|
||||||
.append("\', lastName='")
|
|
||||||
.append(customer.getLastName() + "\'}");
|
|
||||||
assertEquals(buffer.toString(), customer.toString());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -257,7 +257,7 @@ public class DbCustomerDaoTest {
|
|||||||
|
|
||||||
private void assertCustomerCountIs(int count) throws Exception {
|
private void assertCustomerCountIs(int count) throws Exception {
|
||||||
try (Stream<Customer> allCustomers = dao.getAll()) {
|
try (Stream<Customer> allCustomers = dao.getAll()) {
|
||||||
assertTrue(allCustomers.count() == count);
|
assertEquals(count, allCustomers.count());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +156,7 @@ public class InMemoryCustomerDaoTest {
|
|||||||
|
|
||||||
private void assertCustomerCountIs(int count) throws Exception {
|
private void assertCustomerCountIs(int count) throws Exception {
|
||||||
try (Stream<Customer> allCustomers = dao.getAll()) {
|
try (Stream<Customer> allCustomers = dao.getAll()) {
|
||||||
assertTrue(allCustomers.count() == count);
|
assertEquals(count, allCustomers.count());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,7 @@ package com.iluwatar.datamapper;
|
|||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Data Mapper (DM) is a layer of software that separates the in-memory objects from the
|
* The Data Mapper (DM) is a layer of software that separates the in-memory objects from the
|
||||||
@ -43,27 +44,29 @@ public class DataMapperTest {
|
|||||||
final StudentDataMapper mapper = new StudentDataMapperImpl();
|
final StudentDataMapper mapper = new StudentDataMapperImpl();
|
||||||
|
|
||||||
/* Create new student */
|
/* Create new student */
|
||||||
Student student = new Student(1, "Adam", 'A');
|
int studentId = 1;
|
||||||
|
Student student = new Student(studentId, "Adam", 'A');
|
||||||
|
|
||||||
/* Add student in respectibe db */
|
/* Add student in respectibe db */
|
||||||
mapper.insert(student);
|
mapper.insert(student);
|
||||||
|
|
||||||
/* Check if student is added in db */
|
/* Check if student is added in db */
|
||||||
assertEquals(student.getStudentId(), mapper.find(student.getStudentId()).get().getStudentId());
|
assertEquals(studentId, mapper.find(student.getStudentId()).get().getStudentId());
|
||||||
|
|
||||||
/* Update existing student object */
|
/* Update existing student object */
|
||||||
student = new Student(student.getStudentId(), "AdamUpdated", 'A');
|
String updatedName = "AdamUpdated";
|
||||||
|
student = new Student(student.getStudentId(), updatedName, 'A');
|
||||||
|
|
||||||
/* Update student in respectibe db */
|
/* Update student in respectibe db */
|
||||||
mapper.update(student);
|
mapper.update(student);
|
||||||
|
|
||||||
/* Check if student is updated in db */
|
/* Check if student is updated in db */
|
||||||
assertEquals(mapper.find(student.getStudentId()).get().getName(), "AdamUpdated");
|
assertEquals(updatedName, mapper.find(student.getStudentId()).get().getName());
|
||||||
|
|
||||||
/* Delete student in db */
|
/* Delete student in db */
|
||||||
mapper.delete(student);
|
mapper.delete(student);
|
||||||
|
|
||||||
/* Result should be false */
|
/* Result should be false */
|
||||||
assertEquals(false, mapper.find(student.getStudentId()).isPresent());
|
assertFalse(mapper.find(student.getStudentId()).isPresent());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,9 @@ package com.iluwatar.datamapper;
|
|||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
||||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -28,28 +30,27 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
|
|||||||
*/
|
*/
|
||||||
public final class StudentTest {
|
public final class StudentTest {
|
||||||
|
|
||||||
@Test
|
|
||||||
/**
|
/**
|
||||||
* This API tests the equality behaviour of Student object
|
* This API tests the equality behaviour of Student object
|
||||||
* Object Equality should work as per logic defined in equals method
|
* Object Equality should work as per logic defined in equals method
|
||||||
*
|
*
|
||||||
* @throws Exception if any execution error during test
|
* @throws Exception if any execution error during test
|
||||||
*/
|
*/
|
||||||
|
@Test
|
||||||
public void testEquality() throws Exception {
|
public void testEquality() throws Exception {
|
||||||
|
|
||||||
/* Create some students */
|
/* Create some students */
|
||||||
final Student firstStudent = new Student(1, "Adam", 'A');
|
final Student firstStudent = new Student(1, "Adam", 'A');
|
||||||
final Student secondStudent = new Student(2, "Donald", 'B');
|
final Student secondStudent = new Student(2, "Donald", 'B');
|
||||||
final Student secondSameStudent = new Student(2, "Donald", 'B');
|
final Student secondSameStudent = new Student(2, "Donald", 'B');
|
||||||
final Student firstSameStudent = firstStudent;
|
|
||||||
|
|
||||||
/* Check equals functionality: should return 'true' */
|
/* Check equals functionality: should return 'true' */
|
||||||
assertTrue(firstStudent.equals(firstSameStudent));
|
assertEquals(firstStudent, firstStudent);
|
||||||
|
|
||||||
/* Check equals functionality: should return 'false' */
|
/* Check equals functionality: should return 'false' */
|
||||||
assertFalse(firstStudent.equals(secondStudent));
|
assertNotEquals(firstStudent, secondStudent);
|
||||||
|
|
||||||
/* Check equals functionality: should return 'true' */
|
/* Check equals functionality: should return 'true' */
|
||||||
assertTrue(secondStudent.equals(secondSameStudent));
|
assertEquals(secondStudent, secondSameStudent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* tests {@link CustomerResource}.
|
* tests {@link CustomerResource}.
|
||||||
@ -45,10 +46,10 @@ public class CustomerResourceTest {
|
|||||||
|
|
||||||
List<CustomerDto> allCustomers = customerResource.getAllCustomers();
|
List<CustomerDto> allCustomers = customerResource.getAllCustomers();
|
||||||
|
|
||||||
assertEquals(allCustomers.size(), 1);
|
assertEquals(1, allCustomers.size());
|
||||||
assertEquals(allCustomers.get(0).getId(), "1");
|
assertEquals("1", allCustomers.get(0).getId());
|
||||||
assertEquals(allCustomers.get(0).getFirstName(), "Melody");
|
assertEquals("Melody", allCustomers.get(0).getFirstName());
|
||||||
assertEquals(allCustomers.get(0).getLastName(), "Yates");
|
assertEquals("Yates", allCustomers.get(0).getLastName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -59,9 +60,9 @@ public class CustomerResourceTest {
|
|||||||
customerResource.save(customer);
|
customerResource.save(customer);
|
||||||
|
|
||||||
List<CustomerDto> allCustomers = customerResource.getAllCustomers();
|
List<CustomerDto> allCustomers = customerResource.getAllCustomers();
|
||||||
assertEquals(allCustomers.get(0).getId(), "1");
|
assertEquals("1", allCustomers.get(0).getId());
|
||||||
assertEquals(allCustomers.get(0).getFirstName(), "Rita");
|
assertEquals("Rita", allCustomers.get(0).getFirstName());
|
||||||
assertEquals(allCustomers.get(0).getLastName(), "Reynolds");
|
assertEquals("Reynolds", allCustomers.get(0).getLastName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -75,7 +76,7 @@ public class CustomerResourceTest {
|
|||||||
customerResource.delete(customer.getId());
|
customerResource.delete(customer.getId());
|
||||||
|
|
||||||
List<CustomerDto> allCustomers = customerResource.getAllCustomers();
|
List<CustomerDto> allCustomers = customerResource.getAllCustomers();
|
||||||
assertEquals(allCustomers.size(), 0);
|
assertTrue(allCustomers.isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -40,7 +40,7 @@ import com.iluwatar.delegation.simple.printers.HpPrinter;
|
|||||||
*/
|
*/
|
||||||
public class App {
|
public class App {
|
||||||
|
|
||||||
public static final String MESSAGE_TO_PRINT = "hello world";
|
private static final String MESSAGE_TO_PRINT = "hello world";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Program entry point
|
* Program entry point
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.dirty.flag;
|
package org.dirty.flag;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -41,7 +42,7 @@ public class DirtyFlagTest {
|
|||||||
public void testIsDirty() {
|
public void testIsDirty() {
|
||||||
DataFetcher df = new DataFetcher();
|
DataFetcher df = new DataFetcher();
|
||||||
List<String> countries = df.fetch();
|
List<String> countries = df.fetch();
|
||||||
assertTrue(!countries.isEmpty());
|
assertFalse(countries.isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -51,7 +51,7 @@ public class AggregatorRoute extends RouteBuilder {
|
|||||||
* @throws Exception in case of exception during configuration
|
* @throws Exception in case of exception during configuration
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void configure() throws Exception {
|
public void configure() {
|
||||||
// Main route
|
// Main route
|
||||||
from("{{entry}}").aggregate(constant(true), aggregator)
|
from("{{entry}}").aggregate(constant(true), aggregator)
|
||||||
.completionSize(3).completionInterval(2000)
|
.completionSize(3).completionInterval(2000)
|
||||||
|
@ -70,7 +70,7 @@ public class App {
|
|||||||
});
|
});
|
||||||
|
|
||||||
context.start();
|
context.start();
|
||||||
context.getRoutes().stream().forEach(r -> LOGGER.info(r.toString()));
|
context.getRoutes().forEach(r -> LOGGER.info(r.toString()));
|
||||||
context.stop();
|
context.stop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -65,7 +65,7 @@ public class App {
|
|||||||
});
|
});
|
||||||
ProducerTemplate template = context.createProducerTemplate();
|
ProducerTemplate template = context.createProducerTemplate();
|
||||||
context.start();
|
context.start();
|
||||||
context.getRoutes().stream().forEach(r -> LOGGER.info(r.toString()));
|
context.getRoutes().forEach(r -> LOGGER.info(r.toString()));
|
||||||
template.sendBody("direct:origin", "Hello from origin");
|
template.sendBody("direct:origin", "Hello from origin");
|
||||||
context.stop();
|
context.stop();
|
||||||
}
|
}
|
||||||
|
@ -76,7 +76,7 @@ public class KingJoffreyTest {
|
|||||||
private class InMemoryAppender extends AppenderBase<ILoggingEvent> {
|
private class InMemoryAppender extends AppenderBase<ILoggingEvent> {
|
||||||
private List<ILoggingEvent> log = new LinkedList<>();
|
private List<ILoggingEvent> log = new LinkedList<>();
|
||||||
|
|
||||||
public InMemoryAppender(Class clazz) {
|
public InMemoryAppender(Class<?> clazz) {
|
||||||
((Logger) LoggerFactory.getLogger(clazz)).addAppender(this);
|
((Logger) LoggerFactory.getLogger(clazz)).addAppender(this);
|
||||||
start();
|
start();
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
|
|||||||
public class WeekdayTest {
|
public class WeekdayTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testToString() throws Exception {
|
public void testToString() {
|
||||||
for (final Weekday weekday : Weekday.values()) {
|
for (final Weekday weekday : Weekday.values()) {
|
||||||
final String toString = weekday.toString();
|
final String toString = weekday.toString();
|
||||||
assertNotNull(toString);
|
assertNotNull(toString);
|
||||||
|
@ -16,11 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
package com.iluwatar.event.asynchronous;
|
package com.iluwatar.event.asynchronous;
|
||||||
|
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
||||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
@ -30,26 +31,19 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class EventAsynchronousTest {
|
public class EventAsynchronousTest {
|
||||||
App app;
|
|
||||||
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(EventAsynchronousTest.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(EventAsynchronousTest.class);
|
||||||
|
|
||||||
@BeforeEach
|
|
||||||
public void setUp() {
|
|
||||||
app = new App();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testAsynchronousEvent() {
|
public void testAsynchronousEvent() {
|
||||||
EventManager eventManager = new EventManager();
|
EventManager eventManager = new EventManager();
|
||||||
try {
|
try {
|
||||||
int aEventId = eventManager.createAsync(60);
|
int aEventId = eventManager.createAsync(60);
|
||||||
eventManager.start(aEventId);
|
eventManager.start(aEventId);
|
||||||
assertTrue(eventManager.getEventPool().size() == 1);
|
assertEquals(1, eventManager.getEventPool().size());
|
||||||
assertTrue(eventManager.getEventPool().size() < EventManager.MAX_RUNNING_EVENTS);
|
assertTrue(eventManager.getEventPool().size() < EventManager.MAX_RUNNING_EVENTS);
|
||||||
assertTrue(eventManager.numOfCurrentlyRunningSyncEvent() == -1);
|
assertEquals(-1, eventManager.numOfCurrentlyRunningSyncEvent());
|
||||||
eventManager.cancel(aEventId);
|
eventManager.cancel(aEventId);
|
||||||
assertTrue(eventManager.getEventPool().size() == 0);
|
assertTrue(eventManager.getEventPool().isEmpty());
|
||||||
} catch (MaxNumOfEventsAllowedException | LongRunningEventException | EventDoesNotExistException e) {
|
} catch (MaxNumOfEventsAllowedException | LongRunningEventException | EventDoesNotExistException e) {
|
||||||
LOGGER.error(e.getMessage());
|
LOGGER.error(e.getMessage());
|
||||||
}
|
}
|
||||||
@ -61,11 +55,11 @@ public class EventAsynchronousTest {
|
|||||||
try {
|
try {
|
||||||
int sEventId = eventManager.create(60);
|
int sEventId = eventManager.create(60);
|
||||||
eventManager.start(sEventId);
|
eventManager.start(sEventId);
|
||||||
assertTrue(eventManager.getEventPool().size() == 1);
|
assertEquals(1, eventManager.getEventPool().size());
|
||||||
assertTrue(eventManager.getEventPool().size() < EventManager.MAX_RUNNING_EVENTS);
|
assertTrue(eventManager.getEventPool().size() < EventManager.MAX_RUNNING_EVENTS);
|
||||||
assertTrue(eventManager.numOfCurrentlyRunningSyncEvent() != -1);
|
assertNotEquals(-1, eventManager.numOfCurrentlyRunningSyncEvent());
|
||||||
eventManager.cancel(sEventId);
|
eventManager.cancel(sEventId);
|
||||||
assertTrue(eventManager.getEventPool().size() == 0);
|
assertTrue(eventManager.getEventPool().isEmpty());
|
||||||
} catch (MaxNumOfEventsAllowedException | LongRunningEventException | EventDoesNotExistException
|
} catch (MaxNumOfEventsAllowedException | LongRunningEventException | EventDoesNotExistException
|
||||||
| InvalidOperationException e) {
|
| InvalidOperationException e) {
|
||||||
LOGGER.error(e.getMessage());
|
LOGGER.error(e.getMessage());
|
||||||
@ -73,7 +67,7 @@ public class EventAsynchronousTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testUnsuccessfulSynchronousEvent() throws InvalidOperationException {
|
public void testUnsuccessfulSynchronousEvent() {
|
||||||
assertThrows(InvalidOperationException.class, () -> {
|
assertThrows(InvalidOperationException.class, () -> {
|
||||||
EventManager eventManager = new EventManager();
|
EventManager eventManager = new EventManager();
|
||||||
try {
|
try {
|
||||||
@ -94,7 +88,7 @@ public class EventAsynchronousTest {
|
|||||||
int eventTime = 1;
|
int eventTime = 1;
|
||||||
|
|
||||||
int sEventId = eventManager.create(eventTime);
|
int sEventId = eventManager.create(eventTime);
|
||||||
assertTrue(eventManager.getEventPool().size() == 1);
|
assertEquals(1, eventManager.getEventPool().size());
|
||||||
eventManager.start(sEventId);
|
eventManager.start(sEventId);
|
||||||
|
|
||||||
long currentTime = System.currentTimeMillis();
|
long currentTime = System.currentTimeMillis();
|
||||||
@ -104,7 +98,7 @@ public class EventAsynchronousTest {
|
|||||||
while (System.currentTimeMillis() < endTime) {
|
while (System.currentTimeMillis() < endTime) {
|
||||||
}
|
}
|
||||||
|
|
||||||
assertTrue(eventManager.getEventPool().size() == 0);
|
assertTrue(eventManager.getEventPool().isEmpty());
|
||||||
|
|
||||||
} catch (MaxNumOfEventsAllowedException | LongRunningEventException | EventDoesNotExistException
|
} catch (MaxNumOfEventsAllowedException | LongRunningEventException | EventDoesNotExistException
|
||||||
| InvalidOperationException e) {
|
| InvalidOperationException e) {
|
||||||
@ -121,7 +115,7 @@ public class EventAsynchronousTest {
|
|||||||
int aEventId1 = eventManager.createAsync(eventTime);
|
int aEventId1 = eventManager.createAsync(eventTime);
|
||||||
int aEventId2 = eventManager.createAsync(eventTime);
|
int aEventId2 = eventManager.createAsync(eventTime);
|
||||||
int aEventId3 = eventManager.createAsync(eventTime);
|
int aEventId3 = eventManager.createAsync(eventTime);
|
||||||
assertTrue(eventManager.getEventPool().size() == 3);
|
assertEquals(3, eventManager.getEventPool().size());
|
||||||
|
|
||||||
eventManager.start(aEventId1);
|
eventManager.start(aEventId1);
|
||||||
eventManager.start(aEventId2);
|
eventManager.start(aEventId2);
|
||||||
@ -133,7 +127,7 @@ public class EventAsynchronousTest {
|
|||||||
while (System.currentTimeMillis() < endTime) {
|
while (System.currentTimeMillis() < endTime) {
|
||||||
}
|
}
|
||||||
|
|
||||||
assertTrue(eventManager.getEventPool().size() == 0);
|
assertTrue(eventManager.getEventPool().isEmpty());
|
||||||
|
|
||||||
} catch (MaxNumOfEventsAllowedException | LongRunningEventException | EventDoesNotExistException e) {
|
} catch (MaxNumOfEventsAllowedException | LongRunningEventException | EventDoesNotExistException e) {
|
||||||
LOGGER.error(e.getMessage());
|
LOGGER.error(e.getMessage());
|
||||||
|
@ -74,7 +74,7 @@ public class App {
|
|||||||
LOGGER.info("Running the system first time............");
|
LOGGER.info("Running the system first time............");
|
||||||
eventProcessor.reset();
|
eventProcessor.reset();
|
||||||
|
|
||||||
LOGGER.info("Creating th accounts............");
|
LOGGER.info("Creating the accounts............");
|
||||||
|
|
||||||
eventProcessor.process(new AccountCreateEvent(
|
eventProcessor.process(new AccountCreateEvent(
|
||||||
0, new Date().getTime(), ACCOUNT_OF_DAENERYS, "Daenerys Targaryen"));
|
0, new Date().getTime(), ACCOUNT_OF_DAENERYS, "Daenerys Targaryen"));
|
||||||
@ -98,7 +98,7 @@ public class App {
|
|||||||
LOGGER.info(AccountAggregate.getAccount(ACCOUNT_OF_DAENERYS).toString());
|
LOGGER.info(AccountAggregate.getAccount(ACCOUNT_OF_DAENERYS).toString());
|
||||||
LOGGER.info(AccountAggregate.getAccount(ACCOUNT_OF_JON).toString());
|
LOGGER.info(AccountAggregate.getAccount(ACCOUNT_OF_JON).toString());
|
||||||
|
|
||||||
LOGGER.info("At that point system had a shot down, state in memory is cleared............");
|
LOGGER.info("At that point system had a shut down, state in memory is cleared............");
|
||||||
AccountAggregate.resetState();
|
AccountAggregate.resetState();
|
||||||
|
|
||||||
LOGGER.info("Recover the system by the events in journal file............");
|
LOGGER.info("Recover the system by the events in journal file............");
|
||||||
|
@ -92,7 +92,7 @@ public class MoneyTransferEvent extends DomainEvent {
|
|||||||
}
|
}
|
||||||
Account accountTo = AccountAggregate.getAccount(accountNoTo);
|
Account accountTo = AccountAggregate.getAccount(accountNoTo);
|
||||||
if (accountTo == null) {
|
if (accountTo == null) {
|
||||||
throw new RuntimeException("Account not found" + accountTo);
|
throw new RuntimeException("Account not found " + accountNoTo);
|
||||||
}
|
}
|
||||||
|
|
||||||
accountFrom.handleTransferFromEvent(this);
|
accountFrom.handleTransferFromEvent(this);
|
||||||
|
@ -44,26 +44,17 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
|
|||||||
@EnableRuleMigrationSupport
|
@EnableRuleMigrationSupport
|
||||||
public class SimpleFileWriterTest {
|
public class SimpleFileWriterTest {
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a temporary folder, used to generate files in during this test
|
|
||||||
*/
|
|
||||||
@Rule
|
@Rule
|
||||||
public final TemporaryFolder testFolder = new TemporaryFolder();
|
public final TemporaryFolder testFolder = new TemporaryFolder();
|
||||||
|
|
||||||
/**
|
|
||||||
* Verify if the given writer is not 'null'
|
|
||||||
*/
|
|
||||||
@Test
|
@Test
|
||||||
public void testWriterNotNull() throws Exception {
|
public void testWriterNotNull() throws Exception {
|
||||||
final File temporaryFile = this.testFolder.newFile();
|
final File temporaryFile = this.testFolder.newFile();
|
||||||
new SimpleFileWriter(temporaryFile.getPath(), Assertions::assertNotNull);
|
new SimpleFileWriter(temporaryFile.getPath(), Assertions::assertNotNull);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Test if the {@link SimpleFileWriter} creates a file if it doesn't exist
|
|
||||||
*/
|
|
||||||
@Test
|
@Test
|
||||||
public void testNonExistentFile() throws Exception {
|
public void testCreatesNonExistentFile() throws Exception {
|
||||||
final File nonExistingFile = new File(this.testFolder.getRoot(), "non-existing-file");
|
final File nonExistingFile = new File(this.testFolder.getRoot(), "non-existing-file");
|
||||||
assertFalse(nonExistingFile.exists());
|
assertFalse(nonExistingFile.exists());
|
||||||
|
|
||||||
@ -71,11 +62,8 @@ public class SimpleFileWriterTest {
|
|||||||
assertTrue(nonExistingFile.exists());
|
assertTrue(nonExistingFile.exists());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Test if the data written to the file writer actually gets in the file
|
|
||||||
*/
|
|
||||||
@Test
|
@Test
|
||||||
public void testActualWrite() throws Exception {
|
public void testContentsAreWrittenToFile() throws Exception {
|
||||||
final String testMessage = "Test message";
|
final String testMessage = "Test message";
|
||||||
|
|
||||||
final File temporaryFile = this.testFolder.newFile();
|
final File temporaryFile = this.testFolder.newFile();
|
||||||
@ -85,17 +73,15 @@ public class SimpleFileWriterTest {
|
|||||||
assertTrue(Files.lines(temporaryFile.toPath()).allMatch(testMessage::equals));
|
assertTrue(Files.lines(temporaryFile.toPath()).allMatch(testMessage::equals));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Verify if an {@link IOException} during the write ripples through
|
|
||||||
*/
|
|
||||||
@Test
|
@Test
|
||||||
public void testIoException() throws Exception {
|
public void testRipplesIoExceptionOccurredWhileWriting() {
|
||||||
|
String message = "Some error";
|
||||||
assertThrows(IOException.class, () -> {
|
assertThrows(IOException.class, () -> {
|
||||||
final File temporaryFile = this.testFolder.newFile();
|
final File temporaryFile = this.testFolder.newFile();
|
||||||
new SimpleFileWriter(temporaryFile.getPath(), writer -> {
|
new SimpleFileWriter(temporaryFile.getPath(), writer -> {
|
||||||
throw new IOException("");
|
throw new IOException(message);
|
||||||
});
|
});
|
||||||
});
|
}, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -32,16 +32,16 @@ import units.CommanderUnit;
|
|||||||
*/
|
*/
|
||||||
public class Commander implements CommanderExtension {
|
public class Commander implements CommanderExtension {
|
||||||
|
|
||||||
|
private static final Logger LOGGER = LoggerFactory.getLogger(Commander.class);
|
||||||
|
|
||||||
private CommanderUnit unit;
|
private CommanderUnit unit;
|
||||||
|
|
||||||
public Commander(CommanderUnit commanderUnit) {
|
public Commander(CommanderUnit commanderUnit) {
|
||||||
this.unit = commanderUnit;
|
this.unit = commanderUnit;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Logger logger = LoggerFactory.getLogger(Commander.class);
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void commanderReady() {
|
public void commanderReady() {
|
||||||
logger.info("[Commander] " + unit.getName() + " is ready!");
|
LOGGER.info("[Commander] " + unit.getName() + " is ready!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,16 +32,16 @@ import units.SergeantUnit;
|
|||||||
*/
|
*/
|
||||||
public class Sergeant implements SergeantExtension {
|
public class Sergeant implements SergeantExtension {
|
||||||
|
|
||||||
|
private static final Logger LOGGER = LoggerFactory.getLogger(Sergeant.class);
|
||||||
|
|
||||||
private SergeantUnit unit;
|
private SergeantUnit unit;
|
||||||
|
|
||||||
public Sergeant(SergeantUnit sergeantUnit) {
|
public Sergeant(SergeantUnit sergeantUnit) {
|
||||||
this.unit = sergeantUnit;
|
this.unit = sergeantUnit;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Logger logger = LoggerFactory.getLogger(Sergeant.class);
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sergeantReady() {
|
public void sergeantReady() {
|
||||||
logger.info("[Sergeant] " + unit.getName() + " is ready! ");
|
LOGGER.info("[Sergeant] " + unit.getName() + " is ready! ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,7 @@ import units.SoldierUnit;
|
|||||||
* Class defining Soldier
|
* Class defining Soldier
|
||||||
*/
|
*/
|
||||||
public class Soldier implements SoldierExtension {
|
public class Soldier implements SoldierExtension {
|
||||||
|
private static final Logger LOGGER = LoggerFactory.getLogger(Soldier.class);
|
||||||
|
|
||||||
private SoldierUnit unit;
|
private SoldierUnit unit;
|
||||||
|
|
||||||
@ -38,10 +39,8 @@ public class Soldier implements SoldierExtension {
|
|||||||
this.unit = soldierUnit;
|
this.unit = soldierUnit;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Logger logger = LoggerFactory.getLogger(Soldier.class);
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void soldierReady() {
|
public void soldierReady() {
|
||||||
logger.info("[Solider] " + unit.getName() + " is ready!");
|
LOGGER.info("[Solider] " + unit.getName() + " is ready!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ import units.CommanderUnit;
|
|||||||
*/
|
*/
|
||||||
public class CommanderTest {
|
public class CommanderTest {
|
||||||
@Test
|
@Test
|
||||||
public void commanderReady() throws Exception {
|
public void commanderReady() {
|
||||||
final Commander commander = new Commander(new CommanderUnit("CommanderUnitTest"));
|
final Commander commander = new Commander(new CommanderUnit("CommanderUnitTest"));
|
||||||
|
|
||||||
commander.commanderReady();
|
commander.commanderReady();
|
||||||
|
@ -33,13 +33,13 @@ import static org.junit.jupiter.api.Assertions.assertNull;
|
|||||||
*/
|
*/
|
||||||
public class CommanderUnitTest {
|
public class CommanderUnitTest {
|
||||||
@Test
|
@Test
|
||||||
public void getUnitExtension() throws Exception {
|
public void getUnitExtension() {
|
||||||
|
|
||||||
final Unit unit = new CommanderUnit("CommanderUnitName");
|
final Unit unit = new CommanderUnit("CommanderUnitName");
|
||||||
|
|
||||||
assertNull(unit.getUnitExtension("SoldierExtension"));
|
assertNull(unit.getUnitExtension("SoldierExtension"));
|
||||||
assertNull(unit.getUnitExtension("SergeantExtension"));
|
assertNull(unit.getUnitExtension("SergeantExtension"));
|
||||||
assertNotNull((CommanderExtension) unit.getUnitExtension("CommanderExtension"));
|
assertNotNull(unit.getUnitExtension("CommanderExtension"));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -33,12 +33,12 @@ import static org.junit.jupiter.api.Assertions.assertNull;
|
|||||||
*/
|
*/
|
||||||
public class SergeantUnitTest {
|
public class SergeantUnitTest {
|
||||||
@Test
|
@Test
|
||||||
public void getUnitExtension() throws Exception {
|
public void getUnitExtension() {
|
||||||
|
|
||||||
final Unit unit = new SergeantUnit("SergeantUnitName");
|
final Unit unit = new SergeantUnit("SergeantUnitName");
|
||||||
|
|
||||||
assertNull(unit.getUnitExtension("SoldierExtension"));
|
assertNull(unit.getUnitExtension("SoldierExtension"));
|
||||||
assertNotNull((SergeantExtension) unit.getUnitExtension("SergeantExtension"));
|
assertNotNull(unit.getUnitExtension("SergeantExtension"));
|
||||||
assertNull(unit.getUnitExtension("CommanderExtension"));
|
assertNull(unit.getUnitExtension("CommanderExtension"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,11 +33,11 @@ import static org.junit.jupiter.api.Assertions.assertNull;
|
|||||||
*/
|
*/
|
||||||
public class SoldierUnitTest {
|
public class SoldierUnitTest {
|
||||||
@Test
|
@Test
|
||||||
public void getUnitExtension() throws Exception {
|
public void getUnitExtension() {
|
||||||
|
|
||||||
final Unit unit = new SoldierUnit("SoldierUnitName");
|
final Unit unit = new SoldierUnit("SoldierUnitName");
|
||||||
|
|
||||||
assertNotNull((SoldierExtension) unit.getUnitExtension("SoldierExtension"));
|
assertNotNull(unit.getUnitExtension("SoldierExtension"));
|
||||||
assertNull(unit.getUnitExtension("SergeantExtension"));
|
assertNull(unit.getUnitExtension("SergeantExtension"));
|
||||||
assertNull(unit.getUnitExtension("CommanderExtension"));
|
assertNull(unit.getUnitExtension("CommanderExtension"));
|
||||||
|
|
||||||
|
@ -83,7 +83,7 @@ public class FactoryKitTest {
|
|||||||
* @param weapon weapon object which is to be verified
|
* @param weapon weapon object which is to be verified
|
||||||
* @param clazz expected class of the weapon
|
* @param clazz expected class of the weapon
|
||||||
*/
|
*/
|
||||||
private void verifyWeapon(Weapon weapon, Class clazz) {
|
private void verifyWeapon(Weapon weapon, Class<?> clazz) {
|
||||||
assertTrue(clazz.isInstance(weapon), "Weapon must be an object of: " + clazz.getName());
|
assertTrue(clazz.isInstance(weapon), "Weapon must be an object of: " + clazz.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40,14 +40,14 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
|
|||||||
public class PropertiesFeatureToggleVersionTest {
|
public class PropertiesFeatureToggleVersionTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testNullPropertiesPassed() throws Exception {
|
public void testNullPropertiesPassed() {
|
||||||
assertThrows(IllegalArgumentException.class, () -> {
|
assertThrows(IllegalArgumentException.class, () -> {
|
||||||
new PropertiesFeatureToggleVersion(null);
|
new PropertiesFeatureToggleVersion(null);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testNonBooleanProperty() throws Exception {
|
public void testNonBooleanProperty() {
|
||||||
assertThrows(IllegalArgumentException.class, () -> {
|
assertThrows(IllegalArgumentException.class, () -> {
|
||||||
final Properties properties = new Properties();
|
final Properties properties = new Properties();
|
||||||
properties.setProperty("enhancedWelcome", "Something");
|
properties.setProperty("enhancedWelcome", "Something");
|
||||||
@ -56,7 +56,7 @@ public class PropertiesFeatureToggleVersionTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testFeatureTurnedOn() throws Exception {
|
public void testFeatureTurnedOn() {
|
||||||
final Properties properties = new Properties();
|
final Properties properties = new Properties();
|
||||||
properties.put("enhancedWelcome", true);
|
properties.put("enhancedWelcome", true);
|
||||||
Service service = new PropertiesFeatureToggleVersion(properties);
|
Service service = new PropertiesFeatureToggleVersion(properties);
|
||||||
@ -66,7 +66,7 @@ public class PropertiesFeatureToggleVersionTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testFeatureTurnedOff() throws Exception {
|
public void testFeatureTurnedOff() {
|
||||||
final Properties properties = new Properties();
|
final Properties properties = new Properties();
|
||||||
properties.put("enhancedWelcome", false);
|
properties.put("enhancedWelcome", false);
|
||||||
Service service = new PropertiesFeatureToggleVersion(properties);
|
Service service = new PropertiesFeatureToggleVersion(properties);
|
||||||
|
@ -41,27 +41,27 @@ public class TieredFeatureToggleVersionTest {
|
|||||||
final Service service = new TieredFeatureToggleVersion();
|
final Service service = new TieredFeatureToggleVersion();
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
public void setUp() throws Exception {
|
public void setUp() {
|
||||||
UserGroup.addUserToPaidGroup(paidUser);
|
UserGroup.addUserToPaidGroup(paidUser);
|
||||||
UserGroup.addUserToFreeGroup(freeUser);
|
UserGroup.addUserToFreeGroup(freeUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetWelcomeMessageForPaidUser() throws Exception {
|
public void testGetWelcomeMessageForPaidUser() {
|
||||||
final String welcomeMessage = service.getWelcomeMessage(paidUser);
|
final String welcomeMessage = service.getWelcomeMessage(paidUser);
|
||||||
final String expected = "You're amazing Jamie Coder. Thanks for paying for this awesome software.";
|
final String expected = "You're amazing Jamie Coder. Thanks for paying for this awesome software.";
|
||||||
assertEquals(expected, welcomeMessage);
|
assertEquals(expected, welcomeMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetWelcomeMessageForFreeUser() throws Exception {
|
public void testGetWelcomeMessageForFreeUser() {
|
||||||
final String welcomeMessage = service.getWelcomeMessage(freeUser);
|
final String welcomeMessage = service.getWelcomeMessage(freeUser);
|
||||||
final String expected = "I suppose you can use this software.";
|
final String expected = "I suppose you can use this software.";
|
||||||
assertEquals(expected, welcomeMessage);
|
assertEquals(expected, welcomeMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testIsEnhancedAlwaysTrueAsTiered() throws Exception {
|
public void testIsEnhancedAlwaysTrueAsTiered() {
|
||||||
assertTrue(service.isEnhanced());
|
assertTrue(service.isEnhanced());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -171,11 +171,11 @@ public class SimpleFluentIterable<E> implements FluentIterable<E> {
|
|||||||
/**
|
/**
|
||||||
* @return a FluentIterable from a given iterable. Calls the SimpleFluentIterable constructor.
|
* @return a FluentIterable from a given iterable. Calls the SimpleFluentIterable constructor.
|
||||||
*/
|
*/
|
||||||
public static final <E> FluentIterable<E> from(Iterable<E> iterable) {
|
public static <E> FluentIterable<E> from(Iterable<E> iterable) {
|
||||||
return new SimpleFluentIterable<>(iterable);
|
return new SimpleFluentIterable<>(iterable);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final <E> FluentIterable<E> fromCopyOf(Iterable<E> iterable) {
|
public static <E> FluentIterable<E> fromCopyOf(Iterable<E> iterable) {
|
||||||
List<E> copy = FluentIterable.copyToList(iterable);
|
List<E> copy = FluentIterable.copyToList(iterable);
|
||||||
return new SimpleFluentIterable<>(copy);
|
return new SimpleFluentIterable<>(copy);
|
||||||
}
|
}
|
||||||
|
@ -179,15 +179,15 @@ public abstract class FluentIterableTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testForEach() throws Exception {
|
public void testForEach() {
|
||||||
final List<Integer> integers = Arrays.asList(1, 2, 3);
|
final List<Integer> integers = Arrays.asList(1, 2, 3);
|
||||||
|
|
||||||
final Consumer<Integer> consumer = mock(Consumer.class);
|
final Consumer<Integer> consumer = mock(Consumer.class);
|
||||||
createFluentIterable(integers).forEach(consumer);
|
createFluentIterable(integers).forEach(consumer);
|
||||||
|
|
||||||
verify(consumer, times(1)).accept(Integer.valueOf(1));
|
verify(consumer, times(1)).accept(1);
|
||||||
verify(consumer, times(1)).accept(Integer.valueOf(2));
|
verify(consumer, times(1)).accept(2);
|
||||||
verify(consumer, times(1)).accept(Integer.valueOf(3));
|
verify(consumer, times(1)).accept(3);
|
||||||
verifyNoMoreInteractions(consumer);
|
verifyNoMoreInteractions(consumer);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@ public class FrontController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Command getCommand(String request) {
|
private Command getCommand(String request) {
|
||||||
Class commandClass = getCommandClass(request);
|
Class<?> commandClass = getCommandClass(request);
|
||||||
try {
|
try {
|
||||||
return (Command) commandClass.newInstance();
|
return (Command) commandClass.newInstance();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -44,8 +44,8 @@ public class FrontController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Class getCommandClass(String request) {
|
private static Class<?> getCommandClass(String request) {
|
||||||
Class result;
|
Class<?> result;
|
||||||
try {
|
try {
|
||||||
result = Class.forName("com.iluwatar.front.controller." + request + "Command");
|
result = Class.forName("com.iluwatar.front.controller." + request + "Command");
|
||||||
} catch (ClassNotFoundException e) {
|
} catch (ClassNotFoundException e) {
|
||||||
|
@ -34,7 +34,7 @@ import static org.junit.jupiter.api.Assertions.assertSame;
|
|||||||
public class ApplicationExceptionTest {
|
public class ApplicationExceptionTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testCause() throws Exception {
|
public void testCause() {
|
||||||
final Exception cause = new Exception();
|
final Exception cause = new Exception();
|
||||||
assertSame(cause, new ApplicationException(cause).getCause());
|
assertSame(cause, new ApplicationException(cause).getCause());
|
||||||
}
|
}
|
||||||
|
@ -41,7 +41,7 @@ public class GuardedQueueTest {
|
|||||||
GuardedQueue g = new GuardedQueue();
|
GuardedQueue g = new GuardedQueue();
|
||||||
ExecutorService executorService = Executors.newFixedThreadPool(2);
|
ExecutorService executorService = Executors.newFixedThreadPool(2);
|
||||||
executorService.submit(() -> value = g.get());
|
executorService.submit(() -> value = g.get());
|
||||||
executorService.submit(() -> g.put(Integer.valueOf(10)));
|
executorService.submit(() -> g.put(10));
|
||||||
executorService.shutdown();
|
executorService.shutdown();
|
||||||
try {
|
try {
|
||||||
executorService.awaitTermination(30, TimeUnit.SECONDS);
|
executorService.awaitTermination(30, TimeUnit.SECONDS);
|
||||||
|
@ -34,7 +34,7 @@ import java.util.concurrent.ExecutionException;
|
|||||||
public class AppTest {
|
public class AppTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void test() throws InterruptedException, ExecutionException {
|
public void test() {
|
||||||
App.main(null);
|
App.main(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.iluwatar.halfsynchalfasync;
|
package com.iluwatar.halfsynchalfasync;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.mockito.InOrder;
|
import org.mockito.InOrder;
|
||||||
|
|
||||||
@ -44,11 +45,17 @@ import static org.mockito.Mockito.when;
|
|||||||
* @author Jeroen Meulemeester
|
* @author Jeroen Meulemeester
|
||||||
*/
|
*/
|
||||||
public class AsynchronousServiceTest {
|
public class AsynchronousServiceTest {
|
||||||
|
private AsynchronousService service;
|
||||||
|
private AsyncTask<Object> task;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
public void setUp() {
|
||||||
|
service = new AsynchronousService(new LinkedBlockingQueue<>());
|
||||||
|
task = mock(AsyncTask.class);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testPerfectExecution() throws Exception {
|
public void testPerfectExecution() throws Exception {
|
||||||
final AsynchronousService service = new AsynchronousService(new LinkedBlockingQueue<>());
|
|
||||||
final AsyncTask<Object> task = mock(AsyncTask.class);
|
|
||||||
final Object result = new Object();
|
final Object result = new Object();
|
||||||
when(task.call()).thenReturn(result);
|
when(task.call()).thenReturn(result);
|
||||||
service.execute(task);
|
service.execute(task);
|
||||||
@ -65,8 +72,6 @@ public class AsynchronousServiceTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testCallException() throws Exception {
|
public void testCallException() throws Exception {
|
||||||
final AsynchronousService service = new AsynchronousService(new LinkedBlockingQueue<>());
|
|
||||||
final AsyncTask<Object> task = mock(AsyncTask.class);
|
|
||||||
final IOException exception = new IOException();
|
final IOException exception = new IOException();
|
||||||
when(task.call()).thenThrow(exception);
|
when(task.call()).thenThrow(exception);
|
||||||
service.execute(task);
|
service.execute(task);
|
||||||
@ -82,9 +87,7 @@ public class AsynchronousServiceTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testPreCallException() throws Exception {
|
public void testPreCallException() {
|
||||||
final AsynchronousService service = new AsynchronousService(new LinkedBlockingQueue<>());
|
|
||||||
final AsyncTask<Object> task = mock(AsyncTask.class);
|
|
||||||
final IllegalStateException exception = new IllegalStateException();
|
final IllegalStateException exception = new IllegalStateException();
|
||||||
doThrow(exception).when(task).onPreCall();
|
doThrow(exception).when(task).onPreCall();
|
||||||
service.execute(task);
|
service.execute(task);
|
||||||
|
@ -22,9 +22,6 @@
|
|||||||
*/
|
*/
|
||||||
package com.iluwatar.intercepting.filter;
|
package com.iluwatar.intercepting.filter;
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
|
||||||
import java.awt.GridLayout;
|
|
||||||
|
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
@ -33,6 +30,9 @@ import javax.swing.JRootPane;
|
|||||||
import javax.swing.JTextArea;
|
import javax.swing.JTextArea;
|
||||||
import javax.swing.JTextField;
|
import javax.swing.JTextField;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
|
import javax.swing.WindowConstants;
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.GridLayout;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Client class is responsible for handling the input and running them through filters inside the
|
* The Client class is responsible for handling the input and running them through filters inside the
|
||||||
@ -60,7 +60,7 @@ public class Client extends JFrame { // NOSONAR
|
|||||||
*/
|
*/
|
||||||
public Client() {
|
public Client() {
|
||||||
super("Client System");
|
super("Client System");
|
||||||
setDefaultCloseOperation(EXIT_ON_CLOSE);
|
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
|
||||||
setSize(300, 300);
|
setSize(300, 300);
|
||||||
jl = new JLabel("RUNNING...");
|
jl = new JLabel("RUNNING...");
|
||||||
jtFields = new JTextField[3];
|
jtFields = new JTextField[3];
|
||||||
|
@ -22,11 +22,6 @@
|
|||||||
*/
|
*/
|
||||||
package com.iluwatar.intercepting.filter;
|
package com.iluwatar.intercepting.filter;
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
|
||||||
import java.awt.Dimension;
|
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
import java.awt.event.ActionListener;
|
|
||||||
|
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
@ -34,7 +29,12 @@ import javax.swing.JRootPane;
|
|||||||
import javax.swing.JScrollPane;
|
import javax.swing.JScrollPane;
|
||||||
import javax.swing.JTable;
|
import javax.swing.JTable;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
|
import javax.swing.WindowConstants;
|
||||||
import javax.swing.table.DefaultTableModel;
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is where the requests are displayed after being validated by filters.
|
* This is where the requests are displayed after being validated by filters.
|
||||||
@ -47,7 +47,6 @@ public class Target extends JFrame { //NOSONAR
|
|||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
private JTable jt;
|
private JTable jt;
|
||||||
private JScrollPane jsp;
|
|
||||||
private DefaultTableModel dtm;
|
private DefaultTableModel dtm;
|
||||||
private JButton del;
|
private JButton del;
|
||||||
|
|
||||||
@ -56,7 +55,7 @@ public class Target extends JFrame { //NOSONAR
|
|||||||
*/
|
*/
|
||||||
public Target() {
|
public Target() {
|
||||||
super("Order System");
|
super("Order System");
|
||||||
setDefaultCloseOperation(EXIT_ON_CLOSE);
|
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
|
||||||
setSize(640, 480);
|
setSize(640, 480);
|
||||||
dtm =
|
dtm =
|
||||||
new DefaultTableModel(new Object[] {"Name", "Contact Number", "Address", "Deposit Number",
|
new DefaultTableModel(new Object[] {"Name", "Contact Number", "Address", "Deposit Number",
|
||||||
@ -73,7 +72,7 @@ public class Target extends JFrame { //NOSONAR
|
|||||||
bot.setLayout(new BorderLayout());
|
bot.setLayout(new BorderLayout());
|
||||||
bot.add(del, BorderLayout.EAST);
|
bot.add(del, BorderLayout.EAST);
|
||||||
add(bot, BorderLayout.SOUTH);
|
add(bot, BorderLayout.SOUTH);
|
||||||
jsp = new JScrollPane(jt);
|
JScrollPane jsp = new JScrollPane(jt);
|
||||||
jsp.setPreferredSize(new Dimension(500, 250));
|
jsp.setPreferredSize(new Dimension(500, 250));
|
||||||
add(jsp, BorderLayout.CENTER);
|
add(jsp, BorderLayout.CENTER);
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ import static org.mockito.Mockito.when;
|
|||||||
public class FilterManagerTest {
|
public class FilterManagerTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testFilterRequest() throws Exception {
|
public void testFilterRequest() {
|
||||||
final Target target = mock(Target.class);
|
final Target target = mock(Target.class);
|
||||||
final FilterManager filterManager = new FilterManager();
|
final FilterManager filterManager = new FilterManager();
|
||||||
assertEquals("RUNNING...", filterManager.filterRequest(mock(Order.class)));
|
assertEquals("RUNNING...", filterManager.filterRequest(mock(Order.class)));
|
||||||
@ -48,7 +48,7 @@ public class FilterManagerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testAddFilter() throws Exception {
|
public void testAddFilter() {
|
||||||
final Target target = mock(Target.class);
|
final Target target = mock(Target.class);
|
||||||
final FilterManager filterManager = new FilterManager();
|
final FilterManager filterManager = new FilterManager();
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ public class FilterTest {
|
|||||||
|
|
||||||
@ParameterizedTest
|
@ParameterizedTest
|
||||||
@MethodSource("getTestData")
|
@MethodSource("getTestData")
|
||||||
public void testExecute(Filter filter, Order order, String expectedResult) throws Exception {
|
public void testExecute(Filter filter, Order order, String expectedResult) {
|
||||||
final String result = filter.execute(order);
|
final String result = filter.execute(order);
|
||||||
assertNotNull(result);
|
assertNotNull(result);
|
||||||
assertEquals(expectedResult, result.trim());
|
assertEquals(expectedResult, result.trim());
|
||||||
@ -97,7 +97,7 @@ public class FilterTest {
|
|||||||
|
|
||||||
@ParameterizedTest
|
@ParameterizedTest
|
||||||
@MethodSource("getTestData")
|
@MethodSource("getTestData")
|
||||||
public void testNext(Filter filter) throws Exception {
|
public void testNext(Filter filter) {
|
||||||
assertNull(filter.getNext());
|
assertNull(filter.getNext());
|
||||||
assertSame(filter, filter.getLast());
|
assertSame(filter, filter.getLast());
|
||||||
}
|
}
|
||||||
|
@ -36,35 +36,35 @@ public class OrderTest {
|
|||||||
private static final String EXPECTED_VALUE = "test";
|
private static final String EXPECTED_VALUE = "test";
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSetName() throws Exception {
|
public void testSetName() {
|
||||||
final Order order = new Order();
|
final Order order = new Order();
|
||||||
order.setName(EXPECTED_VALUE);
|
order.setName(EXPECTED_VALUE);
|
||||||
assertEquals(EXPECTED_VALUE, order.getName());
|
assertEquals(EXPECTED_VALUE, order.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSetContactNumber() throws Exception {
|
public void testSetContactNumber() {
|
||||||
final Order order = new Order();
|
final Order order = new Order();
|
||||||
order.setContactNumber(EXPECTED_VALUE);
|
order.setContactNumber(EXPECTED_VALUE);
|
||||||
assertEquals(EXPECTED_VALUE, order.getContactNumber());
|
assertEquals(EXPECTED_VALUE, order.getContactNumber());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSetAddress() throws Exception {
|
public void testSetAddress() {
|
||||||
final Order order = new Order();
|
final Order order = new Order();
|
||||||
order.setAddress(EXPECTED_VALUE);
|
order.setAddress(EXPECTED_VALUE);
|
||||||
assertEquals(EXPECTED_VALUE, order.getAddress());
|
assertEquals(EXPECTED_VALUE, order.getAddress());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSetDepositNumber() throws Exception {
|
public void testSetDepositNumber() {
|
||||||
final Order order = new Order();
|
final Order order = new Order();
|
||||||
order.setDepositNumber(EXPECTED_VALUE);
|
order.setDepositNumber(EXPECTED_VALUE);
|
||||||
assertEquals(EXPECTED_VALUE, order.getDepositNumber());
|
assertEquals(EXPECTED_VALUE, order.getDepositNumber());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSetOrder() throws Exception {
|
public void testSetOrder() {
|
||||||
final Order order = new Order();
|
final Order order = new Order();
|
||||||
order.setOrderItem(EXPECTED_VALUE);
|
order.setOrderItem(EXPECTED_VALUE);
|
||||||
assertEquals(EXPECTED_VALUE, order.getOrderItem());
|
assertEquals(EXPECTED_VALUE, order.getOrderItem());
|
||||||
|
@ -50,49 +50,49 @@ class BstIteratorTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void nextForEmptyTree() {
|
void nextForEmptyTree() {
|
||||||
BstIterator iter = new BstIterator<>(emptyRoot);
|
BstIterator<Integer> iter = new BstIterator<>(emptyRoot);
|
||||||
assertThrows(NoSuchElementException.class, iter::next,
|
assertThrows(NoSuchElementException.class, iter::next,
|
||||||
"next() should throw an IllegalStateException if hasNext() is false.");
|
"next() should throw an IllegalStateException if hasNext() is false.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void nextOverEntirePopulatedTree() {
|
void nextOverEntirePopulatedTree() {
|
||||||
BstIterator iter = new BstIterator<>(nonEmptyRoot);
|
BstIterator<Integer> iter = new BstIterator<>(nonEmptyRoot);
|
||||||
assertEquals(1, iter.next().getVal(), "First Node is 1.");
|
assertEquals(Integer.valueOf(1), iter.next().getVal(), "First Node is 1.");
|
||||||
assertEquals(3, iter.next().getVal(), "Second Node is 3.");
|
assertEquals(Integer.valueOf(3), iter.next().getVal(), "Second Node is 3.");
|
||||||
assertEquals(4, iter.next().getVal(), "Third Node is 4.");
|
assertEquals(Integer.valueOf(4), iter.next().getVal(), "Third Node is 4.");
|
||||||
assertEquals(5, iter.next().getVal(), "Fourth Node is 5.");
|
assertEquals(Integer.valueOf(5), iter.next().getVal(), "Fourth Node is 5.");
|
||||||
assertEquals(6, iter.next().getVal(), "Fifth Node is 6.");
|
assertEquals(Integer.valueOf(6), iter.next().getVal(), "Fifth Node is 6.");
|
||||||
assertEquals(7, iter.next().getVal(), "Sixth Node is 7.");
|
assertEquals(Integer.valueOf(7), iter.next().getVal(), "Sixth Node is 7.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void hasNextForEmptyTree() {
|
void hasNextForEmptyTree() {
|
||||||
BstIterator iter = new BstIterator<>(emptyRoot);
|
BstIterator<Integer> iter = new BstIterator<>(emptyRoot);
|
||||||
assertFalse(iter.hasNext(), "hasNext() should return false for empty tree.");
|
assertFalse(iter.hasNext(), "hasNext() should return false for empty tree.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void hasNextForPopulatedTree() {
|
void hasNextForPopulatedTree() {
|
||||||
BstIterator iter = new BstIterator<>(nonEmptyRoot);
|
BstIterator<Integer> iter = new BstIterator<>(nonEmptyRoot);
|
||||||
assertTrue(iter.hasNext(), "hasNext() should return true for populated tree.");
|
assertTrue(iter.hasNext(), "hasNext() should return true for populated tree.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void nextAndHasNextOverEntirePopulatedTree() {
|
void nextAndHasNextOverEntirePopulatedTree() {
|
||||||
BstIterator iter = new BstIterator<>(nonEmptyRoot);
|
BstIterator<Integer> iter = new BstIterator<>(nonEmptyRoot);
|
||||||
assertTrue(iter.hasNext(), "Iterator hasNext() should be true.");
|
assertTrue(iter.hasNext(), "Iterator hasNext() should be true.");
|
||||||
assertEquals(1, iter.next().getVal(), "First Node is 1.");
|
assertEquals(Integer.valueOf(1), iter.next().getVal(), "First Node is 1.");
|
||||||
assertTrue(iter.hasNext(), "Iterator hasNext() should be true.");
|
assertTrue(iter.hasNext(), "Iterator hasNext() should be true.");
|
||||||
assertEquals(3, iter.next().getVal(), "Second Node is 3.");
|
assertEquals(Integer.valueOf(3), iter.next().getVal(), "Second Node is 3.");
|
||||||
assertTrue(iter.hasNext(), "Iterator hasNext() should be true.");
|
assertTrue(iter.hasNext(), "Iterator hasNext() should be true.");
|
||||||
assertEquals(4, iter.next().getVal(), "Third Node is 4.");
|
assertEquals(Integer.valueOf(4), iter.next().getVal(), "Third Node is 4.");
|
||||||
assertTrue(iter.hasNext(), "Iterator hasNext() should be true.");
|
assertTrue(iter.hasNext(), "Iterator hasNext() should be true.");
|
||||||
assertEquals(5, iter.next().getVal(), "Fourth Node is 5.");
|
assertEquals(Integer.valueOf(5), iter.next().getVal(), "Fourth Node is 5.");
|
||||||
assertTrue(iter.hasNext(), "Iterator hasNext() should be true.");
|
assertTrue(iter.hasNext(), "Iterator hasNext() should be true.");
|
||||||
assertEquals(6, iter.next().getVal(), "Fifth Node is 6.");
|
assertEquals(Integer.valueOf(6), iter.next().getVal(), "Fifth Node is 6.");
|
||||||
assertTrue(iter.hasNext(), "Iterator hasNext() should be true.");
|
assertTrue(iter.hasNext(), "Iterator hasNext() should be true.");
|
||||||
assertEquals(7, iter.next().getVal(), "Sixth Node is 7.");
|
assertEquals(Integer.valueOf(7), iter.next().getVal(), "Sixth Node is 7.");
|
||||||
assertFalse(iter.hasNext(), "Iterator hasNext() should be false, end of tree.");
|
assertFalse(iter.hasNext(), "Iterator hasNext() should be false, end of tree.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,6 +41,6 @@ public class CakeViewImpl implements View {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void render() {
|
public void render() {
|
||||||
cakeBakingService.getAllCakes().stream().forEach(cake -> LOGGER.info(cake.toString()));
|
cakeBakingService.getAllCakes().forEach(cake -> LOGGER.info(cake.toString()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,14 +35,14 @@ import static org.junit.jupiter.api.Assertions.assertNull;
|
|||||||
public class CakeBakingExceptionTest {
|
public class CakeBakingExceptionTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testConstructor() throws Exception {
|
public void testConstructor() {
|
||||||
final CakeBakingException exception = new CakeBakingException();
|
final CakeBakingException exception = new CakeBakingException();
|
||||||
assertNull(exception.getMessage());
|
assertNull(exception.getMessage());
|
||||||
assertNull(exception.getCause());
|
assertNull(exception.getCause());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testConstructorWithMessage() throws Exception {
|
public void testConstructorWithMessage() {
|
||||||
final String expectedMessage = "message";
|
final String expectedMessage = "message";
|
||||||
final CakeBakingException exception = new CakeBakingException(expectedMessage);
|
final CakeBakingException exception = new CakeBakingException(expectedMessage);
|
||||||
assertEquals(expectedMessage, exception.getMessage());
|
assertEquals(expectedMessage, exception.getMessage());
|
||||||
|
@ -42,7 +42,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
|
|||||||
public class CakeBakingServiceImplTest {
|
public class CakeBakingServiceImplTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testLayers() throws CakeBakingException {
|
public void testLayers() {
|
||||||
final CakeBakingServiceImpl service = new CakeBakingServiceImpl();
|
final CakeBakingServiceImpl service = new CakeBakingServiceImpl();
|
||||||
|
|
||||||
final List<CakeLayerInfo> initialLayers = service.getAvailableLayers();
|
final List<CakeLayerInfo> initialLayers = service.getAvailableLayers();
|
||||||
@ -65,7 +65,7 @@ public class CakeBakingServiceImplTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testToppings() throws CakeBakingException {
|
public void testToppings() {
|
||||||
final CakeBakingServiceImpl service = new CakeBakingServiceImpl();
|
final CakeBakingServiceImpl service = new CakeBakingServiceImpl();
|
||||||
|
|
||||||
final List<CakeToppingInfo> initialToppings = service.getAvailableToppings();
|
final List<CakeToppingInfo> initialToppings = service.getAvailableToppings();
|
||||||
@ -125,7 +125,7 @@ public class CakeBakingServiceImplTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testBakeCakeMissingTopping() throws CakeBakingException {
|
public void testBakeCakeMissingTopping() {
|
||||||
final CakeBakingServiceImpl service = new CakeBakingServiceImpl();
|
final CakeBakingServiceImpl service = new CakeBakingServiceImpl();
|
||||||
|
|
||||||
final CakeLayerInfo layer1 = new CakeLayerInfo("Layer1", 1000);
|
final CakeLayerInfo layer1 = new CakeLayerInfo("Layer1", 1000);
|
||||||
@ -140,7 +140,7 @@ public class CakeBakingServiceImplTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testBakeCakeMissingLayer() throws CakeBakingException {
|
public void testBakeCakeMissingLayer() {
|
||||||
final CakeBakingServiceImpl service = new CakeBakingServiceImpl();
|
final CakeBakingServiceImpl service = new CakeBakingServiceImpl();
|
||||||
|
|
||||||
final List<CakeInfo> initialCakes = service.getAllCakes();
|
final List<CakeInfo> initialCakes = service.getAllCakes();
|
||||||
|
@ -44,7 +44,7 @@ public class CakeTest {
|
|||||||
final Cake cake = new Cake();
|
final Cake cake = new Cake();
|
||||||
assertNull(cake.getId());
|
assertNull(cake.getId());
|
||||||
|
|
||||||
final Long expectedId = Long.valueOf(1234L);
|
final Long expectedId = 1234L;
|
||||||
cake.setId(expectedId);
|
cake.setId(expectedId);
|
||||||
assertEquals(expectedId, cake.getId());
|
assertEquals(expectedId, cake.getId());
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ public class Java8Holder {
|
|||||||
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(Java8Holder.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(Java8Holder.class);
|
||||||
|
|
||||||
private Supplier<Heavy> heavy = () -> createAndCacheHeavy();
|
private Supplier<Heavy> heavy = this::createAndCacheHeavy;
|
||||||
|
|
||||||
public Java8Holder() {
|
public Java8Holder() {
|
||||||
LOGGER.info("Java8Holder created");
|
LOGGER.info("Java8Holder created");
|
||||||
|
@ -27,6 +27,7 @@ import java.io.FileReader;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Module pattern can be considered a Creational pattern and a Structural pattern. It manages
|
* The Module pattern can be considered a Creational pattern and a Structural pattern. It manages
|
||||||
@ -88,7 +89,7 @@ public final class FileLoggerModuleTest {
|
|||||||
fileLoggerModule.prepare();
|
fileLoggerModule.prepare();
|
||||||
|
|
||||||
/* Test if nothing is printed in file */
|
/* Test if nothing is printed in file */
|
||||||
assertEquals(readFirstLine(OUTPUT_FILE), null);
|
assertNull(readFirstLine(OUTPUT_FILE));
|
||||||
|
|
||||||
/* Unprepare to cleanup the modules */
|
/* Unprepare to cleanup the modules */
|
||||||
fileLoggerModule.unprepare();
|
fileLoggerModule.unprepare();
|
||||||
@ -113,7 +114,7 @@ public final class FileLoggerModuleTest {
|
|||||||
fileLoggerModule.printErrorString(ERROR);
|
fileLoggerModule.printErrorString(ERROR);
|
||||||
|
|
||||||
/* Test if 'Message' is printed in file */
|
/* Test if 'Message' is printed in file */
|
||||||
assertEquals(readFirstLine(ERROR_FILE), ERROR);
|
assertEquals(ERROR, readFirstLine(ERROR_FILE));
|
||||||
|
|
||||||
/* Unprepare to cleanup the modules */
|
/* Unprepare to cleanup the modules */
|
||||||
fileLoggerModule.unprepare();
|
fileLoggerModule.unprepare();
|
||||||
@ -135,7 +136,7 @@ public final class FileLoggerModuleTest {
|
|||||||
fileLoggerModule.prepare();
|
fileLoggerModule.prepare();
|
||||||
|
|
||||||
/* Test if nothing is printed in file */
|
/* Test if nothing is printed in file */
|
||||||
assertEquals(readFirstLine(ERROR_FILE), null);
|
assertNull(readFirstLine(ERROR_FILE));
|
||||||
|
|
||||||
/* Unprepare to cleanup the modules */
|
/* Unprepare to cleanup the modules */
|
||||||
fileLoggerModule.unprepare();
|
fileLoggerModule.unprepare();
|
||||||
@ -150,11 +151,7 @@ public final class FileLoggerModuleTest {
|
|||||||
private static final String readFirstLine(final String file) {
|
private static final String readFirstLine(final String file) {
|
||||||
|
|
||||||
String firstLine = null;
|
String firstLine = null;
|
||||||
BufferedReader bufferedReader = null;
|
try (BufferedReader bufferedReader = new BufferedReader(new FileReader(file))) {
|
||||||
try {
|
|
||||||
|
|
||||||
/* Create a buffered reader */
|
|
||||||
bufferedReader = new BufferedReader(new FileReader(file));
|
|
||||||
|
|
||||||
while (bufferedReader.ready()) {
|
while (bufferedReader.ready()) {
|
||||||
|
|
||||||
@ -166,15 +163,6 @@ public final class FileLoggerModuleTest {
|
|||||||
|
|
||||||
} catch (final IOException e) {
|
} catch (final IOException e) {
|
||||||
LOGGER.error("ModuleTest::readFirstLine()", e);
|
LOGGER.error("ModuleTest::readFirstLine()", e);
|
||||||
} finally {
|
|
||||||
|
|
||||||
if (bufferedReader != null) {
|
|
||||||
try {
|
|
||||||
bufferedReader.close();
|
|
||||||
} catch (final IOException e) {
|
|
||||||
LOGGER.error("ModuleTest::readFirstLine()", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return firstLine;
|
return firstLine;
|
||||||
|
@ -34,33 +34,31 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
public class LoadBalancer {
|
public class LoadBalancer {
|
||||||
private static List<Server> servers = new ArrayList<>();
|
private static final List<Server> SERVERS = new ArrayList<>();
|
||||||
private static int lastServedId;
|
private static int lastServedId;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
int id = 0;
|
int id = 0;
|
||||||
servers.add(new Server("localhost", 8081, ++id));
|
for (int port : new int[] {8080, 8081, 8082, 8083, 8084}) {
|
||||||
servers.add(new Server("localhost", 8080, ++id));
|
SERVERS.add(new Server("localhost", port, ++id));
|
||||||
servers.add(new Server("localhost", 8082, ++id));
|
}
|
||||||
servers.add(new Server("localhost", 8083, ++id));
|
|
||||||
servers.add(new Server("localhost", 8084, ++id));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add new server
|
* Add new server
|
||||||
*/
|
*/
|
||||||
public final void addServer(Server server) {
|
public final void addServer(Server server) {
|
||||||
synchronized (servers) {
|
synchronized (SERVERS) {
|
||||||
servers.add(server);
|
SERVERS.add(server);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public final int getNoOfServers() {
|
public final int getNoOfServers() {
|
||||||
return servers.size();
|
return SERVERS.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getLastServedId() {
|
public int getLastServedId() {
|
||||||
return lastServedId;
|
return lastServedId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -68,10 +66,10 @@ public class LoadBalancer {
|
|||||||
* Handle request
|
* Handle request
|
||||||
*/
|
*/
|
||||||
public synchronized void serverRequest(Request request) {
|
public synchronized void serverRequest(Request request) {
|
||||||
if (lastServedId >= servers.size()) {
|
if (lastServedId >= SERVERS.size()) {
|
||||||
lastServedId = 0;
|
lastServedId = 0;
|
||||||
}
|
}
|
||||||
Server server = servers.get(lastServedId++);
|
Server server = SERVERS.get(lastServedId++);
|
||||||
server.serve(request);
|
server.serve(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,9 +22,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.iluwatar.monostate;
|
package com.iluwatar.monostate;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
||||||
import static org.mockito.Matchers.any;
|
import static org.mockito.Matchers.any;
|
||||||
import static org.mockito.Mockito.doNothing;
|
import static org.mockito.Mockito.doNothing;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
@ -34,6 +32,8 @@ import static org.mockito.Mockito.verifyNoMoreInteractions;
|
|||||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Date: 12/21/15 - 12:26 PM
|
* Date: 12/21/15 - 12:26 PM
|
||||||
*
|
*
|
||||||
@ -47,9 +47,9 @@ public class LoadBalancerTest {
|
|||||||
final LoadBalancer secondBalancer = new LoadBalancer();
|
final LoadBalancer secondBalancer = new LoadBalancer();
|
||||||
firstBalancer.addServer(new Server("localhost", 8085, 6));
|
firstBalancer.addServer(new Server("localhost", 8085, 6));
|
||||||
// Both should have the same number of servers.
|
// Both should have the same number of servers.
|
||||||
assertTrue(firstBalancer.getNoOfServers() == secondBalancer.getNoOfServers());
|
assertEquals(firstBalancer.getNoOfServers(), secondBalancer.getNoOfServers());
|
||||||
// Both Should have the same LastServedId
|
// Both Should have the same LastServedId
|
||||||
assertTrue(firstBalancer.getLastServedId() == secondBalancer.getLastServedId());
|
assertEquals(firstBalancer.getLastServedId(), secondBalancer.getLastServedId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -45,27 +45,27 @@ public class MuteTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void muteShouldRunTheCheckedRunnableAndNotThrowAnyExceptionIfCheckedRunnableDoesNotThrowAnyException() {
|
public void muteShouldRunTheCheckedRunnableAndNotThrowAnyExceptionIfCheckedRunnableDoesNotThrowAnyException() {
|
||||||
Mute.mute(() -> methodNotThrowingAnyException());
|
Mute.mute(this::methodNotThrowingAnyException);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void muteShouldRethrowUnexpectedExceptionAsAssertionError() throws Exception {
|
public void muteShouldRethrowUnexpectedExceptionAsAssertionError() {
|
||||||
assertThrows(AssertionError.class, () -> {
|
assertThrows(AssertionError.class, () -> {
|
||||||
Mute.mute(() -> methodThrowingException());
|
Mute.mute(this::methodThrowingException);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void loggedMuteShouldRunTheCheckedRunnableAndNotThrowAnyExceptionIfCheckedRunnableDoesNotThrowAnyException() {
|
public void loggedMuteShouldRunTheCheckedRunnableAndNotThrowAnyExceptionIfCheckedRunnableDoesNotThrowAnyException() {
|
||||||
Mute.loggedMute(() -> methodNotThrowingAnyException());
|
Mute.loggedMute(this::methodNotThrowingAnyException);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void loggedMuteShouldLogExceptionTraceBeforeSwallowingIt() throws IOException {
|
public void loggedMuteShouldLogExceptionTraceBeforeSwallowingIt() {
|
||||||
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
ByteArrayOutputStream stream = new ByteArrayOutputStream();
|
||||||
System.setErr(new PrintStream(stream));
|
System.setErr(new PrintStream(stream));
|
||||||
|
|
||||||
Mute.loggedMute(() -> methodThrowingException());
|
Mute.loggedMute(this::methodThrowingException);
|
||||||
|
|
||||||
assertTrue(new String(stream.toByteArray()).contains(MESSAGE));
|
assertTrue(new String(stream.toByteArray()).contains(MESSAGE));
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,7 @@ public class NullNodeTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testWalk() throws Exception {
|
public void testWalk() {
|
||||||
NullNode.getInstance().walk();
|
NullNode.getInstance().walk();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,7 +110,7 @@ public class TreeTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetLeft() throws Exception {
|
public void testGetLeft() {
|
||||||
final Node level1 = TREE_ROOT.getLeft();
|
final Node level1 = TREE_ROOT.getLeft();
|
||||||
assertNotNull(level1);
|
assertNotNull(level1);
|
||||||
assertEquals("level1_a", level1.getName());
|
assertEquals("level1_a", level1.getName());
|
||||||
@ -130,7 +130,7 @@ public class TreeTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetRight() throws Exception {
|
public void testGetRight() {
|
||||||
final Node level1 = TREE_ROOT.getRight();
|
final Node level1 = TREE_ROOT.getRight();
|
||||||
assertNotNull(level1);
|
assertNotNull(level1);
|
||||||
assertEquals("level1_b", level1.getName());
|
assertEquals("level1_b", level1.getName());
|
||||||
|
@ -59,7 +59,7 @@ public class King implements Royalty {
|
|||||||
*/
|
*/
|
||||||
public void flirt(Queen queen) {
|
public void flirt(Queen queen) {
|
||||||
boolean flirtStatus = queen.getFlirted(this);
|
boolean flirtStatus = queen.getFlirted(this);
|
||||||
if (flirtStatus == false) {
|
if (!flirtStatus) {
|
||||||
this.makeUnhappy();
|
this.makeUnhappy();
|
||||||
} else {
|
} else {
|
||||||
this.makeHappy();
|
this.makeHappy();
|
||||||
|
@ -22,6 +22,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.iluwatar.object.pool;
|
package com.iluwatar.object.pool;
|
||||||
|
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Oliphaunts are expensive to create
|
* Oliphaunts are expensive to create
|
||||||
@ -29,7 +31,7 @@ package com.iluwatar.object.pool;
|
|||||||
*/
|
*/
|
||||||
public class Oliphaunt {
|
public class Oliphaunt {
|
||||||
|
|
||||||
private static int counter = 1;
|
private static AtomicInteger counter = new AtomicInteger(0);
|
||||||
|
|
||||||
private final int id;
|
private final int id;
|
||||||
|
|
||||||
@ -37,7 +39,7 @@ public class Oliphaunt {
|
|||||||
* Constructor
|
* Constructor
|
||||||
*/
|
*/
|
||||||
public Oliphaunt() {
|
public Oliphaunt() {
|
||||||
id = counter++;
|
id = counter.incrementAndGet();
|
||||||
try {
|
try {
|
||||||
Thread.sleep(1000);
|
Thread.sleep(1000);
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
|
@ -49,23 +49,23 @@ public class OliphauntPoolTest {
|
|||||||
public void testSubsequentCheckinCheckout() {
|
public void testSubsequentCheckinCheckout() {
|
||||||
assertTimeout(ofMillis(5000), () -> {
|
assertTimeout(ofMillis(5000), () -> {
|
||||||
final OliphauntPool pool = new OliphauntPool();
|
final OliphauntPool pool = new OliphauntPool();
|
||||||
assertEquals(pool.toString(), "Pool available=0 inUse=0");
|
assertEquals("Pool available=0 inUse=0", pool.toString());
|
||||||
|
|
||||||
final Oliphaunt expectedOliphaunt = pool.checkOut();
|
final Oliphaunt expectedOliphaunt = pool.checkOut();
|
||||||
assertEquals(pool.toString(), "Pool available=0 inUse=1");
|
assertEquals("Pool available=0 inUse=1", pool.toString());
|
||||||
|
|
||||||
pool.checkIn(expectedOliphaunt);
|
pool.checkIn(expectedOliphaunt);
|
||||||
assertEquals(pool.toString(), "Pool available=1 inUse=0");
|
assertEquals("Pool available=1 inUse=0", pool.toString());
|
||||||
|
|
||||||
for (int i = 0; i < 100; i++) {
|
for (int i = 0; i < 100; i++) {
|
||||||
final Oliphaunt oliphaunt = pool.checkOut();
|
final Oliphaunt oliphaunt = pool.checkOut();
|
||||||
assertEquals(pool.toString(), "Pool available=0 inUse=1");
|
assertEquals("Pool available=0 inUse=1", pool.toString());
|
||||||
assertSame(expectedOliphaunt, oliphaunt);
|
assertSame(expectedOliphaunt, oliphaunt);
|
||||||
assertEquals(expectedOliphaunt.getId(), oliphaunt.getId());
|
assertEquals(expectedOliphaunt.getId(), oliphaunt.getId());
|
||||||
assertEquals(expectedOliphaunt.toString(), oliphaunt.toString());
|
assertEquals(expectedOliphaunt.toString(), oliphaunt.toString());
|
||||||
|
|
||||||
pool.checkIn(oliphaunt);
|
pool.checkIn(oliphaunt);
|
||||||
assertEquals(pool.toString(), "Pool available=1 inUse=0");
|
assertEquals("Pool available=1 inUse=0", pool.toString());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -42,7 +42,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
|
|||||||
* @author Jeroen Meulemeester
|
* @author Jeroen Meulemeester
|
||||||
*/
|
*/
|
||||||
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
|
||||||
public abstract class ObserverTest<O extends Observer> {
|
public abstract class ObserverTest<O extends Observer<?, ?, WeatherType>> {
|
||||||
|
|
||||||
private InMemoryAppender appender;
|
private InMemoryAppender appender;
|
||||||
|
|
||||||
|
@ -36,38 +36,34 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
|
|||||||
public class PoisonMessageTest {
|
public class PoisonMessageTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testAddHeader() throws Exception {
|
public void testAddHeader() {
|
||||||
assertThrows(UnsupportedOperationException.class, () -> {
|
assertThrows(UnsupportedOperationException.class, () -> {
|
||||||
POISON_PILL.addHeader(Headers.SENDER, "sender");
|
POISON_PILL.addHeader(Headers.SENDER, "sender");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetHeader() throws Exception {
|
public void testGetHeader() {
|
||||||
assertThrows(UnsupportedOperationException.class, () -> {
|
assertThrows(UnsupportedOperationException.class, () -> {
|
||||||
POISON_PILL.getHeader(Headers.SENDER);
|
POISON_PILL.getHeader(Headers.SENDER);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetHeaders() throws Exception {
|
public void testGetHeaders() {
|
||||||
assertThrows(UnsupportedOperationException.class, () -> {
|
assertThrows(UnsupportedOperationException.class, POISON_PILL::getHeaders);
|
||||||
POISON_PILL.getHeaders();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSetBody() throws Exception {
|
public void testSetBody() {
|
||||||
assertThrows(UnsupportedOperationException.class, () -> {
|
assertThrows(UnsupportedOperationException.class, () -> {
|
||||||
POISON_PILL.setBody("Test message.");
|
POISON_PILL.setBody("Test message.");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetBody() throws Exception {
|
public void testGetBody() {
|
||||||
assertThrows(UnsupportedOperationException.class, () -> {
|
assertThrows(UnsupportedOperationException.class, POISON_PILL::getBody);
|
||||||
POISON_PILL.getBody();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@ import static org.mockito.Mockito.verifyNoMoreInteractions;
|
|||||||
public class ProducerTest {
|
public class ProducerTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testProduce() throws Exception {
|
public void testProduce() {
|
||||||
assertTimeout(ofMillis(6000), () -> {
|
assertTimeout(ofMillis(6000), () -> {
|
||||||
final ItemQueue queue = mock(ItemQueue.class);
|
final ItemQueue queue = mock(ItemQueue.class);
|
||||||
final Producer producer = new Producer("producer", queue);
|
final Producer producer = new Producer("producer", queue);
|
||||||
|
@ -155,19 +155,15 @@ public class App {
|
|||||||
* This is an async method and does not wait until the file is downloaded.
|
* This is an async method and does not wait until the file is downloaded.
|
||||||
*/
|
*/
|
||||||
private Promise<String> download(String urlString) {
|
private Promise<String> download(String urlString) {
|
||||||
Promise<String> downloadPromise = new Promise<String>()
|
return new Promise<String>()
|
||||||
.fulfillInAsync(
|
.fulfillInAsync(
|
||||||
() -> {
|
() -> Utility.downloadFile(urlString), executor)
|
||||||
return Utility.downloadFile(urlString);
|
|
||||||
}, executor)
|
|
||||||
.onError(
|
.onError(
|
||||||
throwable -> {
|
throwable -> {
|
||||||
throwable.printStackTrace();
|
throwable.printStackTrace();
|
||||||
taskCompleted();
|
taskCompleted();
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
return downloadPromise;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void stop() throws InterruptedException {
|
private void stop() throws InterruptedException {
|
||||||
|
@ -32,7 +32,6 @@ import java.io.FileWriter;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
import java.net.MalformedURLException;
|
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
@ -111,7 +110,7 @@ public class Utility {
|
|||||||
* Downloads the contents from the given urlString, and stores it in a temporary directory.
|
* Downloads the contents from the given urlString, and stores it in a temporary directory.
|
||||||
* @return the absolute path of the file downloaded.
|
* @return the absolute path of the file downloaded.
|
||||||
*/
|
*/
|
||||||
public static String downloadFile(String urlString) throws MalformedURLException, IOException {
|
public static String downloadFile(String urlString) throws IOException {
|
||||||
LOGGER.info("Downloading contents from url: {}", urlString);
|
LOGGER.info("Downloading contents from url: {}", urlString);
|
||||||
URL url = new URL(urlString);
|
URL url = new URL(urlString);
|
||||||
File file = File.createTempFile("promise_pattern", null);
|
File file = File.createTempFile("promise_pattern", null);
|
||||||
|
@ -76,12 +76,8 @@ public class PromiseTest {
|
|||||||
private void testWaitingForeverForPromiseToBeFulfilled()
|
private void testWaitingForeverForPromiseToBeFulfilled()
|
||||||
throws InterruptedException, TimeoutException {
|
throws InterruptedException, TimeoutException {
|
||||||
Promise<Integer> promise = new Promise<>();
|
Promise<Integer> promise = new Promise<>();
|
||||||
promise.fulfillInAsync(new Callable<Integer>() {
|
promise.fulfillInAsync(() -> {
|
||||||
|
throw new RuntimeException("Barf!");
|
||||||
@Override
|
|
||||||
public Integer call() throws Exception {
|
|
||||||
throw new RuntimeException("Barf!");
|
|
||||||
}
|
|
||||||
}, executor);
|
}, executor);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -104,12 +100,8 @@ public class PromiseTest {
|
|||||||
private void testWaitingSomeTimeForPromiseToBeFulfilled()
|
private void testWaitingSomeTimeForPromiseToBeFulfilled()
|
||||||
throws InterruptedException, TimeoutException {
|
throws InterruptedException, TimeoutException {
|
||||||
Promise<Integer> promise = new Promise<>();
|
Promise<Integer> promise = new Promise<>();
|
||||||
promise.fulfillInAsync(new Callable<Integer>() {
|
promise.fulfillInAsync(() -> {
|
||||||
|
throw new RuntimeException("Barf!");
|
||||||
@Override
|
|
||||||
public Integer call() throws Exception {
|
|
||||||
throw new RuntimeException("Barf!");
|
|
||||||
}
|
|
||||||
}, executor);
|
}, executor);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -150,12 +142,8 @@ public class PromiseTest {
|
|||||||
throws InterruptedException, ExecutionException, TimeoutException {
|
throws InterruptedException, ExecutionException, TimeoutException {
|
||||||
Promise<Void> dependentPromise = promise
|
Promise<Void> dependentPromise = promise
|
||||||
.fulfillInAsync(new NumberCrunchingTask(), executor)
|
.fulfillInAsync(new NumberCrunchingTask(), executor)
|
||||||
.thenAccept(new Consumer<Integer>() {
|
.thenAccept(value -> {
|
||||||
|
throw new RuntimeException("Barf!");
|
||||||
@Override
|
|
||||||
public void accept(Integer value) {
|
|
||||||
throw new RuntimeException("Barf!");
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -198,12 +186,8 @@ public class PromiseTest {
|
|||||||
throws InterruptedException, ExecutionException, TimeoutException {
|
throws InterruptedException, ExecutionException, TimeoutException {
|
||||||
Promise<String> dependentPromise = promise
|
Promise<String> dependentPromise = promise
|
||||||
.fulfillInAsync(new NumberCrunchingTask(), executor)
|
.fulfillInAsync(new NumberCrunchingTask(), executor)
|
||||||
.thenApply(new Function<Integer, String>() {
|
.thenApply(value -> {
|
||||||
|
throw new RuntimeException("Barf!");
|
||||||
@Override
|
|
||||||
public String apply(Integer value) {
|
|
||||||
throw new RuntimeException("Barf!");
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -73,7 +73,7 @@ public class CharacterTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testToString() throws Exception {
|
public void testToString() {
|
||||||
final Character prototype = new Character();
|
final Character prototype = new Character();
|
||||||
prototype.set(Stats.ARMOR, 1);
|
prototype.set(Stats.ARMOR, 1);
|
||||||
prototype.set(Stats.AGILITY, 2);
|
prototype.set(Stats.AGILITY, 2);
|
||||||
@ -91,7 +91,7 @@ public class CharacterTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testName() throws Exception {
|
public void testName() {
|
||||||
final Character prototype = new Character();
|
final Character prototype = new Character();
|
||||||
prototype.set(Stats.ARMOR, 1);
|
prototype.set(Stats.ARMOR, 1);
|
||||||
prototype.set(Stats.INTELLECT, 2);
|
prototype.set(Stats.INTELLECT, 2);
|
||||||
@ -107,7 +107,7 @@ public class CharacterTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testType() throws Exception {
|
public void testType() {
|
||||||
final Character prototype = new Character();
|
final Character prototype = new Character();
|
||||||
prototype.set(Stats.ARMOR, 1);
|
prototype.set(Stats.ARMOR, 1);
|
||||||
prototype.set(Stats.INTELLECT, 2);
|
prototype.set(Stats.INTELLECT, 2);
|
||||||
|
@ -40,7 +40,7 @@ public class ElfBeast extends Beast {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Beast copy() throws CloneNotSupportedException {
|
public Beast copy() {
|
||||||
return new ElfBeast(this);
|
return new ElfBeast(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ public class ElfMage extends Mage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ElfMage copy() throws CloneNotSupportedException {
|
public ElfMage copy() {
|
||||||
return new ElfMage(this);
|
return new ElfMage(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ public class ElfWarlord extends Warlord {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ElfWarlord copy() throws CloneNotSupportedException {
|
public ElfWarlord copy() {
|
||||||
return new ElfWarlord(this);
|
return new ElfWarlord(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ public class OrcBeast extends Beast {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Beast copy() throws CloneNotSupportedException {
|
public Beast copy() {
|
||||||
return new OrcBeast(this);
|
return new OrcBeast(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ public class OrcMage extends Mage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public OrcMage copy() throws CloneNotSupportedException {
|
public OrcMage copy() {
|
||||||
return new OrcMage(this);
|
return new OrcMage(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ public class OrcWarlord extends Warlord {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public OrcWarlord copy() throws CloneNotSupportedException {
|
public OrcWarlord copy() {
|
||||||
return new OrcWarlord(this);
|
return new OrcWarlord(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,8 +110,6 @@ public class App {
|
|||||||
LOGGER.info("Executor was shut down and Exiting.");
|
LOGGER.info("Executor was shut down and Exiting.");
|
||||||
executor.shutdownNow();
|
executor.shutdownNow();
|
||||||
}
|
}
|
||||||
} catch (InterruptedException ie) {
|
|
||||||
LOGGER.error(ie.getMessage());
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOGGER.error(e.getMessage());
|
LOGGER.error(e.getMessage());
|
||||||
}
|
}
|
||||||
|
@ -58,8 +58,6 @@ public class ServiceExecutor implements Runnable {
|
|||||||
|
|
||||||
Thread.sleep(1000);
|
Thread.sleep(1000);
|
||||||
}
|
}
|
||||||
} catch (InterruptedException ie) {
|
|
||||||
LOGGER.error(ie.getMessage());
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOGGER.error(e.getMessage());
|
LOGGER.error(e.getMessage());
|
||||||
}
|
}
|
||||||
|
@ -80,8 +80,6 @@ public class TaskGenerator implements Task, Runnable {
|
|||||||
// Make the current thread to sleep after every Message submission.
|
// Make the current thread to sleep after every Message submission.
|
||||||
Thread.sleep(1000);
|
Thread.sleep(1000);
|
||||||
}
|
}
|
||||||
} catch (InterruptedException ie) {
|
|
||||||
LOGGER.error(ie.getMessage());
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOGGER.error(e.getMessage());
|
LOGGER.error(e.getMessage());
|
||||||
}
|
}
|
||||||
|
@ -42,7 +42,7 @@ public class MessageQueueTest {
|
|||||||
msgQueue.submitMsg(new Message("MessageQueue Test"));
|
msgQueue.submitMsg(new Message("MessageQueue Test"));
|
||||||
|
|
||||||
// retrieve message
|
// retrieve message
|
||||||
assertEquals(msgQueue.retrieveMsg().getMsg(), "MessageQueue Test");
|
assertEquals("MessageQueue Test", msgQueue.retrieveMsg().getMsg());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -39,6 +39,6 @@ public class MessageTest {
|
|||||||
// Parameterized constructor test.
|
// Parameterized constructor test.
|
||||||
String testMsg = "Message Test";
|
String testMsg = "Message Test";
|
||||||
Message msg = new Message(testMsg);
|
Message msg = new Message(testMsg);
|
||||||
assertEquals(msg.getMsg(), testMsg);
|
assertEquals(testMsg, msg.getMsg());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,14 +22,6 @@
|
|||||||
*/
|
*/
|
||||||
package com.iluwatar.repository;
|
package com.iluwatar.repository;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
||||||
|
|
||||||
import java.sql.ResultSet;
|
|
||||||
import java.sql.SQLException;
|
|
||||||
|
|
||||||
import javax.sql.DataSource;
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@ -38,6 +30,13 @@ import org.springframework.test.context.junit.jupiter.SpringExtension;
|
|||||||
import org.springframework.test.context.support.AnnotationConfigContextLoader;
|
import org.springframework.test.context.support.AnnotationConfigContextLoader;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This case is Just for test the Annotation Based configuration
|
* This case is Just for test the Annotation Based configuration
|
||||||
*
|
*
|
||||||
@ -70,7 +69,7 @@ public class AppConfigTest {
|
|||||||
result = resultSet.getString(1);
|
result = resultSet.getString(1);
|
||||||
|
|
||||||
}
|
}
|
||||||
assertTrue(result.equals(expected));
|
assertEquals(expected, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ import java.io.IOException;
|
|||||||
*/
|
*/
|
||||||
public class AppTest {
|
public class AppTest {
|
||||||
@Test
|
@Test
|
||||||
public void test() throws IOException {
|
public void test() {
|
||||||
String[] args = {};
|
String[] args = {};
|
||||||
App.main(args);
|
App.main(args);
|
||||||
}
|
}
|
||||||
|
@ -109,9 +109,7 @@ public class RepositoryTest {
|
|||||||
List<Person> persons = repository.findAll(new PersonSpecifications.AgeBetweenSpec(20, 40));
|
List<Person> persons = repository.findAll(new PersonSpecifications.AgeBetweenSpec(20, 40));
|
||||||
|
|
||||||
assertEquals(3, persons.size());
|
assertEquals(3, persons.size());
|
||||||
assertTrue(persons.stream().allMatch((item) -> {
|
assertTrue(persons.stream().allMatch(item -> item.getAge() > 20 && item.getAge() < 40));
|
||||||
return item.getAge() > 20 && item.getAge() < 40;
|
|
||||||
}));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -53,7 +53,7 @@ public class FindCustomerTest {
|
|||||||
* @throws Exception the expected exception
|
* @throws Exception the expected exception
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void oneException() throws Exception {
|
public void oneException() {
|
||||||
assertThrows(BusinessException.class, () -> {
|
assertThrows(BusinessException.class, () -> {
|
||||||
new FindCustomer("123", new BusinessException("test")).perform();
|
new FindCustomer("123", new BusinessException("test")).perform();
|
||||||
});
|
});
|
||||||
|
@ -40,7 +40,7 @@ public class RetryTest {
|
|||||||
* Should contain all errors thrown.
|
* Should contain all errors thrown.
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void errors() throws Exception {
|
public void errors() {
|
||||||
final BusinessException e = new BusinessException("unhandled");
|
final BusinessException e = new BusinessException("unhandled");
|
||||||
final Retry<String> retry = new Retry<>(
|
final Retry<String> retry = new Retry<>(
|
||||||
() -> { throw e; },
|
() -> { throw e; },
|
||||||
|
@ -31,7 +31,7 @@ import java.io.IOException;
|
|||||||
*/
|
*/
|
||||||
public class AppTest {
|
public class AppTest {
|
||||||
@Test
|
@Test
|
||||||
public void test() throws IOException {
|
public void test() {
|
||||||
String[] args = {};
|
String[] args = {};
|
||||||
App.main(args);
|
App.main(args);
|
||||||
}
|
}
|
||||||
|
@ -37,16 +37,16 @@ public class FruitBowlTest {
|
|||||||
public void fruitBowlTest() {
|
public void fruitBowlTest() {
|
||||||
FruitBowl fbowl = new FruitBowl();
|
FruitBowl fbowl = new FruitBowl();
|
||||||
|
|
||||||
assertEquals(fbowl.countFruit(), 0);
|
assertEquals(0, fbowl.countFruit());
|
||||||
|
|
||||||
for (int i = 1; i <= 10; i++) {
|
for (int i = 1; i <= 10; i++) {
|
||||||
fbowl.put(new Fruit(Fruit.FruitType.LEMON));
|
fbowl.put(new Fruit(Fruit.FruitType.LEMON));
|
||||||
assertEquals(fbowl.countFruit(), i);
|
assertEquals(i, fbowl.countFruit());
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 9; i >= 0; i--) {
|
for (int i = 9; i >= 0; i--) {
|
||||||
assertNotNull(fbowl.take());
|
assertNotNull(fbowl.take());
|
||||||
assertEquals(fbowl.countFruit(), i);
|
assertEquals(i, fbowl.countFruit());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertNull(fbowl.take());
|
assertNull(fbowl.take());
|
||||||
|
@ -36,12 +36,12 @@ public class SemaphoreTest {
|
|||||||
public void acquireReleaseTest() {
|
public void acquireReleaseTest() {
|
||||||
Semaphore sphore = new Semaphore(3);
|
Semaphore sphore = new Semaphore(3);
|
||||||
|
|
||||||
assertEquals(sphore.getAvailableLicenses(), 3);
|
assertEquals(3, sphore.getAvailableLicenses());
|
||||||
|
|
||||||
for (int i = 2; i >= 0; i--) {
|
for (int i = 2; i >= 0; i--) {
|
||||||
try {
|
try {
|
||||||
sphore.acquire();
|
sphore.acquire();
|
||||||
assertEquals(sphore.getAvailableLicenses(), i);
|
assertEquals(i, sphore.getAvailableLicenses());
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
fail(e.toString());
|
fail(e.toString());
|
||||||
}
|
}
|
||||||
@ -49,10 +49,10 @@ public class SemaphoreTest {
|
|||||||
|
|
||||||
for (int i = 1; i <= 3; i++) {
|
for (int i = 1; i <= 3; i++) {
|
||||||
sphore.release();
|
sphore.release();
|
||||||
assertEquals(sphore.getAvailableLicenses(), i);
|
assertEquals(i, sphore.getAvailableLicenses());
|
||||||
}
|
}
|
||||||
|
|
||||||
sphore.release();
|
sphore.release();
|
||||||
assertEquals(sphore.getAvailableLicenses(), 3);
|
assertEquals(3, sphore.getAvailableLicenses());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
|
|||||||
public class QueenTest {
|
public class QueenTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testNotFlirtyUncomplemented() throws Exception {
|
public void testNotFlirtyUncomplemented() {
|
||||||
final Queen queen = new Queen();
|
final Queen queen = new Queen();
|
||||||
queen.setFlirtiness(false);
|
queen.setFlirtiness(false);
|
||||||
queen.changeMood();
|
queen.changeMood();
|
||||||
@ -44,7 +44,7 @@ public class QueenTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testNotFlirtyComplemented() throws Exception {
|
public void testNotFlirtyComplemented() {
|
||||||
final Queen queen = new Queen();
|
final Queen queen = new Queen();
|
||||||
queen.setFlirtiness(false);
|
queen.setFlirtiness(false);
|
||||||
queen.receiveCompliments();
|
queen.receiveCompliments();
|
||||||
@ -53,14 +53,14 @@ public class QueenTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testFlirtyUncomplemented() throws Exception {
|
public void testFlirtyUncomplemented() {
|
||||||
final Queen queen = new Queen();
|
final Queen queen = new Queen();
|
||||||
queen.changeMood();
|
queen.changeMood();
|
||||||
assertFalse(queen.getMood());
|
assertFalse(queen.getMood());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testFlirtyComplemented() throws Exception {
|
public void testFlirtyComplemented() {
|
||||||
final Queen queen = new Queen();
|
final Queen queen = new Queen();
|
||||||
queen.receiveCompliments();
|
queen.receiveCompliments();
|
||||||
queen.changeMood();
|
queen.changeMood();
|
||||||
|
@ -41,7 +41,7 @@ import static org.mockito.Mockito.when;
|
|||||||
public class ServantTest {
|
public class ServantTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testFeed() throws Exception {
|
public void testFeed() {
|
||||||
final Royalty royalty = mock(Royalty.class);
|
final Royalty royalty = mock(Royalty.class);
|
||||||
final Servant servant = new Servant("test");
|
final Servant servant = new Servant("test");
|
||||||
servant.feed(royalty);
|
servant.feed(royalty);
|
||||||
@ -50,7 +50,7 @@ public class ServantTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGiveWine() throws Exception {
|
public void testGiveWine() {
|
||||||
final Royalty royalty = mock(Royalty.class);
|
final Royalty royalty = mock(Royalty.class);
|
||||||
final Servant servant = new Servant("test");
|
final Servant servant = new Servant("test");
|
||||||
servant.giveWine(royalty);
|
servant.giveWine(royalty);
|
||||||
@ -59,7 +59,7 @@ public class ServantTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGiveCompliments() throws Exception {
|
public void testGiveCompliments() {
|
||||||
final Royalty royalty = mock(Royalty.class);
|
final Royalty royalty = mock(Royalty.class);
|
||||||
final Servant servant = new Servant("test");
|
final Servant servant = new Servant("test");
|
||||||
servant.giveCompliments(royalty);
|
servant.giveCompliments(royalty);
|
||||||
@ -68,7 +68,7 @@ public class ServantTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testCheckIfYouWillBeHanged() throws Exception {
|
public void testCheckIfYouWillBeHanged() {
|
||||||
final Royalty goodMoodRoyalty = mock(Royalty.class);
|
final Royalty goodMoodRoyalty = mock(Royalty.class);
|
||||||
when(goodMoodRoyalty.getMood()).thenReturn(true);
|
when(goodMoodRoyalty.getMood()).thenReturn(true);
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ import org.apache.log4j.Logger;
|
|||||||
* find person from persons collection
|
* find person from persons collection
|
||||||
* Created by dheeraj.mummar on 3/5/18.
|
* Created by dheeraj.mummar on 3/5/18.
|
||||||
*/
|
*/
|
||||||
public class FindPersonApiHandler extends AbstractDynamoDbHandler
|
public class FindPersonApiHandler extends AbstractDynamoDbHandler<Person>
|
||||||
implements RequestHandler<APIGatewayProxyRequestEvent, APIGatewayProxyResponseEvent> {
|
implements RequestHandler<APIGatewayProxyRequestEvent, APIGatewayProxyResponseEvent> {
|
||||||
|
|
||||||
private static final Logger LOG = Logger.getLogger(FindPersonApiHandler.class);
|
private static final Logger LOG = Logger.getLogger(FindPersonApiHandler.class);
|
||||||
|
@ -35,7 +35,7 @@ import java.io.IOException;
|
|||||||
* save person into persons collection
|
* save person into persons collection
|
||||||
* Created by dheeraj.mummar on 3/4/18.
|
* Created by dheeraj.mummar on 3/4/18.
|
||||||
*/
|
*/
|
||||||
public class SavePersonApiHandler extends AbstractDynamoDbHandler
|
public class SavePersonApiHandler extends AbstractDynamoDbHandler<Person>
|
||||||
implements RequestHandler<APIGatewayProxyRequestEvent, APIGatewayProxyResponseEvent> {
|
implements RequestHandler<APIGatewayProxyRequestEvent, APIGatewayProxyResponseEvent> {
|
||||||
|
|
||||||
private static final Logger LOG = Logger.getLogger(SavePersonApiHandler.class);
|
private static final Logger LOG = Logger.getLogger(SavePersonApiHandler.class);
|
||||||
|
@ -1,50 +0,0 @@
|
|||||||
<?xml version="1.0"?>
|
|
||||||
<!--
|
|
||||||
|
|
||||||
The MIT License
|
|
||||||
Copyright (c) 2014-2016 Ilkka Seppälä
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
||||||
|
|
||||||
-->
|
|
||||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<parent>
|
|
||||||
<groupId>com.iluwatar</groupId>
|
|
||||||
<artifactId>java-design-patterns</artifactId>
|
|
||||||
<version>1.0-SNAPSHOT</version>
|
|
||||||
</parent>
|
|
||||||
<artifactId>dao</artifactId>
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.hibernate</groupId>
|
|
||||||
<artifactId>hibernate-core</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.h2database</groupId>
|
|
||||||
<artifactId>h2</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>junit</groupId>
|
|
||||||
<artifactId>junit</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
</project>
|
|
@ -38,10 +38,9 @@ public class SpellDaoImpl extends DaoBaseImpl<Spell> implements SpellDao {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Spell findByName(String name) {
|
public Spell findByName(String name) {
|
||||||
Session session = getSessionFactory().openSession();
|
|
||||||
Transaction tx = null;
|
Transaction tx = null;
|
||||||
Spell result = null;
|
Spell result = null;
|
||||||
try {
|
try (Session session = getSessionFactory().openSession()) {
|
||||||
tx = session.beginTransaction();
|
tx = session.beginTransaction();
|
||||||
Criteria criteria = session.createCriteria(persistentClass);
|
Criteria criteria = session.createCriteria(persistentClass);
|
||||||
criteria.add(Restrictions.eq("name", name));
|
criteria.add(Restrictions.eq("name", name));
|
||||||
@ -52,8 +51,6 @@ public class SpellDaoImpl extends DaoBaseImpl<Spell> implements SpellDao {
|
|||||||
tx.rollback();
|
tx.rollback();
|
||||||
}
|
}
|
||||||
throw e;
|
throw e;
|
||||||
} finally {
|
|
||||||
session.close();
|
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,7 @@ public class AppTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@AfterEach
|
@AfterEach
|
||||||
public void tearDown() throws Exception {
|
public void tearDown() {
|
||||||
HibernateUtil.dropSession();
|
HibernateUtil.dropSession();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ public abstract class BaseDaoTest<E extends BaseEntity, D extends DaoBaseImpl<E>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
public void setUp() throws Exception {
|
public void setUp() {
|
||||||
for (int i = 0; i < INITIAL_COUNT; i++) {
|
for (int i = 0; i < INITIAL_COUNT; i++) {
|
||||||
final String className = dao.persistentClass.getSimpleName();
|
final String className = dao.persistentClass.getSimpleName();
|
||||||
final String entityName = String.format("%s%d", className, ID_GENERATOR.incrementAndGet());
|
final String entityName = String.format("%s%d", className, ID_GENERATOR.incrementAndGet());
|
||||||
@ -85,7 +85,7 @@ public abstract class BaseDaoTest<E extends BaseEntity, D extends DaoBaseImpl<E>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@AfterEach
|
@AfterEach
|
||||||
public void tearDown() throws Exception {
|
public void tearDown() {
|
||||||
HibernateUtil.dropSession();
|
HibernateUtil.dropSession();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -94,7 +94,7 @@ public abstract class BaseDaoTest<E extends BaseEntity, D extends DaoBaseImpl<E>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testFind() throws Exception {
|
public void testFind() {
|
||||||
final List<E> all = this.dao.findAll();
|
final List<E> all = this.dao.findAll();
|
||||||
for (final E entity : all) {
|
for (final E entity : all) {
|
||||||
final E byId = this.dao.find(entity.getId());
|
final E byId = this.dao.find(entity.getId());
|
||||||
@ -104,7 +104,7 @@ public abstract class BaseDaoTest<E extends BaseEntity, D extends DaoBaseImpl<E>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testDelete() throws Exception {
|
public void testDelete() {
|
||||||
final List<E> originalEntities = this.dao.findAll();
|
final List<E> originalEntities = this.dao.findAll();
|
||||||
this.dao.delete(originalEntities.get(1));
|
this.dao.delete(originalEntities.get(1));
|
||||||
this.dao.delete(originalEntities.get(2));
|
this.dao.delete(originalEntities.get(2));
|
||||||
@ -115,24 +115,24 @@ public abstract class BaseDaoTest<E extends BaseEntity, D extends DaoBaseImpl<E>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testFindAll() throws Exception {
|
public void testFindAll() {
|
||||||
final List<E> all = this.dao.findAll();
|
final List<E> all = this.dao.findAll();
|
||||||
assertNotNull(all);
|
assertNotNull(all);
|
||||||
assertEquals(INITIAL_COUNT, all.size());
|
assertEquals(INITIAL_COUNT, all.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSetId() throws Exception {
|
public void testSetId() {
|
||||||
final E entity = this.factory.apply("name");
|
final E entity = this.factory.apply("name");
|
||||||
assertNull(entity.getId());
|
assertNull(entity.getId());
|
||||||
|
|
||||||
final Long expectedId = Long.valueOf(1);
|
final Long expectedId = 1L;
|
||||||
entity.setId(expectedId);
|
entity.setId(expectedId);
|
||||||
assertEquals(expectedId, entity.getId());
|
assertEquals(expectedId, entity.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSetName() throws Exception {
|
public void testSetName() {
|
||||||
final E entity = this.factory.apply("name");
|
final E entity = this.factory.apply("name");
|
||||||
assertEquals("name", entity.getName());
|
assertEquals("name", entity.getName());
|
||||||
assertEquals("name", entity.toString());
|
assertEquals("name", entity.toString());
|
||||||
|
@ -51,7 +51,7 @@ import static org.mockito.Mockito.when;
|
|||||||
public class MagicServiceImplTest {
|
public class MagicServiceImplTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testFindAllWizards() throws Exception {
|
public void testFindAllWizards() {
|
||||||
final WizardDao wizardDao = mock(WizardDao.class);
|
final WizardDao wizardDao = mock(WizardDao.class);
|
||||||
final SpellbookDao spellbookDao = mock(SpellbookDao.class);
|
final SpellbookDao spellbookDao = mock(SpellbookDao.class);
|
||||||
final SpellDao spellDao = mock(SpellDao.class);
|
final SpellDao spellDao = mock(SpellDao.class);
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user