logsui/logsengine/tsrc/ut_logsengine/src/ut_logsevent.cpp
changeset 16 c5af8598d22c
parent 10 b04270301d3b
child 17 90fe74753f71
equal deleted inserted replaced
14:f27aebe284bb 16:c5af8598d22c
   230     QVERIFY( deserializedEvent.mIsInView == true );
   230     QVERIFY( deserializedEvent.mIsInView == true );
   231     QVERIFY( deserializedEvent.mEventState == LogsEvent::EventAdded );
   231     QVERIFY( deserializedEvent.mEventState == LogsEvent::EventAdded );
   232     QVERIFY( deserializedEvent.mIsLocallySeen == true );
   232     QVERIFY( deserializedEvent.mIsLocallySeen == true );
   233     QVERIFY( deserializedEvent.mIsPrivate == false );
   233     QVERIFY( deserializedEvent.mIsPrivate == false );
   234     QVERIFY( deserializedEvent.mIsUnknown == false );
   234     QVERIFY( deserializedEvent.mIsUnknown == false );
       
   235     QVERIFY( deserializedEvent.mMergedDuplicates.count() == 0 );
   235     
   236     
   236     // Serialize/deserialize, event data exists
   237     // Serialize/deserialize, event data exists
   237     event.mLogsEventData = new LogsEventData();
   238     event.mLogsEventData = new LogsEventData();
   238     
   239     
   239     QByteArray serializedEvent2;
   240     QByteArray serializedEvent2;
   240     QDataStream stream2(&serializedEvent2, QIODevice::WriteOnly | QIODevice::Append);
   241     QDataStream stream2(&serializedEvent2, QIODevice::WriteOnly | QIODevice::Append);
       
   242     LogsEvent merge1;
       
   243     merge1.setLogId(33);
       
   244     event.mMergedDuplicates.append( merge1 );
       
   245     LogsEvent merge2;
       
   246     merge2.setLogId(34);
       
   247     event.mMergedDuplicates.append( merge2 );
   241     event.serialize(stream2);  
   248     event.serialize(stream2);  
   242     QDataStream readStream2(&serializedEvent2, QIODevice::ReadOnly);      
   249     QDataStream readStream2(&serializedEvent2, QIODevice::ReadOnly);      
   243     LogsEvent deserializedEvent2(readStream2);
   250     LogsEvent deserializedEvent2(readStream2);
   244     QVERIFY( deserializedEvent2.mLogId == 3 );        
   251     QVERIFY( deserializedEvent2.mLogId == 3 );        
   245     QVERIFY( deserializedEvent2.mDirection == LogsEvent::DirMissed );
   252     QVERIFY( deserializedEvent2.mDirection == LogsEvent::DirMissed );
   257     QVERIFY( deserializedEvent2.mIsInView == true );
   264     QVERIFY( deserializedEvent2.mIsInView == true );
   258     QVERIFY( deserializedEvent2.mEventState == LogsEvent::EventAdded );
   265     QVERIFY( deserializedEvent2.mEventState == LogsEvent::EventAdded );
   259     QVERIFY( deserializedEvent2.mIsLocallySeen == true );
   266     QVERIFY( deserializedEvent2.mIsLocallySeen == true );
   260     QVERIFY( deserializedEvent2.mIsPrivate == false );
   267     QVERIFY( deserializedEvent2.mIsPrivate == false );
   261     QVERIFY( deserializedEvent2.mIsUnknown == false );
   268     QVERIFY( deserializedEvent2.mIsUnknown == false );
       
   269     QVERIFY( deserializedEvent2.mMergedDuplicates.count() == 2 );
       
   270     QVERIFY( deserializedEvent2.mMergedDuplicates.at(0).logId() == 33 );
       
   271     QVERIFY( deserializedEvent2.mMergedDuplicates.at(1).logId() == 34 );
   262     
   272     
   263     // Incorrect stream
   273     // Incorrect stream
   264     QByteArray serializedEvent3;
   274     QByteArray serializedEvent3;
   265     QDataStream stream3(&serializedEvent3, QIODevice::ReadWrite | QIODevice::Append);
   275     QDataStream stream3(&serializedEvent3, QIODevice::ReadWrite | QIODevice::Append);
   266     LogsEvent deserializedEvent3(stream3);
   276     LogsEvent deserializedEvent3(stream3);
   280     QVERIFY( deserializedEvent3.mIsInView == false );
   290     QVERIFY( deserializedEvent3.mIsInView == false );
   281     QVERIFY( deserializedEvent3.mEventState == LogsEvent::EventAdded );
   291     QVERIFY( deserializedEvent3.mEventState == LogsEvent::EventAdded );
   282     QVERIFY( deserializedEvent3.mIsLocallySeen == false );
   292     QVERIFY( deserializedEvent3.mIsLocallySeen == false );
   283     QVERIFY( deserializedEvent3.mIsPrivate == false );
   293     QVERIFY( deserializedEvent3.mIsPrivate == false );
   284     QVERIFY( deserializedEvent3.mIsUnknown == false );
   294     QVERIFY( deserializedEvent3.mIsUnknown == false );
   285 }
   295     QVERIFY( deserializedEvent3.mMergedDuplicates.count() == 0 );
   286 
   296 }
       
   297 
       
   298 void UT_LogsEvent::testMerge()
       
   299 {
       
   300     LogsEvent ev;
       
   301     ev.setDirection(LogsEvent::DirOut);
       
   302     ev.setLogId(5);
       
   303     LogsEvent mergedEv;
       
   304     mergedEv.setDirection(LogsEvent::DirOut);
       
   305     mergedEv.setLogId(10);
       
   306     ev.merge(mergedEv);
       
   307     QCOMPARE( ev.mMergedDuplicates.count(), 1 );
       
   308     QCOMPARE( ev.mMergedDuplicates.at(0).logId(), 10 );
       
   309     
       
   310     // Adding again has no effect
       
   311     ev.merge(mergedEv);
       
   312     QCOMPARE( ev.mMergedDuplicates.count(), 1 );
       
   313     QCOMPARE( ev.mMergedDuplicates.at(0).logId(), 10 );
       
   314     
       
   315     // Merging unseen missed events
       
   316     ev.mMergedDuplicates.clear();
       
   317     ev.setDirection(LogsEvent::DirMissed);
       
   318     ev.setDuplicates(2);
       
   319     mergedEv.setDirection(LogsEvent::DirMissed);
       
   320     mergedEv.setDuplicates(0);
       
   321     ev.merge(mergedEv);
       
   322     QCOMPARE( ev.mMergedDuplicates.count(), 1 );
       
   323     QCOMPARE( ev.mMergedDuplicates.at(0).logId(), 10 );
       
   324     QCOMPARE( ev.duplicates(), 3 );
       
   325     
       
   326     // Simulate second reading round
       
   327     ev.setDuplicates(2);
       
   328     ev.merge(mergedEv);
       
   329     QCOMPARE( ev.duplicates(), 3 );
       
   330     
       
   331     // Merging seen events does not cause duplicate increase
       
   332     ev.markedAsSeenLocally(true);
       
   333     ev.setDuplicates(0);
       
   334     ev.merge(mergedEv);
       
   335     QCOMPARE( ev.mMergedDuplicates.count(), 1 );
       
   336     QCOMPARE( ev.mMergedDuplicates.at(0).logId(), 10 );
       
   337     QCOMPARE( ev.duplicates(), 0 );
       
   338 }
       
   339