def test_trackMsg(self):
        stats = TaskStatistics()
        msg = get_msg()

        stats.trackMsg(msg)

        self.assertTrue(msg in stats.msgs)
    def test_msgsNumber(self):
        stats = TaskStatistics()

        self.assertEqual(stats.msgsNumber(), 0)

        stats.trackMsg(get_msg())

        self.assertEqual(stats.msgsNumber(), 1)

        stats.trackMsg(get_msg())

        self.assertEqual(stats.msgsNumber(), 2)
def get_simple_experiment_stats(csvAuto=False, csvFileName=TEST_FILE, csvPersistenceRatio=0.2):
    stats = TaskStatistics(csvAuto=csvAuto, csvFileName=csvFileName,
                           csvPersistenceRatio=csvPersistenceRatio)
    now = 1446628389719
    # total durations: 1000, 1700, 1500
    # waiting: 100, 50, 150
    # executing: 900, 1650, 1350
    msg1 = get_msg(request_ts=now, pre_command_ts=now+100, post_command_ts=now+1000,
                   executor_name=WRKR_ONE)
    msg2 = get_msg(request_ts=now+100, pre_command_ts=now+150, post_command_ts=now+1800,
                   returncode=err_code, executor_name=WRKR_TWO)
    msg3 = get_msg(request_ts=now+200, pre_command_ts=now+350, post_command_ts=now+1700,
                   executor_name=WRKR_ONE)

    stats.trackMsg(msg1)
    stats.trackMsg(msg2)
    stats.trackMsg(msg3)

    return stats
    def test_empty_avgTimeToExecuted(self):
        stats = TaskStatistics()

        self.assertEqual(stats.avgTimeToExecuted(), 0)
    def test_empty_avgExecutionTime(self):
        stats = TaskStatistics()

        self.assertEqual(stats.avgExecutionTime(), 0)
    def test_empty_avgTimeWaiting(self):
        stats = TaskStatistics()

        self.assertEqual(stats.avgTimeWaiting(), 0)