@@ -127,4 +127,43 @@ void TestOMM::testXMLread()
127127 r.readNext ();
128128 }
129129 file.close ();
130- }
130+ }
131+
132+ void TestOMM::testLegacyTleVsXML ()
133+ {
134+ OMM::ShPtr dut_xml;
135+ bool flag = false ;
136+ QFile file (" test_data.xml" );
137+ flag = file.open (QFile::ReadOnly | QFile::Text);
138+ QVERIFY (true == flag);
139+ if (!flag)
140+ return ;
141+ QXmlStreamReader r (&file);
142+ flag = true ;
143+ while (flag && !r.atEnd ()) {
144+ QString tag = r.name ().toString ();
145+ if (r.isStartElement () && tag.toLower () == " omm" ) {
146+ dut_xml = OMM::ShPtr (new OMM (r));
147+ QVERIFY (dut_xml->getObjectId () == " 1998-067A" );
148+ flag = false ;
149+ }
150+ r.readNext ();
151+ }
152+ file.close ();
153+
154+ QString l0 (" ISS (ZARYA)" );
155+ // 1 2 3 4 5 6 7
156+ // 01234567890123456789012345678901234567890123456789012345678901234567890
157+ QString l1 (" 1 25544U 98067A 23191.40640406 .00007611 00000+0 14335-3 0 9995" );
158+ QString l2 (" 2 25544 51.6398 233.5611 0000373 12.3897 91.4664 15.49560249404764" );
159+ OMM::ShPtr dut_tle (new OMM (l0, l1, l2));
160+ QVERIFY (dut_tle->getObjectName () == " ISS (ZARYA)" );
161+ QCOMPARE (dut_xml->getInclination (), dut_tle->getInclination ());
162+ QCOMPARE (dut_xml->getAscendingNode (), dut_tle->getAscendingNode ());
163+ QCOMPARE (dut_xml->getArgumentOfPerigee (), dut_tle->getArgumentOfPerigee ());
164+ QCOMPARE (dut_xml->getEccentricity (), dut_tle->getEccentricity ());
165+ QCOMPARE (dut_xml->getMeanAnomoly (), dut_tle->getMeanAnomoly ());
166+ QCOMPARE (dut_xml->getMeanMotion (), dut_tle->getMeanMotion ());
167+ QCOMPARE (dut_xml->getRevAtEpoch (), dut_tle->getRevAtEpoch ());
168+ QCOMPARE (dut_xml->getEpoch ()->getJulian (), dut_tle->getEpoch ()->getJulian ());
169+ }
0 commit comments