Removed leading zeros of line codes, and fixed unit test.
authorMax Waterman <davidmaxwaterman+maemogit@fastmail.co.uk>
Sat, 27 Feb 2010 11:57:25 +0000 (13:57 +0200)
committerMax Waterman <davidmaxwaterman+maemogit@fastmail.co.uk>
Sat, 27 Feb 2010 11:57:25 +0000 (13:57 +0200)
zouba/qt/location.h
zouba/qt/route.cpp
zouba/qt/route_p.cpp
zouba/qt/route_p.h
zouba/qt/tests/ut_route/ut_route.cpp

index 18f93b6..2f4c440 100644 (file)
@@ -10,6 +10,11 @@ public:
   {
   };
 
+  Location( QString address )
+  {
+    Q_UNUSED( address );
+  };
+
   QString x;
   QString y;
 };
index 28a011e..2b150f0 100644 (file)
@@ -60,7 +60,7 @@ void Route::replyFinished( QNetworkReply * reply )
 {
   RouteData routeData = q->parseReply( reply->readAll() );
 
-  ui->BusNoDisplay->setText( q->parseJOREcode( routeData.lineCode ) );
+  ui->BusNoDisplay->setText( routeData.lineCode );
   ui->TimeDisplay->setText( routeData.arrivalTime );
 }
 
index 7472c97..df3c2d1 100644 (file)
@@ -28,7 +28,7 @@ RouteData RoutePrivate::parseReply( const QByteArray &reply )
     if ( xml.isStartElement() && xml.name() == "LINE" ) {
       QString lineCode( xml.attributes().value("code").toString() );
 
-      retVal.lineCode = lineCode;
+      retVal.lineCode = parseJORECode( lineCode );
 
       inLine = true;
     } else
@@ -72,13 +72,15 @@ void RoutePrivate::setToLocation( Location toLocation )
   m_toLocation = toLocation;
 }
 
-QString RoutePrivate::parseJOREcode( const QString &joreCode ) const
+QString RoutePrivate::parseJORECode( const QString &joreCode ) const
 {
     QString areaTransportTypeCode( joreCode.mid(0,1) );
-    QString lineCode( joreCode.mid(1,4) );
-    QString letterVariant( joreCode.mid(5,1) );
-    QString letterNumberVariant( joreCode.mid(6,1) );
-    QString direction( joreCode.mid(7,1) );
+    QString lineCode( joreCode.mid(1,3) );
+    QString letterVariant( joreCode.mid(4,1) );
+    QString letterNumberVariant( joreCode.mid(5,1) );
+    QString direction( joreCode.mid(6,1) );
+
+    lineCode.setNum( lineCode.toInt() );
     
     return lineCode+letterVariant;
 }
index b30f4ba..520b89d 100644 (file)
@@ -28,9 +28,10 @@ public:
 
   Location toLocation();
 
-  QString parseJOREcode( const QString &joreCode ) const;
 private:
   Location m_fromLocation;
   Location m_toLocation;
+
+  QString parseJORECode( const QString &joreCode ) const;
 };
 #endif // ROUTE_P_H
index e1ad672..6df0194 100644 (file)
@@ -362,7 +362,7 @@ void Ut_Route::testParseReply()
 {
   RouteData routeData = m_subject->parseReply( sampleInput );
 
-  QCOMPARE( routeData.lineCode, QString( "2110T 1" ) );
+  QCOMPARE( routeData.lineCode, QString( "110T" ) );
   QCOMPARE( routeData.arrivalTime, QString( "1834" ) );
 }