src/lte/test/test-asn1-encoding.cc
author Peter D. Barnes, Jr. <barnes26@llnl.gov>
Tue, 11 Jun 2013 17:02:23 -0700
changeset 9870 6543f3876ff5
parent 9675 a14ab3098785
child 10097 b7d9a6de6e94
permissions -rw-r--r--
[Doxygen] use \todo
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     1
/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     2
/*
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     3
 * Copyright (c) 2011, 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     4
 *
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     7
 * published by the Free Software Foundation;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     8
 *
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    12
 * GNU General Public License for more details.
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    13
 *
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    17
 *
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    18
 * Author: Lluis Parcerisa <lparcerisa@cttc.cat>
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    19
 */
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    20
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    21
#include "ns3/log.h"
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    22
#include "ns3/string.h"
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    23
#include "ns3/double.h"
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    24
#include "ns3/enum.h"
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    25
#include "ns3/boolean.h"
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    26
#include "ns3/test.h"
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    27
#include "ns3/ptr.h"
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    28
#include "ns3/packet.h"
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    29
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    30
#include "ns3/lte-rrc-header.h"
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    31
#include "ns3/lte-rrc-sap.h"
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    32
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    33
NS_LOG_COMPONENT_DEFINE ("Asn1EncodingTest");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    34
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    35
namespace ns3 {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    36
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    37
class TestUtils
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    38
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    39
public:
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    40
  // Function to convert packet contents in hex format
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9644
diff changeset
    41
  static std::string sprintPacketContentsHex (Ptr<Packet> pkt)
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    42
  {
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    43
    uint32_t psize = pkt->GetSize ();
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    44
    uint8_t buffer[psize];
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    45
    char sbuffer[psize * 3];
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    46
    pkt->CopyData (buffer, psize);
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    47
    for (uint32_t i = 0; i < psize; i++)
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    48
      {
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
    49
        sprintf (&sbuffer[i * 3],"%02x ",buffer[i]);
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    50
      }
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    51
    return std::string (sbuffer);
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    52
  }
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    53
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    54
  // Function to convert packet contents in binary format
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9644
diff changeset
    55
  static std::string sprintPacketContentsBin (Ptr<Packet> pkt)
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    56
  {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    57
    uint32_t psize = pkt->GetSize ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    58
    uint8_t buffer[psize];
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    59
    std::ostringstream oss (std::ostringstream::out);
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    60
    pkt->CopyData (buffer, psize);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    61
    for (uint32_t i = 0; i < psize; i++)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    62
      {
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    63
        oss << (std::bitset<8> (buffer[i]));
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    64
      }
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    65
    return std::string (oss.str () + "\n");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    66
  }
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    67
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    68
  // Function to log packet contents
9645
d400090c2f23 From "new" to "Create"...
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9644
diff changeset
    69
  static void LogPacketContents (Ptr<Packet> pkt)
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    70
  {
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    71
    NS_LOG_DEBUG ("---- SERIALIZED PACKET CONTENTS (HEX): -------");
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    72
    NS_LOG_DEBUG ("Hex: " << TestUtils::sprintPacketContentsHex (pkt));
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    73
    NS_LOG_DEBUG ("Bin: " << TestUtils::sprintPacketContentsBin (pkt));
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    74
  }
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    75
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    76
  template <class T>
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    77
  static void LogPacketInfo (T source,std::string s)
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    78
  {
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    79
    NS_LOG_DEBUG ("--------- " << s.data () << " INFO: -------");
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    80
    std::ostringstream oss (std::ostringstream::out);
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    81
    source.Print (oss);
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    82
    NS_LOG_DEBUG (oss.str ());
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    83
  }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    84
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    85
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    86
// --------------------------- CLASS RrcHeaderTestCase -----------------------------
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    87
/**
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    88
 * This class provides common functions to be inherited
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    89
 * by the children TestCases
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    90
 */
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    91
class RrcHeaderTestCase : public TestCase
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    92
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    93
public:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    94
  RrcHeaderTestCase (std::string s);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    95
  virtual void DoRun (void) = 0;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    96
  LteRrcSap::RadioResourceConfigDedicated CreateRadioResourceConfigDedicated ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
    97
  void AssertEqualRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedicated rrcd1, LteRrcSap::RadioResourceConfigDedicated rrcd2);
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
    98
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
    99
protected:
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   100
  Ptr<Packet> packet;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   101
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   102
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   103
RrcHeaderTestCase :: RrcHeaderTestCase (std::string s) : TestCase (s)
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   104
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   105
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   106
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   107
LteRrcSap::RadioResourceConfigDedicated
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   108
RrcHeaderTestCase :: CreateRadioResourceConfigDedicated ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   109
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   110
  LteRrcSap::RadioResourceConfigDedicated rrd;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   111
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   112
  rrd.drbToReleaseList = std::list<uint8_t> (4,2);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   113
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   114
  LteRrcSap::SrbToAddMod srbToAddMod;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   115
  srbToAddMod.srbIdentity = 2;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   116
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   117
  LteRrcSap::LogicalChannelConfig logicalChannelConfig;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   118
  logicalChannelConfig.priority = 9;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   119
  logicalChannelConfig.prioritizedBitRateKbps = 128;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   120
  logicalChannelConfig.bucketSizeDurationMs = 100;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   121
  logicalChannelConfig.logicalChannelGroup = 3;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   122
  srbToAddMod.logicalChannelConfig = logicalChannelConfig;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   123
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   124
  rrd.srbToAddModList.insert (rrd.srbToAddModList.begin (),srbToAddMod);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   125
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   126
  LteRrcSap::DrbToAddMod drbToAddMod;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   127
  drbToAddMod.epsBearerIdentity = 1;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   128
  drbToAddMod.drbIdentity = 1;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   129
  drbToAddMod.logicalChannelIdentity = 5;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   130
  LteRrcSap::RlcConfig rlcConfig;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   131
  rlcConfig.choice = LteRrcSap::RlcConfig::UM_BI_DIRECTIONAL;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   132
  drbToAddMod.rlcConfig = rlcConfig;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   133
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   134
  LteRrcSap::LogicalChannelConfig logicalChannelConfig2;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   135
  logicalChannelConfig2.priority = 7;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   136
  logicalChannelConfig2.prioritizedBitRateKbps = 256;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   137
  logicalChannelConfig2.bucketSizeDurationMs = 50;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   138
  logicalChannelConfig2.logicalChannelGroup = 2;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   139
  drbToAddMod.logicalChannelConfig = logicalChannelConfig2;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   140
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   141
  rrd.drbToAddModList.insert (rrd.drbToAddModList.begin (),drbToAddMod);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   142
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   143
  rrd.havePhysicalConfigDedicated = true;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   144
  LteRrcSap::PhysicalConfigDedicated physicalConfigDedicated;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   145
  physicalConfigDedicated.haveSoundingRsUlConfigDedicated = true;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   146
  physicalConfigDedicated.soundingRsUlConfigDedicated.type = LteRrcSap::SoundingRsUlConfigDedicated::SETUP;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   147
  physicalConfigDedicated.soundingRsUlConfigDedicated.srsBandwidth = 2;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   148
  physicalConfigDedicated.soundingRsUlConfigDedicated.srsConfigIndex = 12;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   149
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   150
  physicalConfigDedicated.haveAntennaInfoDedicated = true;
