src/lte/test/lte-test-ue-measurements.cc
author Tom Henderson <tomh@tomh.org>
Mon, 28 Sep 2015 20:27:25 -0700
changeset 11676 05ea1489e509
parent 11340 435b74dece97
permissions -rw-r--r--
bug 2184: Integer overflow in MacLow
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
     1
/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
     2
/*
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
     3
 * Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
     4
 *
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
     7
 * published by the Free Software Foundation;
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
     8
 *
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    12
 * GNU General Public License for more details.
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    13
 *
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    17
 *
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    18
 * Author: Manuel Requena <manuel.requena@cttc.es>
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    19
 *         Nicola Baldo <nbaldo@cttc.es>
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    20
 *         Marco Miozzo <mmiozzo@cttc.es>
10353
938b6e44ab95 Updated GPL header of GSoC files
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10344
diff changeset
    21
 *         Budiarto Herman <budiarto.herman@magister.fi>
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    22
 */
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    23
10268
020fbd8a5e1a Preliminary UE measurements handover test case
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10267
diff changeset
    24
#include <ns3/simulator.h>
020fbd8a5e1a Preliminary UE measurements handover test case
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10267
diff changeset
    25
#include <ns3/log.h>
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
    26
#include <ns3/callback.h>
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
    27
#include <ns3/config.h>
10268
020fbd8a5e1a Preliminary UE measurements handover test case
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10267
diff changeset
    28
#include <ns3/string.h>
020fbd8a5e1a Preliminary UE measurements handover test case
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10267
diff changeset
    29
#include <ns3/double.h>
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    30
#include <ns3/enum.h>
10268
020fbd8a5e1a Preliminary UE measurements handover test case
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10267
diff changeset
    31
#include <ns3/boolean.h>
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
    32
10268
020fbd8a5e1a Preliminary UE measurements handover test case
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10267
diff changeset
    33
#include <ns3/mobility-helper.h>
020fbd8a5e1a Preliminary UE measurements handover test case
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10267
diff changeset
    34
#include <ns3/lte-helper.h>
10442
a420385d5438 make EpcHelper abstract
Nicola Baldo <nbaldo@cttc.es>
parents: 10377
diff changeset
    35
#include <ns3/point-to-point-epc-helper.h>
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
    36
#include <ns3/internet-stack-helper.h>
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
    37
#include <ns3/point-to-point-helper.h>
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
    38
#include <ns3/ipv4-address-helper.h>
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
    39
#include <ns3/ipv4-static-routing-helper.h>
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
    40
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
    41
#include <ns3/node-container.h>
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
    42
#include <ns3/net-device-container.h>
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
    43
#include <ns3/ipv4-interface-container.h>
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
    44
10268
020fbd8a5e1a Preliminary UE measurements handover test case
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10267
diff changeset
    45
#include <ns3/ff-mac-scheduler.h>
020fbd8a5e1a Preliminary UE measurements handover test case
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10267
diff changeset
    46
#include <ns3/lte-enb-net-device.h>
020fbd8a5e1a Preliminary UE measurements handover test case
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10267
diff changeset
    47
#include <ns3/lte-enb-phy.h>
10013
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
    48
#include <ns3/lte-enb-rrc.h>
10268
020fbd8a5e1a Preliminary UE measurements handover test case
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10267
diff changeset
    49
#include <ns3/lte-ue-net-device.h>
020fbd8a5e1a Preliminary UE measurements handover test case
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10267
diff changeset
    50
#include <ns3/lte-ue-phy.h>
10283
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
    51
#include <ns3/lte-ue-rrc.h>
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
    52
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    53
#include "lte-test-ue-measurements.h"
10013
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
    54
#include <ns3/lte-common.h>
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    55
10553
8c347165bb56 Move tests outside ns3 namespace
Vedran Miletić <rivanvx@gmail.com>
parents: 10442
diff changeset
    56
using namespace ns3;
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    57
10968
2d29fee2b7b8 [Bug 1551] Redux: NS_LOG_COMPONENT_DEFINE inside or outside of ns3 namespace?
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 10892
diff changeset
    58
NS_LOG_COMPONENT_DEFINE ("LteUeMeasurementsTest");
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    59
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
    60
// ===== LTE-UE-MEASUREMENTS TEST SUITE ==================================== //
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
    61
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    62
void
10244
16f92996a675 Preliminary framework for testing UE measurements in piecewise configuration
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10063
diff changeset
    63
ReportUeMeasurementsCallback (LteUeMeasurementsTestCase *testcase,
16f92996a675 Preliminary framework for testing UE measurements in piecewise configuration
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10063
diff changeset
    64
                              std::string path, uint16_t rnti, uint16_t cellId,
16f92996a675 Preliminary framework for testing UE measurements in piecewise configuration
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10063
diff changeset
    65
                              double rsrp, double rsrq, bool servingCell)
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    66
{
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    67
  testcase->ReportUeMeasurements (rnti, cellId, rsrp, rsrq, servingCell);
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    68
}
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    69
10013
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
    70
void
10244
16f92996a675 Preliminary framework for testing UE measurements in piecewise configuration
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10063
diff changeset
    71
RecvMeasurementReportCallback (LteUeMeasurementsTestCase *testcase,
10252
0d3be8ae6b00 UE measurements piecewise test case 1 for Event A1
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10248
diff changeset
    72
                               std::string path, uint64_t imsi, uint16_t cellId,
0d3be8ae6b00 UE measurements piecewise test case 1 for Event A1
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10248
diff changeset
    73
                               uint16_t rnti, LteRrcSap::MeasurementReport meas)
10013
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
    74
{
10252
0d3be8ae6b00 UE measurements piecewise test case 1 for Event A1
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10248
diff changeset
    75
  testcase->RecvMeasurementReport (imsi, cellId, rnti, meas);
10013
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
    76
}
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
    77
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    78
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
    79
/*
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
    80
 * Test Suite
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    81
 */
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    82
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    83
LteUeMeasurementsTestSuite::LteUeMeasurementsTestSuite ()
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    84
  : TestSuite ("lte-ue-measurements", SYSTEM)
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    85
{
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
    86
10063
6b30859ebd37 merge lena-dev with ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 10034
diff changeset
    87
  AddTestCase (new LteUeMeasurementsTestCase ("d1=10, d2=10000",  10.000000, 10000.000000, -53.739702, -113.739702, -3.010305, -63.010305), TestCase::EXTENSIVE);
6b30859ebd37 merge lena-dev with ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 10034
diff changeset
    88
  AddTestCase (new LteUeMeasurementsTestCase ("d1=20, d2=10000",  20.000000, 10000.000000, -59.760302, -113.739702, -3.010319, -56.989719), TestCase::EXTENSIVE);
6b30859ebd37 merge lena-dev with ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 10034
diff changeset
    89
  AddTestCase (new LteUeMeasurementsTestCase ("d1=50, d2=10000",  50.000000, 10000.000000, -67.719102, -113.739702, -3.010421, -49.031021), TestCase::EXTENSIVE);
6b30859ebd37 merge lena-dev with ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 10034
diff changeset
    90
  AddTestCase (new LteUeMeasurementsTestCase ("d1=100, d2=10000",  100.000000, 10000.000000, -73.739702, -113.739702, -3.010783, -43.010783), TestCase::EXTENSIVE);
6b30859ebd37 merge lena-dev with ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 10034
diff changeset
    91
  AddTestCase (new LteUeMeasurementsTestCase ("d1=200, d2=10000",  200.000000, 10000.000000, -79.760302, -113.739702, -3.012232, -36.991632), TestCase::EXTENSIVE);
6b30859ebd37 merge lena-dev with ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 10034
diff changeset
    92
  AddTestCase (new LteUeMeasurementsTestCase ("d1=100, d2=10000",  100.000000, 10000.000000, -73.739702, -113.739702, -3.010783, -43.010783), TestCase::EXTENSIVE);
6b30859ebd37 merge lena-dev with ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 10034
diff changeset
    93
  AddTestCase (new LteUeMeasurementsTestCase ("d1=200, d2=10000",  200.000000, 10000.000000, -79.760302, -113.739702, -3.012232, -36.991632), TestCase::EXTENSIVE);
6b30859ebd37 merge lena-dev with ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 10034
diff changeset
    94
  AddTestCase (new LteUeMeasurementsTestCase ("d1=500, d2=10000",  500.000000, 10000.000000, -87.719102, -113.739702, -3.022359, -29.042959), TestCase::EXTENSIVE);
6b30859ebd37 merge lena-dev with ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 10034
diff changeset
    95
  AddTestCase (new LteUeMeasurementsTestCase ("d1=1000, d2=10000",  1000.000000, 10000.000000, -93.739702, -113.739702, -3.058336, -23.058336), TestCase::EXTENSIVE);
6b30859ebd37 merge lena-dev with ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 10034
diff changeset
    96
  AddTestCase (new LteUeMeasurementsTestCase ("d1=2000, d2=10000",  2000.000000, 10000.000000, -99.760302, -113.739702, -3.199337, -17.178738), TestCase::EXTENSIVE);
6b30859ebd37 merge lena-dev with ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 10034
diff changeset
    97
  AddTestCase (new LteUeMeasurementsTestCase ("d1=5000, d2=10000",  5000.000000, 10000.000000, -107.719102, -113.739702, -4.075793, -10.096393), TestCase::QUICK);
6b30859ebd37 merge lena-dev with ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 10034
diff changeset
    98
  AddTestCase (new LteUeMeasurementsTestCase ("d1=10000, d2=10000",  10000.000000, 10000.000000, -113.739702, -113.739702, -6.257687, -6.257687), TestCase::EXTENSIVE);
6b30859ebd37 merge lena-dev with ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 10034
diff changeset
    99
  AddTestCase (new LteUeMeasurementsTestCase ("d1=20000, d2=10000",  20000.000000, 10000.000000, -119.760302, -113.739702, -10.373365, -4.352765), TestCase::EXTENSIVE);
6b30859ebd37 merge lena-dev with ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 10034
diff changeset
   100
  AddTestCase (new LteUeMeasurementsTestCase ("d1=50000, d2=10000",  50000.000000, 10000.000000, -127.719102, -113.739702, -17.605046, -3.625645), TestCase::EXTENSIVE);
6b30859ebd37 merge lena-dev with ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 10034
diff changeset
   101
  AddTestCase (new LteUeMeasurementsTestCase ("d1=100000, d2=10000",  100000.000000, 10000.000000, -133.739702, -113.739702, -23.511071, -3.511071), TestCase::EXTENSIVE);
6b30859ebd37 merge lena-dev with ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 10034
diff changeset
   102
  AddTestCase (new LteUeMeasurementsTestCase ("d1=200000, d2=10000",  200000.000000, 10000.000000, -139.760302, -113.739702, -29.502549, -3.481949), TestCase::EXTENSIVE);
6b30859ebd37 merge lena-dev with ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 10034
diff changeset
   103
  AddTestCase (new LteUeMeasurementsTestCase ("d1=500000, d2=10000",  500000.000000, 10000.000000, -147.719102, -113.739702, -37.453160, -3.473760), TestCase::EXTENSIVE);
6b30859ebd37 merge lena-dev with ns-3-dev
Nicola Baldo <nbaldo@cttc.es>
parents: 10034
diff changeset
   104
  AddTestCase (new LteUeMeasurementsTestCase ("d1=1000000, d2=10000",  1000000.000000, 10000.000000, -153.739702, -113.739702, -43.472589, -3.472589), TestCase::EXTENSIVE);
10264
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   105
}
10004
b2592d2b98ba Update test-vector for lte-ue-measurements: tests passes
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10000
diff changeset
   106
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   107
static LteUeMeasurementsTestSuite lteUeMeasurementsTestSuite;
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   108
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   109
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   110
/*
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   111
 * Test Case
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   112
 */
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   113
10264
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   114
LteUeMeasurementsTestCase::LteUeMeasurementsTestCase (std::string name,
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   115
                                                      double d1, double d2,
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   116
                                                      double rsrpDbmUe1,
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   117
                                                      double rsrpDbmUe2,
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   118
                                                      double rsrqDbUe1,
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   119
                                                      double rsrqDbUe2)
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   120
  : TestCase (name),
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   121
    m_d1 (d1),
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   122
    m_d2 (d2),
