Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit db704cb

Browse filesBrowse files
committed
BAEL-8506 Test in CDI project failing
- Fixed assertion of local time logic
1 parent dc86766 commit db704cb
Copy full SHA for db704cb

File tree

Expand file treeCollapse file tree

1 file changed

+61
-40
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

1 file changed

+61
-40
lines changed
Open diff view settings
Collapse file
+61-40Lines changed: 61 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,91 @@
11
package com.baeldung.test.dependencyinjection;
22

3-
import com.baeldung.dependencyinjection.imagefileeditors.GifFileEditor;
4-
import com.baeldung.dependencyinjection.imagefileeditors.JpgFileEditor;
5-
import com.baeldung.dependencyinjection.imagefileeditors.PngFileEditor;
6-
import com.baeldung.dependencyinjection.imageprocessors.ImageFileProcessor;
7-
import com.baeldung.dependencyinjection.loggers.TimeLogger;
8-
import java.text.SimpleDateFormat;
9-
import java.util.Calendar;
103
import static org.assertj.core.api.Assertions.assertThat;
4+
import static org.assertj.core.api.Assertions.within;
5+
6+
import java.text.ParseException;
7+
import java.time.LocalTime;
8+
import java.time.temporal.ChronoUnit;
9+
1110
import org.jboss.weld.environment.se.Weld;
1211
import org.jboss.weld.environment.se.WeldContainer;
1312
import org.junit.BeforeClass;
1413
import org.junit.Test;
1514

15+
import com.baeldung.dependencyinjection.imagefileeditors.PngFileEditor;
16+
import com.baeldung.dependencyinjection.imageprocessors.ImageFileProcessor;
17+
import com.baeldung.dependencyinjection.loggers.TimeLogger;
18+
1619
public class ImageProcessorUnitTest {
17-
20+
1821
private static ImageFileProcessor imageFileProcessor;
19-
private static SimpleDateFormat dateFormat;
20-
private static Calendar calendar;
21-
22-
22+
2323
@BeforeClass
2424
public static void setImageProcessorInstance() {
2525
Weld weld = new Weld();
2626
WeldContainer container = weld.initialize();
27-
imageFileProcessor = container.select(ImageFileProcessor.class).get();
27+
imageFileProcessor = container.select(ImageFileProcessor.class)
28+
.get();
2829
container.shutdown();
2930
}
30-
31-
@BeforeClass
32-
public static void setSimpleDateFormatInstance() {
33-
dateFormat = new SimpleDateFormat("HH:mm");
34-
}
35-
36-
@BeforeClass
37-
public static void setCalendarInstance() {
38-
calendar = Calendar.getInstance();
39-
}
40-
31+
4132
@Test
4233
public void givenImageProcessorInstance_whenInjectedPngFileEditorandTimeLoggerInstances_thenTwoAssertions() {
4334
assertThat(imageFileProcessor.getImageFileditor()).isInstanceOf(PngFileEditor.class);
4435
assertThat(imageFileProcessor.getTimeLogger()).isInstanceOf(TimeLogger.class);
4536
}
46-
37+
4738
@Test
48-
public void givenImageProcessorInstance_whenCalledopenFile_thenOneAssertion() {
49-
String currentTime = dateFormat.format(calendar.getTime());
50-
assertThat(imageFileProcessor.openFile("file1.png")).isEqualTo("Opening PNG file file1.png at: " + currentTime);
39+
public void givenImageProcessorInstance_whenCalledopenFile_thenOneAssertion() throws ParseException {
40+
LocalTime currentTime = LocalTime.now();
41+
42+
String openFileLog = imageFileProcessor.openFile("file1.png");
43+
assertThat(openFileLog).contains("Opening PNG file file1.png at: ");
44+
45+
LocalTime loggedTime = getLoggedTime(openFileLog);
46+
assertThat(loggedTime).isCloseTo(currentTime, within(2, ChronoUnit.MINUTES));
5147
}
52-
48+
5349
@Test
54-
public void givenImageProcessorInstance_whenCallededitFile_thenOneAssertion() {
55-
String currentTime = dateFormat.format(calendar.getTime());
56-
assertThat(imageFileProcessor.editFile("file1.png")).isEqualTo("Editing PNG file file1.png at: " + currentTime);
50+
public void givenImageProcessorInstance_whenCallededitFile_thenOneAssertion() throws ParseException {
51+
LocalTime currentTime = LocalTime.now();
52+
53+
String editFileLog = imageFileProcessor.editFile("file1.png");
54+
assertThat(editFileLog).contains("Editing PNG file file1.png at: ");
55+
56+
LocalTime loggedTime = getLoggedTime(editFileLog);
57+
assertThat(loggedTime).isCloseTo(currentTime, within(2, ChronoUnit.MINUTES));
5758
}
58-
59+
5960
@Test
60-
public void givenImageProcessorInstance_whenCalledwriteFile_thenOneAssertion() {
61-
String currentTime = dateFormat.format(calendar.getTime());
62-
assertThat(imageFileProcessor.writeFile("file1.png")).isEqualTo("Writing PNG file file1.png at: " + currentTime);
61+
public void givenImageProcessorInstance_whenCalledwriteFile_thenOneAssertion() throws ParseException {
62+
LocalTime currentTime = LocalTime.now();
63+
64+
String writeFileLog = imageFileProcessor.writeFile("file1.png");
65+
assertThat(writeFileLog).contains("Writing PNG file file1.png at: ");
66+
67+
LocalTime loggedTime = getLoggedTime(writeFileLog);
68+
assertThat(loggedTime).isCloseTo(currentTime, within(2, ChronoUnit.MINUTES));
6369
}
64-
70+
6571
@Test
66-
public void givenImageProcessorInstance_whenCalledsaveFile_thenOneAssertion() {
67-
String currentTime = dateFormat.format(calendar.getTime());
68-
assertThat(imageFileProcessor.saveFile("file1.png")).isEqualTo("Saving PNG file file1.png at: " + currentTime);
72+
public void givenImageProcessorInstance_whenCalledsaveFile_thenOneAssertion() throws ParseException {
73+
LocalTime currentTime = LocalTime.now();
74+
75+
String saveFileLog = imageFileProcessor.saveFile("file1.png");
76+
assertThat(saveFileLog).contains("Saving PNG file file1.png at: ");
77+
78+
LocalTime loggedTime = getLoggedTime(saveFileLog);
79+
assertThat(loggedTime).isCloseTo(currentTime, within(2, ChronoUnit.MINUTES));
80+
}
81+
82+
private LocalTime getLoggedTime(String log) throws ParseException {
83+
String logTimeString = log.split("at: ")[1];
84+
85+
int hour = Integer.valueOf(logTimeString.split(":")[0]);
86+
int minutes = Integer.valueOf(logTimeString.split(":")[1]);
87+
88+
LocalTime loggedTime = LocalTime.of(hour, minutes);
89+
return loggedTime;
6990
}
7091
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.