def test_add_square():
    """
    Проверка работы метода сложения площадей
    """
    square1 = Square('name1', 1, 1, 3, 3)
    square2 = Square('name2', 1, 1, 2, 2)
    assert square1.add_square(square2) == 5
示例#2
0
 def test_parse(self):
     p = Square.parse({'x': 1, 'y': 2, 'size': 3}, {}, Color("#123456"))
     self.assertEqual(p.x, 1)
     self.assertEqual(p.y, 2)
     self.assertEqual(p.width, 3)
     self.assertEqual(p.height, 3)
     self.assertEqual(p.color, Color("#123456"))
示例#3
0
    def test_diffrent_color_place(self):
        p = Square.parse({
            'x': 1,
            'y': 2,
            'size': 3,
            'color': "(0, 255, 0)"
        }, {}, Color("#123456"))
        self.assertEqual(p.color, Color("#00ff00"))

        p = Square.parse({
            'x': 1,
            'y': 2,
            'size': 3,
            'color': "cos"
        }, {"cos": "#00ff00"}, Color("#123456"))
        self.assertEqual(p.color, Color("#00ff00"))
示例#4
0
def move(array, coord_fig, coord_square,
         consume):  #consume указывает ход с поеданием или без
    #стремная функция, ее точно нужно как-то переделать
    #просто нужно постоянно отслеживать какие поля находятся под ударом, эта информация нужна для ходов королей, а здесь это почти не учтено
    x0, y0 = coord_fig
    x1, y1 = coord_square
    if (consume == 0) or (consume == 1 and array[y1][x1].name != "King"):
        array[y1][x1] = array[y0][x0]
        #if <функция, определяющая бьется ли поле, с которого ушла фигура, для короля противника>:
        if False:  #False я поставил, чтобы программа запускалась, т.к. функция выше не написана, допустим, что поле, с которого ушла фигура не бьется для короля противника
            if array[y0][x0].color == "White":
                array[y0][x0] = Square(0, 1)
            else:
                array[y0][x0] = Square(1, 0)
        else:
            array[y0][x0] = Square(0, 0)
    else:
        #шах
        True
    return
示例#5
0
def load_figures(json_figures):
    figs = []
    for fig in json_figures:
        t = fig['type']
        if t == "point":
            figs.append(Point(int(fig['x']), int(fig['y'])))
        elif t == "polygon":
            figs.append(Polygon(fig['points']))
        elif t == "rectangle":
            figs.append(
                Rectangle(int(fig['x']), int(fig['y']), int(fig['width']),
                          int(fig['height'])))
        elif t == "square":
            figs.append(Square(int(fig['x']), int(fig['y']), int(fig['size'])))
        elif t == "circle":
            figs.append(
                Circle(int(fig['x']), int(fig['y']), int(fig['radius'])))
        if "color" in fig:
            figs[-1].color = fig['color']
    return figs
示例#6
0
def test_create_square():
    """Тест создания квадрата"""
    square = Square(a=10)
    assert square.name == 'Square'
示例#7
0
def test_add_areas_error():
    """Тест вызова исключения с невалидными параметрами"""
    var = 10
    square = Square(a=10)
    with pytest.raises(AttributeError):
        square.add_area(var)
示例#8
0
def test_add_areas():
    """Тест вычисления суммы площадей двух фигур"""
    square = Square(a=10)
    assert square.add_area(square) == 200
示例#9
0
def test_square_area():
    """Тест вычисления площади четырехугольника"""
    square = Square(a=10)
    assert square.find_area() == 100
示例#10
0
def test_square_perimeter():
    """Тест вычисления периметра квадрата"""
    square = Square(a=10)
    assert square.find_perimeter() == 40
示例#11
0
from figures import Rectangle, Square, Circle

rect_1 = Rectangle(15, 12)
rect_2 = Rectangle(17, 5)
print(rect_1.get_area(), rect_2.get_area())

square_1 = Square(5)
square_2 = Square(11)
print(square_1.get_area(), square_2.get_area())

circle_1 = Circle(15)
circle_2 = Circle(9)
print(circle_1.get_area(), circle_2.get_area())

figures = [rect_1, rect_2, square_1, square_2, circle_1, circle_2]
for figure in figures:
    print(figure.get_area())
示例#12
0
    def test_errors(self):
        with self.assertRaises(ValueError):
            Square.parse({'y': 2, 'size': 3}, {}, Color("#123456"))
            Square.parse({'xp': 1, 'y': 2, 'size': 3}, {}, Color("#123456"))
            Square.parse({'x': 1, 'size': 3}, {}, Color("#123456"))
            Square.parse({'x': 1, 'y': 2}, {}, Color("#123456"))
            Square.parse({'x': 1, 'y': 2, 'size': 3}, {}, Color("fajny"))
            Square.parse({
                'x': 1,
                'y': 2,
                'size': 3,
                'color': "nic"
            }, {"cos": "#00ff00"}, Color("#123456"))

        with self.assertRaises(TypeError):
            Square.parse({'x': "", 'y': 2, 'size': 3}, {}, Color("#123456"))
            Square.parse({'x': 1, 'y': {}, 'size': 3}, {}, Color("#123456"))
            Square.parse({'x': 1, 'y': 2, 'size': 1.0}, {}, Color("#123456"))
            Square.parse({'x': 1, 'y': 2, 'size': 3}, {}, 1)
