import unittest
class PerformanceReport:
def __init__(self, response_times, throughput, errors, cpu_usage):
self.response_times = response_times
self.throughput = throughput
self.errors = errors
self.cpu_usage = cpu_usage
def average_response_time(self):
return sum(self.response_times) / len(self.response_times)
def error_rate(self):
return (self.errors / self.throughput) * 100 if self.throughput else 0
class TestPerformanceReport(unittest.TestCase):
def test_average_response_time(self):
report = PerformanceReport([100, 200, 150], 300, 3, 50)
self.assertAlmostEqual(report.average_response_time(), 150)
def test_error_rate(self):
report = PerformanceReport([100, 200, 150], 300, 3, 50)
self.assertAlmostEqual(report.error_rate(), 1)
if __name__ == '__main__':
unittest.main()