From 0a733a86482cf143c82de52e278488dd49e14777 Mon Sep 17 00:00:00 2001 From: arnaud ferrand Date: Sat, 17 Oct 2015 12:51:41 +0200 Subject: [PATCH 1/3] improve tests coverage --- .../java/de/meggsimum/w3w/What3WordsTest.java | 57 ++++++++++++++++++- 1 file changed, 55 insertions(+), 2 deletions(-) diff --git a/src/test/java/de/meggsimum/w3w/What3WordsTest.java b/src/test/java/de/meggsimum/w3w/What3WordsTest.java index c22beae..783589d 100644 --- a/src/test/java/de/meggsimum/w3w/What3WordsTest.java +++ b/src/test/java/de/meggsimum/w3w/What3WordsTest.java @@ -6,11 +6,11 @@ /** * Unit test for {@linkplain What3Words} - * + * * @author Christian Mayer, meggsimum */ public class What3WordsTest extends TestCase { - + /** * Ensure to set your API-Key here before running the test suite */ @@ -50,6 +50,40 @@ public void testWordsToPosition() { } } + /** + * Tests wrong words -> position API wrapper + */ + public void testWrongWordsToPosition() { + What3Words w3w = new What3Words(API_KEY); + String[] words = {"aa", "aa", "aa"}; + boolean thrown = false; + try { + w3w.wordsToPosition(words); + } catch (Exception e) { + thrown = true; + assertEquals("Error returned from w3w API: String not recognised", + e.getCause().getMessage()); + } + assertTrue(thrown); + } + + /** + * Tests the words -> position API wrapper + */ + public void testWordsWithLangToPosition() { + What3Words w3w = new What3Words(API_KEY, "fr"); + String[] words = {"goldfish", "fuzzy", "aggregates"}; + double[] coords; + try { + coords = w3w.wordsToPosition(words, "en"); + assertEquals(2, coords.length); + assertEquals(49.422636, coords[0]); + assertEquals(8.320833, coords[1]); + } catch (Exception e) { + assertTrue(false); + } + } + /** * Tests the position -> words API wrapper */ @@ -68,11 +102,30 @@ public void testPositionToWords() { } } + /** + * Tests the position with a different language-> words API wrapper + */ + public void testPositionToFrenchWords() { + What3Words w3w = new What3Words(API_KEY); + double[] coords = {49.422636, 8.320833}; + String[] words; + try { + words = w3w.positionToWords(coords, "fr"); + assertEquals(3, words.length); + assertEquals("besacier", words[0]); + assertEquals("trimer", words[1]); + assertEquals("effectuer", words[2]); + } catch (Exception e) { + assertTrue(false); + } + } + /** * Tests the position -> words API wrapper after changing the language */ public void testChangeLang() { What3Words w3w = new What3Words(API_KEY); + String defaultLanguage = w3w.getLanguage(); w3w.setLanguage("de"); double[] coords = {49.422636, 8.320833}; String[] words; From bc5141b97e51dc354fff75e64bef958f333e0904 Mon Sep 17 00:00:00 2001 From: arnaud ferrand Date: Mon, 19 Oct 2015 16:16:52 +0200 Subject: [PATCH 2/3] adds non ascii tests --- .../java/de/meggsimum/w3w/What3WordsTest.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/test/java/de/meggsimum/w3w/What3WordsTest.java b/src/test/java/de/meggsimum/w3w/What3WordsTest.java index 783589d..827f5fa 100644 --- a/src/test/java/de/meggsimum/w3w/What3WordsTest.java +++ b/src/test/java/de/meggsimum/w3w/What3WordsTest.java @@ -157,4 +157,31 @@ public void testWhat3WordsException() { assertTrue(thrown); } + public void testNonAsciiCharatersFR() { + What3Words w3w = new What3Words(API_KEY, "fr"); + String[] words = {"noël", "étain", "rizière"}; + double[] coords; + try { + coords = w3w.wordsToPosition(words); + assertEquals(2, coords.length); + assertEquals(-21.951124, coords[0]); + assertEquals(166.685219, coords[1]); + } catch (Exception e) { + assertTrue(false); + } + } + + public void testNonAsciiCharactersDE() { + What3Words w3w = new What3Words(API_KEY, "de"); + String[] words = {"winkel", "artenschutz", "fängen"}; + double[] coords; + try { + coords = w3w.wordsToPosition(words); + assertEquals(2, coords.length); + assertEquals(49.423903, coords[0]); + assertEquals(8.282732, coords[1]); + } catch (Exception e) { + assertTrue(false); + } + } } From bea8ccbf90e017a6dc1f9416c6f88996577e297e Mon Sep 17 00:00:00 2001 From: arnaud ferrand Date: Thu, 29 Oct 2015 16:06:21 +0100 Subject: [PATCH 3/3] adds API doc and a test for getLang method --- .../java/de/meggsimum/w3w/What3WordsTest.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/test/java/de/meggsimum/w3w/What3WordsTest.java b/src/test/java/de/meggsimum/w3w/What3WordsTest.java index 827f5fa..61f0a28 100644 --- a/src/test/java/de/meggsimum/w3w/What3WordsTest.java +++ b/src/test/java/de/meggsimum/w3w/What3WordsTest.java @@ -125,7 +125,6 @@ public void testPositionToFrenchWords() { */ public void testChangeLang() { What3Words w3w = new What3Words(API_KEY); - String defaultLanguage = w3w.getLanguage(); w3w.setLanguage("de"); double[] coords = {49.422636, 8.320833}; String[] words; @@ -140,6 +139,15 @@ public void testChangeLang() { } } + /** + * Tests getLanguage method + */ + public void testGetLanguage() { + What3Words w3w = new What3Words(API_KEY); + String defaultLanguage = w3w.getLanguage(); + assertEquals(defaultLanguage, "en"); + } + /** * Test for exception in case of an invalid API-key */ @@ -157,6 +165,9 @@ public void testWhat3WordsException() { assertTrue(thrown); } + /** + * Tests the position -> words API wrapper with french words with accents + */ public void testNonAsciiCharatersFR() { What3Words w3w = new What3Words(API_KEY, "fr"); String[] words = {"noël", "étain", "rizière"}; @@ -171,6 +182,9 @@ public void testNonAsciiCharatersFR() { } } + /** + * Tests the position -> words API wrapper with german words with accents + */ public void testNonAsciiCharactersDE() { What3Words w3w = new What3Words(API_KEY, "de"); String[] words = {"winkel", "artenschutz", "fängen"};