示例#13
0
from figures import Rectangle, Square, Circle

#прямоугольники
rect1 = Rectangle(2, 3)
rect2 = Rectangle(3, 4)

#штаны спанчбоба
square1 = Square(5)
square2 = Square(6)

#окружности
circle1 = Circle(6)
circle2 = Circle(7)

figures = [rect1, square1, circle1, rect2, circle2, square2]

for figure in figures:
    if isinstance(figure, Rectangle):
        print(f"Figure Rectangle with area {figure.get_area()}")
    elif isinstance(figure, Square):
        print(f"Figure Square with area {figure.get_area()}")
    elif isinstance(figure, Circle):
        print(f"Figure Circle with area {figure.get_area()}")
    else:
        print("Error in head)")
示例#14
0
from figures import Rectangle, Square, Circle

#прямоугольники
rect1 = Rectangle(2, 3, 4, 5)
rect2 = Rectangle(3, 4, 5, 6)

#штаны спанчбоба
square1 = Square(1, 2, 5)
square2 = Square(3, 4, 6)

#окружности
circle1 = Circle(10, 11, 6)
circle2 = Circle(12, 13, 7)

figures_ = [rect1, square1, circle1, rect2, circle2, square2]

for figure in figures_:
    if isinstance(figure, Rectangle):
        #print(f"Figure Rectangle with area {figure.get_area()} & coordinates {figure.get_coordinates()}")
        print(figure.get_string())
    elif isinstance(figure, Square):
        #print(f"Figure Rectangle with area {figure.get_area()} & coordinates {figure.get_coordinates()}")
        print(figure.get_string())
    elif isinstance(figure, Circle):
        #print(f"Figure Rectangle with area {figure.get_area()} & coordinates {figure.get_coordinates()}")
        print(figure.get_string())
    else:
        print("Error in head)")
def test_name(name):
    """
    Проверка на корректность заданного имени
    """
    square = Square(name, 1, 1, 3, 3)
    assert square.name == name
示例#16
0
from figures import Rectangle, Square, Circle

if __name__ == '__main__':
    print(Rectangle(10, 5, 'Blue'))
    print(Square(7, 'Green'))
    print(Circle(3, 'Yellow'))
def test_angles():
    """
    Проверка на корректность количества углов
    """
    square = Square('name', 1, 1, 2, 2)
    assert square.angles == 4
def test_perimeter():
    """
    Проверка на корректность вычисления периметра
    """
    square = Square('name', 1, 1, 4, 4)
    assert square.perimeter == 12
def test_area():
    """
    Проверка на корректность вычисления площади
    """
    square = Square('name', 1, 1, 4, 4)
    assert square.area == 9
示例#20
0
from figures import Rectangle, Square, Circle

rect_1 = Rectangle(3, 4)
rect_2 = Rectangle(12, 5)
#вывод площади наших двух прямоугольников
print(rect_1.get_area_rectangle())
print(rect_2.get_area_rectangle())
print("\n")

square_1 = Square(10)
square_2 = Square(6)

print(square_1.get_area_square(), square_2.get_area_square())
print("\n")

circ_1 = Circle(25)
circ_2 = Circle(11)

print(circ_1.get_area_circle(), circ_2.get_area_circle())
print("\n")

figures = [rect_1, rect_2, square_1, square_2, circ_1, circ_2]

for figure in figures:
    if isinstance(figure, Square):
        print("Square: " + str(figure.get_area_square()))
    elif isinstance(figure, Rectangle):
        print("Rectangle: " + str(figure.get_area_rectangle()))
    elif isinstance(figure, Circle):
        print("Circle: " + str(figure.get_area_circle()))
示例#21
0
from figures import Rectangle, Square, Circle

rect_1 = Rectangle(3, 4)
rect_2 = Rectangle(12, 5)

print(f"Площадь 1го прямоугольника: {rect_1.getArea()}")
print(f"Площадь 2го прямоугольника: {rect_2.getArea()}")

square_1 = Square(5)
square_2 = Square(10)

print(f"\nПлощадь 1го квадрата: {square_1.getSquareArea()}")
print(f"Площадь 2го квадрата: {square_2.getSquareArea()}")

circle_1 = Circle(3)
circle_2 = Circle(4)

print(f"\nПлощадь 1го круга: {circle_1.getArea()}")
print(f"Площадь 2го круга: {circle_2.getArea()}")

my_figures = [rect_1, rect_2, square_1, square_2, circle_1, circle_2]

print("\nПлощади всех имеющихся фигур:")

for elem in my_figures:
    if isinstance(elem, Square):
        print(elem.getSquareArea())
    else:
        print(elem.getArea())