9651
0c8f2173327d Assume the value in the struct antennaInfo.transmissionMode is the enum index.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9649
diff changeset
   151
  physicalConfigDedicated.antennaInfo.transmissionMode = 2;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   152
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   153
  rrd.physicalConfigDedicated = physicalConfigDedicated;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   154
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   155
  return rrd;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   156
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   157
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   158
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   159
RrcHeaderTestCase :: AssertEqualRadioResourceConfigDedicated (LteRrcSap::RadioResourceConfigDedicated rrcd1, LteRrcSap::RadioResourceConfigDedicated rrcd2)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   160
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   161
  NS_TEST_ASSERT_MSG_EQ (rrcd1.srbToAddModList.size (), rrcd2.srbToAddModList.size (),"SrbToAddModList different sizes");
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   162
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   163
  std::list<LteRrcSap::SrbToAddMod> srcSrbToAddModList = rrcd1.srbToAddModList;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   164
  std::list<LteRrcSap::SrbToAddMod>::iterator it1 = srcSrbToAddModList.begin ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   165
  std::list<LteRrcSap::SrbToAddMod> dstSrbToAddModList = rrcd2.srbToAddModList;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   166
  std::list<LteRrcSap::SrbToAddMod>::iterator it2 = dstSrbToAddModList.begin ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   167
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   168
  for (; it1 != srcSrbToAddModList.end (); it1++, it2++)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   169
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   170
      NS_TEST_ASSERT_MSG_EQ (it1->srbIdentity,it2->srbIdentity, "srbIdentity");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   171
      NS_TEST_ASSERT_MSG_EQ (it1->logicalChannelConfig.priority,it2->logicalChannelConfig.priority, "logicalChannelConfig.priority");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   172
      NS_TEST_ASSERT_MSG_EQ (it1->logicalChannelConfig.prioritizedBitRateKbps,it2->logicalChannelConfig.prioritizedBitRateKbps, "logicalChannelConfig.prioritizedBitRateKbps");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   173
      NS_TEST_ASSERT_MSG_EQ (it1->logicalChannelConfig.bucketSizeDurationMs,it2->logicalChannelConfig.bucketSizeDurationMs, "logicalChannelConfig.bucketSizeDurationMs");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   174
      NS_TEST_ASSERT_MSG_EQ (it1->logicalChannelConfig.logicalChannelGroup,it2->logicalChannelConfig.logicalChannelGroup, "logicalChannelConfig.logicalChannelGroup");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   175
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   176
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   177
  NS_TEST_ASSERT_MSG_EQ (rrcd1.drbToAddModList.size (), rrcd2.drbToAddModList.size (),"DrbToAddModList different sizes");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   178
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   179
  std::list<LteRrcSap::DrbToAddMod> srcDrbToAddModList = rrcd1.drbToAddModList;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   180
  std::list<LteRrcSap::DrbToAddMod>::iterator it3 = srcDrbToAddModList.begin ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   181
  std::list<LteRrcSap::DrbToAddMod> dstDrbToAddModList = rrcd2.drbToAddModList;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   182
  std::list<LteRrcSap::DrbToAddMod>::iterator it4 = dstDrbToAddModList.begin ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   183
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   184
  for (; it3 != srcDrbToAddModList.end (); it3++, it4++)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   185
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   186
      NS_TEST_ASSERT_MSG_EQ (it3->epsBearerIdentity,it4->epsBearerIdentity, "epsBearerIdentity");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   187
      NS_TEST_ASSERT_MSG_EQ (it3->drbIdentity,it4->drbIdentity, "drbIdentity");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   188
      NS_TEST_ASSERT_MSG_EQ (it3->rlcConfig.choice,it4->rlcConfig.choice, "rlcConfig.choice");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   189
      NS_TEST_ASSERT_MSG_EQ (it3->logicalChannelIdentity,it4->logicalChannelIdentity, "logicalChannelIdentity");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   190
      NS_TEST_ASSERT_MSG_EQ (it3->epsBearerIdentity,it4->epsBearerIdentity, "epsBearerIdentity");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   191
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   192
      NS_TEST_ASSERT_MSG_EQ (it3->logicalChannelConfig.priority,it4->logicalChannelConfig.priority, "logicalChannelConfig.priority");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   193
      NS_TEST_ASSERT_MSG_EQ (it3->logicalChannelConfig.prioritizedBitRateKbps,it4->logicalChannelConfig.prioritizedBitRateKbps, "logicalChannelConfig.prioritizedBitRateKbps");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   194
      NS_TEST_ASSERT_MSG_EQ (it3->logicalChannelConfig.bucketSizeDurationMs,it4->logicalChannelConfig.bucketSizeDurationMs, "logicalChannelConfig.bucketSizeDurationMs");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   195
      NS_TEST_ASSERT_MSG_EQ (it3->logicalChannelConfig.logicalChannelGroup,it4->logicalChannelConfig.logicalChannelGroup, "logicalChannelConfig.logicalChannelGroup");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   196
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   197
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   198
  NS_TEST_ASSERT_MSG_EQ (rrcd1.drbToReleaseList.size (), rrcd2.drbToReleaseList.size (),"DrbToReleaseList different sizes");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   199
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   200
  std::list<uint8_t> srcDrbToReleaseList = rrcd1.drbToReleaseList;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   201
  std::list<uint8_t> dstDrbToReleaseList = rrcd2.drbToReleaseList;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   202
  std::list<uint8_t>::iterator it5 = srcDrbToReleaseList.begin ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   203
  std::list<uint8_t>::iterator it6 = dstDrbToReleaseList.begin ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   204
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   205
  for (; it5 != srcDrbToReleaseList.end (); it5++, it6++)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   206
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   207
      NS_TEST_ASSERT_MSG_EQ (*it5, *it6,"element != in DrbToReleaseList");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   208
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   209
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   210
  NS_TEST_ASSERT_MSG_EQ (rrcd1.havePhysicalConfigDedicated,rrcd2.havePhysicalConfigDedicated, "HavePhysicalConfigDedicated");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   211
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   212
  if (rrcd1.havePhysicalConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   213
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   214
      NS_TEST_ASSERT_MSG_EQ (rrcd1.physicalConfigDedicated.haveSoundingRsUlConfigDedicated,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   215
                             rrcd2.physicalConfigDedicated.haveSoundingRsUlConfigDedicated,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   216
                             "haveSoundingRsUlConfigDedicated");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   217
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   218
      NS_TEST_ASSERT_MSG_EQ (rrcd1.physicalConfigDedicated.soundingRsUlConfigDedicated.type,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   219
                             rrcd2.physicalConfigDedicated.soundingRsUlConfigDedicated.type,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   220
                             "soundingRsUlConfigDedicated.type");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   221
      NS_TEST_ASSERT_MSG_EQ (rrcd1.physicalConfigDedicated.soundingRsUlConfigDedicated.srsBandwidth,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   222
                             rrcd2.physicalConfigDedicated.soundingRsUlConfigDedicated.srsBandwidth,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   223
                             "soundingRsUlConfigDedicated.srsBandwidth");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   224
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   225
      NS_TEST_ASSERT_MSG_EQ (rrcd1.physicalConfigDedicated.soundingRsUlConfigDedicated.srsConfigIndex,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   226
                             rrcd2.physicalConfigDedicated.soundingRsUlConfigDedicated.srsConfigIndex,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   227
                             "soundingRsUlConfigDedicated.srsConfigIndex");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   228
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   229
      NS_TEST_ASSERT_MSG_EQ (rrcd1.physicalConfigDedicated.haveAntennaInfoDedicated,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   230
                             rrcd2.physicalConfigDedicated.haveAntennaInfoDedicated,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   231
                             "haveAntennaInfoDedicated");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   232
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   233
      if (rrcd1.physicalConfigDedicated.haveAntennaInfoDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   234
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   235
          NS_TEST_ASSERT_MSG_EQ (rrcd1.physicalConfigDedicated.antennaInfo.transmissionMode,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   236
                                 rrcd2.physicalConfigDedicated.antennaInfo.transmissionMode,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   237
                                 "antennaInfo.transmissionMode");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   238
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   239
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   240
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   241
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   242
// --------------------------- CLASS RrcConnectionRequestTestCase -----------------------------
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   243
class RrcConnectionRequestTestCase : public RrcHeaderTestCase
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   244
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   245
public:
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   246
  RrcConnectionRequestTestCase ();
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   247
  virtual void DoRun (void);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   248
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   249
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   250
RrcConnectionRequestTestCase::RrcConnectionRequestTestCase () : RrcHeaderTestCase ("Testing RrcConnectionRequest")
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   251
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   252
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   253
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   254
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   255
RrcConnectionRequestTestCase::DoRun (void)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   256
{
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   257
  packet = Create<Packet> ();
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   258
  NS_LOG_DEBUG ("============= RrcConnectionRequestTestCase ===========");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   259
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   260
  LteRrcSap::RrcConnectionRequest msg;
9637
9a6e5e0c3da8 fixed too large integer constant error in test-asn1-encoding that showed up on 32bit systems
Nicola Baldo <nbaldo@cttc.es>
parents: 9635
diff changeset
   261
  msg.ueIdentity = 0x83fecafecaULL;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   262
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   263
  RrcConnectionRequestHeader source;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   264
  source.SetMessage (msg);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   265
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   266
  // Log source info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   267
  TestUtils::LogPacketInfo<RrcConnectionRequestHeader> (source,"SOURCE");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   268
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   269
  // Add header
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   270
  packet->AddHeader (source);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   271
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   272
  // Log serialized packet contents
9644
008eaa91198d Change pointer creation to avoid valgrind errors.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9640
diff changeset
   273
  TestUtils::LogPacketContents (packet);
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   274
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   275
  // Remove header
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   276
  RrcConnectionRequestHeader destination;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   277
  packet->RemoveHeader (destination);
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   278
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   279
  // Log destination info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   280
  TestUtils::LogPacketInfo<RrcConnectionRequestHeader> (destination,"DESTINATION");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   281
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   282
  // Check that the destination and source headers contain the same values
9647
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9646
diff changeset
   283
  NS_TEST_ASSERT_MSG_EQ (source.GetMmec (),destination.GetMmec (), "Different m_mmec!");
392b69275b78 Implement Nicola's review comments
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9646
diff changeset
   284
  NS_TEST_ASSERT_MSG_EQ (source.GetMtmsi (),destination.GetMtmsi (), "Different m_mTmsi!");
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   285
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   286
  packet = 0;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   287
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   288
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   289
// --------------------------- CLASS RrcConnectionSetupTestCase -----------------------------
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   290
class RrcConnectionSetupTestCase : public RrcHeaderTestCase
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   291
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   292
public:
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   293
  RrcConnectionSetupTestCase ();
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   294
  virtual void DoRun (void);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   295
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   296
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   297
RrcConnectionSetupTestCase::RrcConnectionSetupTestCase () : RrcHeaderTestCase ("Testing RrcConnectionSetupTestCase")
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   298
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   299
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   300
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   301
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   302
RrcConnectionSetupTestCase::DoRun (void)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   303
{
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   304
  packet = Create<Packet> ();
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   305
  NS_LOG_DEBUG ("============= RrcConnectionSetupTestCase ===========");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   306
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   307
  LteRrcSap::RrcConnectionSetup msg;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   308
  msg.rrcTransactionIdentifier = 3;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   309
  msg.radioResourceConfigDedicated = CreateRadioResourceConfigDedicated ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   310
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   311
  RrcConnectionSetupHeader source;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   312
  source.SetMessage (msg);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   313
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   314
  // Log source info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   315
  TestUtils::LogPacketInfo<RrcConnectionSetupHeader> (source,"SOURCE");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   316
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   317
  // Add header
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   318
  packet->AddHeader (source);
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   319
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   320
  // Log serialized packet contents
9644
008eaa91198d Change pointer creation to avoid valgrind errors.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9640
diff changeset
   321
  TestUtils::LogPacketContents (packet);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   322
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   323
  // remove header
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   324
  RrcConnectionSetupHeader destination;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   325
  packet->RemoveHeader (destination);
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   326
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   327
  // Log destination info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   328
  TestUtils::LogPacketInfo<RrcConnectionSetupHeader> (destination,"DESTINATION");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   329
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   330
  // Check that the destination and source headers contain the same values
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   331
  NS_TEST_ASSERT_MSG_EQ (source.GetRrcTransactionIdentifier (),destination.GetRrcTransactionIdentifier (), "RrcTransactionIdentifier");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   332
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   333
  AssertEqualRadioResourceConfigDedicated (source.GetRadioResourceConfigDedicated (),destination.GetRadioResourceConfigDedicated ());
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   334
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   335
  packet = 0;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   336
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   337
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   338
// --------------------------- CLASS RrcConnectionSetupCompleteTestCase -----------------------------
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   339
class RrcConnectionSetupCompleteTestCase : public RrcHeaderTestCase
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   340
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   341
public:
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   342
  RrcConnectionSetupCompleteTestCase ();
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   343
  virtual void DoRun (void);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   344
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   345
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   346
RrcConnectionSetupCompleteTestCase::RrcConnectionSetupCompleteTestCase () : RrcHeaderTestCase ("Testing RrcConnectionSetupCompleteTestCase")
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   347
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   348
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   349
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   350
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   351
RrcConnectionSetupCompleteTestCase::DoRun (void)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   352
{
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   353
  packet = Create<Packet> ();
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   354
  NS_LOG_DEBUG ("============= RrcConnectionSetupCompleteTestCase ===========");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   355
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   356
  LteRrcSap::RrcConnectionSetupCompleted msg;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   357
  msg.rrcTransactionIdentifier = 3;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   358
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   359
  RrcConnectionSetupCompleteHeader source;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   360
  source.SetMessage (msg);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   361
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   362
  // Log source info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   363
  TestUtils::LogPacketInfo<RrcConnectionSetupCompleteHeader> (source,"SOURCE");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   364
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   365
  // Add header
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   366
  packet->AddHeader (source);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   367
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   368
  // Log serialized packet contents
9644
008eaa91198d Change pointer creation to avoid valgrind errors.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9640
diff changeset
   369
  TestUtils::LogPacketContents (packet);
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   370
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   371
  // Remove header
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   372
  RrcConnectionSetupCompleteHeader destination;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   373
  packet->RemoveHeader (destination);
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   374
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   375
  // Log destination info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   376
  TestUtils::LogPacketInfo<RrcConnectionSetupCompleteHeader> (destination,"DESTINATION");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   377
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   378
  // Check that the destination and source headers contain the same values
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   379
  NS_TEST_ASSERT_MSG_EQ (source.GetRrcTransactionIdentifier (),destination.GetRrcTransactionIdentifier (), "RrcTransactionIdentifier");
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   380
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   381
  packet = 0;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   382
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   383
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   384
// --------------------------- CLASS RrcConnectionReconfigurationCompleteTestCase -----------------------------
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   385
class RrcConnectionReconfigurationCompleteTestCase : public RrcHeaderTestCase
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   386
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   387
public:
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   388
  RrcConnectionReconfigurationCompleteTestCase ();
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   389
  virtual void DoRun (void);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   390
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   391
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   392
RrcConnectionReconfigurationCompleteTestCase::RrcConnectionReconfigurationCompleteTestCase ()
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   393
  : RrcHeaderTestCase ("Testing RrcConnectionReconfigurationCompleteTestCase")
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   394
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   395
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   396
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   397
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   398
RrcConnectionReconfigurationCompleteTestCase::DoRun (void)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   399
{
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   400
  packet = Create<Packet> ();
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   401
  NS_LOG_DEBUG ("============= RrcConnectionReconfigurationCompleteTestCase ===========");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   402
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   403
  LteRrcSap::RrcConnectionReconfigurationCompleted msg;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   404
  msg.rrcTransactionIdentifier = 2;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   405
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   406
  RrcConnectionReconfigurationCompleteHeader source;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   407
  source.SetMessage (msg);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   408
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   409
  // Log source info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   410
  TestUtils::LogPacketInfo<RrcConnectionReconfigurationCompleteHeader> (source,"SOURCE");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   411
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   412
  // Add header
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   413
  packet->AddHeader (source);
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   414
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   415
  // Log serialized packet contents
9644
008eaa91198d Change pointer creation to avoid valgrind errors.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9640
diff changeset
   416
  TestUtils::LogPacketContents (packet);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   417
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   418
  // remove header
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   419
  RrcConnectionReconfigurationCompleteHeader destination;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   420
  packet->RemoveHeader (destination);
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   421
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   422
  // Log destination info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   423
  TestUtils::LogPacketInfo<RrcConnectionReconfigurationCompleteHeader> (destination,"DESTINATION");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   424
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   425
  // Check that the destination and source headers contain the same values
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   426
  NS_TEST_ASSERT_MSG_EQ (source.GetRrcTransactionIdentifier (),destination.GetRrcTransactionIdentifier (), "RrcTransactionIdentifier");
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   427
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   428
  packet = 0;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   429
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   430
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   431
// --------------------------- CLASS RrcConnectionReconfigurationTestCase -----------------------------
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   432
class RrcConnectionReconfigurationTestCase : public RrcHeaderTestCase
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   433
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   434
public:
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   435
  RrcConnectionReconfigurationTestCase ();
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   436
  virtual void DoRun (void);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   437
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   438
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   439
RrcConnectionReconfigurationTestCase::RrcConnectionReconfigurationTestCase ()
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   440
  : RrcHeaderTestCase ("Testing RrcConnectionReconfigurationTestCase")
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   441
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   442
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   444
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   445
RrcConnectionReconfigurationTestCase::DoRun (void)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   446
{
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   447
  packet = Create<Packet> ();
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   448
  NS_LOG_DEBUG ("============= RrcConnectionReconfigurationTestCase ===========");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   449
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   450
  LteRrcSap::RrcConnectionReconfiguration msg;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   451
  msg.rrcTransactionIdentifier = 2;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   452
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   453
  msg.haveMeasConfig = true;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   454
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   455
  msg.measConfig.haveQuantityConfig = true;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   456
  msg.measConfig.quantityConfig.filterCoefficientRSRP = 8;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   457
  msg.measConfig.quantityConfig.filterCoefficientRSRQ = 7;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   458
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   459
  msg.measConfig.haveMeasGapConfig = true;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   460
  msg.measConfig.measGapConfig.type = LteRrcSap::MeasGapConfig::SETUP;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   461
  msg.measConfig.measGapConfig.gapOffsetChoice = LteRrcSap::MeasGapConfig::gp0;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   462
  msg.measConfig.measGapConfig.gapOffsetValue = 21;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   463
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   464
  msg.measConfig.haveSmeasure = true;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   465
  msg.measConfig.sMeasure = 57;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   466
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   467
  msg.measConfig.haveSpeedStatePars = true;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   468
  msg.measConfig.speedStatePars.type = LteRrcSap::SpeedStatePars::SETUP;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   469
  msg.measConfig.speedStatePars.mobilityStateParameters.tEvaluation = 240;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   470
  msg.measConfig.speedStatePars.mobilityStateParameters.tHystNormal = 60;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   471
  msg.measConfig.speedStatePars.mobilityStateParameters.nCellChangeMedium = 5;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   472
  msg.measConfig.speedStatePars.mobilityStateParameters.nCellChangeHigh = 13;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   473
  msg.measConfig.speedStatePars.timeToTriggerSf.sfMedium = 25;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   474
  msg.measConfig.speedStatePars.timeToTriggerSf.sfHigh = 75;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   475
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   476
  msg.measConfig.measObjectToRemoveList.push_back (23);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   477
  msg.measConfig.measObjectToRemoveList.push_back (13);
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   478
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   479
  msg.measConfig.reportConfigToRemoveList.push_back (7);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   480
  msg.measConfig.reportConfigToRemoveList.push_back (16);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   481
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   482
  msg.measConfig.measIdToRemoveList.push_back (4);
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   483
  msg.measConfig.measIdToRemoveList.push_back (18);
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   484
 
9870
6543f3876ff5 [Doxygen] use \todo
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9675
diff changeset
   485
  /// \todo Test the following:
9664
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   486
  // std::list<MeasObjectToAddMod> measObjectToAddModList;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   487
  // std::list<ReportConfigToAddMod> reportConfigToAddModList;
58b4884c4900 Test MeasConfig IE
lluis <parcerisa@gmail.com>
parents: 9651
diff changeset
   488
  // std::list<MeasIdToAddMod> measIdToAddModList;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   489
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   490
  msg.haveMobilityControlInfo = true;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   491
  msg.mobilityControlInfo.targetPhysCellId = 4;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   492
  msg.mobilityControlInfo.haveCarrierFreq = true;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   493
  msg.mobilityControlInfo.carrierFreq.dlCarrierFreq = 3;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   494
  msg.mobilityControlInfo.carrierFreq.ulCarrierFreq = 5;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   495
  msg.mobilityControlInfo.haveCarrierBandwidth = true;
9573
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
   496
  msg.mobilityControlInfo.carrierBandwidth.dlBandwidth = 50;
0243c2781970 Change encoding of ulBandwith, dlBandwith on m_mobilityControlInfo.carrierBandwidth.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9509
diff changeset
   497
  msg.mobilityControlInfo.carrierBandwidth.ulBandwidth = 25;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   498
  msg.mobilityControlInfo.newUeIdentity = 11;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   499
  msg.mobilityControlInfo.haveRachConfigDedicated = true;
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   500
  msg.mobilityControlInfo.rachConfigDedicated.raPreambleIndex = 2;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   501
  msg.mobilityControlInfo.rachConfigDedicated.raPrachMaskIndex = 2;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   502
  msg.mobilityControlInfo.radioResourceConfigCommon.rachConfigCommon.preambleInfo.numberOfRaPreambles = 4;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   503
  msg.mobilityControlInfo.radioResourceConfigCommon.rachConfigCommon.raSupervisionInfo.preambleTransMax = 3;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   504
  msg.mobilityControlInfo.radioResourceConfigCommon.rachConfigCommon.raSupervisionInfo.raResponseWindowSize = 6;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   505
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   506
  msg.haveRadioResourceConfigDedicated = true;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   507
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   508
  msg.radioResourceConfigDedicated = CreateRadioResourceConfigDedicated ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   509
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   510
  RrcConnectionReconfigurationHeader source;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   511
  source.SetMessage (msg);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   512
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   513
  // Log source info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   514
  TestUtils::LogPacketInfo<RrcConnectionReconfigurationHeader> (source,"SOURCE");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   515
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   516
  // Add header
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   517
  packet->AddHeader (source);
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   518
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   519
  // Log serialized packet contents
9644
008eaa91198d Change pointer creation to avoid valgrind errors.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9640
diff changeset
   520
  TestUtils::LogPacketContents (packet);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   521
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   522
  // remove header
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   523
  RrcConnectionReconfigurationHeader destination;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   524
  packet->RemoveHeader (destination);
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   525
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   526
  // Log destination info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   527
  TestUtils::LogPacketInfo<RrcConnectionReconfigurationHeader> (destination,"DESTINATION");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   528
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   529
  // Check that the destination and source headers contain the same values
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   530
  NS_TEST_ASSERT_MSG_EQ (source.GetRrcTransactionIdentifier (),destination.GetRrcTransactionIdentifier (), "RrcTransactionIdentifier");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   531
  NS_TEST_ASSERT_MSG_EQ (source.GetHaveMeasConfig (),destination.GetHaveMeasConfig (), "GetHaveMeasConfig");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   532
  NS_TEST_ASSERT_MSG_EQ (source.GetHaveMobilityControlInfo (),destination.GetHaveMobilityControlInfo (), "GetHaveMobilityControlInfo");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   533
  NS_TEST_ASSERT_MSG_EQ (source.GetHaveRadioResourceConfigDedicated (),destination.GetHaveRadioResourceConfigDedicated (), "GetHaveRadioResourceConfigDedicated");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   534
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   535
  if ( source.GetHaveMobilityControlInfo () )
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   536
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   537
      NS_TEST_ASSERT_MSG_EQ (source.GetMobilityControlInfo ().targetPhysCellId,destination.GetMobilityControlInfo ().targetPhysCellId, "GetMobilityControlInfo().targetPhysCellId");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   538
      NS_TEST_ASSERT_MSG_EQ (source.GetMobilityControlInfo ().haveCarrierFreq,destination.GetMobilityControlInfo ().haveCarrierFreq, "GetMobilityControlInfo().haveCarrierFreq");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   539
      NS_TEST_ASSERT_MSG_EQ (source.GetMobilityControlInfo ().haveCarrierBandwidth,destination.GetMobilityControlInfo ().haveCarrierBandwidth, "GetMobilityControlInfo().haveCarrierBandwidth");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   540
      NS_TEST_ASSERT_MSG_EQ (source.GetMobilityControlInfo ().newUeIdentity,destination.GetMobilityControlInfo ().newUeIdentity, "GetMobilityControlInfo().newUeIdentity");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   541
      NS_TEST_ASSERT_MSG_EQ (source.GetMobilityControlInfo ().haveRachConfigDedicated,destination.GetMobilityControlInfo ().haveRachConfigDedicated, "GetMobilityControlInfo().haveRachConfigDedicated");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   542
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   543
      if (source.GetMobilityControlInfo ().haveCarrierFreq)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   544
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   545
          NS_TEST_ASSERT_MSG_EQ (source.GetMobilityControlInfo ().carrierFreq.dlCarrierFreq,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   546
                                 destination.GetMobilityControlInfo ().carrierFreq.dlCarrierFreq,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   547
                                 "GetMobilityControlInfo().carrierFreq.dlCarrierFreq");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   548
          NS_TEST_ASSERT_MSG_EQ (source.GetMobilityControlInfo ().carrierFreq.ulCarrierFreq,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   549
                                 destination.GetMobilityControlInfo ().carrierFreq.ulCarrierFreq,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   550
                                 "GetMobilityControlInfo().carrierFreq.ulCarrierFreq");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   551
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   552
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   553
      if (source.GetMobilityControlInfo ().haveCarrierBandwidth)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   554
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   555
          NS_TEST_ASSERT_MSG_EQ (source.GetMobilityControlInfo ().carrierBandwidth.dlBandwidth,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   556
                                 destination.GetMobilityControlInfo ().carrierBandwidth.dlBandwidth,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   557
                                 "GetMobilityControlInfo().carrierBandwidth.dlBandwidth");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   558
          NS_TEST_ASSERT_MSG_EQ (source.GetMobilityControlInfo ().carrierBandwidth.ulBandwidth,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   559
                                 destination.GetMobilityControlInfo ().carrierBandwidth.ulBandwidth,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   560
                                 "GetMobilityControlInfo().carrierBandwidth.ulBandwidth");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   561
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   562
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   563
      if (source.GetMobilityControlInfo ().haveRachConfigDedicated)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   564
        {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   565
          NS_TEST_ASSERT_MSG_EQ (source.GetMobilityControlInfo ().rachConfigDedicated.raPreambleIndex,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   566
                                 destination.GetMobilityControlInfo ().rachConfigDedicated.raPreambleIndex,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   567
                                 "GetMobilityControlInfo().rachConfigDedicated.raPreambleIndex");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   568
          NS_TEST_ASSERT_MSG_EQ (source.GetMobilityControlInfo ().rachConfigDedicated.raPrachMaskIndex,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   569
                                 destination.GetMobilityControlInfo ().rachConfigDedicated.raPrachMaskIndex,
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   570
                                 "GetMobilityControlInfo().rachConfigDedicated.raPrachMaskIndex");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   571
        }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   572
    }
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   573
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   574
  if (source.GetHaveRadioResourceConfigDedicated ())
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   575
    {
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   576
      AssertEqualRadioResourceConfigDedicated (source.GetRadioResourceConfigDedicated (), destination.GetRadioResourceConfigDedicated ());
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   577
    }
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   578
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   579
  packet = 0;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   580
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   581
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   582
// --------------------------- CLASS HandoverPreparationInfoTestCase -----------------------------
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   583
class HandoverPreparationInfoTestCase : public RrcHeaderTestCase
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   584
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   585
public:
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   586
  HandoverPreparationInfoTestCase ();
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   587
  virtual void DoRun (void);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   588
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   589
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   590
HandoverPreparationInfoTestCase::HandoverPreparationInfoTestCase () : RrcHeaderTestCase ("Testing HandoverPreparationInfoTestCase")
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   591
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   592
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   593
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   594
void
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   595
HandoverPreparationInfoTestCase::DoRun (void)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   596
{
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   597
  packet = Create<Packet> ();
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   598
  NS_LOG_DEBUG ("============= HandoverPreparationInfoTestCase ===========");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   599
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   600
  LteRrcSap::HandoverPreparationInfo msg;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   601
  msg.asConfig.sourceDlCarrierFreq = 3;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   602
  msg.asConfig.sourceUeIdentity = 11;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   603
  msg.asConfig.sourceRadioResourceConfig = CreateRadioResourceConfigDedicated ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   604
  msg.asConfig.sourceMasterInformationBlock.dlBandwidth = 3;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   605
  msg.asConfig.sourceMasterInformationBlock.systemFrameNumber = 1;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   606
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   607
  msg.asConfig.sourceSystemInformationBlockType1.cellAccessRelatedInfo.csgIndication = true;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   608
  msg.asConfig.sourceSystemInformationBlockType1.cellAccessRelatedInfo.cellIdentity = 5;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   609
  msg.asConfig.sourceSystemInformationBlockType1.cellAccessRelatedInfo.csgIdentity = 4;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   610
  msg.asConfig.sourceSystemInformationBlockType1.cellAccessRelatedInfo.plmnIdentityInfo.plmnIdentity = 123;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   611
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   612
  msg.asConfig.sourceSystemInformationBlockType2.freqInfo.ulBandwidth = 100;
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   613
  msg.asConfig.sourceSystemInformationBlockType2.freqInfo.ulCarrierFreq = 10;
9648
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   614
  msg.asConfig.sourceSystemInformationBlockType2.radioResourceConfigCommon.rachConfigCommon.preambleInfo.numberOfRaPreambles = 4;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   615
  msg.asConfig.sourceSystemInformationBlockType2.radioResourceConfigCommon.rachConfigCommon.raSupervisionInfo.preambleTransMax = 3;
204d43e200d6 Oxygen documentation of lte-rrc-header.h, implementation of some extra RRC IE's
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9647
diff changeset
   616
  msg.asConfig.sourceSystemInformationBlockType2.radioResourceConfigCommon.rachConfigCommon.raSupervisionInfo.raResponseWindowSize = 6;
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   617
9666
cd274509a34c Fix valgrind errors
lluis <parcerisa@gmail.com>
parents: 9665
diff changeset
   618
  msg.asConfig.sourceMeasConfig.haveQuantityConfig = false;
cd274509a34c Fix valgrind errors
lluis <parcerisa@gmail.com>
parents: 9665
diff changeset
   619
  msg.asConfig.sourceMeasConfig.haveMeasGapConfig = false;
cd274509a34c Fix valgrind errors
lluis <parcerisa@gmail.com>
parents: 9665
diff changeset
   620
  msg.asConfig.sourceMeasConfig.haveSmeasure = false;
cd274509a34c Fix valgrind errors
lluis <parcerisa@gmail.com>
parents: 9665
diff changeset
   621
  msg.asConfig.sourceMeasConfig.haveSpeedStatePars = false;
cd274509a34c Fix valgrind errors
lluis <parcerisa@gmail.com>
parents: 9665
diff changeset
   622
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   623
  HandoverPreparationInfoHeader source;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   624
  source.SetMessage (msg);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   625
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   626
  // Log source info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   627
  TestUtils::LogPacketInfo<HandoverPreparationInfoHeader> (source,"SOURCE");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   628
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   629
  // Add header
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   630
  packet->AddHeader (source);
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   631
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   632
  // Log serialized packet contents
9644
008eaa91198d Change pointer creation to avoid valgrind errors.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9640
diff changeset
   633
  TestUtils::LogPacketContents (packet);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   634
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   635
  // remove header
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   636
  HandoverPreparationInfoHeader destination;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   637
  packet->RemoveHeader (destination);
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   638
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   639
  // Log destination info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   640
  TestUtils::LogPacketInfo<HandoverPreparationInfoHeader> (destination,"DESTINATION");
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   641
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   642
  // Check that the destination and source headers contain the same values
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   643
  AssertEqualRadioResourceConfigDedicated (source.GetAsConfig ().sourceRadioResourceConfig, destination.GetAsConfig ().sourceRadioResourceConfig);
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   644
  NS_TEST_ASSERT_MSG_EQ (source.GetAsConfig ().sourceUeIdentity, destination.GetAsConfig ().sourceUeIdentity, "sourceUeIdentity");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   645
  NS_TEST_ASSERT_MSG_EQ (source.GetAsConfig ().sourceMasterInformationBlock.dlBandwidth,destination.GetAsConfig ().sourceMasterInformationBlock.dlBandwidth, "dlBandwidth");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   646
  NS_TEST_ASSERT_MSG_EQ (source.GetAsConfig ().sourceMasterInformationBlock.systemFrameNumber, destination.GetAsConfig ().sourceMasterInformationBlock.systemFrameNumber, "systemFrameNumber");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   647
  NS_TEST_ASSERT_MSG_EQ (source.GetAsConfig ().sourceSystemInformationBlockType1.cellAccessRelatedInfo.plmnIdentityInfo.plmnIdentity, destination.GetAsConfig ().sourceSystemInformationBlockType1.cellAccessRelatedInfo.plmnIdentityInfo.plmnIdentity, "plmnIdentity");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   648
  NS_TEST_ASSERT_MSG_EQ (source.GetAsConfig ().sourceSystemInformationBlockType1.cellAccessRelatedInfo.csgIndication, destination.GetAsConfig ().sourceSystemInformationBlockType1.cellAccessRelatedInfo.csgIndication, "csgIndication");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   649
  NS_TEST_ASSERT_MSG_EQ (source.GetAsConfig ().sourceSystemInformationBlockType1.cellAccessRelatedInfo.cellIdentity, destination.GetAsConfig ().sourceSystemInformationBlockType1.cellAccessRelatedInfo.cellIdentity, "cellIdentity");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   650
  NS_TEST_ASSERT_MSG_EQ (source.GetAsConfig ().sourceSystemInformationBlockType1.cellAccessRelatedInfo.csgIdentity, destination.GetAsConfig ().sourceSystemInformationBlockType1.cellAccessRelatedInfo.csgIdentity, "csgIdentity");
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   651
  NS_TEST_ASSERT_MSG_EQ (source.GetAsConfig ().sourceDlCarrierFreq, destination.GetAsConfig ().sourceDlCarrierFreq, "sourceDlCarrierFreq");
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   652
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   653
  packet = 0;
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   654
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   655
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   656
// --------------------------- CLASS RrcConnectionReestablishmentRequestTestCase -----------------------------
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   657
class RrcConnectionReestablishmentRequestTestCase : public RrcHeaderTestCase
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   658
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   659
public:
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   660
  RrcConnectionReestablishmentRequestTestCase ();
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   661
  virtual void DoRun (void);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   662
};
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   663
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   664
RrcConnectionReestablishmentRequestTestCase::RrcConnectionReestablishmentRequestTestCase () : RrcHeaderTestCase ("Testing RrcConnectionReestablishmentRequestTestCase")
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   665
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   666
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   667
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   668
void
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   669
RrcConnectionReestablishmentRequestTestCase::DoRun (void)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   670
{
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   671
  packet = Create<Packet> ();
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   672
  NS_LOG_DEBUG ("============= RrcConnectionReestablishmentRequestTestCase ===========");
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   673
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   674
  LteRrcSap::RrcConnectionReestablishmentRequest msg;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   675
  msg.ueIdentity.cRnti = 12;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   676
  msg.ueIdentity.physCellId = 21;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   677
  msg.reestablishmentCause = LteRrcSap::HANDOVER_FAILURE;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   678
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   679
  RrcConnectionReestablishmentRequestHeader source;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   680
  source.SetMessage (msg);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   681
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   682
  // Log source info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   683
  TestUtils::LogPacketInfo<RrcConnectionReestablishmentRequestHeader> (source,"SOURCE");
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   684
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   685
  // Add header
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   686
  packet->AddHeader (source);
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   687
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   688
  // Log serialized packet contents
9644
008eaa91198d Change pointer creation to avoid valgrind errors.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9640
diff changeset
   689
  TestUtils::LogPacketContents (packet);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   690
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   691
  // remove header
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   692
  RrcConnectionReestablishmentRequestHeader destination;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   693
  packet->RemoveHeader (destination);
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   694
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   695
  // Log destination info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   696
  TestUtils::LogPacketInfo<RrcConnectionReestablishmentRequestHeader> (destination,"DESTINATION");
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   697
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   698
  // Check that the destination and source headers contain the same values
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   699
  NS_TEST_ASSERT_MSG_EQ (source.GetUeIdentity ().cRnti, destination.GetUeIdentity ().cRnti, "cRnti");
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   700
  NS_TEST_ASSERT_MSG_EQ (source.GetUeIdentity ().physCellId, destination.GetUeIdentity ().physCellId, "physCellId");
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   701
  NS_TEST_ASSERT_MSG_EQ (source.GetReestablishmentCause (),destination.GetReestablishmentCause (), "ReestablishmentCause");
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   702
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   703
  packet = 0;
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   704
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   705
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   706
// --------------------------- CLASS RrcConnectionReestablishmentTestCase -----------------------------
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   707
class RrcConnectionReestablishmentTestCase : public RrcHeaderTestCase
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   708
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   709
public:
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   710
  RrcConnectionReestablishmentTestCase ();
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   711
  virtual void DoRun (void);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   712
};
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   713
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   714
RrcConnectionReestablishmentTestCase::RrcConnectionReestablishmentTestCase () : RrcHeaderTestCase ("Testing RrcConnectionReestablishmentTestCase")
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   715
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   716
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   717
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   718
void
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   719
RrcConnectionReestablishmentTestCase::DoRun (void)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   720
{
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   721
  packet = Create<Packet> ();
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   722
  NS_LOG_DEBUG ("============= RrcConnectionReestablishmentTestCase ===========");
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   723
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   724
  LteRrcSap::RrcConnectionReestablishment msg;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   725
  msg.rrcTransactionIdentifier = 2;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   726
  msg.radioResourceConfigDedicated = CreateRadioResourceConfigDedicated ();
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   727
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   728
  RrcConnectionReestablishmentHeader source;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   729
  source.SetMessage (msg);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   730
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   731
  // Log source info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   732
  TestUtils::LogPacketInfo<RrcConnectionReestablishmentHeader> (source,"SOURCE");
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   733
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   734
  // Add header
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   735
  packet->AddHeader (source);
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   736
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   737
  // Log serialized packet contents
9644
008eaa91198d Change pointer creation to avoid valgrind errors.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9640
diff changeset
   738
  TestUtils::LogPacketContents (packet);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   739
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   740
  // remove header
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   741
  RrcConnectionReestablishmentHeader destination;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   742
  packet->RemoveHeader (destination);
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   743
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   744
  // Log destination info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   745
  TestUtils::LogPacketInfo<RrcConnectionReestablishmentHeader> (destination,"DESTINATION");
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   746
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   747
  // Check that the destination and source headers contain the same values
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   748
  NS_TEST_ASSERT_MSG_EQ (source.GetRrcTransactionIdentifier (), destination.GetRrcTransactionIdentifier (), "rrcTransactionIdentifier");
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   749
  AssertEqualRadioResourceConfigDedicated (source.GetRadioResourceConfigDedicated (),destination.GetRadioResourceConfigDedicated ());
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   750
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   751
  packet = 0;
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   752
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   753
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   754
// --------------------------- CLASS RrcConnectionReestablishmentCompleteTestCase -----------------------------
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   755
class RrcConnectionReestablishmentCompleteTestCase : public RrcHeaderTestCase
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   756
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   757
public:
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   758
  RrcConnectionReestablishmentCompleteTestCase ();
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   759
  virtual void DoRun (void);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   760
};
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   761
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   762
RrcConnectionReestablishmentCompleteTestCase::RrcConnectionReestablishmentCompleteTestCase () : RrcHeaderTestCase ("Testing RrcConnectionReestablishmentCompleteTestCase")
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   763
{
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   764
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   765
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   766
void
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   767
RrcConnectionReestablishmentCompleteTestCase::DoRun (void)
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   768
{
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   769
  packet = Create<Packet> ();
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   770
  NS_LOG_DEBUG ("============= RrcConnectionReestablishmentCompleteTestCase ===========");
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   771
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   772
  LteRrcSap::RrcConnectionReestablishmentComplete msg;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   773
  msg.rrcTransactionIdentifier = 3;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   774
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   775
  RrcConnectionReestablishmentCompleteHeader source;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   776
  source.SetMessage (msg);
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   777
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   778
  // Log source info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   779
  TestUtils::LogPacketInfo<RrcConnectionReestablishmentCompleteHeader> (source,"SOURCE");
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   780
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   781
  // Add header
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   782
  packet->AddHeader (source);
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   783
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   784
  // Log serialized packet contents
9644
008eaa91198d Change pointer creation to avoid valgrind errors.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9640
diff changeset
   785
  TestUtils::LogPacketContents (packet);
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   786
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   787
  // remove header
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   788
  RrcConnectionReestablishmentCompleteHeader destination;
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   789
  packet->RemoveHeader (destination);
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   790
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   791
  // Log destination info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   792
  TestUtils::LogPacketInfo<RrcConnectionReestablishmentCompleteHeader> (destination,"DESTINATION");
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   793
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   794
  // Check that the destination and source headers contain the same values
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   795
  NS_TEST_ASSERT_MSG_EQ (source.GetRrcTransactionIdentifier (), destination.GetRrcTransactionIdentifier (), "rrcTransactionIdentifier");
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   796
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   797
  packet = 0;
9449
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   798
}
740c5c3b8070 Rrc header: implementation of RrcConnectionReestablishment, RrcConnectionReestablishmentRequest, RrcConnectionReestablishmentComplete.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9443
diff changeset
   799
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   800
// --------------------------- CLASS RrcConnectionRejectTestCase -----------------------------
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   801
class RrcConnectionRejectTestCase : public RrcHeaderTestCase
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   802
{
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   803
public:
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   804
  RrcConnectionRejectTestCase ();
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   805
  virtual void DoRun (void);
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   806
};
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   807
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   808
RrcConnectionRejectTestCase::RrcConnectionRejectTestCase () : RrcHeaderTestCase ("Testing RrcConnectionRejectTestCase")
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   809
{
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   810
}
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   811
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   812
void
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   813
RrcConnectionRejectTestCase::DoRun (void)
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   814
{
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   815
  packet = Create<Packet> ();
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   816
  NS_LOG_DEBUG ("============= RrcConnectionRejectTestCase ===========");
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   817
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   818
  LteRrcSap::RrcConnectionReject msg;
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   819
  msg.waitTime = 2;
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   820
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   821
  RrcConnectionRejectHeader source;
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   822
  source.SetMessage (msg);
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   823
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   824
  // Log source info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   825
  TestUtils::LogPacketInfo<RrcConnectionRejectHeader> (source,"SOURCE");
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   826
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   827
  // Add header
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   828
  packet->AddHeader (source);
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   829
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   830
  // Log serialized packet contents
9644
008eaa91198d Change pointer creation to avoid valgrind errors.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9640
diff changeset
   831
  TestUtils::LogPacketContents (packet);
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   832
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   833
  // remove header
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   834
  RrcConnectionRejectHeader destination;
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   835
  packet->RemoveHeader (destination);
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   836
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   837
  // Log destination info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   838
  TestUtils::LogPacketInfo<RrcConnectionRejectHeader> (destination,"DESTINATION");
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   839
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   840
  // Check that the destination and source headers contain the same values
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   841
  NS_TEST_ASSERT_MSG_EQ (source.GetMessage ().waitTime, destination.GetMessage ().waitTime, "Different waitTime!");
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   842
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   843
  packet = 0;
9509
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   844
}
4c25580103bd Add structure and rrc headers for RrcConnectionReject.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9449
diff changeset
   845
9608
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   846
// --------------------------- CLASS MeasurementReportTestCase -----------------------------
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   847
class MeasurementReportTestCase : public RrcHeaderTestCase
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   848
{
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   849
public:
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   850
  MeasurementReportTestCase ();
9608
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   851
  virtual void DoRun (void);
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   852
};
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   853
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   854
MeasurementReportTestCase::MeasurementReportTestCase () : RrcHeaderTestCase ("Testing MeasurementReportTestCase")
9608
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   855
{
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   856
}
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   857
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   858
void
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   859
MeasurementReportTestCase::DoRun (void)
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   860
{
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   861
  packet = Create<Packet> ();
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   862
  NS_LOG_DEBUG ("============= MeasurementReportTestCase ===========");
9608
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   863
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   864
  LteRrcSap::MeasurementReport msg;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   865
  msg.measResults.measId = 5;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   866
  msg.measResults.rsrpResult = 18;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   867
  msg.measResults.rsrqResult = 21;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   868
  msg.measResults.haveMeasResultNeighCells = true;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   869
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   870
  LteRrcSap::MeasResultEutra mResEutra;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   871
  mResEutra.physCellId = 9;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   872
  mResEutra.haveRsrpResult = true;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   873
  mResEutra.rsrpResult = 33;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   874
  mResEutra.haveRsrqResult = true;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   875
  mResEutra.rsrqResult = 22;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   876
  mResEutra.haveCgiInfo = true;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   877
  mResEutra.cgiInfo.plmnIdentity = 7;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   878
  mResEutra.cgiInfo.cellIdentity = 6;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   879
  mResEutra.cgiInfo.trackingAreaCode = 5;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   880
  msg.measResults.measResultListEutra.push_back (mResEutra);
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   881
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   882
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   883
  MeasurementReportHeader source;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   884
  source.SetMessage (msg);
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   885
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   886
  // Log source info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   887
  TestUtils::LogPacketInfo<MeasurementReportHeader> (source,"SOURCE");
9608
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   888
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   889
  // Add header
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   890
  packet->AddHeader (source);
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   891
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   892
  // Log serialized packet contents
9644
008eaa91198d Change pointer creation to avoid valgrind errors.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9640
diff changeset
   893
  TestUtils::LogPacketContents (packet);
9608
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   894
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   895
  // remove header
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   896
  MeasurementReportHeader destination;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   897
  packet->RemoveHeader (destination);
9634
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   898
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   899
  // Log destination info
e02216640fbc Instead to print debug messages to stdout, use ns3 log functions.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9608
diff changeset
   900
  TestUtils::LogPacketInfo<MeasurementReportHeader> (destination,"DESTINATION");
9608
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   901
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   902
  // Check that the destination and source headers contain the same values
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   903
  LteRrcSap::MeasResults srcMeas = source.GetMessage ().measResults;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   904
  LteRrcSap::MeasResults dstMeas = destination.GetMessage ().measResults;
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   905
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   906
  NS_TEST_ASSERT_MSG_EQ (srcMeas.measId, dstMeas.measId, "Different measId!");
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   907
  NS_TEST_ASSERT_MSG_EQ (srcMeas.rsrpResult, dstMeas.rsrpResult, "Different rsrpResult!");
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   908
  NS_TEST_ASSERT_MSG_EQ (srcMeas.rsrqResult, dstMeas.rsrqResult, "Different rsrqResult!");
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   909
  NS_TEST_ASSERT_MSG_EQ (srcMeas.haveMeasResultNeighCells, dstMeas.haveMeasResultNeighCells, "Different haveMeasResultNeighCells!");
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   910
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   911
  if (srcMeas.haveMeasResultNeighCells)
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   912
    {
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   913
      std::list<LteRrcSap::MeasResultEutra>::iterator itsrc = srcMeas.measResultListEutra.begin ();
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   914
      std::list<LteRrcSap::MeasResultEutra>::iterator itdst = dstMeas.measResultListEutra.begin ();
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   915
      for (; itsrc != srcMeas.measResultListEutra.end (); itsrc++, itdst++)
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   916
        {
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   917
          NS_TEST_ASSERT_MSG_EQ (itsrc->physCellId, itdst->physCellId, "Different physCellId!");
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   918
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   919
          NS_TEST_ASSERT_MSG_EQ (itsrc->haveCgiInfo, itdst->haveCgiInfo, "Different haveCgiInfo!");
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   920
          if (itsrc->haveCgiInfo)
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   921
            {
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   922
              NS_TEST_ASSERT_MSG_EQ (itsrc->cgiInfo.plmnIdentity, itdst->cgiInfo.plmnIdentity, "Different cgiInfo.plmnIdentity!");
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   923
              NS_TEST_ASSERT_MSG_EQ (itsrc->cgiInfo.cellIdentity, itdst->cgiInfo.cellIdentity, "Different cgiInfo.cellIdentity!");
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   924
              NS_TEST_ASSERT_MSG_EQ (itsrc->cgiInfo.trackingAreaCode, itdst->cgiInfo.trackingAreaCode, "Different cgiInfo.trackingAreaCode!");
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   925
              NS_TEST_ASSERT_MSG_EQ (itsrc->cgiInfo.plmnIdentityList.size (), itdst->cgiInfo.plmnIdentityList.size (), "Different cgiInfo.plmnIdentityList.size()!");
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   926
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   927
              if (!itsrc->cgiInfo.plmnIdentityList.empty ())
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   928
                {
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   929
                  std::list<uint32_t>::iterator itsrc2 = itsrc->cgiInfo.plmnIdentityList.begin ();
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   930
                  std::list<uint32_t>::iterator itdst2 = itdst->cgiInfo.plmnIdentityList.begin ();
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   931
                  for (; itsrc2 != itsrc->cgiInfo.plmnIdentityList.begin (); itsrc2++, itdst2++)
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   932
                    {
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   933
                      NS_TEST_ASSERT_MSG_EQ (*itsrc2, *itdst2, "Different plmnId elements!");
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   934
                    }
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   935
                }
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   936
            }
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   937
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   938
          NS_TEST_ASSERT_MSG_EQ (itsrc->haveRsrpResult, itdst->haveRsrpResult, "Different haveRsrpResult!");
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   939
          if (itsrc->haveRsrpResult)
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   940
            {
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   941
              NS_TEST_ASSERT_MSG_EQ (itsrc->rsrpResult, itdst->rsrpResult, "Different rsrpResult!");
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   942
            }
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   943
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   944
          NS_TEST_ASSERT_MSG_EQ (itsrc->haveRsrqResult, itdst->haveRsrqResult, "Different haveRsrqResult!");
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   945
          if (itsrc->haveRsrqResult)
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   946
            {
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   947
              NS_TEST_ASSERT_MSG_EQ (itsrc->rsrqResult, itdst->rsrqResult, "Different rsrqResult!");
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   948
            }
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   949
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   950
        }
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   951
    }
9640
0f3fa8ef80aa Move packet creation to DoRun methods.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9635
diff changeset
   952
9665
2df96e92e2f1 ns3 formatting
lluis <parcerisa@gmail.com>
parents: 9664
diff changeset
   953
  packet = 0;
9608
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   954
}
f59af253fb21 Add test case to check MeasurementReport message.
Lluis Parcerisa <parcerisa@gmail.com>
parents: 9573
diff changeset
   955
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   956
// --------------------------- CLASS Asn1EncodingSuite -----------------------------
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   957
class Asn1EncodingSuite : public TestSuite
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   958
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   959
public:
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   960
  Asn1EncodingSuite ();
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   961
};
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   962
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   963
Asn1EncodingSuite::Asn1EncodingSuite ()
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   964
  : TestSuite ("test-asn1-encoding", UNIT)
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   965
{
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   966
  NS_LOG_FUNCTION (this);
9675
a14ab3098785 revised variable test scope for LTE tests
Nicola Baldo <nbaldo@cttc.es>
parents: 9666
diff changeset
   967
  AddTestCase (new RrcConnectionRequestTestCase (), TestCase::QUICK);
a14ab3098785 revised variable test scope for LTE tests
Nicola Baldo <nbaldo@cttc.es>
parents: 9666
diff changeset
   968
  AddTestCase (new RrcConnectionSetupTestCase (), TestCase::QUICK);
a14ab3098785 revised variable test scope for LTE tests
Nicola Baldo <nbaldo@cttc.es>
parents: 9666
diff changeset
   969
  AddTestCase (new RrcConnectionSetupCompleteTestCase (), TestCase::QUICK);
a14ab3098785 revised variable test scope for LTE tests
Nicola Baldo <nbaldo@cttc.es>
parents: 9666
diff changeset
   970
  AddTestCase (new RrcConnectionReconfigurationCompleteTestCase (), TestCase::QUICK);
a14ab3098785 revised variable test scope for LTE tests
Nicola Baldo <nbaldo@cttc.es>
parents: 9666
diff changeset
   971
  AddTestCase (new RrcConnectionReconfigurationTestCase (), TestCase::QUICK);
a14ab3098785 revised variable test scope for LTE tests
Nicola Baldo <nbaldo@cttc.es>
parents: 9666
diff changeset
   972
  AddTestCase (new HandoverPreparationInfoTestCase (), TestCase::QUICK);
a14ab3098785 revised variable test scope for LTE tests
Nicola Baldo <nbaldo@cttc.es>
parents: 9666
diff changeset
   973
  AddTestCase (new RrcConnectionReestablishmentRequestTestCase (), TestCase::QUICK);
a14ab3098785 revised variable test scope for LTE tests
Nicola Baldo <nbaldo@cttc.es>
parents: 9666
diff changeset
   974
  AddTestCase (new RrcConnectionReestablishmentTestCase (), TestCase::QUICK);
a14ab3098785 revised variable test scope for LTE tests
Nicola Baldo <nbaldo@cttc.es>
parents: 9666
diff changeset
   975
  AddTestCase (new RrcConnectionReestablishmentCompleteTestCase (), TestCase::QUICK);
a14ab3098785 revised variable test scope for LTE tests
Nicola Baldo <nbaldo@cttc.es>
parents: 9666
diff changeset
   976
  AddTestCase (new RrcConnectionRejectTestCase (), TestCase::QUICK);
a14ab3098785 revised variable test scope for LTE tests
Nicola Baldo <nbaldo@cttc.es>
parents: 9666
diff changeset
   977
  AddTestCase (new MeasurementReportTestCase (), TestCase::QUICK);
9443
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   978
}
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   979
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   980
Asn1EncodingSuite asn1EncodingSuite;
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   981
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   982
} // namespace ns3
33e358d8d64d Development of RRC headers based on the RRC SAP
Lluis Parcerisa <parcerisa@gmail.com>
parents:
diff changeset
   983