10013
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   123
    m_rsrpDbmUeServingCell (rsrpDbmUe1),
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   124
    m_rsrpDbmUeNeighborCell (rsrpDbmUe2),
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   125
    m_rsrqDbUeServingCell (rsrqDbUe1),
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   126
    m_rsrqDbUeNeighborCell (rsrqDbUe2)
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   127
{
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   128
  NS_LOG_INFO ("Test UE Measurements d1 = " << d1 << " m. and d2 = " << d2 << " m.");
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   129
}
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   130
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   131
LteUeMeasurementsTestCase::~LteUeMeasurementsTestCase ()
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   132
{
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   133
}
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   134
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   135
void
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   136
LteUeMeasurementsTestCase::DoRun (void)
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   137
{
10248
484ab675cfec Added the original A2 and A4 configuration to UE measurements test case
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10244
diff changeset
   138
  NS_LOG_INFO (this << " " << GetName ());
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   139
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   140
  Config::SetDefault ("ns3::LteSpectrumPhy::CtrlErrorModelEnabled", BooleanValue (false));
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   141
  Config::SetDefault ("ns3::LteSpectrumPhy::DataErrorModelEnabled", BooleanValue (false));
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   142
  Config::SetDefault ("ns3::LteAmc::AmcModel", EnumValue (LteAmc::PiroEW2010));
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   143
  Config::SetDefault ("ns3::LteAmc::Ber", DoubleValue (0.00005));
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   144
  Ptr<LteHelper> lteHelper = CreateObject<LteHelper> ();
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   145
  lteHelper->SetAttribute ("PathlossModel", StringValue ("ns3::FriisSpectrumPropagationLossModel"));
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   146
  lteHelper->SetAttribute ("UseIdealRrc", BooleanValue (false));
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   147
10892
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10553
diff changeset
   148
  //Disable Uplink Power Control
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10553
diff changeset
   149
  Config::SetDefault ("ns3::LteUePhy::EnableUplinkPowerControl", BooleanValue (false));
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10553
diff changeset
   150
10344
5aedb1614579 Disabled some logs in LTE module tests
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10343
diff changeset
   151
  // LogComponentEnable ("LteUeMeasurementsTest", LOG_LEVEL_ALL);
10244
16f92996a675 Preliminary framework for testing UE measurements in piecewise configuration
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10063
diff changeset
   152
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   153
  // Create Nodes: eNodeB and UE
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   154
  NodeContainer enbNodes;
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   155
  NodeContainer ueNodes1;
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   156
  NodeContainer ueNodes2;
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   157
  enbNodes.Create (2);
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   158
  ueNodes1.Create (1);
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   159
  ueNodes2.Create (1);
10248
484ab675cfec Added the original A2 and A4 configuration to UE measurements test case
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10244
diff changeset
   160
  NodeContainer allNodes = NodeContainer (enbNodes, ueNodes1, ueNodes2);
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   161
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   162
  // the topology is the following:
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   163
  //         d2
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   164
  //  UE1-----------eNB2
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   165
  //   |             |
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   166
  // d1|             |d1
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   167
  //   |     d2      |
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   168
  //  eNB1----------UE2
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   169
  //
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   170
  Ptr<ListPositionAllocator> positionAlloc = CreateObject<ListPositionAllocator> ();
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   171
  positionAlloc->Add (Vector (0.0, 0.0, 0.0));   // eNB1
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   172
  positionAlloc->Add (Vector (m_d2, m_d1, 0.0)); // eNB2
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   173
  positionAlloc->Add (Vector (0.0, m_d1, 0.0));  // UE1
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   174
  positionAlloc->Add (Vector (m_d2, 0.0, 0.0));  // UE2
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   175
  MobilityHelper mobility;
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   176
  mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   177
  mobility.SetPositionAllocator (positionAlloc);
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   178
  mobility.Install (allNodes);
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   179
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   180
  // Create Devices and install them in the Nodes (eNB and UE)
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   181
  NetDeviceContainer enbDevs;
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   182
  NetDeviceContainer ueDevs1;
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   183
  NetDeviceContainer ueDevs2;
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   184
  lteHelper->SetSchedulerType ("ns3::RrFfMacScheduler");
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   185
  lteHelper->SetSchedulerAttribute ("UlCqiFilter", EnumValue (FfMacScheduler::PUSCH_UL_CQI));
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   186
  enbDevs = lteHelper->InstallEnbDevice (enbNodes);
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   187
  ueDevs1 = lteHelper->InstallUeDevice (ueNodes1);
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   188
  ueDevs2 = lteHelper->InstallUeDevice (ueNodes2);
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   189
10248
484ab675cfec Added the original A2 and A4 configuration to UE measurements test case
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10244
diff changeset
   190
  // Attach UEs to eNodeBs
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   191
  lteHelper->Attach (ueDevs1, enbDevs.Get (0));
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   192
  lteHelper->Attach (ueDevs2, enbDevs.Get (1));
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   193
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   194
  // Activate an EPS bearer
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   195
  enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE;
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   196
  EpsBearer bearer (q);
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   197
  lteHelper->ActivateDataRadioBearer (ueDevs1, bearer);
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   198
  lteHelper->ActivateDataRadioBearer (ueDevs2, bearer);
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   199
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   200
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   201
  Config::Connect ("/NodeList/2/DeviceList/0/LteUePhy/ReportUeMeasurements",
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   202
                   MakeBoundCallback (&ReportUeMeasurementsCallback, this));
10013
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   203
  Config::Connect ("/NodeList/0/DeviceList/0/LteEnbRrc/RecvMeasurementReport",
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   204
                   MakeBoundCallback (&RecvMeasurementReportCallback, this));
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   205
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   206
  Config::Connect ("/NodeList/3/DeviceList/0/LteUePhy/ReportUeMeasurements",
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   207
                   MakeBoundCallback (&ReportUeMeasurementsCallback, this));
10013
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   208
  Config::Connect ("/NodeList/1/DeviceList/0/LteEnbRrc/RecvMeasurementReport",
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   209
                   MakeBoundCallback (&RecvMeasurementReportCallback, this));
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   210
10248
484ab675cfec Added the original A2 and A4 configuration to UE measurements test case
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10244
diff changeset
   211
  // need to allow for RRC connection establishment + SRS
10004
b2592d2b98ba Update test-vector for lte-ue-measurements: tests passes
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10000
diff changeset
   212
  Simulator::Stop (Seconds (0.800));
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   213
  Simulator::Run ();
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   214
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   215
  Simulator::Destroy ();
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   216
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   217
}
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   218
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   219
void
10264
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   220
LteUeMeasurementsTestCase::ReportUeMeasurements (uint16_t rnti, uint16_t cellId,
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   221
                                                 double rsrp, double rsrq,
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   222
                                                 bool servingCell)
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   223
{
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   224
  // need to allow for RRC connection establishment + CQI feedback reception + UE measurements filtering (200 ms)
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   225
  if (Simulator::Now () > MilliSeconds (400))
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   226
    {
10004
b2592d2b98ba Update test-vector for lte-ue-measurements: tests passes
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10000
diff changeset
   227
      if (servingCell)
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   228
        {
10013
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   229
          NS_LOG_DEBUG ("UE serving cellId " << cellId << " Rxed RSRP " << rsrp << " thr " << m_rsrpDbmUeServingCell << " RSRQ " << rsrq << " thr " << m_rsrqDbUeServingCell);
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   230
          NS_TEST_ASSERT_MSG_EQ_TOL (m_rsrpDbmUeServingCell, rsrp, 0.2, "Wrong RSRP UE 1");
10244
16f92996a675 Preliminary framework for testing UE measurements in piecewise configuration
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10063
diff changeset
   231
          NS_TEST_ASSERT_MSG_EQ_TOL (m_rsrqDbUeServingCell, rsrq, 0.2, "Wrong RSRQ UE 1");
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   232
        }
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   233
      else
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   234
        {
10013
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   235
          NS_LOG_DEBUG ("UE neighbor cellId " << cellId << " Rxed RSRP " << rsrp << " thr " << m_rsrpDbmUeNeighborCell << " RSRQ " << rsrq << " thr " << m_rsrqDbUeNeighborCell);
10244
16f92996a675 Preliminary framework for testing UE measurements in piecewise configuration
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10063
diff changeset
   236
          NS_TEST_ASSERT_MSG_EQ_TOL (m_rsrpDbmUeNeighborCell, rsrp, 0.2, "Wrong RSRP UE 2");
16f92996a675 Preliminary framework for testing UE measurements in piecewise configuration
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10063
diff changeset
   237
          NS_TEST_ASSERT_MSG_EQ_TOL (m_rsrqDbUeNeighborCell, rsrq, 0.2, "Wrong RSRQ UE ");
10013
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   238
        }
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   239
    }
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   240
}
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   241
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   242
void
10264
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   243
LteUeMeasurementsTestCase::RecvMeasurementReport (uint64_t imsi, uint16_t cellId, uint16_t rnti,
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   244
                                                  LteRrcSap::MeasurementReport meas)
10013
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   245
{
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   246
  // need to allow for RRC connection establishment + CQI feedback reception + UE measurements filtering (200 ms)
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   247
  if (Simulator::Now () > MilliSeconds (400))
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   248
    {
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   249
      if (cellId == imsi)
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   250
        {
10244
16f92996a675 Preliminary framework for testing UE measurements in piecewise configuration
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10063
diff changeset
   251
          NS_LOG_DEBUG (this << "Serving Cell: received IMSI " << imsi << " CellId " << cellId << " RNTI " << rnti
16f92996a675 Preliminary framework for testing UE measurements in piecewise configuration
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10063
diff changeset
   252
                             << " thr " << (uint16_t) EutranMeasurementMapping::Dbm2RsrpRange (m_rsrpDbmUeServingCell)
16f92996a675 Preliminary framework for testing UE measurements in piecewise configuration
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10063
diff changeset
   253
                             << " RSRP " << (uint16_t) meas.measResults.rsrpResult
16f92996a675 Preliminary framework for testing UE measurements in piecewise configuration
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10063
diff changeset
   254
                             << " RSRQ " << (uint16_t)meas.measResults.rsrqResult
16f92996a675 Preliminary framework for testing UE measurements in piecewise configuration
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10063
diff changeset
   255
                             << " thr " << (uint16_t) EutranMeasurementMapping::Db2RsrqRange (m_rsrqDbUeServingCell));
10264
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   256
          NS_TEST_ASSERT_MSG_EQ (meas.measResults.rsrpResult,
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   257
                                 EutranMeasurementMapping::Dbm2RsrpRange (m_rsrpDbmUeServingCell),
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   258
                                 "Wrong RSRP ");
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   259
          NS_TEST_ASSERT_MSG_EQ (meas.measResults.rsrqResult,
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   260
                                 EutranMeasurementMapping::Db2RsrqRange (m_rsrqDbUeServingCell),
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   261
                                 "Wrong RSRQ ");
10013
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   262
        }
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   263
      else
48a4b87cd5de Update lte-ue-measurements test with test on RSRP/RSRQ reception at LteEnbRrc
Marco Miozzo <marco.miozzo@cttc.es>
parents: 10005
diff changeset
   264
        {
10244
16f92996a675 Preliminary framework for testing UE measurements in piecewise configuration
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10063
diff changeset
   265
          NS_LOG_DEBUG (this << "Neighbor cell: received IMSI " << imsi << " CellId " << cellId << " RNTI " << rnti
16f92996a675 Preliminary framework for testing UE measurements in piecewise configuration
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10063
diff changeset
   266
                             << " thr " << (uint16_t) EutranMeasurementMapping::Dbm2RsrpRange (m_rsrpDbmUeNeighborCell)
16f92996a675 Preliminary framework for testing UE measurements in piecewise configuration
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10063
diff changeset
   267
                             << " RSRP " << (uint16_t) meas.measResults.rsrpResult
16f92996a675 Preliminary framework for testing UE measurements in piecewise configuration
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10063
diff changeset
   268
                             << " RSRQ " << (uint16_t)meas.measResults.rsrqResult
16f92996a675 Preliminary framework for testing UE measurements in piecewise configuration
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10063
diff changeset
   269
                             << " thr " << (uint16_t) EutranMeasurementMapping::Db2RsrqRange (m_rsrqDbUeNeighborCell));
10264
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   270
          NS_TEST_ASSERT_MSG_EQ (meas.measResults.rsrpResult,
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   271
                                 EutranMeasurementMapping::Dbm2RsrpRange (m_rsrpDbmUeNeighborCell),
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   272
                                 "Wrong RSRP ");
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   273
          NS_TEST_ASSERT_MSG_EQ (meas.measResults.rsrqResult,
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   274
                                 EutranMeasurementMapping::Db2RsrqRange (m_rsrqDbUeNeighborCell),
7f1cb2908ce3 UE measurements piecewise test case 2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10261
diff changeset
   275
                                 "Wrong RSRQ ");
10000
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   276
        }
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   277
    }
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   278
}
2c29c6f2bddf Add TestSuite for UE Measurements: on-going work, test does not pass
Marco Miozzo <marco.miozzo@cttc.es>
parents:
diff changeset
   279
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   281
// ===== LTE-UE-MEASUREMENTS-PIECEWISE-1 TEST SUITE ======================== //
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   282
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   283
/*
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   284
 * Overloaded operators, for the convenience of defining test cases
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   285
 */
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   286
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   287
std::vector<Time>&
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   288
operator<< (std::vector<Time>& v, const uint64_t& ms)
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   289
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   290
  /*
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   291
   * Prior attempt to use seconds as unit of choice resulted in precision lost.
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   292
   * Therefore milliseconds are used now instead.
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   293
   */
