@@ -0,0 +1,3454 @@
+/****************************************************************%0A * Licensed to the Apache Software Foundation (ASF) under one   *%0A * or more contributor license agreements.  See the NOTICE file *%0A * distributed with this work for additional information        *%0A * regarding copyright ownership.  The ASF licenses this file   *%0A * to you under the Apache License, Version 2.0 (the            *%0A * %22License%22); you may not use this file except in compliance   *%0A * with the License.  You may obtain a copy of the License at   *%0A *                                                              *%0A *   http://www.apache.org/licenses/LICENSE-2.0                 *%0A *                                                              *%0A * Unless required by applicable law or agreed to in writing,   *%0A * software distributed under the License is distributed on an  *%0A * %22AS IS%22 BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *%0A * KIND, either express or implied.  See the License for the    *%0A * specific language governing permissions and limitations      *%0A * under the License.                                           *%0A ****************************************************************/%0Apackage org.apache.james.mailbox.store.mail.model.impl;%0A%0Aimport static org.junit.Assert.assertEquals;%0Aimport static org.junit.Assert.assertFalse;%0A%0Aimport java.io.IOException;%0Aimport java.io.InputStream;%0Aimport java.util.Calendar;%0A%0Aimport javax.mail.Flags;%0Aimport javax.mail.util.SharedByteArrayInputStream;%0A%0Aimport org.apache.commons.io.IOUtils;%0Aimport org.junit.Test;%0A%0Apublic class SimpleMessageTest %7B%0A    private static final String MESSAGE_CONTENT = %22Simple message content without special characters%22;%0A    private static final String MESSAGE_CONTENT_SPECIAL_CHAR = %22Simple message content with special characters: %5C%22'(%C2%A7%C3%A8!%C3%A7%C3%A0$*%60%22;%0A    private static final SimpleMessage%3CLong%3E MESSAGE = buildMessage(MESSAGE_CONTENT);%0A    private static final SimpleMessage%3CLong%3E MESSAGE_SPECIAL_CHAR = buildMessage(MESSAGE_CONTENT_SPECIAL_CHAR);%0A%0A    @Test%0A    public void testSize() %7B%0A        assertEquals(MESSAGE_CONTENT.length(), MESSAGE.getFullContentOctets());%0A    %7D%0A%0A    @Test%0A    public void testInputStreamSize() throws IOException %7B%0A        InputStream is = MESSAGE.getFullContent();%0A        int b = 0;%0A        int byteCount = 0;%0A        while ((b = is.read()) != -1) %7B%0A            byteCount++;%0A        %7D%0A        assertEquals(MESSAGE_CONTENT.length(), byteCount);%0A    %7D%0A%0A    @Test%0A    public void testInputStreamSizeSpecialCharacters() throws IOException %7B%0A        InputStream is = MESSAGE_SPECIAL_CHAR.getFullContent();%0A        int b = 0;%0A        int byteCount = 0;%0A        while ((b = is.read()) != -1) %7B%0A            byteCount++;%0A        %7D%0A        assertFalse(MESSAGE_CONTENT_SPECIAL_CHAR.length() == byteCount);%0A    %7D%0A%0A    @Test%0A    public void testFullContent() throws IOException %7B%0A        assertEquals(MESSAGE_CONTENT,%0A                new String(IOUtils.toByteArray(MESSAGE.getFullContent())));%0A        assertEquals(MESSAGE_CONTENT_SPECIAL_CHAR,%0A                new String(IOUtils.toByteArray(MESSAGE_SPECIAL_CHAR.getFullContent())));%0A    %7D%0A%0A    private static SimpleMessage%3CLong%3E buildMessage(String content) %7B%0A        return new SimpleMessage%3CLong%3E(Calendar.getInstance().getTime(),%0A                content.length(), 0, new SharedByteArrayInputStream(%0A                        content.getBytes()), new Flags(),%0A                new PropertyBuilder(), 1L);%0A    %7D%0A%0A%7D%0A

Add unit test for SimpleMessage (MAILBOX-179)