Skip to content
This repository was archived by the owner on Jan 8, 2023. It is now read-only.

Commit dfe4990

Browse files
committed
Static
1 parent a918dc4 commit dfe4990

File tree

4 files changed

+28
-110
lines changed

4 files changed

+28
-110
lines changed

src/main/java/io/github/spair/byond/dmi/DmiComparator.java

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,6 @@
1717
@SuppressWarnings("WeakerAccess")
1818
public final class DmiComparator {
1919

20-
/**
21-
* Static method to compare two dmi's. Same as {@link #compare(Dmi, Dmi)},
22-
* with {@link DmiComparator} instantiation under the hood.
23-
*
24-
* @param oldDmi old {@link io.github.spair.byond.dmi.Dmi} object or null
25-
* @param newDmi new {@link io.github.spair.byond.dmi.Dmi} object or null
26-
* @return {@link io.github.spair.byond.dmi.DmiDiff} object
27-
*/
28-
@Nonnull
29-
public static DmiDiff compareDmi(@Nullable final Dmi oldDmi, @Nullable final Dmi newDmi) {
30-
return new DmiComparator().compare(oldDmi, newDmi);
31-
}
32-
3320
/**
3421
* Compares two {@link io.github.spair.byond.dmi.Dmi} objects. One of argument may be null,
3522
* which will be interpreted as if another Dmi created if null is the first parameter or deleted if vice versa.
@@ -39,7 +26,7 @@ public static DmiDiff compareDmi(@Nullable final Dmi oldDmi, @Nullable final Dmi
3926
* @return {@link io.github.spair.byond.dmi.DmiDiff} object
4027
*/
4128
@Nonnull
42-
public DmiDiff compare(@Nullable final Dmi oldDmi, @Nullable final Dmi newDmi) {
29+
public static DmiDiff compare(@Nullable final Dmi oldDmi, @Nullable final Dmi newDmi) {
4330
DmiDiff dmiDiff = new DmiDiff(getDiffList(oldDmi, newDmi));
4431

4532
dmiDiff.setOldMeta(CheckSupplierUtil.returnIfNonNull(oldDmi, Dmi::getMetadata));
@@ -48,7 +35,7 @@ public DmiDiff compare(@Nullable final Dmi oldDmi, @Nullable final Dmi newDmi) {
4835
return dmiDiff;
4936
}
5037

51-
private List<Diff> getDiffList(@Nullable final Dmi oldDmi, @Nullable final Dmi newDmi) {
38+
private static List<Diff> getDiffList(@Nullable final Dmi oldDmi, @Nullable final Dmi newDmi) {
5239
List<Diff> diffEntries = new ArrayList<>();
5340

5441
final Map<String, DmiState> oldStates = extractStates(oldDmi);
@@ -73,7 +60,7 @@ private List<Diff> getDiffList(@Nullable final Dmi oldDmi, @Nullable final Dmi n
7360
return diffEntries;
7461
}
7562

76-
private List<Diff> listOnlyOneStateSprites(final DmiState state, final boolean isOldState) {
63+
private static List<Diff> listOnlyOneStateSprites(final DmiState state, final boolean isOldState) {
7764
List<Diff> diffs = new ArrayList<>();
7865
final String stateName = state.getMeta().getName();
7966

@@ -90,7 +77,7 @@ private List<Diff> listOnlyOneStateSprites(final DmiState state, final boolean i
9077
return diffs;
9178
}
9279

93-
private List<Diff> findOldAndNewStateDiff(final DmiState oldState, final DmiState newState) {
80+
private static List<Diff> findOldAndNewStateDiff(final DmiState oldState, final DmiState newState) {
9481
List<Diff> diffs = new ArrayList<>();
9582

9683
final String stateName = oldState.getMeta().getName();
@@ -140,10 +127,13 @@ private List<Diff> findOldAndNewStateDiff(final DmiState oldState, final DmiStat
140127
return diffs;
141128
}
142129

143-
private Map<String, DmiState> extractStates(final Dmi dmi) {
130+
private static Map<String, DmiState> extractStates(final Dmi dmi) {
144131
return Optional
145132
.ofNullable(
146133
CheckSupplierUtil.returnIfNonNull(dmi, Dmi::getStates)
147134
).orElse(Collections.emptyMap());
148135
}
136+
137+
private DmiComparator() {
138+
}
149139
}

src/main/java/io/github/spair/byond/dmi/DmiSlurper.java

Lines changed: 6 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -20,49 +20,11 @@
2020
public final class DmiSlurper {
2121

2222
/**
23-
* Static method to process file. Same as {@link #slurpUp(File)},
24-
* with {@link DmiSlurper} instantiation under the hood.
25-
*
2623
* @param dmiFile file to deserialize
2724
* @return {@link io.github.spair.byond.dmi.Dmi} object
2825
*/
2926
@Nonnull
30-
public static Dmi slurpUpFile(final File dmiFile) {
31-
return new DmiSlurper().slurpUp(dmiFile);
32-
}
33-
34-
/**
35-
* Static method to process file. Same as {@link #slurpUp(String, String)},
36-
* with {@link DmiSlurper} instantiation under the hood.
37-
*
38-
* @param dmiName the name of resulted {@link io.github.spair.byond.dmi.Dmi} object
39-
* @param base64content base64 string to deserialize
40-
* @return {@link io.github.spair.byond.dmi.Dmi} object
41-
*/
42-
@Nonnull
43-
public static Dmi slurpUpBase64(final String dmiName, final String base64content) {
44-
return new DmiSlurper().slurpUp(dmiName, base64content);
45-
}
46-
47-
/**
48-
* Static method to process file. Same as {@link #slurpUp(String, InputStream)},
49-
* with {@link DmiSlurper} instantiation under the hood.
50-
*
51-
* @param dmiName the name of resulted {@link io.github.spair.byond.dmi.Dmi} object
52-
* @param input raw input stream to deserialize
53-
* @return {@link io.github.spair.byond.dmi.Dmi} object
54-
*/
55-
@Nonnull
56-
public static Dmi slurpUpStream(final String dmiName, final InputStream input) {
57-
return new DmiSlurper().slurpUp(dmiName, input);
58-
}
59-
60-
/**
61-
* @param dmiFile file to deserialize
62-
* @return {@link io.github.spair.byond.dmi.Dmi} object
63-
*/
64-
@Nonnull
65-
public Dmi slurpUp(final File dmiFile) {
27+
public static Dmi slurpUp(final File dmiFile) {
6628
try (InputStream input = new FileInputStream(dmiFile)) {
6729
return slurpUp(dmiFile.getName(), input);
6830
} catch (FileNotFoundException e) {
@@ -78,7 +40,7 @@ public Dmi slurpUp(final File dmiFile) {
7840
* @return {@link io.github.spair.byond.dmi.Dmi} object
7941
*/
8042
@Nonnull
81-
public Dmi slurpUp(final String dmiName, final String base64content) {
43+
public static Dmi slurpUp(final String dmiName, final String base64content) {
8244
try (InputStream input = new ByteArrayInputStream(Base64.getMimeDecoder().decode(base64content))) {
8345
return slurpUp(dmiName, input);
8446
} catch (IOException e) {
@@ -92,7 +54,7 @@ public Dmi slurpUp(final String dmiName, final String base64content) {
9254
* @return {@link io.github.spair.byond.dmi.Dmi} object
9355
*/
9456
@Nonnull
95-
public Dmi slurpUp(final String dmiName, final InputStream input) {
57+
public static Dmi slurpUp(final String dmiName, final InputStream input) {
9658
try (BufferedInputStream bufferedInput = new BufferedInputStream(input)) {
9759
bufferedInput.mark(input.available());
9860

@@ -107,4 +69,7 @@ public Dmi slurpUp(final String dmiName, final InputStream input) {
10769
throw new IllegalArgumentException("Received DMI can't be read");
10870
}
10971
}
72+
73+
private DmiSlurper() {
74+
}
11075
}

src/test/java/io/github/spair/byond/dmi/DmiComparatorTest.java

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,15 @@
1212

1313
public class DmiComparatorTest {
1414

15-
private final DmiSlurper dmiSlurper = new DmiSlurper();
16-
private final DmiComparator dmiComparator = new DmiComparator();
17-
1815
private static final String ROLLERBED_ORIGINAL_PATH = "src/test/resources/rollerbed_original.dmi";
1916
private static final String ROLLERBED_DIFF_PATH = "src/test/resources/rollerbed_original_diff.dmi";
2017

21-
@Test
22-
public void testStaticCompare() {
23-
Dmi original = dmiSlurper.slurpUp(new File(ROLLERBED_ORIGINAL_PATH));
24-
Dmi modified = dmiSlurper.slurpUp(new File(ROLLERBED_DIFF_PATH));
25-
26-
DmiDiff diffSimple = dmiComparator.compare(original, modified);
27-
DmiDiff diffStatic = DmiComparator.compareDmi(original, modified);
28-
29-
assertEquals(diffSimple, diffStatic);
30-
}
31-
3218
@Test
3319
public void testCompareWhenNotSame() {
34-
Dmi original = dmiSlurper.slurpUp(new File(ROLLERBED_ORIGINAL_PATH));
35-
Dmi modified = dmiSlurper.slurpUp(new File(ROLLERBED_DIFF_PATH));
20+
Dmi original = DmiSlurper.slurpUp(new File(ROLLERBED_ORIGINAL_PATH));
21+
Dmi modified = DmiSlurper.slurpUp(new File(ROLLERBED_DIFF_PATH));
3622

37-
DmiDiff diff = dmiComparator.compare(original, modified);
23+
DmiDiff diff = DmiComparator.compare(original, modified);
3824

3925
assertFalse(diff.isSame());
4026
assertNotEquals(diff.getOldMeta(), diff.getNewMeta());
@@ -83,8 +69,8 @@ public void testCompareWhenNotSame() {
8369

8470
@Test
8571
public void testCompareWhenSame() {
86-
Dmi dmi = dmiSlurper.slurpUp(new File(ROLLERBED_ORIGINAL_PATH));
87-
DmiDiff diff = dmiComparator.compare(dmi, dmi);
72+
Dmi dmi = DmiSlurper.slurpUp(new File(ROLLERBED_ORIGINAL_PATH));
73+
DmiDiff diff = DmiComparator.compare(dmi, dmi);
8874

8975
assertTrue(diff.isSame());
9076
assertEquals(diff.getOldMeta(), diff.getNewMeta());
@@ -93,8 +79,8 @@ public void testCompareWhenSame() {
9379

9480
@Test
9581
public void testCompareWhenModifiedNull() {
96-
Dmi dmi = dmiSlurper.slurpUp(new File(ROLLERBED_ORIGINAL_PATH));
97-
DmiDiff diff = dmiComparator.compare(dmi, null);
82+
Dmi dmi = DmiSlurper.slurpUp(new File(ROLLERBED_ORIGINAL_PATH));
83+
DmiDiff diff = DmiComparator.compare(dmi, null);
9884

9985
assertEquals(17, diff.getDiffs().size());
10086
assertNotNull(diff.getOldMeta());
@@ -105,8 +91,8 @@ public void testCompareWhenModifiedNull() {
10591

10692
@Test
10793
public void testCompareWhenOriginalNull() {
108-
Dmi dmi = dmiSlurper.slurpUp(new File(ROLLERBED_ORIGINAL_PATH));
109-
DmiDiff diff = dmiComparator.compare(null, dmi);
94+
Dmi dmi = DmiSlurper.slurpUp(new File(ROLLERBED_ORIGINAL_PATH));
95+
DmiDiff diff = DmiComparator.compare(null, dmi);
11096

11197
assertEquals(17, diff.getDiffs().size());
11298
assertNotNull(diff.getNewMeta());

src/test/java/io/github/spair/byond/dmi/DmiSlurperTest.java

Lines changed: 5 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -14,58 +14,35 @@
1414

1515
public class DmiSlurperTest {
1616

17-
private final DmiSlurper dmiSlurper = new DmiSlurper();
18-
19-
@Test
20-
public void testStaticSlurpUpFromFile() {
21-
File dmiFile = new File("src/test/resources/rollerbed_original.dmi");
22-
Dmi dmi = DmiSlurper.slurpUpFile(dmiFile);
23-
commonDmiAssertion(dmi);
24-
}
25-
26-
@Test
27-
public void testStaticSlurpUpFromBase64Content() throws Exception {
28-
String filePath = "src/test/resources/rollerbed_original_base64.txt";
29-
Dmi dmi = DmiSlurper.slurpUpBase64("rollerbed_original.dmi", new String(Files.readAllBytes(Paths.get(filePath))));
30-
commonDmiAssertion(dmi);
31-
}
32-
33-
@Test
34-
public void testStaticSlurpUpFromInputStream() throws Exception {
35-
File dmiFile = new File("src/test/resources/rollerbed_original.dmi");
36-
Dmi dmi = DmiSlurper.slurpUpStream("rollerbed_original.dmi", new FileInputStream(dmiFile));
37-
commonDmiAssertion(dmi);
38-
}
39-
4017
@Test
4118
public void testSlurpUpFromFile() {
4219
File dmiFile = new File("src/test/resources/rollerbed_original.dmi");
43-
Dmi dmi = dmiSlurper.slurpUp(dmiFile);
20+
Dmi dmi = DmiSlurper.slurpUp(dmiFile);
4421
commonDmiAssertion(dmi);
4522
}
4623

4724
@Test
4825
public void testSlurpUpFromBase64Content() throws Exception {
4926
String filePath = "src/test/resources/rollerbed_original_base64.txt";
50-
Dmi dmi = dmiSlurper.slurpUp("rollerbed_original.dmi", new String(Files.readAllBytes(Paths.get(filePath))));
27+
Dmi dmi = DmiSlurper.slurpUp("rollerbed_original.dmi", new String(Files.readAllBytes(Paths.get(filePath))));
5128
commonDmiAssertion(dmi);
5229
}
5330

5431
@Test
5532
public void testSlurpUpFromInputStream() throws Exception {
5633
File dmiFile = new File("src/test/resources/rollerbed_original.dmi");
57-
Dmi dmi = dmiSlurper.slurpUp("rollerbed_original.dmi", new FileInputStream(dmiFile));
34+
Dmi dmi = DmiSlurper.slurpUp("rollerbed_original.dmi", new FileInputStream(dmiFile));
5835
commonDmiAssertion(dmi);
5936
}
6037

6138
@Test(expected = IllegalArgumentException.class)
6239
public void testSlurpUpWithNiFileException() {
63-
dmiSlurper.slurpUp(new File("non existent path"));
40+
DmiSlurper.slurpUp(new File("non existent path"));
6441
}
6542

6643
@Test
6744
public void testSlurpUpWithDuplicateStates() {
68-
Dmi dmi = dmiSlurper.slurpUp(new File("src/test/resources/rollerbed_duplicate_states.dmi"));
45+
Dmi dmi = DmiSlurper.slurpUp(new File("src/test/resources/rollerbed_duplicate_states.dmi"));
6946
assertEquals(1, dmi.getDuplicateStatesNames().size());
7047
assertTrue(dmi.isHasDuplicates());
7148
}

0 commit comments

Comments
 (0)