* Java 11 support: lazy-loading pattern * Java 11 support: layers pattern * Java 11 support: leader-election/lazy-loading patterns
This commit is contained in:
@ -84,7 +84,7 @@ public class App {
|
||||
|
||||
/**
|
||||
* Application entry point.
|
||||
*
|
||||
*
|
||||
* @param args Command line parameters
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
@ -93,7 +93,7 @@ public class App {
|
||||
initializeData(cakeBakingService);
|
||||
|
||||
// create view and render it
|
||||
CakeViewImpl cakeView = new CakeViewImpl(cakeBakingService);
|
||||
var cakeView = new CakeViewImpl(cakeBakingService);
|
||||
cakeView.render();
|
||||
}
|
||||
|
||||
@ -111,17 +111,16 @@ public class App {
|
||||
cakeBakingService.saveNewTopping(new CakeToppingInfo("candies", 350));
|
||||
cakeBakingService.saveNewTopping(new CakeToppingInfo("cherry", 350));
|
||||
|
||||
CakeInfo cake1 =
|
||||
new CakeInfo(new CakeToppingInfo("candies", 0), List.of(
|
||||
new CakeLayerInfo("chocolate", 0),
|
||||
new CakeLayerInfo("banana", 0),
|
||||
new CakeLayerInfo("strawberry", 0)));
|
||||
var cake1 = new CakeInfo(new CakeToppingInfo("candies", 0), List.of(
|
||||
new CakeLayerInfo("chocolate", 0),
|
||||
new CakeLayerInfo("banana", 0),
|
||||
new CakeLayerInfo("strawberry", 0)));
|
||||
try {
|
||||
cakeBakingService.bakeNewCake(cake1);
|
||||
} catch (CakeBakingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
CakeInfo cake2 = new CakeInfo(new CakeToppingInfo("cherry", 0), List.of(
|
||||
var cake2 = new CakeInfo(new CakeToppingInfo("cherry", 0), List.of(
|
||||
new CakeLayerInfo("vanilla", 0),
|
||||
new CakeLayerInfo("lemon", 0),
|
||||
new CakeLayerInfo("strawberry", 0)));
|
||||
|
@ -57,7 +57,7 @@ public class CakeInfo {
|
||||
* Calculate calories.
|
||||
*/
|
||||
public int calculateTotalCalories() {
|
||||
int total = cakeToppingInfo != null ? cakeToppingInfo.calories : 0;
|
||||
var total = cakeToppingInfo != null ? cakeToppingInfo.calories : 0;
|
||||
total += cakeLayerInfos.stream().mapToInt(c -> c.calories).sum();
|
||||
return total;
|
||||
}
|
||||
|
@ -60,65 +60,63 @@ public class CakeBakingServiceImpl implements CakeBakingService {
|
||||
|
||||
@Override
|
||||
public void bakeNewCake(CakeInfo cakeInfo) throws CakeBakingException {
|
||||
List<CakeTopping> allToppings = getAvailableToppingEntities();
|
||||
List<CakeTopping> matchingToppings =
|
||||
var allToppings = getAvailableToppingEntities();
|
||||
var matchingToppings =
|
||||
allToppings.stream().filter(t -> t.getName().equals(cakeInfo.cakeToppingInfo.name))
|
||||
.collect(Collectors.toList());
|
||||
if (matchingToppings.isEmpty()) {
|
||||
throw new CakeBakingException(String.format("Topping %s is not available",
|
||||
cakeInfo.cakeToppingInfo.name));
|
||||
}
|
||||
List<CakeLayer> allLayers = getAvailableLayerEntities();
|
||||
var allLayers = getAvailableLayerEntities();
|
||||
Set<CakeLayer> foundLayers = new HashSet<>();
|
||||
for (CakeLayerInfo info : cakeInfo.cakeLayerInfos) {
|
||||
Optional<CakeLayer> found =
|
||||
allLayers.stream().filter(layer -> layer.getName().equals(info.name)).findFirst();
|
||||
for (var info : cakeInfo.cakeLayerInfos) {
|
||||
var found = allLayers.stream().filter(layer -> layer.getName().equals(info.name)).findFirst();
|
||||
if (!found.isPresent()) {
|
||||
throw new CakeBakingException(String.format("Layer %s is not available", info.name));
|
||||
} else {
|
||||
foundLayers.add(found.get());
|
||||
}
|
||||
}
|
||||
CakeToppingDao toppingBean = context.getBean(CakeToppingDao.class);
|
||||
Optional<CakeTopping> topping = toppingBean.findById(
|
||||
matchingToppings.iterator().next().getId());
|
||||
CakeDao cakeBean = context.getBean(CakeDao.class);
|
||||
var toppingBean = context.getBean(CakeToppingDao.class);
|
||||
var topping = toppingBean.findById(matchingToppings.iterator().next().getId());
|
||||
var cakeBean = context.getBean(CakeDao.class);
|
||||
if (topping.isPresent()) {
|
||||
Cake cake = new Cake();
|
||||
var cake = new Cake();
|
||||
cake.setTopping(topping.get());
|
||||
cake.setLayers(foundLayers);
|
||||
cakeBean.save(cake);
|
||||
topping.get().setCake(cake);
|
||||
toppingBean.save(topping.get());
|
||||
CakeLayerDao layerBean = context.getBean(CakeLayerDao.class);
|
||||
for (CakeLayer layer : foundLayers) {
|
||||
var layerBean = context.getBean(CakeLayerDao.class);
|
||||
for (var layer : foundLayers) {
|
||||
layer.setCake(cake);
|
||||
layerBean.save(layer);
|
||||
}
|
||||
} else {
|
||||
throw new CakeBakingException(String.format("Topping %s is not available",
|
||||
cakeInfo.cakeToppingInfo.name));
|
||||
cakeInfo.cakeToppingInfo.name));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveNewTopping(CakeToppingInfo toppingInfo) {
|
||||
CakeToppingDao bean = context.getBean(CakeToppingDao.class);
|
||||
var bean = context.getBean(CakeToppingDao.class);
|
||||
bean.save(new CakeTopping(toppingInfo.name, toppingInfo.calories));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveNewLayer(CakeLayerInfo layerInfo) {
|
||||
CakeLayerDao bean = context.getBean(CakeLayerDao.class);
|
||||
var bean = context.getBean(CakeLayerDao.class);
|
||||
bean.save(new CakeLayer(layerInfo.name, layerInfo.calories));
|
||||
}
|
||||
|
||||
private List<CakeTopping> getAvailableToppingEntities() {
|
||||
CakeToppingDao bean = context.getBean(CakeToppingDao.class);
|
||||
var bean = context.getBean(CakeToppingDao.class);
|
||||
List<CakeTopping> result = new ArrayList<>();
|
||||
Iterator<CakeTopping> iterator = bean.findAll().iterator();
|
||||
var iterator = bean.findAll().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
CakeTopping topping = iterator.next();
|
||||
var topping = iterator.next();
|
||||
if (topping.getCake() == null) {
|
||||
result.add(topping);
|
||||
}
|
||||
@ -128,11 +126,11 @@ public class CakeBakingServiceImpl implements CakeBakingService {
|
||||
|
||||
@Override
|
||||
public List<CakeToppingInfo> getAvailableToppings() {
|
||||
CakeToppingDao bean = context.getBean(CakeToppingDao.class);
|
||||
var bean = context.getBean(CakeToppingDao.class);
|
||||
List<CakeToppingInfo> result = new ArrayList<>();
|
||||
Iterator<CakeTopping> iterator = bean.findAll().iterator();
|
||||
var iterator = bean.findAll().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
CakeTopping next = iterator.next();
|
||||
var next = iterator.next();
|
||||
if (next.getCake() == null) {
|
||||
result.add(new CakeToppingInfo(next.getId(), next.getName(), next.getCalories()));
|
||||
}
|
||||
@ -141,11 +139,11 @@ public class CakeBakingServiceImpl implements CakeBakingService {
|
||||
}
|
||||
|
||||
private List<CakeLayer> getAvailableLayerEntities() {
|
||||
CakeLayerDao bean = context.getBean(CakeLayerDao.class);
|
||||
var bean = context.getBean(CakeLayerDao.class);
|
||||
List<CakeLayer> result = new ArrayList<>();
|
||||
Iterator<CakeLayer> iterator = bean.findAll().iterator();
|
||||
var iterator = bean.findAll().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
CakeLayer next = iterator.next();
|
||||
var next = iterator.next();
|
||||
if (next.getCake() == null) {
|
||||
result.add(next);
|
||||
}
|
||||
@ -155,11 +153,11 @@ public class CakeBakingServiceImpl implements CakeBakingService {
|
||||
|
||||
@Override
|
||||
public List<CakeLayerInfo> getAvailableLayers() {
|
||||
CakeLayerDao bean = context.getBean(CakeLayerDao.class);
|
||||
var bean = context.getBean(CakeLayerDao.class);
|
||||
List<CakeLayerInfo> result = new ArrayList<>();
|
||||
Iterator<CakeLayer> iterator = bean.findAll().iterator();
|
||||
var iterator = bean.findAll().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
CakeLayer next = iterator.next();
|
||||
var next = iterator.next();
|
||||
if (next.getCake() == null) {
|
||||
result.add(new CakeLayerInfo(next.getId(), next.getName(), next.getCalories()));
|
||||
}
|
||||
@ -169,19 +167,19 @@ public class CakeBakingServiceImpl implements CakeBakingService {
|
||||
|
||||
@Override
|
||||
public List<CakeInfo> getAllCakes() {
|
||||
CakeDao cakeBean = context.getBean(CakeDao.class);
|
||||
var cakeBean = context.getBean(CakeDao.class);
|
||||
List<CakeInfo> result = new ArrayList<>();
|
||||
Iterator<Cake> iterator = cakeBean.findAll().iterator();
|
||||
var iterator = cakeBean.findAll().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
Cake cake = iterator.next();
|
||||
CakeToppingInfo cakeToppingInfo =
|
||||
var cake = iterator.next();
|
||||
var cakeToppingInfo =
|
||||
new CakeToppingInfo(cake.getTopping().getId(), cake.getTopping().getName(), cake
|
||||
.getTopping().getCalories());
|
||||
List<CakeLayerInfo> cakeLayerInfos = new ArrayList<>();
|
||||
for (CakeLayer layer : cake.getLayers()) {
|
||||
for (var layer : cake.getLayers()) {
|
||||
cakeLayerInfos.add(new CakeLayerInfo(layer.getId(), layer.getName(), layer.getCalories()));
|
||||
}
|
||||
CakeInfo cakeInfo = new CakeInfo(cake.getId(), cakeToppingInfo, cakeLayerInfos);
|
||||
var cakeInfo = new CakeInfo(cake.getId(), cakeToppingInfo, cakeLayerInfos);
|
||||
result.add(cakeInfo);
|
||||
}
|
||||
return result;
|
||||
|
@ -45,31 +45,31 @@ public class CakeTest {
|
||||
|
||||
@Test
|
||||
public void testSetId() {
|
||||
final Cake cake = new Cake();
|
||||
final var cake = new Cake();
|
||||
assertNull(cake.getId());
|
||||
|
||||
final Long expectedId = 1234L;
|
||||
final var expectedId = 1234L;
|
||||
cake.setId(expectedId);
|
||||
assertEquals(expectedId, cake.getId());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetTopping() {
|
||||
final Cake cake = new Cake();
|
||||
final var cake = new Cake();
|
||||
assertNull(cake.getTopping());
|
||||
|
||||
final CakeTopping expectedTopping = new CakeTopping("DummyTopping", 1000);
|
||||
final var expectedTopping = new CakeTopping("DummyTopping", 1000);
|
||||
cake.setTopping(expectedTopping);
|
||||
assertEquals(expectedTopping, cake.getTopping());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetLayers() {
|
||||
final Cake cake = new Cake();
|
||||
final var cake = new Cake();
|
||||
assertNotNull(cake.getLayers());
|
||||
assertTrue(cake.getLayers().isEmpty());
|
||||
|
||||
final Set<CakeLayer> expectedLayers = Set.of(
|
||||
final var expectedLayers = Set.of(
|
||||
new CakeLayer("layer1", 1000),
|
||||
new CakeLayer("layer2", 2000),
|
||||
new CakeLayer("layer3", 3000));
|
||||
@ -79,7 +79,7 @@ public class CakeTest {
|
||||
|
||||
@Test
|
||||
public void testAddLayer() {
|
||||
final Cake cake = new Cake();
|
||||
final var cake = new Cake();
|
||||
assertNotNull(cake.getLayers());
|
||||
assertTrue(cake.getLayers().isEmpty());
|
||||
|
||||
@ -90,7 +90,7 @@ public class CakeTest {
|
||||
cake.setLayers(initialLayers);
|
||||
assertEquals(initialLayers, cake.getLayers());
|
||||
|
||||
final CakeLayer newLayer = new CakeLayer("layer3", 3000);
|
||||
final var newLayer = new CakeLayer("layer3", 3000);
|
||||
cake.addLayer(newLayer);
|
||||
|
||||
final Set<CakeLayer> expectedLayers = new HashSet<>();
|
||||
@ -102,18 +102,18 @@ public class CakeTest {
|
||||
|
||||
@Test
|
||||
public void testToString() {
|
||||
final CakeTopping topping = new CakeTopping("topping", 20);
|
||||
final var topping = new CakeTopping("topping", 20);
|
||||
topping.setId(2345L);
|
||||
|
||||
final CakeLayer layer = new CakeLayer("layer", 100);
|
||||
final var layer = new CakeLayer("layer", 100);
|
||||
layer.setId(3456L);
|
||||
|
||||
final Cake cake = new Cake();
|
||||
final var cake = new Cake();
|
||||
cake.setId(1234L);
|
||||
cake.setTopping(topping);
|
||||
cake.addLayer(layer);
|
||||
|
||||
final String expected = "id=1234 topping=id=2345 name=topping calories=20 "
|
||||
final var expected = "id=1234 topping=id=2345 name=topping calories=20 "
|
||||
+ "layers=[id=3456 name=layer calories=100]";
|
||||
assertEquals(expected, cake.toString());
|
||||
|
||||
|
@ -38,15 +38,15 @@ public class CakeBakingExceptionTest {
|
||||
|
||||
@Test
|
||||
public void testConstructor() {
|
||||
final CakeBakingException exception = new CakeBakingException();
|
||||
final var exception = new CakeBakingException();
|
||||
assertNull(exception.getMessage());
|
||||
assertNull(exception.getCause());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testConstructorWithMessage() {
|
||||
final String expectedMessage = "message";
|
||||
final CakeBakingException exception = new CakeBakingException(expectedMessage);
|
||||
final var expectedMessage = "message";
|
||||
final var exception = new CakeBakingException(expectedMessage);
|
||||
assertEquals(expectedMessage, exception.getMessage());
|
||||
assertNull(exception.getCause());
|
||||
}
|
||||
|
@ -44,19 +44,19 @@ public class CakeBakingServiceImplTest {
|
||||
|
||||
@Test
|
||||
public void testLayers() {
|
||||
final CakeBakingServiceImpl service = new CakeBakingServiceImpl();
|
||||
final var service = new CakeBakingServiceImpl();
|
||||
|
||||
final List<CakeLayerInfo> initialLayers = service.getAvailableLayers();
|
||||
final var initialLayers = service.getAvailableLayers();
|
||||
assertNotNull(initialLayers);
|
||||
assertTrue(initialLayers.isEmpty());
|
||||
|
||||
service.saveNewLayer(new CakeLayerInfo("Layer1", 1000));
|
||||
service.saveNewLayer(new CakeLayerInfo("Layer2", 2000));
|
||||
|
||||
final List<CakeLayerInfo> availableLayers = service.getAvailableLayers();
|
||||
final var availableLayers = service.getAvailableLayers();
|
||||
assertNotNull(availableLayers);
|
||||
assertEquals(2, availableLayers.size());
|
||||
for (final CakeLayerInfo layer : availableLayers) {
|
||||
for (final var layer : availableLayers) {
|
||||
assertNotNull(layer.id);
|
||||
assertNotNull(layer.name);
|
||||
assertNotNull(layer.toString());
|
||||
@ -67,19 +67,19 @@ public class CakeBakingServiceImplTest {
|
||||
|
||||
@Test
|
||||
public void testToppings() {
|
||||
final CakeBakingServiceImpl service = new CakeBakingServiceImpl();
|
||||
final var service = new CakeBakingServiceImpl();
|
||||
|
||||
final List<CakeToppingInfo> initialToppings = service.getAvailableToppings();
|
||||
final var initialToppings = service.getAvailableToppings();
|
||||
assertNotNull(initialToppings);
|
||||
assertTrue(initialToppings.isEmpty());
|
||||
|
||||
service.saveNewTopping(new CakeToppingInfo("Topping1", 1000));
|
||||
service.saveNewTopping(new CakeToppingInfo("Topping2", 2000));
|
||||
|
||||
final List<CakeToppingInfo> availableToppings = service.getAvailableToppings();
|
||||
final var availableToppings = service.getAvailableToppings();
|
||||
assertNotNull(availableToppings);
|
||||
assertEquals(2, availableToppings.size());
|
||||
for (final CakeToppingInfo topping : availableToppings) {
|
||||
for (final var topping : availableToppings) {
|
||||
assertNotNull(topping.id);
|
||||
assertNotNull(topping.name);
|
||||
assertNotNull(topping.toString());
|
||||
@ -90,20 +90,20 @@ public class CakeBakingServiceImplTest {
|
||||
|
||||
@Test
|
||||
public void testBakeCakes() throws CakeBakingException {
|
||||
final CakeBakingServiceImpl service = new CakeBakingServiceImpl();
|
||||
final var service = new CakeBakingServiceImpl();
|
||||
|
||||
final List<CakeInfo> initialCakes = service.getAllCakes();
|
||||
final var initialCakes = service.getAllCakes();
|
||||
assertNotNull(initialCakes);
|
||||
assertTrue(initialCakes.isEmpty());
|
||||
|
||||
final CakeToppingInfo topping1 = new CakeToppingInfo("Topping1", 1000);
|
||||
final CakeToppingInfo topping2 = new CakeToppingInfo("Topping2", 2000);
|
||||
final var topping1 = new CakeToppingInfo("Topping1", 1000);
|
||||
final var topping2 = new CakeToppingInfo("Topping2", 2000);
|
||||
service.saveNewTopping(topping1);
|
||||
service.saveNewTopping(topping2);
|
||||
|
||||
final CakeLayerInfo layer1 = new CakeLayerInfo("Layer1", 1000);
|
||||
final CakeLayerInfo layer2 = new CakeLayerInfo("Layer2", 2000);
|
||||
final CakeLayerInfo layer3 = new CakeLayerInfo("Layer3", 2000);
|
||||
final var layer1 = new CakeLayerInfo("Layer1", 1000);
|
||||
final var layer2 = new CakeLayerInfo("Layer2", 2000);
|
||||
final var layer3 = new CakeLayerInfo("Layer3", 2000);
|
||||
service.saveNewLayer(layer1);
|
||||
service.saveNewLayer(layer2);
|
||||
service.saveNewLayer(layer3);
|
||||
@ -111,10 +111,10 @@ public class CakeBakingServiceImplTest {
|
||||
service.bakeNewCake(new CakeInfo(topping1, List.of(layer1, layer2)));
|
||||
service.bakeNewCake(new CakeInfo(topping2, Collections.singletonList(layer3)));
|
||||
|
||||
final List<CakeInfo> allCakes = service.getAllCakes();
|
||||
final var allCakes = service.getAllCakes();
|
||||
assertNotNull(allCakes);
|
||||
assertEquals(2, allCakes.size());
|
||||
for (final CakeInfo cakeInfo : allCakes) {
|
||||
for (final var cakeInfo : allCakes) {
|
||||
assertNotNull(cakeInfo.id);
|
||||
assertNotNull(cakeInfo.cakeToppingInfo);
|
||||
assertNotNull(cakeInfo.cakeLayerInfos);
|
||||
@ -127,14 +127,14 @@ public class CakeBakingServiceImplTest {
|
||||
|
||||
@Test
|
||||
public void testBakeCakeMissingTopping() {
|
||||
final CakeBakingServiceImpl service = new CakeBakingServiceImpl();
|
||||
final var service = new CakeBakingServiceImpl();
|
||||
|
||||
final CakeLayerInfo layer1 = new CakeLayerInfo("Layer1", 1000);
|
||||
final CakeLayerInfo layer2 = new CakeLayerInfo("Layer2", 2000);
|
||||
final var layer1 = new CakeLayerInfo("Layer1", 1000);
|
||||
final var layer2 = new CakeLayerInfo("Layer2", 2000);
|
||||
service.saveNewLayer(layer1);
|
||||
service.saveNewLayer(layer2);
|
||||
|
||||
final CakeToppingInfo missingTopping = new CakeToppingInfo("Topping1", 1000);
|
||||
final var missingTopping = new CakeToppingInfo("Topping1", 1000);
|
||||
assertThrows(CakeBakingException.class, () -> {
|
||||
service.bakeNewCake(new CakeInfo(missingTopping, List.of(layer1, layer2)));
|
||||
});
|
||||
@ -142,19 +142,19 @@ public class CakeBakingServiceImplTest {
|
||||
|
||||
@Test
|
||||
public void testBakeCakeMissingLayer() {
|
||||
final CakeBakingServiceImpl service = new CakeBakingServiceImpl();
|
||||
final var service = new CakeBakingServiceImpl();
|
||||
|
||||
final List<CakeInfo> initialCakes = service.getAllCakes();
|
||||
final var initialCakes = service.getAllCakes();
|
||||
assertNotNull(initialCakes);
|
||||
assertTrue(initialCakes.isEmpty());
|
||||
|
||||
final CakeToppingInfo topping1 = new CakeToppingInfo("Topping1", 1000);
|
||||
final var topping1 = new CakeToppingInfo("Topping1", 1000);
|
||||
service.saveNewTopping(topping1);
|
||||
|
||||
final CakeLayerInfo layer1 = new CakeLayerInfo("Layer1", 1000);
|
||||
final var layer1 = new CakeLayerInfo("Layer1", 1000);
|
||||
service.saveNewLayer(layer1);
|
||||
|
||||
final CakeLayerInfo missingLayer = new CakeLayerInfo("Layer2", 2000);
|
||||
final var missingLayer = new CakeLayerInfo("Layer2", 2000);
|
||||
assertThrows(CakeBakingException.class, () -> {
|
||||
service.bakeNewCake(new CakeInfo(topping1, List.of(layer1, missingLayer)));
|
||||
});
|
||||
@ -162,19 +162,19 @@ public class CakeBakingServiceImplTest {
|
||||
|
||||
@Test
|
||||
public void testBakeCakesUsedLayer() throws CakeBakingException {
|
||||
final CakeBakingServiceImpl service = new CakeBakingServiceImpl();
|
||||
final var service = new CakeBakingServiceImpl();
|
||||
|
||||
final List<CakeInfo> initialCakes = service.getAllCakes();
|
||||
final var initialCakes = service.getAllCakes();
|
||||
assertNotNull(initialCakes);
|
||||
assertTrue(initialCakes.isEmpty());
|
||||
|
||||
final CakeToppingInfo topping1 = new CakeToppingInfo("Topping1", 1000);
|
||||
final CakeToppingInfo topping2 = new CakeToppingInfo("Topping2", 2000);
|
||||
final var topping1 = new CakeToppingInfo("Topping1", 1000);
|
||||
final var topping2 = new CakeToppingInfo("Topping2", 2000);
|
||||
service.saveNewTopping(topping1);
|
||||
service.saveNewTopping(topping2);
|
||||
|
||||
final CakeLayerInfo layer1 = new CakeLayerInfo("Layer1", 1000);
|
||||
final CakeLayerInfo layer2 = new CakeLayerInfo("Layer2", 2000);
|
||||
final var layer1 = new CakeLayerInfo("Layer1", 1000);
|
||||
final var layer2 = new CakeLayerInfo("Layer2", 2000);
|
||||
service.saveNewLayer(layer1);
|
||||
service.saveNewLayer(layer2);
|
||||
|
||||
|
@ -68,18 +68,18 @@ public class CakeViewImplTest {
|
||||
@Test
|
||||
public void testRender() {
|
||||
|
||||
final List<CakeLayerInfo> layers = List.of(
|
||||
final var layers = List.of(
|
||||
new CakeLayerInfo("layer1", 1000),
|
||||
new CakeLayerInfo("layer2", 2000),
|
||||
new CakeLayerInfo("layer3", 3000));
|
||||
|
||||
final CakeInfo cake = new CakeInfo(new CakeToppingInfo("topping", 1000), layers);
|
||||
final List<CakeInfo> cakes = List.of(cake);
|
||||
final var cake = new CakeInfo(new CakeToppingInfo("topping", 1000), layers);
|
||||
final var cakes = List.of(cake);
|
||||
|
||||
final CakeBakingService bakingService = mock(CakeBakingService.class);
|
||||
final var bakingService = mock(CakeBakingService.class);
|
||||
when(bakingService.getAllCakes()).thenReturn(cakes);
|
||||
|
||||
final CakeViewImpl cakeView = new CakeViewImpl(bakingService);
|
||||
final var cakeView = new CakeViewImpl(bakingService);
|
||||
|
||||
assertEquals(0, appender.getLogSize());
|
||||
|
||||
|
Reference in New Issue
Block a user