10377
efe5d9a94cb9 Renamed UE_MEASUREMENTS_DELAY to UE_MEASUREMENT_REPORT_DELAY in LteUeRrc
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10353
diff changeset
   294
  v.push_back (MilliSeconds (ms) + UE_MEASUREMENT_REPORT_DELAY);
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   295
  return v;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   296
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   297
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   298
std::vector<uint8_t>&
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   299
operator<< (std::vector<uint8_t>& v, const uint8_t& range)
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   300
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   301
  v.push_back (range);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   302
  return v;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   303
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   304
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   305
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   306
/*
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   307
 * Test Suite
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   308
 */
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   309
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   310
LteUeMeasurementsPiecewiseTestSuite1::LteUeMeasurementsPiecewiseTestSuite1 ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   311
  : TestSuite ("lte-ue-measurements-piecewise-1", SYSTEM)
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   312
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   313
  std::vector<Time> expectedTime;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   314
  std::vector<uint8_t> expectedRsrp;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   315
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   316
  // === Event A1 (serving cell becomes better than threshold) ===
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   317
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   318
  // With very low threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   319
  LteRrcSap::ReportConfigEutra config;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   320
  config.triggerType = LteRrcSap::ReportConfigEutra::EVENT;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   321
  config.eventId = LteRrcSap::ReportConfigEutra::EVENT_A1;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   322
  config.threshold1.choice = LteRrcSap::ThresholdEutra::THRESHOLD_RSRP;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   323
  config.threshold1.range = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   324
  config.triggerQuantity = LteRrcSap::ReportConfigEutra::RSRP;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   325
  config.reportInterval = LteRrcSap::ReportConfigEutra::MS120;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   326
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   327
  expectedTime << 200 << 320 << 440 << 560 << 680 << 800 << 920 << 1040 << 1160 << 1280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   328
               << 1400 << 1520 << 1640 << 1760 << 1880 << 2000 << 2120;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   329
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   330
  expectedRsrp << 67 << 67 << 57 << 57 << 66 << 47 << 47 << 66 << 66 << 57
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   331
               << 51 << 51 << 47 << 47 << 51 << 57 << 57;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   332
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase1 ("Piecewise test case 1 - Event A1 with very low threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   333
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   334
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   335
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   336
  // With normal threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   337
  config.threshold1.range = 54;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   338
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   339
  expectedTime << 200 << 320 << 440 << 560 << 680 << 1000 << 1120 << 1240 << 1360 << 2000
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   340
               << 2120;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   341
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   342
  expectedRsrp << 67 << 67 << 57 << 57 << 66 << 66 << 66 << 57 << 57 << 57
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   343
               << 57;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   344
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase1 ("Piecewise test case 1 - Event A1 with normal threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   345
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   346
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   347
10283
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   348
  // With short time-to-trigger
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   349
  config.timeToTrigger = 64;
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   350
  expectedTime.clear ();
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   351
  expectedTime << 264 << 384 << 504 << 624 << 744 << 1064 << 1184 << 1304 << 1424 << 2064
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   352
               << 2184;
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   353
  expectedRsrp.clear ();
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   354
  expectedRsrp << 67 << 67 << 57 << 66 << 66 << 66 << 66 << 57 << 51 << 57
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   355
               << 57;
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   356
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase1 ("Piecewise test case 1 - Event A1 with short time-to-trigger",
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   357
                                                        config, expectedTime, expectedRsrp),
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   358
               TestCase::QUICK);
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   359
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   360
  // With long time-to-trigger
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   361
  config.timeToTrigger = 128;
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   362
  expectedTime.clear ();
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   363
  expectedTime << 328 << 448 << 568 << 688 << 808 << 1128 << 1248 << 1368 << 1488 << 2128;
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   364
  expectedRsrp.clear ();
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   365
  expectedRsrp << 67 << 57 << 57 << 66 << 47 << 66 << 57 << 57 << 51 << 57;
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   366
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase1 ("Piecewise test case 1 - Event A1 with long time-to-trigger",
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   367
                                                        config, expectedTime, expectedRsrp),
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   368
               TestCase::EXTENSIVE);
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   369
10284
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   370
  // With super time-to-trigger
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   371
  config.timeToTrigger = 256;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   372
  expectedTime.clear ();
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   373
  expectedTime << 456 << 576 << 696 << 816 << 936 << 1056 << 1176 << 1296 << 1416 << 1536;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   374
  expectedRsrp.clear ();
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   375
  expectedRsrp << 57 << 57 << 66 << 47 << 47 << 66 << 66 << 57 << 51 << 51;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   376
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase1 ("Piecewise test case 1 - Event A1 with super time-to-trigger",
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   377
                                                        config, expectedTime, expectedRsrp),
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   378
               TestCase::EXTENSIVE);
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   379
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   380
  // With hysteresis
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   381
  config.hysteresis = 8;
10283
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   382
  config.timeToTrigger = 0;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   383
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   384
  expectedTime << 200 << 320 << 440 << 560 << 680 << 1000 << 1120 << 1240 << 1360 << 1480
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   385
               << 2200;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   386
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   387
  expectedRsrp << 67 << 67 << 57 << 57 << 66 << 66 << 66 << 57 << 57 << 51
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   388
               << 67;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   389
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase1 ("Piecewise test case 1 - Event A1 with hysteresis",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   390
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   391
               TestCase::QUICK);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   392
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   393
  // With very high threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   394
  config.threshold1.range = 97;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   395
  config.hysteresis = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   396
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   397
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   398
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase1 ("Piecewise test case 1 - Event A1 with very high threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   399
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   400
               TestCase::TAKES_FOREVER);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   401
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   402
  // === Event A2 (serving cell becomes worse than threshold) ===
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   403
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   404
  // With very low threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   405
  config.eventId = LteRrcSap::ReportConfigEutra::EVENT_A2;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   406
  config.threshold1.range = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   407
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   408
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   409
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase1 ("Piecewise test case 1 - Event A2 with very low threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   410
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   411
               TestCase::TAKES_FOREVER);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   412
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   413
  // With normal threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   414
  config.threshold1.range = 54;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   415
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   416
  expectedTime << 800 << 920 << 1400 << 1520 << 1640 << 1760 << 1880;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   417
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   418
  expectedRsrp << 47 << 47 << 51 << 51 << 47 << 47 << 51;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   419
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase1 ("Piecewise test case 1 - Event A2 with normal threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   420
                                                        config, expectedTime, expectedRsrp),
10283
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   421
               TestCase::QUICK);
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   422
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   423
  // With short time-to-trigger
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   424
  config.timeToTrigger = 64;
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   425
  expectedTime.clear ();
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   426
  expectedTime << 864 << 984 << 1464 << 1584 << 1704 << 1824 << 1944;
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   427
  expectedRsrp.clear ();
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   428
  expectedRsrp << 47 << 47 << 51 << 51 << 47 << 51 << 51;
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   429
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase1 ("Piecewise test case 1 - Event A2 with short time-to-trigger",
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   430
                                                        config, expectedTime, expectedRsrp),
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   431
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   432
10283
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   433
  // With long time-to-trigger
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   434
  config.timeToTrigger = 128;
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   435
  expectedTime.clear ();
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   436
  expectedTime << 928 << 1048 << 1528 << 1648 << 1768 << 1888 << 2008;
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   437
  expectedRsrp.clear ();
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   438
  expectedRsrp << 47 << 66 << 51 << 47 << 47 << 51 << 57;
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   439
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase1 ("Piecewise test case 1 - Event A2 with long time-to-trigger",
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   440
                                                        config, expectedTime, expectedRsrp),
10284
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   441
               TestCase::TAKES_FOREVER);
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   442
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   443
  // With super time-to-trigger
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   444
  config.timeToTrigger = 256;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   445
  expectedTime.clear ();
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   446
  expectedTime << 1656 << 1776 << 1896 << 2016 << 2136;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   447
  expectedRsrp.clear ();
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   448
  expectedRsrp << 47 << 47 << 51 << 57 << 57;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   449
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase1 ("Piecewise test case 1 - Event A2 with super time-to-trigger",
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   450
                                                        config, expectedTime, expectedRsrp),
10283
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   451
               TestCase::QUICK);
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   452
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   453
  // With hysteresis
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   454
  config.hysteresis = 8;
10283
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   455
  config.timeToTrigger = 0;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   456
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   457
  expectedTime << 800 << 920 << 1600 << 1720 << 1840 << 1960 << 2080;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   458
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   459
  expectedRsrp << 47 << 47 << 47 << 47 << 51 << 51 << 57;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   460
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase1 ("Piecewise test case 1 - Event A2 with hysteresis",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   461
                                                        config, expectedTime, expectedRsrp),
