1 | // License: GPL. For details, see LICENSE file.
|
---|
2 | package org.openstreetmap.josm.actions;
|
---|
3 |
|
---|
4 | import static org.junit.Assert.assertEquals;
|
---|
5 |
|
---|
6 | import org.junit.Test;
|
---|
7 | import org.openstreetmap.josm.TestUtils;
|
---|
8 | import org.openstreetmap.josm.actions.ExtensionFileFilter.AddArchiveExtension;
|
---|
9 |
|
---|
10 | import nl.jqno.equalsverifier.EqualsVerifier;
|
---|
11 |
|
---|
12 | /**
|
---|
13 | * Unit tests for class {@link ExtensionFileFilter}.
|
---|
14 | */
|
---|
15 | public class ExtensionFileFilterTest {
|
---|
16 |
|
---|
17 | private static void test(String extensions, String defaultExtension, String description, boolean addArchiveExtensionsToDescription,
|
---|
18 | String expectedExtensions, String expectedDescription) {
|
---|
19 | ExtensionFileFilter ext = ExtensionFileFilter.newFilterWithArchiveExtensions(
|
---|
20 | extensions, defaultExtension, description, addArchiveExtensionsToDescription);
|
---|
21 | assertEquals(expectedExtensions, ext.getExtensions());
|
---|
22 | assertEquals(defaultExtension, ext.getDefaultExtension());
|
---|
23 | assertEquals(expectedDescription, ext.getDescription());
|
---|
24 | }
|
---|
25 |
|
---|
26 | /**
|
---|
27 | * Unit test of method {@link ExtensionFileFilter#newFilterWithArchiveExtensions}.
|
---|
28 | */
|
---|
29 | @Test
|
---|
30 | public void testNewFilterWithArchiveExtensions() {
|
---|
31 | test("ext1", "ext1", "description", true,
|
---|
32 | "ext1,ext1.gz,ext1.bz,ext1.bz2,ext1.xz,ext1.zip",
|
---|
33 | "description (*.ext1, *.ext1.gz, *.ext1.bz, *.ext1.bz2, *.ext1.xz, *.ext1.zip)");
|
---|
34 | test("ext1", "ext1", "description", false,
|
---|
35 | "ext1,ext1.gz,ext1.bz,ext1.bz2,ext1.xz,ext1.zip", "description (*.ext1)");
|
---|
36 | test("ext1,ext2", "ext1", "description", true,
|
---|
37 | "ext1,ext1.gz,ext1.bz,ext1.bz2,ext1.xz,ext1.zip,ext2,ext2.gz,ext2.bz,ext2.bz2,ext2.xz,ext2.zip",
|
---|
38 | "description (*.ext1, *.ext1.gz, *.ext1.bz, *.ext1.bz2, *.ext1.xz, *.ext1.zip, " +
|
---|
39 | "*.ext2, *.ext2.gz, *.ext2.bz, *.ext2.bz2, *.ext2.xz, *.ext2.zip)");
|
---|
40 | test("ext1,ext2", "ext1", "description", false,
|
---|
41 | "ext1,ext1.gz,ext1.bz,ext1.bz2,ext1.xz,ext1.zip,ext2,ext2.gz,ext2.bz,ext2.bz2,ext2.xz,ext2.zip",
|
---|
42 | "description (*.ext1, *.ext2)");
|
---|
43 | }
|
---|
44 |
|
---|
45 | /**
|
---|
46 | * Unit test of methods {@link ExtensionFileFilter#equals} and {@link ExtensionFileFilter#hashCode}.
|
---|
47 | */
|
---|
48 | @Test
|
---|
49 | public void testEqualsContract() {
|
---|
50 | TestUtils.assumeWorkingEqualsVerifier();
|
---|
51 | EqualsVerifier.forClass(ExtensionFileFilter.class).usingGetClass()
|
---|
52 | .verify();
|
---|
53 | }
|
---|
54 |
|
---|
55 | /**
|
---|
56 | * Unit test of {@link AddArchiveExtension} enum.
|
---|
57 | */
|
---|
58 | @Test
|
---|
59 | public void testEnumAddArchiveExtension() {
|
---|
60 | TestUtils.superficialEnumCodeCoverage(AddArchiveExtension.class);
|
---|
61 | }
|
---|
62 | }
|
---|