@@ -252,9 +252,55 @@ public void testRegexMatch() {
252252 Assert .assertEquals (longestRegex , found .getPhoneNumber ());
253253 inOrder .verify (numDao , times (2 )).getIncomingPhoneNumbersByFilter ((IncomingPhoneNumberFilter ) any ());
254254 inOrder .verify (numDao , times (1 )).getIncomingPhoneNumbersRegex ((IncomingPhoneNumberFilter ) any ());
255+ }
255256
257+ @ Test
258+ public void testRegexMatch2 () {
259+ Sid srcSid = Sid .generate (Sid .Type .ORGANIZATION );
260+ Sid destSid = srcSid ;
261+ String regex1 = "123456*" ;
262+ String regex2 = "554433*" ;
263+ String regex3 = "778899*" ;
264+ String regex4 = "987456*" ;
265+ String regex5 = "987456789*" ;
266+ String regex6 = "12*" ;
267+ String regex7 = "*" ;
268+ List <IncomingPhoneNumber > emptyNumbers = new ArrayList ();
269+ List <IncomingPhoneNumber > numbers = new ArrayList ();
270+ final IncomingPhoneNumber .Builder builder = IncomingPhoneNumber .builder ();
271+ builder .setPhoneNumber (regex1 );
272+ numbers .add (builder .build ());
273+ builder .setPhoneNumber (regex2 );
274+ numbers .add (builder .build ());
275+ builder .setPhoneNumber (regex3 );
276+ numbers .add (builder .build ());
277+ builder .setPhoneNumber (regex4 );
278+ numbers .add (builder .build ());
279+ builder .setPhoneNumber (regex5 );
280+ numbers .add (builder .build ());
281+ builder .setPhoneNumber (regex6 );
282+ numbers .add (builder .build ());
283+ builder .setPhoneNumber (regex7 );
284+ numbers .add (builder .build ());
285+ IncomingPhoneNumbersDao numDao = Mockito .mock (IncomingPhoneNumbersDao .class );
286+ when (numDao .getTotalIncomingPhoneNumbers ((IncomingPhoneNumberFilter ) any ())).
287+ thenReturn (1 ,1 );
288+ when (numDao .getIncomingPhoneNumbersByFilter ((IncomingPhoneNumberFilter ) any ())).
289+ thenReturn (emptyNumbers , emptyNumbers );
290+ when (numDao .getIncomingPhoneNumbersRegex ((IncomingPhoneNumberFilter ) any ())).
291+ thenReturn (numbers );
292+ InOrder inOrder = inOrder (numDao );
293+ NumberSelectorService service = new NumberSelectorService (numDao );
294+
295+ IncomingPhoneNumber found = service .searchNumber ("987456" , srcSid , destSid );
296+
297+ Assert .assertNotNull (found );
298+ Assert .assertEquals (regex4 , found .getPhoneNumber ());
299+ inOrder .verify (numDao , times (3 )).getIncomingPhoneNumbersByFilter ((IncomingPhoneNumberFilter ) any ());
300+ inOrder .verify (numDao , times (1 )).getIncomingPhoneNumbersRegex ((IncomingPhoneNumberFilter ) any ());
256301 }
257302
303+
258304 @ Test
259305 public void testRegexMatchFromNullSrcOrg () {
260306 Sid srcSid = null ;
0 commit comments