def test_end_lt_start_squared(): with pytest.raises(ValueError) as e_info: session5.time_it(squared_power_list, 1.5, start=2, end=-2, repetitions=1000)
def test_invalid_speed(): with pytest.raises(ValueError) as e_info: session5.time_it(speed_converter, -100, dist='m', time='s', repetitions=1000)
def test_invalid_time_it_wrongarguments(): with pytest.raises(TypeError): session5.time_it(session5.speed_converter, 100, sides=3, time='s', repetitions=1) #check for wrong arguments with pytest.raises(TypeError): session5.time_it(session5.squared_power_list, 2, start1=1, end=10, repetitions=5) #check for wrong arguments
def test_time_it_call(): q1 = session5.time_it(session5.speed_converter, 100, 'm', 's', repetitons=5) q2 = session5.time_it(session5.temp_converter, 100, 'F', repetitons=5) q3 = session5.time_it(session5.squared_power_list, 5, 0, 7, repetitons=5) q4 = session5.time_it(session5.polygon_area, 5, 3, repetitons=5) q5 = session5.time_it(print, 1, 2, 3, sep='-', end=' ***\n', repetitons=5) assert q1 > 0, 'time not calculated' assert q2 > 0, 'time not calculated' assert q3 > 0, 'time not calculated' assert q4 > 0, 'time not calculated' assert q5 > 0, 'time not calculated'
def test_pos_decimal_squared(): output, avg_time = session5.time_it(squared_power_list, 1.5, start=0, end=5, repetitions=100) assert output == [1.0, 1.5, 2.25, 3.375, 5.0625], 'Square List incorrect'
def test_zero_squared(): output, avg_time = session5.time_it(squared_power_list, 0, start=0, end=5, repetitions=100) assert output == [1, 0, 0, 0, 0], 'Square List incorrect'
def test_neg_number_squared(): output, avg_time = session5.time_it(squared_power_list, -2, start=0, end=5, repetitions=100) assert output == [1, -2, 4, -8, 16], 'Square List incorrect'
def test_time_it_speed_converter(): r = session5.time_it(session5.speed_converter, 100, dist='km', time='min', repetitons=200) assert r > 0, "Your time_it function does not work as intended"
def test_time_it_squared_power_list(): r = session5.time_it(session5.squared_power_list, 2, start=0, end=5, repetitons=5) assert r > 0, "Your time_it function does not work as intended"
def test_0f_temp(): output, avg_time = session5.time_it(temp_converter, 0, temp_given_in='F', repetitions=1000) assert round(output, 2) == -17.78, 'Incorrect Temp' assert avg_time > 0, 'Average time should be > 0'
def test_time_it_input(): with pytest.raises(ValueError) as e_info: r = session5.time_it(session5.squared_power_list, 2, start=0, end=5, repetitons=-20)
def test_speed_converter(): f5 = session5.time_it(speed_converter, 100, dist='km', time='min', repetitons=200) assert isinstance(f5, float), "print function time avg"
def test_posc_temp(): output, avg_time = session5.time_it(temp_converter, 100, temp_given_in='C', repetitions=1000) assert round(output, 2) == 212.0, 'Incorrect Temp' assert avg_time > 0, 'Average time should be > 0'
def test_hexagon_polygon(): output, avg_time = session5.time_it(polygon_area, 4, sides=6, repetitions=1000) assert round(output, 2) == 41.57, 'Incorrect Area' assert avg_time > 0, 'Average time should be > 0'
def test_triangle_polygon(): output, avg_time = session5.time_it(polygon_area, 4, sides=3, repetitions=1000) assert round(output, 2) == 6.93, 'Incorrect Area' assert avg_time > 0, 'Average time should be > 0'
def test_temp_converter(): f4 = session5.time_it(temp_converter, 100, temp_given_in='f', repetitons=100) # 100 is the base temperature given to be converted assert isinstance(f4, float), "print function time avg"
def test_polygon_area_function_check(): assert session5.time_it(session5.polygon_area, 15, sides = 3, repetitions=1000) [0] > 0.0 assert session5.time_it(session5.polygon_area, 15, sides = 4, repetitions=1000) [0] > 0.0 assert session5.time_it(session5.polygon_area, 15, sides = 5, repetitions=1000) [0] > 0.0 assert session5.time_it(session5.polygon_area, 15, sides = 6, repetitions=1000) [0] > 0.0 assert math.isclose(session5.time_it(session5.polygon_area, 15, sides = 3, repetitions=1000) [1], 97.43,rel_tol = 0.01) assert math.isclose(session5.time_it(session5.polygon_area, 15, sides = 4, repetitions=1000) [1], 225.0,rel_tol = 0.01) assert math.isclose(session5.time_it(session5.polygon_area, 15, sides = 5, repetitions=1000) [1], 387.11,rel_tol = 0.01) assert math.isclose(session5.time_it(session5.polygon_area, 15, sides = 6, repetitions=1000) [1], 584.57,rel_tol = 0.01)
def test_neg_zero_repeat_time_it(): with pytest.raises(ValueError) as e_info: session5.time_it(print, 'a', 'b', 'c', sep='-', end=' ***\n', repetitions=0) with pytest.raises(ValueError) as e_info: session5.time_it(print, 'a', 'b', 'c', sep='-', end=' ***\n', repetitions=-1)
def test_kmhr_yrdday_dist(): output, avg_time = session5.time_it(speed_converter, 100, dist='yrd', time='day', repetitions=1000) assert round(output, 2) == 262445.4, 'Incorrect Speed' assert avg_time > 0, 'Average time should be > 0'
def test_kmhr_fts_dist(): output, avg_time = session5.time_it(speed_converter, 100, dist='ft', time='s', repetitions=1000) assert round(output, 2) == 91.13, 'Incorrect Speed' assert avg_time > 0, 'Average time should be > 0'
def test_kmhr_mmin_dist(): output, avg_time = session5.time_it(speed_converter, 100, dist='m', time='min', repetitions=1000) assert round(output, 2) == 1666.67, 'Incorrect Speed' assert avg_time > 0, 'Average time should be > 0'
def test_neg_decimal_squared(): output, avg_time = session5.time_it(squared_power_list, -1.5, start=0, end=5, repetitions=10000) assert output == [1.0, -1.5, 2.25, -3.375, 5.0625], 'Square List incorrect' assert avg_time > 0, 'Average time should be > 0'
def test_kmhr_yrdms_dist(): output, avg_time = session5.time_it(speed_converter, 100, dist='yrd', time='ms', repetitions=1000) assert round(output, 4) == 0.0304, 'Incorrect Speed' assert avg_time > 0, 'Average time should be > 0'
def test_neg_start_end_squared(): output, avg_time = session5.time_it(squared_power_list, 2, start=-2, end=-1, repetitions=1000) assert output == [0.25], 'Square List incorrect' assert avg_time > 0, 'Average time should be > 0'
def test_print(): r = session5.time_it(print, 1, 2, 3, sep='-', end=' ***\n', repetitions=100) assert float(r) > 0, "Invalid execution time of print"
def test_any_args_print(): output, avg_time = session5.time_it(print, 'a', 'b', 'c', 'd', sep='-', end=' ***\n', repetitions=100) assert avg_time >= 0, 'Average time should be > 0'
def test_temp_converter_time(): start_time = time.time() power_list = session5.temp_converter(100, temp_given_in='f') time_for_call = time.time() - start_time time_it = session5.time_it(session5.temp_converter, 100, temp_given_in='f', repetitions=100) print('temp_converter time: ', time_for_call, time_it) assert math.isclose( time_it, time_for_call, rel_tol=1e-02, abs_tol=1e-2) == True, f"Time not matching for temp_converter!!!"
def test_polygon_area_time(): start_time = time.time() power_list = session5.polygon_area(15, sides=3) time_for_call = time.time() - start_time time_it = session5.time_it(session5.polygon_area, 15, sides=3, repetitions=10) print('polygon time: ', time_for_call, time_it) assert math.isclose( time_it, time_for_call, rel_tol=1e-02, abs_tol=1e-2) == True, f"Time not matching for polygon_area!!!"
def test_print_time(): start_time = time.time() print(1, 2, 3, sep='d', end='bla\n') time_for_print = time.time() - start_time time_it = session5.time_it(session5.squared_power_list, 2, start=0, end=5, repetitions=5) assert math.isclose( time_it, time_for_print, rel_tol=1e-02, abs_tol=1e-2) == True, f"Time not matching for print!!!"
def test_invalid_sides_polygon(): with pytest.raises(ValueError) as e_info: session5.time_it(polygon_area, 4, sides=-5, repetitions=100000) with pytest.raises(ValueError) as e_info: session5.time_it(polygon_area, 4, sides=0, repetitions=100000) with pytest.raises(ValueError) as e_info: session5.time_it(polygon_area, 4, sides=8, repetitions=100000)