def test_sum_with_incorrect_class(sides, fixture_incorrect_type, fixture_test_class): square = Square(sides) print(fixture_test_class) with pytest.raises(TypeError) as excinfo: square.add_square(fixture_test_class()) del square assert str(excinfo.value) == fixture_incorrect_type
def test_angles(): assert Square(2, 2).angles == 4
def test_negative_value_of_side(sides, fixture_negative_side): a, b, c, d = sides with pytest.raises(ValueError) as excinfo: square = Square(a, b, c, d) del square assert str(excinfo.value) == fixture_negative_side
def test_not_square(sides, fixture_square_not_exists): a, b, c, d = sides with pytest.raises(ValueError) as excinfo: square = Square(a, b, c, d) del square assert str(excinfo.value) == fixture_square_not_exists
def test_sum_areas(sides, class_to_sum, result_sum): square = Square(sides) assert square.add_square(class_to_sum) == result_sum del square
def test_name(): assert Square(2, 2).name == "Square"
def test_area(sides, area): a, b, c, d = sides square = Square(a, b, c, d) assert square.area == area del square
def test_perimeter(sides, perimeter): square = Square(sides) assert square.perimeter == perimeter del square
assert triangle.perimeter == perimeter del triangle @pytest.mark.parametrize("sides, area", [((2, 3, 4), 2.9), ((2.3, 2.4, 4.6), 1.1)]) def test_area(sides, area): a, b, c = sides triangle = Triangle(a, b, c) assert triangle.area == area del triangle @pytest.mark.parametrize("sides, class_to_sum, result_sum", [((2, 3, 4), Rectangle(1, 2, 1, 2), 4.9), ((2.3, 2.4, 4.6), Square(2), 5.1), ((2, 3, 4), Circle(4), 15.5)]) def test_sum_areas(sides, class_to_sum, result_sum): a, b, c = sides triangle = Triangle(a, b, c) assert triangle.add_square(class_to_sum) == result_sum del triangle @pytest.mark.parametrize("sides", [(-2, 3, 4), (2, -3, 4), (2, 3, -4), (0, 3, 4), (2, 0, 4), (2, 3, 0)]) def test_negative_value_of_side(sides, fixture_negative_side): a, b, c = sides with pytest.raises(ValueError) as excinfo: triangle = Triangle(a, b, c) del triangle
circle = Circle(diameter) assert circle.perimeter == length del circle @pytest.mark.parametrize("diameter, area", [(4, 12.6), (2.34, 4.3)]) def test_area(diameter, area): circle = Circle(diameter) assert circle.area == area del circle @pytest.mark.parametrize("diameter, class_to_sum, result_sum", [(4, Triangle(2, 3, 4), 15.5), (4, Rectangle(1, 2, 1, 2), 14.6), (4, Square(4), 28.6)]) def test_sum_areas(diameter, class_to_sum, result_sum): circle = Circle(diameter) assert circle.add_square(class_to_sum) == result_sum del circle @pytest.mark.parametrize("diameter", [-2, 0]) def test_negative_value_of_side(diameter, fixture_negative_side): with pytest.raises(ValueError) as excinfo: circle = Circle(diameter) del circle assert str(excinfo.value) == fixture_negative_side @pytest.mark.parametrize("diameter", [2])
assert rectangle.perimeter == perimeter del rectangle @pytest.mark.parametrize("sides, area", [((2, 3, 2, 3), 6), ((2.3, 2.4, 2.4, 2.3), 5.5)]) def test_area(sides, area): a, b, c, d = sides rectangle = Rectangle(a, b, c, d) assert rectangle.area == area del rectangle @pytest.mark.parametrize("sides, class_to_sum, result_sum", [((1, 2, 1, 2), Triangle(2, 3, 4), 4.9), ((1, 2, 1, 2), Square(2), 6), ((1, 2, 1, 2), Circle(4), 14.6)]) def test_sum_areas(sides, class_to_sum, result_sum): a, b, c, d = sides rectangle = Rectangle(a, b, c, d) assert rectangle.add_square(class_to_sum) == result_sum del rectangle @pytest.mark.parametrize("sides", [(-2, 3, 2, 3), (2, -3, 2, 3), (2, 3, -2, 3), (2, 3, 2, -3), (0, 2, 3, 4), (2, 0, 4, 1), (2, 3, 0, 1), (2, 3, 2, 0)]) def test_negative_value_of_side(sides, fixture_negative_side): a, b, c, d = sides with pytest.raises(ValueError) as excinfo: rectangle = Rectangle(a, b, c, d)