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 | import nl.jqno.equalsverifier.Warning;
|
---|
12 |
|
---|
13 | /**
|
---|
14 | * Unit tests for class {@link ExtensionFileFilter}.
|
---|
15 | */
|
---|
16 | public class ExtensionFileFilterTest {
|
---|
17 |
|
---|
18 | private static void test(String extensions, String defaultExtension, String description, boolean addArchiveExtensionsToDescription,
|
---|
19 | String expectedExtensions, String expectedDescription) {
|
---|
20 | ExtensionFileFilter ext = ExtensionFileFilter.newFilterWithArchiveExtensions(
|
---|
21 | extensions, defaultExtension, description, addArchiveExtensionsToDescription);
|
---|
22 | assertEquals(expectedExtensions, ext.getExtensions());
|
---|
23 | assertEquals(defaultExtension, ext.getDefaultExtension());
|
---|
24 | assertEquals(expectedDescription, ext.getDescription());
|
---|
25 | }
|
---|
26 |
|
---|
27 | /**
|
---|
28 | * Unit test of method {@link ExtensionFileFilter#newFilterWithArchiveExtensions}.
|
---|
29 | */
|
---|
30 | @Test
|
---|
31 | public void testNewFilterWithArchiveExtensions() {
|
---|
32 | test("ext1", "ext1", "description", true,
|
---|
33 | "ext1,ext1.gz,ext1.bz2", "description (*.ext1, *.ext1.gz, *.ext1.bz2)");
|
---|
34 | test("ext1", "ext1", "description", false,
|
---|
35 | "ext1,ext1.gz,ext1.bz2", "description (*.ext1)");
|
---|
36 | test("ext1,ext2", "ext1", "description", true,
|
---|
37 | "ext1,ext1.gz,ext1.bz2,ext2,ext2.gz,ext2.bz2", "description (*.ext1, *.ext1.gz, *.ext1.bz2, *.ext2, *.ext2.gz, *.ext2.bz2)");
|
---|
38 | test("ext1,ext2", "ext1", "description", false,
|
---|
39 | "ext1,ext1.gz,ext1.bz2,ext2,ext2.gz,ext2.bz2", "description (*.ext1, *.ext2)");
|
---|
40 | }
|
---|
41 |
|
---|
42 | /**
|
---|
43 | * Unit test of methods {@link ExtensionFileFilter#equals} and {@link ExtensionFileFilter#hashCode}.
|
---|
44 | */
|
---|
45 | @Test
|
---|
46 | public void testEqualsContract() {
|
---|
47 | EqualsVerifier.forClass(ExtensionFileFilter.class).usingGetClass()
|
---|
48 | .suppress(Warning.ANNOTATION) // FIXME: remove it after https://github.com/jqno/equalsverifier/issues/152 is fixed
|
---|
49 | .verify();
|
---|
50 | }
|
---|
51 |
|
---|
52 | /**
|
---|
53 | * Unit test of {@link AddArchiveExtension} enum.
|
---|
54 | */
|
---|
55 | @Test
|
---|
56 | public void testEnumAddArchiveExtension() {
|
---|
57 | TestUtils.superficialEnumCodeCoverage(AddArchiveExtension.class);
|
---|
58 | }
|
---|
59 | }
|
---|