/[projects]/dao/DaoAdresseService/src/test/java/dk/daoas/daoadresseservice/test/AddressSearchTest.java
ViewVC logotype

Contents of /dao/DaoAdresseService/src/test/java/dk/daoas/daoadresseservice/test/AddressSearchTest.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2821 - (show annotations) (download)
Tue Jan 19 10:02:51 2016 UTC (8 years, 3 months ago) by torben
File size: 5947 byte(s)
Upgrade to seven days
1 package dk.daoas.daoadresseservice.test;
2
3 import static org.junit.Assert.assertEquals;
4
5 import java.sql.SQLException;
6
7 import org.junit.BeforeClass;
8 import org.junit.Test;
9
10 import dk.daoas.daoadresseservice.AddressSearch;
11 import dk.daoas.daoadresseservice.DaekningsType;
12 import dk.daoas.daoadresseservice.admin.ServiceConfig;
13 import dk.daoas.daoadresseservice.beans.SearchResult;
14
15 public class AddressSearchTest {
16
17 static AddressSearch search;
18 static MockDatabaseLayer db;
19
20 @BeforeClass
21 public static void setupSearchStructure() throws SQLException {
22 ServiceConfig conf = new ServiceConfig();
23 conf.useGoogle = false;
24 conf.useOpenStreetMaps = false;
25
26 db = new MockDatabaseLayer();
27
28 search = new AddressSearch(db, conf);
29 search.buildSearchStructures();
30 }
31
32
33
34 @Test
35 public void testBasicLookup() {
36
37 SearchResult res = search.search("8700", "Vestergade 1");
38
39 assertEquals(SearchResult.Status.STATUS_OK, res.status);
40 assertEquals(DaekningsType.DAEKNING_DIREKTE, res.address.daekningsType);
41 }
42
43
44 /**
45 * Ugyldigt postnr
46 */
47 @Test
48 public void testFailureIllegalPostal() {
49 SearchResult res = search.search("asdf", "Vestergade 10");
50
51 assertEquals(SearchResult.Status.ERROR_UNKNOWN_POSTAL, res.status);
52 }
53
54 /**
55 * Ukendt postnr
56 */
57 @Test
58 public void testFailurePostal() {
59 SearchResult res = search.search("1234", "Vestergade 10");
60
61 assertEquals(SearchResult.Status.ERROR_UNKNOWN_POSTAL, res.status);
62 }
63
64 /**
65 * Manglende husnr
66 */
67 @Test
68 public void testFailureMissingHousenumber() {
69 SearchResult res = search.search("8700", "Vestergade");
70
71 assertEquals(SearchResult.Status.ERROR_MISSING_HOUSENUMBER, res.status);
72 }
73
74 /**
75 * Adressen vi ukendtvej
76 */
77 @Test
78 public void testFailureUnkownStreetname() {
79 SearchResult res = search.search("8700", "Nonsensgade 1");
80
81 assertEquals(SearchResult.Status.ERROR_UNKNOWN_STREETNAME, res.status);
82 }
83
84 /**
85 * Levenshtein1 & 2 & 3
86 */
87 @Test
88 public void testOkLevenshtein() {
89 SearchResult res;
90
91 //Distance=1
92 res = search.search("8700", "Vstergade 1");
93 assertEquals(SearchResult.Status.STATUS_OK, res.status);
94 assertEquals(DaekningsType.DAEKNING_DIREKTE, res.address.daekningsType);
95
96
97 /* Distance=2
98 res = search.search("8700", "Vtergade 1");
99 assertEquals(SearchResult.Status.STATUS_OK, res.status);
100 assertEquals(DaekningsType.DAEKNING_DIREKTE, res.address.daekningsType);
101 */
102
103 //Distance=2
104 res = search.search("8700", "Vtergade 1");
105 assertEquals(SearchResult.Status.ERROR_UNKNOWN_STREETNAME, res.status);
106
107
108 //Distance=3
109 res = search.search("8700", "Vergade 1");
110 assertEquals(SearchResult.Status.ERROR_UNKNOWN_STREETNAME, res.status);
111 }
112
113 /**
114 * Tester at rutninen der fjerner foranstillede navne virker - både 1,2,3,4
115 */
116
117 @Test
118 public void testRemoveCompany() {
119
120 //1
121 SearchResult res = search.search("8700", "Firma, Vestergade 1");
122 assertEquals(SearchResult.Status.STATUS_OK, res.status);
123 assertEquals(DaekningsType.DAEKNING_DIREKTE, res.address.daekningsType);
124 assertEquals("vestergade", res.vasketVejnavn);
125
126 //2
127 res = search.search("8700", "Firma Navn, Vestergade 1");
128 assertEquals(SearchResult.Status.STATUS_OK, res.status);
129 assertEquals(DaekningsType.DAEKNING_DIREKTE, res.address.daekningsType);
130 assertEquals("vestergade", res.vasketVejnavn);
131
132 //3
133 res = search.search("8700", "Firma Fornavn Efternavn, Vestergade 1");
134 assertEquals(SearchResult.Status.STATUS_OK, res.status);
135 assertEquals(DaekningsType.DAEKNING_DIREKTE, res.address.daekningsType);
136 assertEquals("vestergade", res.vasketVejnavn);
137
138 //4
139 res = search.search("8700", "Firma Fornavn MellemNavn Efternavn, Vestergade 1");
140 assertEquals(SearchResult.Status.STATUS_OK, res.status);
141 assertEquals(DaekningsType.DAEKNING_DIREKTE, res.address.daekningsType);
142 assertEquals("vestergade", res.vasketVejnavn);
143
144 //5 ---denne skal fejle
145 res = search.search("8700", "Firma Fornavn MellemNavn Efternavn FEJL, Vestergade 1");
146 assertEquals(SearchResult.Status.ERROR_UNKNOWN_STREETNAME, res.status);
147
148 }
149
150
151
152 /**
153 * Adressen vi kender vejnavnet men ikke husnummeret
154 */
155 @Test
156 public void testFailureUnkownHousenumber() {
157 SearchResult res = search.search("8700", "Vestergade 10");
158
159 assertEquals(SearchResult.Status.ERROR_UNKNOWN_ADDRESSPOINT, res.status);
160 }
161
162 /**
163 * Adressen kendt men uden for dækning
164 */
165
166 @Test
167 public void testNotCovered() {
168 SearchResult res = search.search("8800", "Enebærvej 2");
169 assertEquals(SearchResult.Status.STATUS_NOT_COVERED, res.status);
170 }
171
172 /**
173 * Adressen kendt men markeret lukket
174 */
175 @Test
176 public void testClosed() {
177 SearchResult res = search.search("8300", "Sønderbrogade 4");
178
179 assertEquals(SearchResult.Status.STATUS_NOT_COVERED, res.status);
180 }
181
182 /**
183 * Adressen kendt på 100%
184 */
185 @Test
186 public void testExtended() {
187 SearchResult res = search.search("8700", "Vestergade 2");
188
189 assertEquals(SearchResult.Status.STATUS_OK, res.status);
190 assertEquals(DaekningsType.DAEKNING_UDVIDET, res.address.daekningsType);
191 assertEquals(".B87049", res.address.ruteMandag);
192 }
193
194 /**
195 * Adressen kendt på 100%
196 */
197 @Test
198 public void test100Percent() {
199 SearchResult res = search.search("8300", "Sønderbrogade 80");
200
201 assertEquals(SearchResult.Status.STATUS_OK, res.status);
202 assertEquals(DaekningsType.DAEKNING_100PCT, res.address.daekningsType);
203 }
204
205 /**
206 * Vesterbrogade er registreret som en DB alias mod Vestergade
207 */
208 @Test
209 public void testDbAlias() {
210 SearchResult res = search.search("8700", "Vesterbrogade 1");
211
212 assertEquals(SearchResult.Status.STATUS_OK, res.status);
213 assertEquals(DaekningsType.DAEKNING_DIREKTE, res.address.daekningsType);
214 }
215 }

  ViewVC Help
Powered by ViewVC 1.1.20