Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
BeamFormerPacketInspectorTest.cpp
1 /*
2  * The MIT License (MIT)
3  *
4  * Copyright (c) 2016 The SKA organisation
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a copy
7  * of this software and associated documentation files (the "Software"), to deal
8  * in the Software without restriction, including without limitation the rights
9  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10  * copies of the Software, and to permit persons to whom the Software is
11  * furnished to do so, subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included in all
14  * copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22  * SOFTWARE.
23  */
24 #include "cheetah/rcpt_low/test/BeamFormerPacketInspectorTest.h"
25 #include "cheetah/rcpt_low/BeamFormerPacketInspector.h"
26 #include "cheetah/data/TimeFrequency.h"
27 #include <memory>
28 #include <memory>
29 
30 namespace ska {
31 namespace cheetah {
32 namespace rcpt_low {
33 namespace test {
34 
35 
36 BeamFormerPacketInspectorTest::BeamFormerPacketInspectorTest()
37  : ::testing::Test()
38 {
39 }
40 
41 BeamFormerPacketInspectorTest::~BeamFormerPacketInspectorTest()
42 {
43 }
44 
45 void BeamFormerPacketInspectorTest::SetUp()
46 {
47 }
48 
49 void BeamFormerPacketInspectorTest::TearDown()
50 {
51 }
52 
53 TEST_F(BeamFormerPacketInspectorTest, test_ignore)
54 {
55  BeamFormerPacketLow packet;
56  packet.magic_word(25146554);
57  {
58  PacketInspectorLow inspector(packet);
59  ASSERT_FALSE(inspector.ignore());
60  }
61  packet.magic_word(25746555);
62  {
63  PacketInspectorLow inspector(packet);
64  ASSERT_TRUE(inspector.ignore());
65  }
66 }
67 
68 TEST_F(BeamFormerPacketInspectorTest, test_sequence_number)
69 {
70  BeamFormerPacketLow packet;
71 
72  packet.packet_count(0);
73  packet.first_channel_number(0);
74  {
75  PacketInspectorLow inspector(packet);
76  ASSERT_EQ(0U, inspector.sequence_number());
77  }
78  packet.packet_count(55);
79  packet.first_channel_number(0);
80  {
81 
82  PacketInspectorLow inspector(packet);
83  ASSERT_EQ(47520U, inspector.sequence_number());
84  }
85 }
86 
87 TEST_F(BeamFormerPacketInspectorTest, test_iterator)
88 {
89  BeamFormerPacketLow packet;
90  PacketSample<int8_t> sample(4,-5);
91  packet.insert(0,sample);
92  packet.packet_count(0);
93  packet.magic_word(25146554);
94  PacketInspectorLow packet_i(packet);
95  auto packet_it = packet_i.packet().begin();
96  PacketSample<int8_t> sample1 = *packet_it;
97  ASSERT_EQ(sample.real(), sample1.real());
98  ASSERT_EQ(sample.real(), 4);
99  ASSERT_EQ(sample.imag(), -5);
100 
101 }
102 
103 } // namespace test
104 } // namespace rcpt_low
105 } // namespace cheetah
106 } // namespace ska
Some limits and constants for FLDO.
Definition: Brdz.h:35