test_class.file: thai-widget/src/test/java/nectec/thai/identity/HouseIdTest.java
test_class.identifier: HouseIdTest
test_case.body: @Test
      public void prettyPrint() {
          HouseId hid;
          hid = new HouseId("74020749965");
          assertEquals("pretty print should work", "7402-074996-5", hid.prettyPrint());
          hid = new HouseId("7402074");
          assertEquals("pretty print should work with not complete id", "7402-074", hid.prettyPrint());
          hid = new HouseId("7402");
          assertEquals("pretty print should work with not complete id", "7402", hid.prettyPrint());
          hid = new HouseId("7402074996");
          assertEquals("pretty print should work with not complete id", "7402-074996", hid.prettyPrint());
      }
test_case.class_method_signature: HouseIdTest.prettyPrint()
test_case.full_signature: @Test public void prettyPrint()
test_case.identifier: prettyPrint
test_case.invocations: assertEquals prettyPrint assertEquals prettyPrint assertEquals prettyPrint assertEquals prettyPrint
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void prettyPrint()
focal_class.declarator: LENGTH = 11
focal_class.modifier: public static final
focal_class.original_string: public static final int LENGTH = 11;
focal_class.type: int
focal_class.var_name: LENGTH
focal_class.declarator: MULTIPLIER_TABLE = {11, 10, 9, 8, 7, 6, 5, 4, 3, 2}
focal_class.modifier: private static final
focal_class.original_string: private static final int[] MULTIPLIER_TABLE = {11, 10, 9, 8, 7, 6, 5, 4, 3, 2};
focal_class.type: int[]
focal_class.var_name: MULTIPLIER_TABLE
focal_class.declarator: id
focal_class.modifier: private final
focal_class.original_string: private final String id;
focal_class.type: String
focal_class.var_name: id
focal_class.declarator: printer = new IdPrettyPrinter() {
              @Override protected boolean positionToInsertSeparatorBefore(int position) {
                  switch (position) {
                      case 4:
                      case 10:
                          return true;
                  }
                  return false;
              }
          }
focal_class.modifier: private final
focal_class.original_string: private final nectec.thai.identity.PrettyPrinter printer = new IdPrettyPrinter() {
              @Override protected boolean positionToInsertSeparatorBefore(int position) {
                  switch (position) {
                      case 4:
                      case 10:
                          return true;
                  }
                  return false;
              }
          };
focal_class.type: nectec.thai.identity.PrettyPrinter
focal_class.var_name: printer
focal_class.file: thai-widget/src/main/java/nectec/thai/identity/HouseId.java
focal_class.identifier: HouseId
focal_class.interfaces: implements Identity
focal_class.class_method_signature: HouseId.HouseId(String id)
focal_class.full_signature: public  HouseId(String id)
focal_class.identifier: HouseId
focal_class.modifiers: public
focal_class.parameters: (String id)
focal_class.signature:  HouseId(String id)
focal_class.class_method_signature: HouseId.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: HouseId.equals(Object o)
focal_class.full_signature: @Override public boolean equals(Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(Object o)
focal_class.class_method_signature: HouseId.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: HouseId.validate()
focal_class.full_signature: @Override public boolean validate()
focal_class.identifier: validate
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean validate()
focal_class.class_method_signature: HouseId.isValidFormat()
focal_class.full_signature: @Override public boolean isValidFormat()
focal_class.identifier: isValidFormat
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isValidFormat()
focal_class.class_method_signature: HouseId.getCheckDigit()
focal_class.full_signature: protected int getCheckDigit()
focal_class.identifier: getCheckDigit
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getCheckDigit()
focal_class.class_method_signature: HouseId.calculateCheckDigit()
focal_class.full_signature: protected int calculateCheckDigit()
focal_class.identifier: calculateCheckDigit
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int calculateCheckDigit()
focal_class.class_method_signature: HouseId.prettyPrint()
focal_class.full_signature: @Override public String prettyPrint()
focal_class.identifier: prettyPrint
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String prettyPrint()
focal_class.class_method_signature: HouseId.getId()
focal_class.full_signature: @Override public String getId()
focal_class.identifier: getId
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getId()
focal_method.body: @Override public String prettyPrint() {
          return printer.print(id);
      }
focal_method.class_method_signature: HouseId.prettyPrint()
focal_method.full_signature: @Override public String prettyPrint()
focal_method.identifier: prettyPrint
focal_method.invocations: print
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: String
focal_method.signature: String prettyPrint()