10283
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   462
               TestCase::EXTENSIVE);
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   463
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   464
  // With very high threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   465
  config.threshold1.range = 97;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   466
  config.hysteresis = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   467
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   468
  expectedTime << 200 << 320 << 440 << 560 << 680 << 800 << 920 << 1040 << 1160 << 1280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   469
               << 1400 << 1520 << 1640 << 1760 << 1880 << 2000 << 2120;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   470
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   471
  expectedRsrp << 67 << 67 << 57 << 57 << 66 << 47 << 47 << 66 << 66 << 57
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   472
               << 51 << 51 << 47 << 47 << 51 << 57 << 57;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   473
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase1 ("Piecewise test case 1 - Event A2 with very high threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   474
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   475
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   476
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   477
  /*
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   478
   * Event A3, A4, and A5 are not tested intensively here because they depend on
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   479
   * the existence of at least one neighbouring cell, which is not available in
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   480
   * this configuration. Piecewise configuration #2 includes a neighbouring
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   481
   * cell, hence more thorough tests on these events are performed there.
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   482
   */
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   483
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   484
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   485
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   486
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   487
  // === Event A3 (neighbour becomes offset better than PCell) ===
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   488
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   489
  config.eventId = LteRrcSap::ReportConfigEutra::EVENT_A3;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   490
  config.a3Offset = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   491
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase1 ("Piecewise test case 1 - Event A3",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   492
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   493
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   494
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   495
  // === Event A4 (neighbour becomes better than threshold) ===
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   496
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   497
  config.eventId = LteRrcSap::ReportConfigEutra::EVENT_A4;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   498
  config.threshold1.range = 54;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   499
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase1 ("Piecewise test case 1 - Event A4",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   500
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   501
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   502
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   503
  // === Event A5 (PCell becomes worse than absolute threshold1 AND neighbour becomes better than another absolute threshold2) ===
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   504
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   505
  config.eventId = LteRrcSap::ReportConfigEutra::EVENT_A5;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   506
  config.threshold2.range = 58;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   507
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase1 ("Piecewise test case 1 - Event A5",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   508
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   509
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   510
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   511
} // end of LteUeMeasurementsPiecewiseTestSuite1::LteUeMeasurementsPiecewiseTestSuite1
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   512
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   513
static LteUeMeasurementsPiecewiseTestSuite1 lteUeMeasurementsPiecewiseTestSuite1;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   514
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   515
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   516
/*
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   517
 * Test Case
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   518
 */
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   519
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   520
LteUeMeasurementsPiecewiseTestCase1::LteUeMeasurementsPiecewiseTestCase1 (
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   521
  std::string name, LteRrcSap::ReportConfigEutra config,
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   522
  std::vector<Time> expectedTime, std::vector<uint8_t> expectedRsrp)
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   523
  : TestCase (name),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   524
    m_config (config),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   525
    m_expectedTime (expectedTime),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   526
    m_expectedRsrp (expectedRsrp)
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   527
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   528
  // input sanity check
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   529
  uint16_t size = m_expectedTime.size ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   530
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   531
  if (size != m_expectedRsrp.size ())
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   532
    {
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   533
      NS_FATAL_ERROR ("Vectors of expected results are not of the same size");
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   534
    }
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   535
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   536
  m_itExpectedTime = m_expectedTime.begin ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   537
  m_itExpectedRsrp = m_expectedRsrp.begin ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   538
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   539
  NS_LOG_INFO (this << " name=" << name);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   540
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   541
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   542
LteUeMeasurementsPiecewiseTestCase1::~LteUeMeasurementsPiecewiseTestCase1 ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   543
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   544
  NS_LOG_FUNCTION (this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   545
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   546
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   547
void
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   548
LteUeMeasurementsPiecewiseTestCase1::DoRun ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   549
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   550
  NS_LOG_INFO (this << " " << GetName ());
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   551
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   552
  Ptr<LteHelper> lteHelper = CreateObject<LteHelper> ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   553
  lteHelper->SetAttribute ("PathlossModel",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   554
                           StringValue ("ns3::FriisSpectrumPropagationLossModel"));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   555
  lteHelper->SetAttribute ("UseIdealRrc", BooleanValue (true));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   556
10892
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10553
diff changeset
   557
  //Disable Uplink Power Control
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10553
diff changeset
   558
  Config::SetDefault ("ns3::LteUePhy::EnableUplinkPowerControl", BooleanValue (false));
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10553
diff changeset
   559
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   560
  // Create Nodes: eNodeB and UE
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   561
  NodeContainer enbNodes;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   562
  NodeContainer ueNodes;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   563
  enbNodes.Create (1);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   564
  ueNodes.Create (1);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   565
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   566
  /*
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   567
   * The topology is the following:
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   568
   *
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   569
   * eNodeB     UE
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   570
   *    |       |
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   571
   *    x ----- x --------- x --------------- x ------------------- x
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   572
   *      100 m |   200 m   |      300 m      |        400 m        |
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   573
   *            |           |                 |                     |
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   574
   *         VeryNear      Near              Far                 VeryFar
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   575
   */
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   576
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   577
  Ptr<ListPositionAllocator> positionAlloc = CreateObject<ListPositionAllocator> ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   578
  positionAlloc->Add (Vector (0.0, 0.0, 0.0)); // eNodeB
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   579
  positionAlloc->Add (Vector (100.0, 0.0, 0.0)); // UE
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   580
  MobilityHelper mobility;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   581
  mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   582
  mobility.SetPositionAllocator (positionAlloc);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   583
  mobility.Install (enbNodes);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   584
  mobility.Install (ueNodes);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   585
  m_ueMobility = ueNodes.Get (0)->GetObject<MobilityModel> ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   586
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   587
  // Disable layer-3 filtering
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   588
  Config::SetDefault ("ns3::LteEnbRrc::RsrpFilterCoefficient",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   589
                      UintegerValue (0));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   590
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   591
  // Create Devices and install them in the Nodes (eNB and UE)
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   592
  NetDeviceContainer enbDevs;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   593
  NetDeviceContainer ueDevs;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   594
  lteHelper->SetSchedulerType ("ns3::RrFfMacScheduler");
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   595
  lteHelper->SetSchedulerAttribute ("UlCqiFilter",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   596
                                    EnumValue (FfMacScheduler::PUSCH_UL_CQI));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   597
  enbDevs = lteHelper->InstallEnbDevice (enbNodes);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   598
  ueDevs = lteHelper->InstallUeDevice (ueNodes);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   599
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   600
  // Setup UE measurement configuration
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   601
  Ptr<LteEnbRrc> enbRrc = enbDevs.Get (0)->GetObject<LteEnbNetDevice> ()->GetRrc ();
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   602
  m_expectedMeasId = enbRrc->AddUeMeasReportConfig (m_config);
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   603
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   604
  // Attach UE to eNodeB
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   605
  lteHelper->Attach (ueDevs.Get (0), enbDevs.Get (0));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   606
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   607
  // Activate an EPS bearer
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   608
  enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   609
  EpsBearer bearer (q);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   610
  lteHelper->ActivateDataRadioBearer (ueDevs, bearer);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   611
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   612
  // Connect to trace sources
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   613
  Config::Connect ("/NodeList/0/DeviceList/0/LteEnbRrc/RecvMeasurementReport",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   614
                   MakeCallback (&LteUeMeasurementsPiecewiseTestCase1::RecvMeasurementReportCallback,
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   615
                                 this));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   616
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   617
  /*
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   618
   * Schedule "teleports"
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   619
   *          0                   1                   2
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   620
   *          +-------------------+-------------------+---------> time
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   621
   * VeryNear |------  ----    ----                    --------
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   622
   *     Near |                    ----            ----
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   623
   *      Far |                        ----    ----
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   624
   *  VeryFar |      --    ----            ----
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   625
   */
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   626
  Simulator::Schedule (MilliSeconds (301),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   627
                       &LteUeMeasurementsPiecewiseTestCase1::TeleportVeryFar, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   628
  Simulator::Schedule (MilliSeconds (401),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   629
                       &LteUeMeasurementsPiecewiseTestCase1::TeleportVeryNear, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   630
  Simulator::Schedule (MilliSeconds (601),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   631
                       &LteUeMeasurementsPiecewiseTestCase1::TeleportVeryFar, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   632
  Simulator::Schedule (MilliSeconds (801),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   633
                       &LteUeMeasurementsPiecewiseTestCase1::TeleportVeryNear, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   634
  Simulator::Schedule (MilliSeconds (1001),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   635
                       &LteUeMeasurementsPiecewiseTestCase1::TeleportNear, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   636
  Simulator::Schedule (MilliSeconds (1201),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   637
                       &LteUeMeasurementsPiecewiseTestCase1::TeleportFar, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   638
  Simulator::Schedule (MilliSeconds (1401),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   639
                       &LteUeMeasurementsPiecewiseTestCase1::TeleportVeryFar, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   640
  Simulator::Schedule (MilliSeconds (1601),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   641
                       &LteUeMeasurementsPiecewiseTestCase1::TeleportFar, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   642
  Simulator::Schedule (MilliSeconds (1801),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   643
                       &LteUeMeasurementsPiecewiseTestCase1::TeleportNear, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   644
  Simulator::Schedule (MilliSeconds (2001),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   645
                       &LteUeMeasurementsPiecewiseTestCase1::TeleportVeryNear, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   646
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   647
  // Run simulation
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   648
  Simulator::Stop (Seconds (2.201));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   649
  Simulator::Run ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   650
  Simulator::Destroy ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   651
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   652
} // end of void LteUeMeasurementsPiecewiseTestCase1::DoRun ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   653
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   654
void
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   655
LteUeMeasurementsPiecewiseTestCase1::DoTeardown ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   656
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   657
  NS_LOG_FUNCTION (this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   658
  bool hasEnded = m_itExpectedTime == m_expectedTime.end ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   659
  NS_TEST_ASSERT_MSG_EQ (hasEnded, true,
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   660
                         "Reporting should have occurred at " << m_itExpectedTime->GetSeconds () << "s");
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   661
  hasEnded = m_itExpectedRsrp == m_expectedRsrp.end ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   662
  NS_ASSERT (hasEnded);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   663
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   664
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   665
void
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   666
LteUeMeasurementsPiecewiseTestCase1::RecvMeasurementReportCallback (
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   667
  std::string context, uint64_t imsi, uint16_t cellId, uint16_t rnti,
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   668
  LteRrcSap::MeasurementReport report)
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   669
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   670
  NS_LOG_FUNCTION (this << context);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   671
  NS_ASSERT (rnti == 1);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   672
  NS_ASSERT (cellId == 1);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   673
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   674
  if (report.measResults.measId == m_expectedMeasId)
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   675
    {
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   676
      // verifying the report completeness
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   677
      LteRrcSap::MeasResults measResults = report.measResults;
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   678
      NS_LOG_DEBUG (this << " rsrp=" << (uint16_t) measResults.rsrpResult
10338
f98a0e8e847f Fixed unused variables in UE measurements test
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10318
diff changeset
   679
                         << " (" << EutranMeasurementMapping::RsrpRange2Dbm (measResults.rsrpResult) << " dBm)"
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   680
                         << " rsrq=" << (uint16_t) measResults.rsrqResult
10338
f98a0e8e847f Fixed unused variables in UE measurements test
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10318
diff changeset
   681
                         << " (" << EutranMeasurementMapping::RsrqRange2Db (measResults.rsrqResult) << " dB)");
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   682
      NS_TEST_ASSERT_MSG_EQ (measResults.haveMeasResultNeighCells, false,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   683
                             "Report should not have neighboring cells information");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   684
      NS_TEST_ASSERT_MSG_EQ (measResults.measResultListEutra.size (), 0,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   685
                             "Unexpected report size");
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   686
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   687
      bool hasEnded = m_itExpectedTime == m_expectedTime.end ();
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   688
      NS_TEST_ASSERT_MSG_EQ (hasEnded, false,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   689
                             "Reporting should not have occurred at "
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   690
                             << Simulator::Now ().GetSeconds () << "s");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   691
      if (!hasEnded)
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   692
        {
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   693
          hasEnded = m_itExpectedRsrp == m_expectedRsrp.end ();
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   694
          NS_ASSERT (!hasEnded);
10283
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   695
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   696
          // using milliseconds to avoid floating-point comparison
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   697
          uint64_t timeNowMs = Simulator::Now ().GetMilliSeconds ();
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   698
          uint64_t timeExpectedMs = m_itExpectedTime->GetMilliSeconds ();
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   699
          m_itExpectedTime++;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   700
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   701
          uint16_t observedRsrp = measResults.rsrpResult;
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   702
          uint16_t referenceRsrp = *m_itExpectedRsrp;
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   703
          m_itExpectedRsrp++;
10283
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   704
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   705
          NS_TEST_ASSERT_MSG_EQ (timeNowMs, timeExpectedMs,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   706
                                 "Reporting should not have occurred at this time");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   707
          NS_TEST_ASSERT_MSG_EQ (observedRsrp, referenceRsrp,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   708
                                 "The RSRP observed differs with the reference RSRP");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   709
        } // end of if (!hasEnded)
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   710
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
   711
    } // end of if (measResults.measId == m_expectedMeasId)
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   712
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   713
} // end of LteUeMeasurementsPiecewiseTestCase1::RecvMeasurementReportCallback
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   714
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   715
void
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   716
LteUeMeasurementsPiecewiseTestCase1::TeleportVeryNear ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   717
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   718
  NS_LOG_FUNCTION (this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   719
  m_ueMobility->SetPosition (Vector (100.0, 0.0, 0.0));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   720
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   721
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   722
void
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   723
LteUeMeasurementsPiecewiseTestCase1::TeleportNear ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   724
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   725
  NS_LOG_FUNCTION (this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   726
  m_ueMobility->SetPosition (Vector (300.0, 0.0, 0.0));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   727
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   728
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   729
void
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   730
LteUeMeasurementsPiecewiseTestCase1::TeleportFar ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   731
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   732
  NS_LOG_FUNCTION (this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   733
  m_ueMobility->SetPosition (Vector (600.0, 0.0, 0.0));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   734
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   735
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   736
void
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   737
LteUeMeasurementsPiecewiseTestCase1::TeleportVeryFar ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   738
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   739
  NS_LOG_FUNCTION (this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   740
  m_ueMobility->SetPosition (Vector (1000.0, 0.0, 0.0));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   741
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   742
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   743
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   744
// ===== LTE-UE-MEASUREMENTS-PIECEWISE-2 TEST SUITE ======================== //
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   745
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   746
/*
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   747
 * Test Suite
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   748
 */
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   749
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   750
LteUeMeasurementsPiecewiseTestSuite2::LteUeMeasurementsPiecewiseTestSuite2 ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   751
  : TestSuite ("lte-ue-measurements-piecewise-2", SYSTEM)
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   752
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   753
  std::vector<Time> expectedTime;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   754
  std::vector<uint8_t> expectedRsrp;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   755
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   756
  /*
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   757
   * Higher level of fullness/duration are given to Event A1 and A2 because they
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   758
   * are supposed to be more intensively tested in Piecewise configuration #1.
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   759
   */
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   760
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   761
  // === Event A1 (serving cell becomes better than threshold) ===
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   762
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   763
  // With very low threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   764
  LteRrcSap::ReportConfigEutra config;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   765
  config.triggerType = LteRrcSap::ReportConfigEutra::EVENT;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   766
  config.eventId = LteRrcSap::ReportConfigEutra::EVENT_A1;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   767
  config.threshold1.choice = LteRrcSap::ThresholdEutra::THRESHOLD_RSRP;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   768
  config.threshold1.range = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   769
  config.triggerQuantity = LteRrcSap::ReportConfigEutra::RSRP;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   770
  config.reportInterval = LteRrcSap::ReportConfigEutra::MS240;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   771
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   772
  expectedTime << 200 << 440 << 680 << 920 << 1160 << 1400 << 1640 << 1880 << 2120;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   773
  expectedRsrp.clear ();
10283
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   774
  expectedRsrp << 73 << 63 << 72 << 52 << 72 << 56 << 52 << 56 << 59;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   775
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A1 with very low threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   776
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   777
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   778
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   779
  // With normal threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   780
  config.threshold1.range = 58;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   781
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   782
  expectedTime << 200 << 440 << 680 << 1000 << 1240 << 2000;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   783
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   784
  expectedRsrp << 73 << 63 << 72 << 72 << 59 << 59;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   785
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A1 with normal threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   786
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   787
               TestCase::TAKES_FOREVER);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   788
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   789
  // With hysteresis
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   790
  config.hysteresis = 6;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   791
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   792
  expectedTime << 200 << 440 << 680 << 1000 << 1240 << 1480 << 2200;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   793
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   794
  expectedRsrp << 73 << 63 << 72 << 72 << 59 << 56 << 72;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   795
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A1 with hysteresis",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   796
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   797
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   798
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   799
  // With very high threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   800
  config.threshold1.range = 97;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   801
  config.hysteresis = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   802
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   803
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   804
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A1 with very high threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   805
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   806
               TestCase::TAKES_FOREVER);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   807
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   808
  // === Event A2 (serving cell becomes worse than threshold) ===
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   809
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   810
  // With very low threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   811
  config.eventId = LteRrcSap::ReportConfigEutra::EVENT_A2;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   812
  config.threshold1.range = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   813
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   814
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   815
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A2 with very low threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   816
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   817
               TestCase::TAKES_FOREVER);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   818
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   819
  // With normal threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   820
  config.threshold1.range = 58;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   821
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   822
  expectedTime << 800 << 1400 << 1640 << 1880;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   823
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   824
  expectedRsrp << 52 << 56 << 52 << 56;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   825
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A2 with normal threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   826
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   827
               TestCase::TAKES_FOREVER);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   828
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   829
  // With hysteresis
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   830
  config.hysteresis = 6;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   831
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   832
  expectedTime << 800 << 1600 << 1840 << 2080;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   833
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   834
  expectedRsrp << 52 << 52 << 56 << 59;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   835
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A2 with hysteresis",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   836
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   837
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   838
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   839
  // With very high threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   840
  config.threshold1.range = 97;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   841
  config.hysteresis = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   842
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   843
  expectedTime << 200 << 440 << 680 << 920 << 1160 << 1400 << 1640 << 1880 << 2120;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   844
  expectedRsrp.clear ();
10283
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   845
  expectedRsrp << 73 << 63 << 72 << 52 << 72 << 56 << 52 << 56 << 59;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   846
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A2 with very high threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   847
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   848
               TestCase::TAKES_FOREVER);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   849
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   850
  // === Event A3 (neighbour becomes offset better than PCell) ===
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   851
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   852
  // With positive offset
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   853
  config.eventId = LteRrcSap::ReportConfigEutra::EVENT_A3;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   854
  config.threshold1.range = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   855
  config.a3Offset = 7;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   856
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   857
  expectedTime << 800 << 1600;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   858
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   859
  expectedRsrp << 52 << 52;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   860
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A3 with positive offset",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   861
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   862
               TestCase::QUICK);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   863
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   864
  // With zero offset
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   865
  config.a3Offset = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   866
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   867
  expectedTime << 800 << 1400 << 1640 << 1880;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   868
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   869
  expectedRsrp << 52 << 56 << 52 << 56;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   870
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A3 with zero offset",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   871
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   872
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   873
10284
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   874
  // With short time-to-trigger
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   875
  config.timeToTrigger = 160;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   876
  expectedTime.clear ();
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   877
  expectedTime << 960 << 1560 << 1800 << 2040;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   878
  expectedRsrp.clear ();
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   879
  expectedRsrp << 52 << 56 << 56 << 59;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   880
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A3 with short time-to-trigger",
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   881
                                                        config, expectedTime, expectedRsrp),
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   882
               TestCase::EXTENSIVE);
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   883
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   884
  // With super time-to-trigger
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   885
  config.timeToTrigger = 320;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   886
  expectedTime.clear ();
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   887
  expectedTime << 1720 << 1960 << 2200;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   888
  expectedRsrp.clear ();
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   889
  expectedRsrp << 52 << 56 << 72;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   890
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A3 with super time-to-trigger",
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   891
                                                        config, expectedTime, expectedRsrp),
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   892
               TestCase::QUICK);
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   893
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
   894
  // With hysteresis and reportOnLeave
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   895
  config.hysteresis = 6;
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
   896
  config.reportOnLeave = true;
10284
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   897
  config.timeToTrigger = 0;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   898
  expectedTime.clear ();
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
   899
  expectedTime << 800 << 1000 << 1600 << 1840 << 2080 << 2200;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   900
  expectedRsrp.clear ();
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
   901
  expectedRsrp << 52 << 72 << 52 << 56 << 59 << 72;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   902
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A3 with hysteresis",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   903
                                                        config, expectedTime, expectedRsrp),
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
   904
               TestCase::QUICK);
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   905
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   906
  // With negative offset
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   907
  config.a3Offset = -7;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   908
  config.hysteresis = 0;
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
   909
  config.reportOnLeave = false;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   910
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   911
  expectedTime << 400 << 800 << 1200 << 1440 << 1680 << 1920 << 2160;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   912
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   913
  expectedRsrp << 63 << 52 << 59 << 56 << 52 << 56 << 59;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   914
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A3 with negative offset",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   915
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   916
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   917
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   918
  // === Event A4 (neighbour becomes better than threshold) ===
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   919
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   920
  // With very low threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   921
  config.eventId = LteRrcSap::ReportConfigEutra::EVENT_A4;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   922
  config.threshold1.range = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   923
  config.a3Offset = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   924
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   925
  expectedTime << 200 << 440 << 680 << 920 << 1160 << 1400 << 1640 << 1880 << 2120;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   926
  expectedRsrp.clear ();
10283
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
   927
  expectedRsrp << 73 << 63 << 72 << 52 << 72 << 56 << 52 << 56 << 59;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   928
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A4 with very low threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   929
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   930
               TestCase::QUICK);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   931
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   932
  // With normal threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   933
  config.threshold1.range = 58;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   934
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   935
  expectedTime << 400 << 800 << 1400 << 1640 << 1880;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   936
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   937
  expectedRsrp << 63 << 52 << 56 << 52 << 56;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   938
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A4 with normal threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   939
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   940
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   941
10284
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   942
  // With short time-to-trigger
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   943
  config.timeToTrigger = 160;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   944
  expectedTime.clear ();
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   945
  expectedTime << 560 << 960 << 1560 << 1800 << 2040;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   946
  expectedRsrp.clear ();
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   947
  expectedRsrp << 63 << 52 << 56 << 56 << 59;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   948
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A4 with short time-to-trigger",
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   949
                                                        config, expectedTime, expectedRsrp),
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   950
               TestCase::QUICK);
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   951
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   952
  // With super time-to-trigger
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   953
  config.timeToTrigger = 320;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   954
  expectedTime.clear ();
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   955
  expectedTime << 1720 << 1960 << 2200;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   956
  expectedRsrp.clear ();
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   957
  expectedRsrp << 52 << 56 << 72;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   958
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A4 with super time-to-trigger",
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   959
                                                        config, expectedTime, expectedRsrp),
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   960
               TestCase::TAKES_FOREVER);
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   961
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   962
  // With hysteresis
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   963
  config.hysteresis = 6;
