   setup do
     server = Server.start_link
     :timer.sleep(50)
+
     {callback_backup, esme} = SupportESME.start_link({127,0,0,1}, Server.port(server))
 
     {:ok, esme: esme, callback_backup: callback_backup, server: server}
   end
 
-  test "start_link", context do
-
+  test "start_link" do
     server = Server.start_link
     :timer.sleep(50)
     {:ok, pid} = Agent.start_link(fn() -> [] end)
 
     assert {:ok, _} = ESME.start_link({127,0,0,1}, Server.port(server), {SupportESME, %{callbacks: [], callback_backup: pid}})
-
   end
 
   test "init", context do
-
     assert [{:init}] == SupportESME.callbacks_received(context[:esme])
-
   end
 
-  test "init, stop from init", context do
-
+  test "init, stop from init" do
     server = Server.start_link
     :timer.sleep(50)
 
     Process.flag(:trap_exit, true)
-
     assert {:error, :oops} == ESME.start_link({127,0,0,1}, Server.port(server), {Support.StoppingESME, :oops})
-
   end
 
   test "send_pdu", context do
     pdu = SMPPEX.Pdu.Factory.bind_transmitter("system_id", "password")
     ESME.send_pdu(context[:esme], pdu)
-
     :timer.sleep(50)
 
     assert {:ok, {:pdu, pdu1}, _} = Server.received_data(context[:server]) |> SMPPEX.Protocol.parse


  test "call", context do
    ref = make_ref

    ESME.call(context[:esme], ref)
    assert [{:init}, {:handle_call, _, ^ref}] = SupportESME.callbacks_received(context[:esme])
  end

  test "info", context do
    ref = make_ref

    Kernel.send context[:esme], ref

    :timer.sleep(10)

    assert [{:init}, {:handle_info, ^ref}] = SupportESME.callbacks_received(context[:esme])


    ESME.send_pdu(context[:esme], pdu1)
    ESME.send_pdu(context[:esme], pdu2)
    :timer.sleep(50)

    assert {:ok, {:pdu, pdu1r}, rest_data} = Server.received_data(context[:server]) |> SMPPEX.Protocol.parse
    assert {:ok, {:pdu, pdu2r}, _} = rest_data |> SMPPEX.Protocol.parse
    assert Pdu.sequence_number(pdu1r) == 1
    assert Pdu.sequence_number(pdu2r) == 2
  end
