Hex Artifact Content
Not logged in

Artifact 4bd0c727e4977395bc65fc09be0693032d562a9c:


0000: 70 61 63 6b 61 67 65 20 6f 72 67 2e 69 6e 74 65  package org.inte
0010: 72 6c 65 64 67 65 72 2e 69 6c 70 2e 6c 65 64 67  rledger.ilp.ledg
0020: 65 72 2e 69 6d 70 6c 3b 0a 0a 69 6d 70 6f 72 74  er.impl;..import
0030: 20 6f 72 67 2e 69 6e 74 65 72 6c 65 64 67 65 72   org.interledger
0040: 2e 69 6c 70 2e 6c 65 64 67 65 72 2e 69 6d 70 6c  .ilp.ledger.impl
0050: 2e 4c 65 64 67 65 72 41 64 64 72 65 73 73 50 61  .LedgerAddressPa
0060: 72 73 65 72 45 78 63 65 70 74 69 6f 6e 3b 0a 69  rserException;.i
0070: 6d 70 6f 72 74 20 6f 72 67 2e 69 6e 74 65 72 6c  mport org.interl
0080: 65 64 67 65 72 2e 69 6c 70 2e 6c 65 64 67 65 72  edger.ilp.ledger
0090: 2e 69 6d 70 6c 2e 53 69 6d 70 6c 65 4c 65 64 67  .impl.SimpleLedg
00a0: 65 72 41 64 64 72 65 73 73 50 61 72 73 65 72 3b  erAddressParser;
00b0: 0a 69 6d 70 6f 72 74 20 73 74 61 74 69 63 20 6f  .import static o
00c0: 72 67 2e 6a 75 6e 69 74 2e 41 73 73 65 72 74 2e  rg.junit.Assert.
00d0: 2a 3b 0a 69 6d 70 6f 72 74 20 6f 72 67 2e 6a 75  *;.import org.ju
00e0: 6e 69 74 2e 42 65 66 6f 72 65 3b 0a 69 6d 70 6f  nit.Before;.impo
00f0: 72 74 20 6f 72 67 2e 6a 75 6e 69 74 2e 54 65 73  rt org.junit.Tes
0100: 74 3b 0a 0a 2f 2a 2a 0a 20 2a 20 53 69 6d 70 6c  t;../**. * Simpl
0110: 65 4c 65 64 67 65 72 41 64 64 72 65 73 73 50 61  eLedgerAddressPa
0120: 72 73 65 72 20 74 65 73 74 73 0a 20 2a 0a 20 2a  rser tests. *. *
0130: 20 40 61 75 74 68 6f 72 20 6d 72 6d 78 0a 20 2a   @author mrmx. *
0140: 2f 0a 70 75 62 6c 69 63 20 63 6c 61 73 73 20 53  /.public class S
0150: 69 6d 70 6c 65 4c 65 64 67 65 72 41 64 64 72 65  impleLedgerAddre
0160: 73 73 50 61 72 73 65 72 54 65 73 74 20 7b 0a 0a  ssParserTest {..
0170: 20 20 20 20 53 69 6d 70 6c 65 4c 65 64 67 65 72      SimpleLedger
0180: 41 64 64 72 65 73 73 50 61 72 73 65 72 20 69 6e  AddressParser in
0190: 73 74 61 6e 63 65 3b 0a 0a 20 20 20 20 40 42 65  stance;..    @Be
01a0: 66 6f 72 65 0a 20 20 20 20 70 75 62 6c 69 63 20  fore.    public 
01b0: 76 6f 69 64 20 73 65 74 55 70 28 29 20 7b 0a 20  void setUp() {. 
01c0: 20 20 20 20 20 20 20 69 6e 73 74 61 6e 63 65 20         instance 
01d0: 3d 20 6e 65 77 20 53 69 6d 70 6c 65 4c 65 64 67  = new SimpleLedg
01e0: 65 72 41 64 64 72 65 73 73 50 61 72 73 65 72 28  erAddressParser(
01f0: 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a  );.    }..    /*
0200: 2a 0a 20 20 20 20 20 2a 20 54 65 73 74 20 6f 66  *.     * Test of
0210: 20 70 61 72 73 65 20 6d 65 74 68 6f 64 2c 20 6f   parse method, o
0220: 66 20 63 6c 61 73 73 20 53 69 6d 70 6c 65 4c 65  f class SimpleLe
0230: 64 67 65 72 41 64 64 72 65 73 73 50 61 72 73 65  dgerAddressParse
0240: 72 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 40  r..     */.    @
0250: 54 65 73 74 0a 20 20 20 20 70 75 62 6c 69 63 20  Test.    public 
0260: 76 6f 69 64 20 74 65 73 74 50 61 72 73 65 28 29  void testParse()
0270: 20 7b 0a 20 20 20 20 20 20 20 20 53 79 73 74 65   {.        Syste
0280: 6d 2e 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 70  m.out.println("p
0290: 61 72 73 65 22 29 3b 0a 20 20 20 20 20 20 20 20  arse");.        
02a0: 53 74 72 69 6e 67 20 61 64 64 72 65 73 73 20 3d  String address =
02b0: 20 22 61 6c 69 63 65 40 6c 65 64 67 65 72 22 3b   "alice@ledger";
02c0: 0a 20 20 20 20 20 20 20 20 69 6e 73 74 61 6e 63  .        instanc
02d0: 65 2e 70 61 72 73 65 28 61 64 64 72 65 73 73 29  e.parse(address)
02e0: 3b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74  ;.        assert
02f0: 45 71 75 61 6c 73 28 22 41 63 63 6f 75 6e 74 22  Equals("Account"
0300: 2c 20 22 61 6c 69 63 65 22 2c 20 69 6e 73 74 61  , "alice", insta
0310: 6e 63 65 2e 67 65 74 41 63 63 6f 75 6e 74 4e 61  nce.getAccountNa
0320: 6d 65 28 29 29 3b 0a 20 20 20 20 20 20 20 20 61  me());.        a
0330: 73 73 65 72 74 45 71 75 61 6c 73 28 22 4c 65 64  ssertEquals("Led
0340: 67 65 72 22 2c 20 22 6c 65 64 67 65 72 22 2c 20  ger", "ledger", 
0350: 69 6e 73 74 61 6e 63 65 2e 67 65 74 4c 65 64 67  instance.getLedg
0360: 65 72 4e 61 6d 65 28 29 29 3b 0a 20 20 20 20 7d  erName());.    }
0370: 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a  ..    /**.     *
0380: 20 54 65 73 74 20 6f 66 20 70 61 72 73 65 20 6d   Test of parse m
0390: 65 74 68 6f 64 2c 20 6f 66 20 63 6c 61 73 73 20  ethod, of class 
03a0: 53 69 6d 70 6c 65 4c 65 64 67 65 72 41 64 64 72  SimpleLedgerAddr
03b0: 65 73 73 50 61 72 73 65 72 2e 0a 20 20 20 20 20  essParser..     
03c0: 2a 2f 0a 20 20 20 20 40 54 65 73 74 28 65 78 70  */.    @Test(exp
03d0: 65 63 74 65 64 20 3d 20 4c 65 64 67 65 72 41 64  ected = LedgerAd
03e0: 64 72 65 73 73 50 61 72 73 65 72 45 78 63 65 70  dressParserExcep
03f0: 74 69 6f 6e 2e 63 6c 61 73 73 29 0a 20 20 20 20  tion.class).    
0400: 70 75 62 6c 69 63 20 76 6f 69 64 20 74 65 73 74  public void test
0410: 50 61 72 73 65 4d 61 6c 66 6f 72 6d 65 64 41 63  ParseMalformedAc
0420: 63 6f 75 6e 74 28 29 20 7b 0a 20 20 20 20 20 20  count() {.      
0430: 20 20 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69    System.out.pri
0440: 6e 74 6c 6e 28 22 70 61 72 73 65 20 6d 61 6c 66  ntln("parse malf
0450: 6f 72 6d 65 64 20 61 63 63 6f 75 6e 74 22 29 3b  ormed account");
0460: 0a 20 20 20 20 20 20 20 20 53 74 72 69 6e 67 20  .        String 
0470: 61 64 64 72 65 73 73 20 3d 20 22 40 6c 65 64 67  address = "@ledg
0480: 65 72 22 3b 0a 20 20 20 20 20 20 20 20 69 6e 73  er";.        ins
0490: 74 61 6e 63 65 2e 70 61 72 73 65 28 61 64 64 72  tance.parse(addr
04a0: 65 73 73 29 3b 0a 20 20 20 20 20 20 20 20 66 61  ess);.        fa
04b0: 69 6c 28 22 45 78 70 65 63 74 65 64 20 65 78 63  il("Expected exc
04c0: 65 70 74 69 6f 6e 21 22 29 3b 0a 20 20 20 20 7d  eption!");.    }
04d0: 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a  ..    /**.     *
04e0: 20 54 65 73 74 20 6f 66 20 70 61 72 73 65 20 6d   Test of parse m
04f0: 65 74 68 6f 64 2c 20 6f 66 20 63 6c 61 73 73 20  ethod, of class 
0500: 53 69 6d 70 6c 65 4c 65 64 67 65 72 41 64 64 72  SimpleLedgerAddr
0510: 65 73 73 50 61 72 73 65 72 2e 0a 20 20 20 20 20  essParser..     
0520: 2a 2f 0a 20 20 20 20 40 54 65 73 74 28 65 78 70  */.    @Test(exp
0530: 65 63 74 65 64 20 3d 20 4c 65 64 67 65 72 41 64  ected = LedgerAd
0540: 64 72 65 73 73 50 61 72 73 65 72 45 78 63 65 70  dressParserExcep
0550: 74 69 6f 6e 2e 63 6c 61 73 73 29 0a 20 20 20 20  tion.class).    
0560: 70 75 62 6c 69 63 20 76 6f 69 64 20 74 65 73 74  public void test
0570: 50 61 72 73 65 4d 61 6c 66 6f 72 6d 65 64 4c 65  ParseMalformedLe
0580: 64 67 65 72 28 29 20 7b 0a 20 20 20 20 20 20 20  dger() {.       
0590: 20 53 79 73 74 65 6d 2e 6f 75 74 2e 70 72 69 6e   System.out.prin
05a0: 74 6c 6e 28 22 70 61 72 73 65 20 6d 61 6c 66 6f  tln("parse malfo
05b0: 72 6d 65 64 20 6c 65 64 67 65 72 22 29 3b 0a 20  rmed ledger");. 
05c0: 20 20 20 20 20 20 20 53 74 72 69 6e 67 20 61 64         String ad
05d0: 64 72 65 73 73 20 3d 20 22 61 63 63 6f 75 6e 74  dress = "account
05e0: 40 22 3b 0a 20 20 20 20 20 20 20 20 69 6e 73 74  @";.        inst
05f0: 61 6e 63 65 2e 70 61 72 73 65 28 61 64 64 72 65  ance.parse(addre
0600: 73 73 29 3b 0a 20 20 20 20 20 20 20 20 66 61 69  ss);.        fai
0610: 6c 28 22 45 78 70 65 63 74 65 64 20 65 78 63 65  l("Expected exce
0620: 70 74 69 6f 6e 21 22 29 3b 0a 20 20 20 20 7d 20  ption!");.    } 
0630: 20 20 20 0a 20 20 20 20 0a 20 20 20 20 2f 2a 2a     .    .    /**
0640: 0a 20 20 20 20 20 2a 20 54 65 73 74 20 6f 66 20  .     * Test of 
0650: 70 61 72 73 65 20 6d 65 74 68 6f 64 2c 20 6f 66  parse method, of
0660: 20 63 6c 61 73 73 20 53 69 6d 70 6c 65 4c 65 64   class SimpleLed
0670: 67 65 72 41 64 64 72 65 73 73 50 61 72 73 65 72  gerAddressParser
0680: 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 40 54  ..     */.    @T
0690: 65 73 74 28 65 78 70 65 63 74 65 64 20 3d 20 4c  est(expected = L
06a0: 65 64 67 65 72 41 64 64 72 65 73 73 50 61 72 73  edgerAddressPars
06b0: 65 72 45 78 63 65 70 74 69 6f 6e 2e 63 6c 61 73  erException.clas
06c0: 73 29 0a 20 20 20 20 70 75 62 6c 69 63 20 76 6f  s).    public vo
06d0: 69 64 20 74 65 73 74 50 61 72 73 65 4d 61 6c 66  id testParseMalf
06e0: 6f 72 6d 65 64 41 64 64 72 65 73 73 28 29 20 7b  ormedAddress() {
06f0: 0a 20 20 20 20 20 20 20 20 53 79 73 74 65 6d 2e  .        System.
0700: 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 70 61 72  out.println("par
0710: 73 65 20 6d 61 6c 66 6f 72 6d 65 64 20 61 64 64  se malformed add
0720: 72 65 73 73 22 29 3b 0a 20 20 20 20 20 20 20 20  ress");.        
0730: 53 74 72 69 6e 67 20 61 64 64 72 65 73 73 20 3d  String address =
0740: 20 22 61 63 63 6f 75 6e 74 2e 6c 65 64 67 65 72   "account.ledger
0750: 22 3b 0a 20 20 20 20 20 20 20 20 69 6e 73 74 61  ";.        insta
0760: 6e 63 65 2e 70 61 72 73 65 28 61 64 64 72 65 73  nce.parse(addres
0770: 73 29 3b 0a 20 20 20 20 20 20 20 20 66 61 69 6c  s);.        fail
0780: 28 22 45 78 70 65 63 74 65 64 20 65 78 63 65 70  ("Expected excep
0790: 74 69 6f 6e 21 22 29 3b 0a 20 20 20 20 7d 20 20  tion!");.    }  
07a0: 20 20 20 20 20 20 0a 7d 0a                             .}.