def test_average_bitrate_single_packet(self):
     for i in range(10):
         packet_size_bytes = random.uniform(1.0, 8000.0)
         delay_ms = random.uniform(10.0, 300.0)
         packet = Packet(1, 0.0, packet_size_bytes)
         packet.arrival_time_ms = delay_ms
         self.assertEqual(average_bitrate_kbps([packet]), 8.0 * packet_size_bytes / delay_ms)
 def test_average_bitrate_single_packet(self):
     for i in range(10):
         packet_size_bytes = random.uniform(1.0, 8000.0)
         delay_ms = random.uniform(10.0, 300.0)
         packet = Packet(1, 0.0, packet_size_bytes)
         packet.arrival_time_ms = delay_ms
         self.assertEqual(average_bitrate_kbps([packet]),
                          8.0 * packet_size_bytes / delay_ms)
def __print(receiver):
    """
    Output results:
    Global packet loss and Average Metrics: bitrate and delay.
    """
    print("Average bitrate (kbps)  =", average_bitrate_kbps(receiver.packets))
    print("Average delay (ms)      =", average_delay_ms(receiver.packets))
    print("Global packet loss      =", global_loss_ratio(receiver.packets))
def __print(receiver):
    """
    Output results:
    Global packet loss and Average Metrics: bitrate and delay.
    """
    print("Average bitrate (kbps)  =", average_bitrate_kbps(receiver.packets))
    print("Average delay (ms)      =", average_delay_ms(receiver.packets))
    print("Global packet loss      =", global_loss_ratio(receiver.packets))
 def test_average_bitrate_multiple_packets(self):
     for i in range(10):
         packet_size_bytes = random.uniform(1.0, 8000.0)
         delay_ms = random.uniform(10.0, 300.0)
         gap_ms = random.uniform(10.0, 50.0)
         packets = []
         for j in range(1000):
             packets.append(Packet(j+1, j*gap_ms, packet_size_bytes))
             packets[j].arrival_time_ms = packets[j].send_time_ms + delay_ms
         self.assertNear(average_bitrate_kbps(packets), 8.0 * packet_size_bytes / gap_ms, 0.001)
 def test_average_bitrate_two_packets(self):
     for i in range(10):
         packet_size_bytes = random.uniform(1.0, 8000.0)
         delay_ms = random.uniform(10.0, 300.0)
         gap_ms = random.uniform(10.0, 50.0)
         packet1 = Packet(1, 0.0, packet_size_bytes)
         packet2 = Packet(2, gap_ms, packet_size_bytes)
         packet1.arrival_time_ms = delay_ms
         packet2.arrival_time_ms = gap_ms + delay_ms
         self.assertNear(average_bitrate_kbps([packet1, packet2]), 8.0 * packet_size_bytes / gap_ms, 0.001)
 def test_average_bitrate_multiple_packets(self):
     for i in range(10):
         packet_size_bytes = random.uniform(1.0, 8000.0)
         delay_ms = random.uniform(10.0, 300.0)
         gap_ms = random.uniform(10.0, 50.0)
         packets = []
         for j in range(1000):
             packets.append(Packet(j + 1, j * gap_ms, packet_size_bytes))
             packets[j].arrival_time_ms = packets[j].send_time_ms + delay_ms
         self.assertNear(average_bitrate_kbps(packets),
                         8.0 * packet_size_bytes / gap_ms, 0.001)
 def test_average_bitrate_two_packets(self):
     for i in range(10):
         packet_size_bytes = random.uniform(1.0, 8000.0)
         delay_ms = random.uniform(10.0, 300.0)
         gap_ms = random.uniform(10.0, 50.0)
         packet1 = Packet(1, 0.0, packet_size_bytes)
         packet2 = Packet(2, gap_ms, packet_size_bytes)
         packet1.arrival_time_ms = delay_ms
         packet2.arrival_time_ms = gap_ms + delay_ms
         self.assertNear(average_bitrate_kbps([packet1, packet2]),
                         8.0 * packet_size_bytes / gap_ms, 0.001)
 def test_average_bitrate_no_packets(self):
     self.assertEqual(average_bitrate_kbps(None), 0.0)
     self.assertEqual(average_bitrate_kbps([]), 0.0)
 def test_average_bitrate_no_packets(self):
     self.assertEqual(average_bitrate_kbps(None), 0.0)
     self.assertEqual(average_bitrate_kbps([]), 0.0)