@@ -0,0 +1,1681 @@
+/*%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * 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, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A *%0A */%0Apackage org.jsmpp.bean;%0A%0Aimport static org.junit.Assert.assertEquals;%0A%0Aimport org.testng.annotations.Test;%0A%0Apublic class DeliverSmTest %7B%0A%0A  @Test%0A  public void testDeliverSm() %7B%0A    DeliverSm deliverSm = new DeliverSm();%0A    deliverSm.sourceAddr = %2231612345678%22;%0A    deliverSm.sourceAddrTon = TypeOfNumber.INTERNATIONAL.value();%0A    deliverSm.sourceAddrNpi = NumberingPlanIndicator.ISDN.value();%0A    deliverSm.destAddress = %2233600000000%22;%0A    deliverSm.destAddrTon = TypeOfNumber.INTERNATIONAL.value();%0A    deliverSm.destAddrNpi = NumberingPlanIndicator.ISDN.value();%0A    deliverSm.setOptionalParameters(%0A        new OptionalParameter.Message_state((byte) 0x02),%0A        new OptionalParameter.Receipted_message_id(%22123456%22));%0A%0A    assertEquals(OptionalParameter.Message_state.Message_state_enum.DELIVERED,%0A        ((OptionalParameter.Message_state)deliverSm.getOptionalParameter(OptionalParameter.Tag.MESSAGE_STATE)).getMessageState());%0A    assertEquals(%22123456%22,%0A        ((OptionalParameter.Receipted_message_id) deliverSm.getOptionalParameter(OptionalParameter.Tag.RECEIPTED_MESSAGE_ID)).getValueAsString());%0A  %7D%0A%0A%7D

Add unit test for deliver_sm with optional parameters.