10284
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
   964
  config.timeToTrigger = 0;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   965
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   966
  expectedTime << 400 << 800 << 1600 << 1840 << 2080;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   967
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   968
  expectedRsrp << 63 << 52 << 52 << 56 << 59;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   969
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A4 with hysteresis",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   970
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   971
               TestCase::QUICK);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   972
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   973
  // With very high threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   974
  config.threshold1.range = 97;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   975
  config.hysteresis = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   976
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   977
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   978
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A4 with very high threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   979
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   980
               TestCase::TAKES_FOREVER);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   981
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   982
  // === Event A5 (PCell becomes worse than absolute threshold1 AND neighbour becomes better than another absolute threshold2) ===
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   983
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   984
  // With low-low threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   985
  config.eventId = LteRrcSap::ReportConfigEutra::EVENT_A5;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   986
  config.threshold1.range = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   987
  config.threshold2.range = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   988
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   989
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   990
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A5 with low-low threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   991
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   992
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   993
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   994
  // With low-normal threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   995
  config.threshold2.range = 58;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   996
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A5 with low-normal threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   997
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   998
               TestCase::TAKES_FOREVER);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
   999
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1000
  // With low-high threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1001
  config.threshold2.range = 97;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1002
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A5 with low-high threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1003
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1004
               TestCase::TAKES_FOREVER);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1005
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1006
  // With normal-low threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1007
  config.threshold1.range = 58;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1008
  config.threshold2.range = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1009
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1010
  expectedTime << 800 << 1400 << 1640 << 1880;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1011
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1012
  expectedRsrp << 52 << 56 << 52 << 56;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1013
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A5 with normal-low threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1014
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1015
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1016
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1017
  // With normal-normal threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1018
  config.threshold2.range = 58;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1019
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1020
  expectedTime << 800 << 1400 << 1640 << 1880;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1021
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1022
  expectedRsrp << 52 << 56 << 52 << 56;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1023
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A5 with normal-normal threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1024
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1025
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1026
10284
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1027
  // With short time-to-trigger
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1028
  config.timeToTrigger = 160;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1029
  expectedTime.clear ();
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1030
  expectedTime << 960 << 1560 << 1800 << 2040;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1031
  expectedRsrp.clear ();
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1032
  expectedRsrp << 52 << 56 << 56 << 59;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1033
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A5 with short time-to-trigger",
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1034
                                                        config, expectedTime, expectedRsrp),
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1035
               TestCase::TAKES_FOREVER);
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1036
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1037
  // With super time-to-trigger
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1038
  config.timeToTrigger = 320;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1039
  expectedTime.clear ();
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1040
  expectedTime << 1720 << 1960 << 2200;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1041
  expectedRsrp.clear ();
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1042
  expectedRsrp << 52 << 56 << 72;
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1043
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A5 with super time-to-trigger",
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1044
                                                        config, expectedTime, expectedRsrp),
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1045
               TestCase::QUICK);
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1046
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1047
  // With hysteresis
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1048
  config.hysteresis = 6;
10284
ae40976a4208 Time-to-trigger implementation and tests for Event A3, A4, and A5
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10283
diff changeset
  1049
  config.timeToTrigger = 0;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1050
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1051
  expectedTime << 800 << 1600 << 1840 << 2080;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1052
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1053
  expectedRsrp << 52 << 52 << 56 << 59;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1054
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A5 with hysteresis",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1055
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1056
               TestCase::QUICK);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1057
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1058
  // With normal-high threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1059
  config.threshold2.range = 97;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1060
  config.hysteresis = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1061
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1062
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1063
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A5 with normal-high threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1064
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1065
               TestCase::TAKES_FOREVER);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1066
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1067
  // With high-low threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1068
  config.threshold1.range = 97;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1069
  config.threshold2.range = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1070
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1071
  expectedTime << 200 << 440 << 680 << 920 << 1160 << 1400 << 1640 << 1880 << 2120;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1072
  expectedRsrp.clear ();
