@Test
 public void Messageインスタンスを追加できる() {
   Messages msgs = new Messages(MessageType.ERROR);
   msgs.add(new Message("CREATE_MESSAGE_TEST#001"));
   List<String> messegeList = msgs.getMessageList();
   assertThat(messegeList, hasItem("これはメッセージ生成のテストです。"));
 }
 @Test
 public void プロパティ指定で指定したプロパティに該当するメッセージがない場合は空のリストが返却される() {
   Messages msgs = new Messages(MessageType.VALIDATION);
   msgs.add(
       new Message("CREATE_MESSAGE_TEST#001", null, "property1", "constraintName", "modelName"));
   msgs.add(
       new Message("CREATE_MESSAGE_TEST#002", null, "property2", "constraintName", "modelName"));
   List<String> messegeList = msgs.getMessageList("property3");
   assertThat(messegeList.size(), is(0));
 }
  @Test
  public void Messageインスタンスのリストを追加できる() {
    Messages msgs1 = new Messages(MessageType.ERROR);
    msgs1.add(new Message("CREATE_MESSAGE_TEST#001"));
    msgs1.add(Lists.gen(new Message("CREATE_MESSAGE_TEST#002")));

    List<String> messegeList = msgs1.getMessageList();
    assertThat(messegeList.size(), is(2));
    assertThat(messegeList, hasItem("これはメッセージ生成のテストです。"));
    assertThat(messegeList, hasItem("これはメッセージ追加のテストです。"));
  }
 @Test
 public void プロパティ指定でワイルドカードを指定し全てのメッセージが返却される() {
   Messages msgs = new Messages(MessageType.VALIDATION);
   msgs.add(
       new Message("CREATE_MESSAGE_TEST#001", null, "property1", "constraintName", "modelName"));
   msgs.add(
       new Message("CREATE_MESSAGE_TEST#002", null, "property2", "constraintName", "modelName"));
   List<String> messegeList = msgs.getMessageList("*");
   assertThat(messegeList.size(), is(2));
   assertThat(messegeList, hasItem("これはメッセージ生成のテストです。"));
   assertThat(messegeList, hasItem("これはメッセージ追加のテストです。"));
 }
  @Test
  public void メッセージをクリアできる() {
    Messages msgs1 = new Messages(MessageType.ERROR);
    msgs1.add(new Message("CREATE_MESSAGE_TEST#001"));

    Messages msgs2 = new Messages(MessageType.ERROR);
    msgs2.add(new Message("CREATE_MESSAGE_TEST#002"));

    msgs1.add(msgs2);

    List<String> messegeList = msgs1.getMessageList();
    assertThat(messegeList.size(), is(2));

    msgs1.clear();
    assertThat(msgs1.isEmpty(), is(true));
  }
 @Test
 public void インスタンス生成時に指定したメッセージタイプが返却される() {
   Messages msgs1 = new Messages(MessageType.ERROR);
   assertThat(msgs1.getMessageType(), is(MessageType.ERROR));
   Messages msgs2 = new Messages(MessageType.VALIDATION);
   assertThat(msgs2.getMessageType(), is(MessageType.VALIDATION));
   Messages msgs3 = new Messages(MessageType.INFORMATION);
   assertThat(msgs3.getMessageType(), is(MessageType.INFORMATION));
 }
 @Test
 public void メッセージキーで削除できる() {
   Messages msgs = new Messages(MessageType.VALIDATION);
   Message msg = new Message("message.key.1");
   msgs.add(msg);
   msgs.add(new Message("message.key.2"));
   List<String> messegeList = msgs.getMessageList();
   assertThat(messegeList.size(), is(2));
   msgs.remove("message.key.1");
   messegeList = msgs.getMessageList();
   assertThat(messegeList.size(), is(1));
 }
 @Test
 public void メッセージが登録されていない場合空のリストが返却される() {
   Messages msgs1 = new Messages(MessageType.ERROR);
   List<String> messegeList = msgs1.getMessageList();
   assertThat(messegeList.isEmpty(), is(true));
 }