class TestVoid: # Инициализация (выполняется для каждого из тестов класса) def setup_method(self): self.f = Void() self.f.rectangle = Rectangle() # Нульугольник является фигурой def test_figure(self): assert isinstance(self.f, Figure) # Конструктор порождает экземпляр класса Void (нульугольник) def test_void(self): assert isinstance(self.f, Void) # Периметр нульугольника нулевой def test_perimeter(self): assert self.f.perimeter() == 0.0 # Площадь нульугольника нулевая def test_аrea(self): assert self.f.area() == 0.0 # При добавлении точки нульугольник превращается в одноугольник def test_add(self): assert isinstance(self.f.add(R2Point(0.0, 0.0)), Point) # Площадь пересечения - нулевая def test_g73_area_segment(self): assert self.f.g73() == 0.0
#!/usr/bin/env -S python3 -B from r2point import R2Point from convex import Figure, Void print("Заданная точка") Figure.fixed_point = R2Point() print("\nТочки плоскости") f = Void() try: while True: f = f.add(R2Point()) print(f"S = {f.area()}, P = {f.perimeter()}, g = {f.g()}") print() except(EOFError, KeyboardInterrupt): print("\nStop")
vertex1 = R2Point() print( "Задание #73 (Сальдиков): Вершина #2 (противоположная) правильного прямоугольника" ) #vertex2 = R2Point(2.0, 1.0) vertex2 = R2Point() def add_pt(f, x=None, y=None): f = f.add(R2Point(x, y)) print(f"S = {f.area()}, P = {f.perimeter()}, g73 = {f.g73()}\n") return f print("\nТочки плоскости") f = Void(vertex1, vertex2) try: # f = add_pt(f, 1.0, 1.0) # f = add_pt(f, 2.0, 2.0) # f = add_pt(f, 0.0, 2.0) # f = add_pt(f, 2.0, 1.0) # f = add_pt(f, 0.0, 2.0) # f = add_pt(f, 0.0, 1.0) while True: f = add_pt(f) except (EOFError, KeyboardInterrupt): print("\nStop")
def setup_method(self): self.f = Void() self.f.rectangle = Rectangle()
def setup_method(self): self.f = Void()