10283
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
  1073
  expectedRsrp << 73 << 63 << 72 << 52 << 72 << 56 << 52 << 56 << 59;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1074
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A5 with high-low threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1075
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1076
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1077
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1078
  // With high-normal threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1079
  config.threshold2.range = 58;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1080
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1081
  expectedTime << 400 << 800 << 1400 << 1640 << 1880;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1082
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1083
  expectedRsrp << 63 << 52 << 56 << 52 << 56;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1084
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A5 with high-normal threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1085
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1086
               TestCase::TAKES_FOREVER);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1087
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1088
  // With high-high threshold
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1089
  config.threshold2.range = 97;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1090
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1091
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1092
  AddTestCase (new LteUeMeasurementsPiecewiseTestCase2 ("Piecewise test case 2 - Event A5 with high-high threshold",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1093
                                                        config, expectedTime, expectedRsrp),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1094
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1095
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1096
} // end of LteUeMeasurementsPiecewiseTestSuite2::LteUeMeasurementsPiecewiseTestSuite2
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1097
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1098
static LteUeMeasurementsPiecewiseTestSuite2 lteUeMeasurementsPiecewiseTestSuite2;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1099
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1100
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1101
/*
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1102
 * Test Case
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1103
 */
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1104
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1105
LteUeMeasurementsPiecewiseTestCase2::LteUeMeasurementsPiecewiseTestCase2 (
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1106
  std::string name, LteRrcSap::ReportConfigEutra config,
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1107
  std::vector<Time> expectedTime, std::vector<uint8_t> expectedRsrp)
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1108
  : TestCase (name),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1109
    m_config (config),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1110
    m_expectedTime (expectedTime),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1111
    m_expectedRsrp (expectedRsrp)
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1112
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1113
  // input sanity check
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1114
  uint16_t size = m_expectedTime.size ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1115
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1116
  if (size != m_expectedRsrp.size ())
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1117
    {
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1118
      NS_FATAL_ERROR ("Vectors of expected results are not of the same size");
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1119
    }
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1120
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1121
  m_itExpectedTime = m_expectedTime.begin ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1122
  m_itExpectedRsrp = m_expectedRsrp.begin ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1123
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1124
  NS_LOG_INFO (this << " name=" << name);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1125
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1126
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1127
LteUeMeasurementsPiecewiseTestCase2::~LteUeMeasurementsPiecewiseTestCase2 ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1128
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1129
  NS_LOG_FUNCTION (this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1130
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1131
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1132
void
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1133
LteUeMeasurementsPiecewiseTestCase2::DoRun ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1134
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1135
  NS_LOG_INFO (this << " " << GetName ());
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1136
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1137
  Ptr<LteHelper> lteHelper = CreateObject<LteHelper> ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1138
  lteHelper->SetAttribute ("PathlossModel",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1139
                           StringValue ("ns3::FriisSpectrumPropagationLossModel"));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1140
  lteHelper->SetAttribute ("UseIdealRrc", BooleanValue (true));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1141
10892
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10553
diff changeset
  1142
  //Disable Uplink Power Control
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10553
diff changeset
  1143
  Config::SetDefault ("ns3::LteUePhy::EnableUplinkPowerControl", BooleanValue (false));
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10553
diff changeset
  1144
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1145
  // Create Nodes: eNodeB and UE
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1146
  NodeContainer enbNodes;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1147
  NodeContainer ueNodes;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1148
  enbNodes.Create (2);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1149
  ueNodes.Create (1);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1150
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1151
  /*
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1152
   * The topology is the following:
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1153
   *
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1154
   * eNodeB    UE                                                eNodeB
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1155
   *    |      |                                                    |
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1156
   *    x ---- x --------------- x ------- x --------------- x ---- x
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1157
   *      50 m |      200 m      |  100 m  |      200 m      | 50 m
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1158
   *           |                 |         |                 |
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1159
   *        VeryNear            Near      Far             VeryFar
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1160
   */
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1161
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1162
  Ptr<ListPositionAllocator> positionAlloc = CreateObject<ListPositionAllocator> ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1163
  positionAlloc->Add (Vector (0.0, 0.0, 0.0)); // Serving eNodeB
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1164
  positionAlloc->Add (Vector (600.0, 0.0, 0.0)); // Neighbour eNodeB
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1165
  positionAlloc->Add (Vector (50.0, 0.0, 0.0)); // UE
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1166
  MobilityHelper mobility;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1167
  mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1168
  mobility.SetPositionAllocator (positionAlloc);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1169
  mobility.Install (enbNodes);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1170
  mobility.Install (ueNodes);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1171
  m_ueMobility = ueNodes.Get (0)->GetObject<MobilityModel> ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1172
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1173
  // Disable layer-3 filtering
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1174
  Config::SetDefault ("ns3::LteEnbRrc::RsrpFilterCoefficient",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1175
                      UintegerValue (0));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1176
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1177
  // Create Devices and install them in the Nodes (eNB and UE)
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1178
  NetDeviceContainer enbDevs;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1179
  NetDeviceContainer ueDevs;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1180
  lteHelper->SetSchedulerType ("ns3::RrFfMacScheduler");
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1181
  lteHelper->SetSchedulerAttribute ("UlCqiFilter",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1182
                                    EnumValue (FfMacScheduler::PUSCH_UL_CQI));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1183
  enbDevs = lteHelper->InstallEnbDevice (enbNodes);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1184
  ueDevs = lteHelper->InstallUeDevice (ueNodes);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1185
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1186
  // Setup UE measurement configuration in serving cell
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1187
  Ptr<LteEnbRrc> enbRrc1 = enbDevs.Get (0)->GetObject<LteEnbNetDevice> ()->GetRrc ();
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1188
  m_expectedMeasId = enbRrc1->AddUeMeasReportConfig (m_config);
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1189
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1190
  // Disable handover in neighbour cell
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1191
  Ptr<LteEnbRrc> enbRrc2 = enbDevs.Get (1)->GetObject<LteEnbNetDevice> ()->GetRrc ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1192
  enbRrc2->SetAttribute ("AdmitHandoverRequest", BooleanValue (false));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1193
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1194
  // Attach UE to serving eNodeB
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1195
  lteHelper->Attach (ueDevs.Get (0), enbDevs.Get (0));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1196
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1197
  // Activate an EPS bearer
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1198
  enum EpsBearer::Qci q = EpsBearer::GBR_CONV_VOICE;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1199
  EpsBearer bearer (q);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1200
  lteHelper->ActivateDataRadioBearer (ueDevs, bearer);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1201
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1202
  // Connect to trace sources in serving eNodeB
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1203
  Config::Connect ("/NodeList/0/DeviceList/0/LteEnbRrc/RecvMeasurementReport",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1204
                   MakeCallback (&LteUeMeasurementsPiecewiseTestCase2::RecvMeasurementReportCallback,
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1205
                                 this));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1206
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1207
  /*
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1208
   * Schedule "teleports"
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1209
   *          0                   1                   2
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1210
   *          +-------------------+-------------------+---------> time
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1211
   * VeryNear |------  ----    ----                    --------
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1212
   *     Near |                    ----            ----
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1213
   *      Far |                        ----    ----
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1214
   *  VeryFar |      --    ----            ----
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1215
   */
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1216
  Simulator::Schedule (MilliSeconds (301),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1217
                       &LteUeMeasurementsPiecewiseTestCase2::TeleportVeryFar, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1218
  Simulator::Schedule (MilliSeconds (401),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1219
                       &LteUeMeasurementsPiecewiseTestCase2::TeleportVeryNear, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1220
  Simulator::Schedule (MilliSeconds (601),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1221
                       &LteUeMeasurementsPiecewiseTestCase2::TeleportVeryFar, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1222
  Simulator::Schedule (MilliSeconds (801),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1223
                       &LteUeMeasurementsPiecewiseTestCase2::TeleportVeryNear, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1224
  Simulator::Schedule (MilliSeconds (1001),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1225
                       &LteUeMeasurementsPiecewiseTestCase2::TeleportNear, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1226
  Simulator::Schedule (MilliSeconds (1201),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1227
                       &LteUeMeasurementsPiecewiseTestCase2::TeleportFar, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1228
  Simulator::Schedule (MilliSeconds (1401),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1229
                       &LteUeMeasurementsPiecewiseTestCase2::TeleportVeryFar, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1230
  Simulator::Schedule (MilliSeconds (1601),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1231
                       &LteUeMeasurementsPiecewiseTestCase2::TeleportFar, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1232
  Simulator::Schedule (MilliSeconds (1801),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1233
                       &LteUeMeasurementsPiecewiseTestCase2::TeleportNear, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1234
  Simulator::Schedule (MilliSeconds (2001),
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1235
                       &LteUeMeasurementsPiecewiseTestCase2::TeleportVeryNear, this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1236
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1237
  // Run simulation
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1238
  Simulator::Stop (Seconds (2.201));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1239
  Simulator::Run ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1240
  Simulator::Destroy ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1241
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1242
} // end of void LteUeMeasurementsPiecewiseTestCase2::DoRun ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1243
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1244
void
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1245
LteUeMeasurementsPiecewiseTestCase2::DoTeardown ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1246
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1247
  NS_LOG_FUNCTION (this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1248
  bool hasEnded = m_itExpectedTime == m_expectedTime.end ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1249
  NS_TEST_ASSERT_MSG_EQ (hasEnded, true,
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1250
                         "Reporting should have occurred at " << m_itExpectedTime->GetSeconds () << "s");
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1251
  hasEnded = m_itExpectedRsrp == m_expectedRsrp.end ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1252
  NS_ASSERT (hasEnded);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1253
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1254
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1255
void
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1256
LteUeMeasurementsPiecewiseTestCase2::RecvMeasurementReportCallback (
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1257
  std::string context, uint64_t imsi, uint16_t cellId, uint16_t rnti,
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1258
  LteRrcSap::MeasurementReport report)
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1259
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1260
  NS_LOG_FUNCTION (this << context);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1261
  NS_ASSERT (rnti == 1);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1262
  NS_ASSERT (cellId == 1);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1263
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1264
  if (report.measResults.measId == m_expectedMeasId)
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
  1265
    {
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1266
      // verifying the report completeness
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1267
      LteRrcSap::MeasResults measResults = report.measResults;
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1268
      NS_LOG_DEBUG (this << " Serving cellId=" << cellId
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1269
                         << " rsrp=" << (uint16_t) measResults.rsrpResult
10338
f98a0e8e847f Fixed unused variables in UE measurements test
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10318
diff changeset
  1270
                         << " (" << EutranMeasurementMapping::RsrpRange2Dbm (measResults.rsrpResult) << " dBm)"
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1271
                         << " rsrq=" << (uint16_t) measResults.rsrqResult
10338
f98a0e8e847f Fixed unused variables in UE measurements test
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10318
diff changeset
  1272
                         << " (" << EutranMeasurementMapping::RsrqRange2Db (measResults.rsrqResult) << " dB)");
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1273
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1274
      // verifying reported best cells
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1275
      if (measResults.measResultListEutra.size () == 0)
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1276
        {
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1277
          NS_TEST_ASSERT_MSG_EQ (measResults.haveMeasResultNeighCells, false,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1278
                                 "Unexpected report content");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1279
        }
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1280
      else
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1281
        {
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1282
          NS_TEST_ASSERT_MSG_EQ (measResults.haveMeasResultNeighCells, true,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1283
                                 "Unexpected report content");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1284
          std::list<LteRrcSap::MeasResultEutra>::iterator it = measResults.measResultListEutra.begin ();
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1285
          NS_ASSERT (it != measResults.measResultListEutra.end ());
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1286
          NS_ASSERT (it->physCellId == 2);
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1287
          NS_TEST_ASSERT_MSG_EQ (it->haveCgiInfo, false,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1288
                                 "Report contains cgi-info, which is not supported");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1289
          NS_TEST_ASSERT_MSG_EQ (it->haveRsrpResult, true,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1290
                                 "Report does not contain measured RSRP result");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1291
          NS_TEST_ASSERT_MSG_EQ (it->haveRsrqResult, true,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1292
                                 "Report does not contain measured RSRQ result");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1293
          NS_LOG_DEBUG (this << " Neighbour cellId=" << it->physCellId
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1294
                             << " rsrp=" << (uint16_t) it->rsrpResult
10338
f98a0e8e847f Fixed unused variables in UE measurements test
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10318
diff changeset
  1295
                             << " (" << EutranMeasurementMapping::RsrpRange2Dbm (it->rsrpResult) << " dBm)"
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1296
                             << " rsrq=" << (uint16_t) it->rsrqResult
10338
f98a0e8e847f Fixed unused variables in UE measurements test
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10318
diff changeset
  1297
                             << " (" << EutranMeasurementMapping::RsrqRange2Db (it->rsrqResult) << " dB)");
10283
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
  1298
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1299
        } // end of else of if (measResults.measResultListEutra.size () == 0)
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1300
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1301
      // verifying the report timing
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1302
      bool hasEnded = m_itExpectedTime == m_expectedTime.end ();
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1303
      NS_TEST_ASSERT_MSG_EQ (hasEnded, false,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1304
                             "Reporting should not have occurred at "
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1305
                             << Simulator::Now ().GetSeconds () << "s");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1306
      if (!hasEnded)
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1307
        {
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1308
          hasEnded = m_itExpectedRsrp == m_expectedRsrp.end ();
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1309
          NS_ASSERT (!hasEnded);
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1310
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1311
          // using milliseconds to avoid floating-point comparison
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1312
          uint64_t timeNowMs = Simulator::Now ().GetMilliSeconds ();
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1313
          uint64_t timeExpectedMs = m_itExpectedTime->GetMilliSeconds ();
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1314
          m_itExpectedTime++;
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1315
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1316
          uint16_t observedRsrp = measResults.rsrpResult;
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1317
          uint16_t referenceRsrp = *m_itExpectedRsrp;
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1318
          m_itExpectedRsrp++;
10283
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
  1319
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1320
          NS_TEST_ASSERT_MSG_EQ (timeNowMs, timeExpectedMs,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1321
                                 "Reporting should not have occurred at this time");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1322
          NS_TEST_ASSERT_MSG_EQ (observedRsrp, referenceRsrp,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1323
                                 "The RSRP observed differs with the reference RSRP");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1324
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1325
        } // end of if (!hasEnded)
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1326
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1327
    } // end of if (report.measResults.measId == m_expectedMeasId)
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1328
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1329
} // end of void LteUeMeasurementsPiecewiseTestCase2::RecvMeasurementReportCallback
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1330
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1331
void
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1332
LteUeMeasurementsPiecewiseTestCase2::TeleportVeryNear ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1333
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1334
  NS_LOG_FUNCTION (this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1335
  m_ueMobility->SetPosition (Vector (50.0, 0.0, 0.0));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1336
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1337
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1338
void
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1339
LteUeMeasurementsPiecewiseTestCase2::TeleportNear ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1340
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1341
  NS_LOG_FUNCTION (this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1342
  m_ueMobility->SetPosition (Vector (250.0, 0.0, 0.0));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1343
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1344
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1345
void
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1346
LteUeMeasurementsPiecewiseTestCase2::TeleportFar ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1347
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1348
  NS_LOG_FUNCTION (this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1349
  m_ueMobility->SetPosition (Vector (350.0, 0.0, 0.0));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1350
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1351
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1352
void
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1353
LteUeMeasurementsPiecewiseTestCase2::TeleportVeryFar ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1354
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1355
  NS_LOG_FUNCTION (this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1356
  m_ueMobility->SetPosition (Vector (550.0, 0.0, 0.0));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1357
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1358
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1359
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1360
// ===== LTE-UE-MEASUREMENTS-HANDOVER TEST SUITE =========================== //
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1361
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1362
/*
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1363
 * Test Suite
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1364
 */
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1365
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1366
LteUeMeasurementsHandoverTestSuite::LteUeMeasurementsHandoverTestSuite ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1367
  : TestSuite ("lte-ue-measurements-handover", SYSTEM)
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1368
{
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1369
  std::list<LteRrcSap::ReportConfigEutra> sourceConfigList;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1370
  std::list<LteRrcSap::ReportConfigEutra> targetConfigList;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1371
  std::vector<Time> expectedTime;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1372
  std::vector<uint8_t> expectedRsrp;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1373
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1374
  LteRrcSap::ReportConfigEutra sourceConfig;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1375
  sourceConfig.triggerType = LteRrcSap::ReportConfigEutra::EVENT;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1376
  sourceConfig.eventId = LteRrcSap::ReportConfigEutra::EVENT_A1;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1377
  sourceConfig.threshold1.choice = LteRrcSap::ThresholdEutra::THRESHOLD_RSRP;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1378
  sourceConfig.threshold1.range = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1379
  sourceConfig.triggerQuantity = LteRrcSap::ReportConfigEutra::RSRP;
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1380
  sourceConfig.reportInterval = LteRrcSap::ReportConfigEutra::MS240;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1381
  sourceConfigList.push_back (sourceConfig);
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1382
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1383
  LteRrcSap::ReportConfigEutra targetConfig;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1384
  targetConfig.triggerType = LteRrcSap::ReportConfigEutra::EVENT;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1385
  targetConfig.eventId = LteRrcSap::ReportConfigEutra::EVENT_A1;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1386
  targetConfig.threshold1.choice = LteRrcSap::ThresholdEutra::THRESHOLD_RSRP;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1387
  targetConfig.threshold1.range = 0;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1388
  targetConfig.triggerQuantity = LteRrcSap::ReportConfigEutra::RSRP;
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1389
  targetConfig.reportInterval = LteRrcSap::ReportConfigEutra::MS240;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1390
  targetConfigList.push_back (targetConfig);
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1391
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1392
  // === Report interval difference ===
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1393
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1394
  // decreasing report interval
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1395
  sourceConfigList.front ().reportInterval = LteRrcSap::ReportConfigEutra::MS480;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1396
  targetConfigList.front ().reportInterval = LteRrcSap::ReportConfigEutra::MS240;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1397
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1398
  expectedTime << 200 << 680 << 1200 << 1440 << 1680 << 1920;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1399
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1400
  expectedRsrp << 55 << 55 << 53 << 53 << 53 << 53;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1401
  AddTestCase (new LteUeMeasurementsHandoverTestCase ("Handover test case - decreasing report interval",
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1402
                                                      sourceConfigList, targetConfigList,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1403
                                                      expectedTime, expectedRsrp,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1404
                                                      Seconds (2)),
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1405
               TestCase::TAKES_FOREVER);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1406
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1407
  // increasing report interval
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1408
  sourceConfigList.front ().reportInterval = LteRrcSap::ReportConfigEutra::MS120;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1409
  targetConfigList.front ().reportInterval = LteRrcSap::ReportConfigEutra::MS640;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1410
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1411
  expectedTime << 200 << 320 << 440 << 560 << 680 << 800 << 920 << 1200 << 1840;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1412
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1413
  expectedRsrp << 55 << 55 << 55 << 55 << 55 << 55 << 55 << 53 << 53;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1414
  AddTestCase (new LteUeMeasurementsHandoverTestCase ("Handover test case - increasing report interval",
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1415
                                                      sourceConfigList, targetConfigList,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1416
                                                      expectedTime, expectedRsrp,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1417
                                                      Seconds (2)),
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1418
               TestCase::QUICK);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1419
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1420
  // === Event difference ===
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1421
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1422
  sourceConfigList.front ().reportInterval = LteRrcSap::ReportConfigEutra::MS240;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1423
  targetConfigList.front ().reportInterval = LteRrcSap::ReportConfigEutra::MS240;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1424
  sourceConfigList.front ().threshold1.range = 54;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1425
  sourceConfigList.front ().threshold2.range = 54;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1426
  sourceConfigList.front ().a3Offset = 1;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1427
  targetConfigList.front ().threshold1.range = 54;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1428
  targetConfigList.front ().threshold2.range = 54;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1429
  targetConfigList.front ().a3Offset = 1;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1430
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1431
  // Event A1 to Event A2
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1432
  sourceConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A1;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1433
  targetConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A2;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1434
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1435
  expectedTime << 200 << 440 << 680 << 920 << 1200 << 1440 << 1680 << 1920;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1436
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1437
  expectedRsrp << 55 << 55 << 55 << 55 << 53 << 53 << 53 << 53;
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
  1438
  AddTestCase (new LteUeMeasurementsHandoverTestCase ("Handover test case - Event A1 to Event A2",
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1439
                                                      sourceConfigList, targetConfigList,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1440
                                                      expectedTime, expectedRsrp,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1441
                                                      Seconds (2)),
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1442
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1443
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1444
  // Event A2 to Event A1
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1445
  sourceConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A2;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1446
  targetConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A1;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1447
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1448
  expectedRsrp.clear ();
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
  1449
  AddTestCase (new LteUeMeasurementsHandoverTestCase ("Handover test case - Event A2 to Event A1",
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1450
                                                      sourceConfigList, targetConfigList,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1451
                                                      expectedTime, expectedRsrp,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1452
                                                      Seconds (2)),
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1453
               TestCase::TAKES_FOREVER);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1454
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1455
  // Event A3 to Event A4
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1456
  sourceConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A3;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1457
  targetConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A4;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1458
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1459
  expectedTime << 1200 << 1440 << 1680 << 1920;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1460
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1461
  expectedRsrp << 53 << 53 << 53 << 53;
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
  1462
  AddTestCase (new LteUeMeasurementsHandoverTestCase ("Handover test case - Event A3 to Event A4",
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1463
                                                      sourceConfigList, targetConfigList,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1464
                                                      expectedTime, expectedRsrp,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1465
                                                      Seconds (2)),
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1466
               TestCase::TAKES_FOREVER);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1467
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1468
  // Event A4 to Event A3
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1469
  sourceConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A4;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1470
  targetConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A3;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1471
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1472
  expectedTime << 1200 << 1440 << 1680 << 1920;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1473
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1474
  expectedRsrp << 53 << 53 << 53 << 53;
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
  1475
  AddTestCase (new LteUeMeasurementsHandoverTestCase ("Handover test case - Event A4 to Event A3",
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1476
                                                      sourceConfigList, targetConfigList,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1477
                                                      expectedTime, expectedRsrp,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1478
                                                      Seconds (2)),
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1479
               TestCase::QUICK);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1480
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1481
  // Event A2 to Event A3
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1482
  sourceConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A2;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1483
  targetConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A3;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1484
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1485
  expectedTime << 1200 << 1440 << 1680 << 1920;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1486
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1487
  expectedRsrp << 53 << 53 << 53 << 53;
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
  1488
  AddTestCase (new LteUeMeasurementsHandoverTestCase ("Handover test case - Event A2 to Event A3",
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1489
                                                      sourceConfigList, targetConfigList,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1490
                                                      expectedTime, expectedRsrp,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1491
                                                      Seconds (2)),
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1492
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1493
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1494
  // Event A3 to Event A2
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1495
  sourceConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A3;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1496
  targetConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A2;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1497
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1498
  expectedTime << 1200 << 1440 << 1680 << 1920;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1499
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1500
  expectedRsrp << 53 << 53 << 53 << 53;
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
  1501
  AddTestCase (new LteUeMeasurementsHandoverTestCase ("Handover test case - Event A3 to Event A2",
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1502
                                                      sourceConfigList, targetConfigList,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1503
                                                      expectedTime, expectedRsrp,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1504
                                                      Seconds (2)),
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1505
               TestCase::TAKES_FOREVER);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1506
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1507
  // Event A4 to Event A5
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1508
  sourceConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A4;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1509
  targetConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A5;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1510
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1511
  expectedTime << 1200 << 1440 << 1680 << 1920;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1512
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1513
  expectedRsrp << 53 << 53 << 53 << 53;
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
  1514
  AddTestCase (new LteUeMeasurementsHandoverTestCase ("Handover test case - Event A4 to Event A5",
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1515
                                                      sourceConfigList, targetConfigList,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1516
                                                      expectedTime, expectedRsrp,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1517
                                                      Seconds (2)),
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1518
               TestCase::TAKES_FOREVER);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1519
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1520
  // Event A5 to Event A4
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1521
  sourceConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A5;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1522
  targetConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A4;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1523
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1524
  expectedTime << 1200 << 1440 << 1680 << 1920;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1525
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1526
  expectedRsrp << 53 << 53 << 53 << 53;
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
  1527
  AddTestCase (new LteUeMeasurementsHandoverTestCase ("Handover test case - Event A5 to Event A4",
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1528
                                                      sourceConfigList, targetConfigList,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1529
                                                      expectedTime, expectedRsrp,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1530
                                                      Seconds (2)),
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1531
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1532
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1533
  // === Threshold/offset difference ===
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1534
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1535
  sourceConfigList.front ().threshold1.range = 52;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1536
  targetConfigList.front ().threshold1.range = 56;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1537
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1538
  // Event A1
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1539
  sourceConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A1;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1540
  targetConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A1;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1541
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1542
  expectedTime << 200 << 440 << 680 << 920;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1543
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1544
  expectedRsrp << 55 << 55 << 55 << 55;
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
  1545
  AddTestCase (new LteUeMeasurementsHandoverTestCase ("Handover test case - Event A1 threshold difference",
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1546
                                                      sourceConfigList, targetConfigList,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1547
                                                      expectedTime, expectedRsrp,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1548
                                                      Seconds (2)),
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1549
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1550
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1551
  // Event A2
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1552
  sourceConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A2;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1553
  targetConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A2;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1554
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1555
  expectedTime << 1200 << 1440 << 1680 << 1920;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1556
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1557
  expectedRsrp << 53 << 53 << 53 << 53;
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
  1558
  AddTestCase (new LteUeMeasurementsHandoverTestCase ("Handover test case - Event A2 threshold difference",
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1559
                                                      sourceConfigList, targetConfigList,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1560
                                                      expectedTime, expectedRsrp,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1561
                                                      Seconds (2)),
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1562
               TestCase::QUICK);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1563
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1564
  // Event A3
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1565
  sourceConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A3;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1566
  sourceConfigList.front ().a3Offset = -30;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1567
  targetConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A3;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1568
  targetConfigList.front ().a3Offset = 30;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1569
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1570
  expectedTime << 200 << 440 << 680 << 920;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1571
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1572
  expectedRsrp << 55 << 55 << 55 << 55;
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
  1573
  AddTestCase (new LteUeMeasurementsHandoverTestCase ("Handover test case - Event A3 offset difference",
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1574
                                                      sourceConfigList, targetConfigList,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1575
                                                      expectedTime, expectedRsrp,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1576
                                                      Seconds (2)),
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1577
               TestCase::QUICK);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1578
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1579
  // Event A4
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1580
  sourceConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A4;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1581
  targetConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A4;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1582
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1583
  expectedTime << 200 << 440 << 680 << 920;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1584
  expectedRsrp.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1585
  expectedRsrp << 55 << 55 << 55 << 55;
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
  1586
  AddTestCase (new LteUeMeasurementsHandoverTestCase ("Handover test case - Event A4 threshold difference",
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1587
                                                      sourceConfigList, targetConfigList,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1588
                                                      expectedTime, expectedRsrp,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1589
                                                      Seconds (2)),
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1590
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1591
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1592
  // Event A5
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1593
  sourceConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A5;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1594
  sourceConfigList.front ().threshold2.range = 52;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1595
  targetConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A5;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1596
  targetConfigList.front ().threshold2.range = 56;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1597
  expectedTime.clear ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1598
  expectedRsrp.clear ();
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
  1599
  AddTestCase (new LteUeMeasurementsHandoverTestCase ("Handover test case - Event A5 threshold difference",
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1600
                                                      sourceConfigList, targetConfigList,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1601
                                                      expectedTime, expectedRsrp,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1602
                                                      Seconds (2)),
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1603
               TestCase::EXTENSIVE);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1604
10343
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1605
  // === Time-to-trigger (TTT) difference ===
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1606
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1607
  sourceConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A1;
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1608
  sourceConfigList.front ().a3Offset = 1;
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1609
  sourceConfigList.front ().threshold1.range = 0;
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1610
  sourceConfigList.front ().threshold2.range = 0;
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1611
  targetConfigList.front ().eventId = LteRrcSap::ReportConfigEutra::EVENT_A1;
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1612
  targetConfigList.front ().a3Offset = 1;
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1613
  targetConfigList.front ().threshold1.range = 0;
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1614
  targetConfigList.front ().threshold2.range = 0;
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1615
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1616
  // decreasing time-to-trigger (short duration)
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1617
  sourceConfigList.front ().timeToTrigger = 1024;
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1618
  targetConfigList.front ().timeToTrigger = 100;
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1619
  expectedTime.clear ();
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1620
  expectedTime << 1300 << 1540 << 1780;
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1621
  expectedRsrp.clear ();
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1622
  expectedRsrp << 53 << 53 << 53;
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1623
  AddTestCase (new LteUeMeasurementsHandoverTestCase ("Handover test case - decreasing TTT (short)",
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1624
                                                      sourceConfigList, targetConfigList,
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1625
                                                      expectedTime, expectedRsrp,
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1626
                                                      Seconds (2)),
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1627
               TestCase::QUICK);
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1628
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1629
  // decreasing time-to-trigger (longer duration)
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1630
  sourceConfigList.front ().timeToTrigger = 1024;
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1631
  targetConfigList.front ().timeToTrigger = 640;
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1632
  expectedTime.clear ();
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1633
  expectedTime << 1224 << 1464 << 1704 << 1944 << 2840 << 3080 << 3320 << 3560 << 3800 << 4040;
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1634
  expectedRsrp.clear ();
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1635
  expectedRsrp << 55 << 55 << 55 << 55 << 53 << 53 << 53 << 53 << 53 << 53;
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1636
  AddTestCase (new LteUeMeasurementsHandoverTestCase ("Handover test case - decreasing TTT (long)",
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1637
                                                      sourceConfigList, targetConfigList,
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1638
                                                      expectedTime, expectedRsrp,
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1639
                                                      Seconds (4.2)),
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1640
               TestCase::EXTENSIVE);
7035a2f8a1f1 Fixed a bug where measurement reports with very long time-to-trigger keep repeating after handover
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10342
diff changeset
  1641
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1642
} // end of LteUeMeasurementsHandoverTestSuite::LteUeMeasurementsHandoverTestSuite
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1643
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1644
static LteUeMeasurementsHandoverTestSuite lteUeMeasurementsHandoverTestSuite;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1645
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1646
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1647
/*
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1648
 * Test Case
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1649
 */
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1650
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1651
LteUeMeasurementsHandoverTestCase::LteUeMeasurementsHandoverTestCase (
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1652
  std::string name,
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1653
  std::list<LteRrcSap::ReportConfigEutra> sourceConfigList,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1654
  std::list<LteRrcSap::ReportConfigEutra> targetConfigList,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1655
  std::vector<Time> expectedTime, std::vector<uint8_t> expectedRsrp,
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1656
  Time duration)
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1657
  : TestCase (name),
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1658
    m_sourceConfigList (sourceConfigList),
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1659
    m_targetConfigList (targetConfigList),
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1660
    m_expectedTime (expectedTime),
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1661
    m_expectedRsrp (expectedRsrp),
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1662
    m_duration (duration)
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1663
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1664
  // input sanity check
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1665
  uint16_t size = m_expectedTime.size ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1666
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1667
  if (size != m_expectedRsrp.size ())
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1668
    {
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1669
      NS_FATAL_ERROR ("Vectors of expected results are not of the same size");
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1670
    }
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1671
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1672
  m_itExpectedTime = m_expectedTime.begin ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1673
  m_itExpectedRsrp = m_expectedRsrp.begin ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1674
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1675
  NS_LOG_INFO (this << " name=" << name);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1676
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1677
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1678
LteUeMeasurementsHandoverTestCase::~LteUeMeasurementsHandoverTestCase ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1679
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1680
  NS_LOG_FUNCTION (this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1681
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1682
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1683
void
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1684
LteUeMeasurementsHandoverTestCase::DoRun ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1685
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1686
  NS_LOG_INFO (this << " " << GetName ());
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1687
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1688
  Ptr<LteHelper> lteHelper = CreateObject<LteHelper> ();
10442
a420385d5438 make EpcHelper abstract
Nicola Baldo <nbaldo@cttc.es>
parents: 10377
diff changeset
  1689
  Ptr<PointToPointEpcHelper> epcHelper = CreateObject<PointToPointEpcHelper> ();
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1690
  lteHelper->SetEpcHelper (epcHelper);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1691
  lteHelper->SetAttribute ("PathlossModel",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1692
                           StringValue ("ns3::FriisSpectrumPropagationLossModel"));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1693
  lteHelper->SetAttribute ("UseIdealRrc", BooleanValue (true));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1694
10892
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10553
diff changeset
  1695
  //Disable Uplink Power Control
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10553
diff changeset
  1696
  Config::SetDefault ("ns3::LteUePhy::EnableUplinkPowerControl", BooleanValue (false));
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10553
diff changeset
  1697
3e86fac77082 GSoC 2014 FFR algorithms
Piotr Gawlowicz <gawlowicz.p@gmail.com>
parents: 10553
diff changeset
  1698
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1699
  // Create Nodes: eNodeB and UE
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1700
  NodeContainer enbNodes;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1701
  NodeContainer ueNodes;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1702
  enbNodes.Create (2);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1703
  ueNodes.Create (1);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1704
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1705
  /*
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1706
   * The topology is the following:
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1707
   *
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1708
   * eNodeB                   UE                     eNodeB
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1709
   *    |                     |                         |
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1710
   *    x ------------------- x ----------------------- x
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1711
   *             400 m                   500 m
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1712
   */
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1713
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1714
  Ptr<ListPositionAllocator> positionAlloc = CreateObject<ListPositionAllocator> ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1715
  positionAlloc->Add (Vector (0.0, 0.0, 0.0)); // Source eNodeB
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1716
  positionAlloc->Add (Vector (900.0, 0.0, 0.0)); // Target eNodeB
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1717
  positionAlloc->Add (Vector (400.0, 0.0, 0.0)); // UE
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1718
  MobilityHelper mobility;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1719
  mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1720
  mobility.SetPositionAllocator (positionAlloc);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1721
  mobility.Install (enbNodes);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1722
  mobility.Install (ueNodes);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1723
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1724
  // Create P-GW node
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1725
  Ptr<Node> pgw = epcHelper->GetPgwNode ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1726
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1727
  // Create a single RemoteHost
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1728
  NodeContainer remoteHostContainer;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1729
  remoteHostContainer.Create (1);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1730
  Ptr<Node> remoteHost = remoteHostContainer.Get (0);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1731
  InternetStackHelper internet;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1732
  internet.Install (remoteHostContainer);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1733
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1734
  // Create the Internet
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1735
  PointToPointHelper p2ph;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1736
  p2ph.SetDeviceAttribute ("DataRate", DataRateValue (DataRate ("100Gb/s")));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1737
  p2ph.SetDeviceAttribute ("Mtu", UintegerValue (1500));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1738
  p2ph.SetChannelAttribute ("Delay", TimeValue (Seconds (0.010)));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1739
  NetDeviceContainer internetDevices = p2ph.Install (pgw, remoteHost);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1740
  Ipv4AddressHelper ipv4h;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1741
  ipv4h.SetBase ("1.0.0.0", "255.0.0.0");
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1742
  Ipv4InterfaceContainer internetIpIfaces = ipv4h.Assign (internetDevices);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1743
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1744
  // Routing of the Internet Host (towards the LTE network)
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1745
  Ipv4StaticRoutingHelper ipv4RoutingHelper;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1746
  Ptr<Ipv4StaticRouting> remoteHostStaticRouting = ipv4RoutingHelper.GetStaticRouting (remoteHost->GetObject<Ipv4> ());
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1747
  remoteHostStaticRouting->AddNetworkRouteTo (Ipv4Address ("7.0.0.0"), Ipv4Mask ("255.0.0.0"), 1);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1748
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1749
  // Enable layer-3 filtering
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1750
  Config::SetDefault ("ns3::LteEnbRrc::RsrpFilterCoefficient",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1751
                      UintegerValue (4));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1752
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1753
  // Disable control channel error model
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1754
  Config::SetDefault ("ns3::LteSpectrumPhy::CtrlErrorModelEnabled",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1755
                      BooleanValue (false));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1756
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1757
  // Create Devices and install them in the Nodes (eNB and UE)
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1758
  NetDeviceContainer enbDevs;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1759
  NetDeviceContainer ueDevs;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1760
  enbDevs = lteHelper->InstallEnbDevice (enbNodes);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1761
  ueDevs = lteHelper->InstallUeDevice (ueNodes);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1762
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1763
  // Setup UE measurement configuration in eNodeBs
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1764
  uint8_t measId;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1765
  std::list<LteRrcSap::ReportConfigEutra>::const_iterator itReportConfig;
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1766
  Ptr<LteEnbRrc> enbRrc1 = enbDevs.Get (0)->GetObject<LteEnbNetDevice> ()->GetRrc ();
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1767
  Ptr<LteEnbRrc> enbRrc2 = enbDevs.Get (1)->GetObject<LteEnbNetDevice> ()->GetRrc ();
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1768
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1769
  for (itReportConfig = m_sourceConfigList.begin ();
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1770
       itReportConfig != m_sourceConfigList.end (); itReportConfig++)
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1771
    {
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1772
      measId = enbRrc1->AddUeMeasReportConfig (*itReportConfig);
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1773
      m_expectedSourceCellMeasId.insert (measId);
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1774
    }
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1775
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1776
  for (itReportConfig = m_targetConfigList.begin ();
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1777
       itReportConfig != m_targetConfigList.end (); itReportConfig++)
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1778
    {
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1779
      measId = enbRrc2->AddUeMeasReportConfig (*itReportConfig);
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1780
      m_expectedTargetCellMeasId.insert (measId);
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1781
    }
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1782
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1783
  // Install the IP stack on the UEs
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1784
  internet.Install (ueNodes);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1785
  Ipv4InterfaceContainer ueIpIfaces;
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1786
  ueIpIfaces = epcHelper->AssignUeIpv4Address (NetDeviceContainer (ueDevs));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1787
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1788
  // Assign IP address to UEs
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1789
  for (uint32_t u = 0; u < ueNodes.GetN (); ++u)
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1790
    {
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1791
      Ptr<Node> ueNode = ueNodes.Get (u);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1792
      // Set the default gateway for the UE
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1793
      Ptr<Ipv4StaticRouting> ueStaticRouting = ipv4RoutingHelper.GetStaticRouting (ueNode->GetObject<Ipv4> ());
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1794
      ueStaticRouting->SetDefaultRoute (epcHelper->GetUeDefaultGatewayAddress (), 1);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1795
    }
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1796
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1797
  // Attach UE to serving eNodeB
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1798
  lteHelper->Attach (ueDevs.Get (0), enbDevs.Get (0));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1799
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1800
  // Add X2 interface
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1801
  lteHelper->AddX2Interface (enbNodes);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1802
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1803
  // Connect to trace sources in source eNodeB
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1804
  Config::Connect ("/NodeList/1/DeviceList/0/LteEnbRrc/RecvMeasurementReport",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1805
                   MakeCallback (&LteUeMeasurementsHandoverTestCase::RecvMeasurementReportCallback,
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1806
                                 this));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1807
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1808
  // Connect to trace sources in target eNodeB
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1809
  Config::Connect ("/NodeList/2/DeviceList/0/LteEnbRrc/RecvMeasurementReport",
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1810
                   MakeCallback (&LteUeMeasurementsHandoverTestCase::RecvMeasurementReportCallback,
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1811
                                 this));
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1812
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1813
  // Schedule handover
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1814
  lteHelper->HandoverRequest (MilliSeconds (m_duration.GetMilliSeconds () / 2),
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1815
                              ueDevs.Get (0), enbDevs.Get (0), enbDevs.Get (1));
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1816
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1817
  // Run simulation
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1818
  Simulator::Stop (m_duration);
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1819
  Simulator::Run ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1820
  Simulator::Destroy ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1821
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1822
} // end of void LteUeMeasurementsHandoverTestCase::DoRun ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1823
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1824
void
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1825
LteUeMeasurementsHandoverTestCase::DoTeardown ()
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1826
{
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1827
  NS_LOG_FUNCTION (this);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1828
  bool hasEnded = m_itExpectedTime == m_expectedTime.end ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1829
  NS_TEST_ASSERT_MSG_EQ (hasEnded, true,
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1830
                         "Reporting should have occurred at " << m_itExpectedTime->GetSeconds () << "s");
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1831
  hasEnded = m_itExpectedRsrp == m_expectedRsrp.end ();
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1832
  NS_ASSERT (hasEnded);
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1833
}
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1834
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1835
void
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1836
LteUeMeasurementsHandoverTestCase::RecvMeasurementReportCallback (
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1837
  std::string context, uint64_t imsi, uint16_t cellId, uint16_t rnti,
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1838
  LteRrcSap::MeasurementReport report)
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1839
{
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1840
  uint8_t measId = report.measResults.measId;
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1841
  NS_LOG_FUNCTION (this << context << (uint16_t) measId);
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1842
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1843
  bool isCorrectMeasId;
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1844
  if (cellId == 1)
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1845
    {
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1846
      std::set<uint8_t>::iterator itMeasId = m_expectedSourceCellMeasId.find (measId);
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1847
      isCorrectMeasId = (itMeasId != m_expectedSourceCellMeasId.end ());
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1848
    }
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1849
  else if (cellId == 2)
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1850
    {
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1851
      std::set<uint8_t>::iterator itMeasId = m_expectedTargetCellMeasId.find (measId);
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1852
      isCorrectMeasId = (itMeasId != m_expectedTargetCellMeasId.end ());
10285
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
  1853
    }
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
  1854
  else
0172cca85a12 UE measurements fixes and tests for reportOnLeave and haveMeasResultNeighCells
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10284
diff changeset
  1855
    {
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1856
      NS_FATAL_ERROR ("Invalid cell ID " << cellId);
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1857
    }
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1858
10342
7c2328aee0b1 Support for multiple reporting configuration and variable simulation duration in lte-ue-measurements-handover test suite
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10338
diff changeset
  1859
  if (isCorrectMeasId)
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1860
    {
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1861
      // verifying the report completeness
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1862
      LteRrcSap::MeasResults measResults = report.measResults;
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1863
      NS_LOG_DEBUG (this << " Serving cellId=" << cellId
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1864
                         << " rsrp=" << (uint16_t) measResults.rsrpResult
10338
f98a0e8e847f Fixed unused variables in UE measurements test
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10318
diff changeset
  1865
                         << " (" << EutranMeasurementMapping::RsrpRange2Dbm (measResults.rsrpResult) << " dBm)"
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1866
                         << " rsrq=" << (uint16_t) measResults.rsrqResult
10338
f98a0e8e847f Fixed unused variables in UE measurements test
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10318
diff changeset
  1867
                         << " (" << EutranMeasurementMapping::RsrqRange2Db (measResults.rsrqResult) << " dB)");
10283
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
  1868
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1869
      // verifying reported best cells
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1870
      if (measResults.measResultListEutra.size () == 0)
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1871
        {
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1872
          NS_TEST_ASSERT_MSG_EQ (measResults.haveMeasResultNeighCells, false,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1873
                                 "Unexpected report content");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1874
        }
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1875
      else
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1876
        {
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1877
          NS_TEST_ASSERT_MSG_EQ (measResults.haveMeasResultNeighCells, true,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1878
                                 "Unexpected report content");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1879
          std::list<LteRrcSap::MeasResultEutra>::iterator it = measResults.measResultListEutra.begin ();
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1880
          NS_ASSERT (it != measResults.measResultListEutra.end ());
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1881
          NS_ASSERT (it->physCellId != cellId);
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1882
          NS_ASSERT (it->physCellId <= 2);
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1883
          NS_TEST_ASSERT_MSG_EQ (it->haveCgiInfo, false,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1884
                                 "Report contains cgi-info, which is not supported");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1885
          NS_TEST_ASSERT_MSG_EQ (it->haveRsrpResult, true,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1886
                                 "Report does not contain measured RSRP result");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1887
          NS_TEST_ASSERT_MSG_EQ (it->haveRsrqResult, true,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1888
                                 "Report does not contain measured RSRQ result");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1889
          NS_LOG_DEBUG (this << " Neighbour cellId=" << it->physCellId
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1890
                             << " rsrp=" << (uint16_t) it->rsrpResult
10338
f98a0e8e847f Fixed unused variables in UE measurements test
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10318
diff changeset
  1891
                             << " (" << EutranMeasurementMapping::RsrpRange2Dbm (it->rsrpResult) << " dBm)"
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1892
                             << " rsrq=" << (uint16_t) it->rsrqResult
10338
f98a0e8e847f Fixed unused variables in UE measurements test
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10318
diff changeset
  1893
                             << " (" << EutranMeasurementMapping::RsrqRange2Db (it->rsrqResult) << " dB)");
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1894
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1895
        } // end of else of if (measResults.measResultListEutra.size () == 0)
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1896
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1897
      // verifying the report timing
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1898
      bool hasEnded = m_itExpectedTime == m_expectedTime.end ();
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1899
      NS_TEST_ASSERT_MSG_EQ (hasEnded, false,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1900
                             "Reporting should not have occurred at "
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1901
                             << Simulator::Now ().GetSeconds () << "s");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1902
      if (!hasEnded)
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1903
        {
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1904
          hasEnded = m_itExpectedRsrp == m_expectedRsrp.end ();
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1905
          NS_ASSERT (!hasEnded);
10283
9a37e664ded6 UE measurements time-to-trigger tests for Event A1 and A2
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10280
diff changeset
  1906
10318
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1907
          // using milliseconds to avoid floating-point comparison
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1908
          uint64_t timeNowMs = Simulator::Now ().GetMilliSeconds ();
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1909
          uint64_t timeExpectedMs = m_itExpectedTime->GetMilliSeconds ();
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1910
          m_itExpectedTime++;
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1911
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1912
          uint16_t observedRsrp = measResults.rsrpResult;
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1913
          uint16_t referenceRsrp = *m_itExpectedRsrp;
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1914
          m_itExpectedRsrp++;
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1915
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1916
          NS_TEST_ASSERT_MSG_EQ (timeNowMs, timeExpectedMs,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1917
                                 "Reporting should not have occurred at this time");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1918
          NS_TEST_ASSERT_MSG_EQ (observedRsrp, referenceRsrp,
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1919
                                 "The RSRP observed differs with the reference RSRP");
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1920
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1921
        } // end of if (!hasEnded)
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1922
d786d7b0bd16 Fixed UE measurements tests because of impact from handover algorithm implementation
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10285
diff changeset
  1923
    } // end of if (report.measResults.measId == correctMeasId)
10280
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1924
adfa34eee34e Recombined UE measurements tests into one file
Budiarto Herman <budiarto.herman@magister.fi>
parents: 10272
diff changeset
  1925
} // end of void LteUeMeasurementsHandoverTestCase::RecvMeasurementReportCallback