def test_group_a_group_and_a_circle(self): rectangle1 = Rectangle(-2, -1, 4, 1) rectangle2 = Rectangle(-1, 2, 4, 2) square1 = Square(7, 3, 2) square2 = Square(10, 3, 2) circle1 = Circle(2, 6, 3) self.diagram.add_shape(rectangle1) self.diagram.add_shape(rectangle2) self.diagram.add_shape(square1) self.diagram.add_shape(square2) self.diagram.add_shape(circle1) self.diagram.group_shapes(-1, 1, 8, 6) self.diagram.group_shapes(9, 3, 8, 4) self.diagram.group_shapes(3, 6, 20, 20) self.assertEqual(circle1, self.diagram.shapes[0].shapes[0]) self.assertEqual([rectangle1, rectangle2], self.diagram.shapes[0].shapes[1].shapes) self.assertEqual([square1, square2], self.diagram.shapes[0].shapes[2].shapes)
def adopt_primitive(self, fig, mesh, prim_type_index, primitive_ind=-1): x, y, w, h = fig if primitive_ind == -1: primitive = None if prim_type_index == RECT: primitive = Rectangle(fig, mesh) elif prim_type_index == TRI: primitive = Triangle(fig, mesh) self.shape.append(primitive) else: self.shape[primitive_ind].modify(fig, mesh) not_match_x = x + w > self.world_size or x <= self.start_x not_match_y = y + h > self.world_size or y <= self.start_y if not_match_x or not_match_y: self.send_message("Рабочая область была расширена") self.adjust() else: self.parent_update.emit() # Select step for coordinate grid step_x = min(self.shape, key=lambda prim: prim.step_x).step_x step_y = min(self.shape, key=lambda prim: prim.step_y).step_y self.grid_step = min(step_x, step_y) self.forgo_displayer()
def test_add_circle_and_rectangle_to_diagram(self): circle1 = Circle(0, 0, 3) rectangle1 = Rectangle(0, 0, 4, 2) self.diagram.add_shape(circle1) self.diagram.add_shape(rectangle1) self.assertEqual([circle1, rectangle1], self.diagram.shapes)
def test_diagram_has_circle_on_top_of_rectangle_selects_rectangle_when_point_is_on_rectangle(self): rectangle1 = Rectangle(0, 0, 8, 4) circle1 = Circle(0, 0, 3) self.diagram.add_shape(rectangle1) self.diagram.add_shape(circle1) self.assertEqual(rectangle1, self.diagram.select_at(4, 2))
def test_ungroup_a_nonexistent_group_from_a_di(self): circle1 = Circle(0, 3, 3) rectangle1 = Rectangle(0, 0, 4, 2) self.diagram.add_shape(circle1) self.diagram.add_shape(rectangle1) self.diagram.group_shapes(100,100, 4, 2) self.assertEqual(2, len(self.diagram.shapes))
def create_shape(self): self.diagram.add_shape(Rectangle(140, 120, 80, 40)) self.canvas.create_rectangle(100, 100, 180, 140, outline='black', fill='white', tags="shape")
def test_diagram_has_circle_on_top_of_rectangle_delete_circle_check_for_a_property_of_rectangle_being_there(self): rectangle1 = Rectangle(0, 0, 8, 4) circle1 = Circle(0, 0, 3) self.diagram.add_shape(rectangle1) self.diagram.add_shape(circle1) self.diagram.delete_shape_at(0, 0) self.assertEqual([rectangle1], self.diagram.shapes)
def test_load_diagram_with_one_circle_and_one_rectangle(self): circle1 = Circle(0, 3, 3) rectangle1 = Rectangle(0, 0, 4, 2) self.diagram.add_shape(circle1) self.diagram.add_shape(rectangle1) data_bytes = self.diagram.convert_data() self.diagram.shapes = [] self.diagram.shapes = self.diagram.load_diagram(data_bytes) self.assertEqual(2, len(self.diagram.shapes))
def test_draw_a_rectangle_area_any_shape_within_it_will_be_grouped(self): rectangle1 = Rectangle(-1, 7, 8, 4) circle1 = Circle(0, 0, 3) square1 = Square(-5, 0, 8) self.diagram.add_shape(rectangle1) self.diagram.add_shape(circle1) self.diagram.add_shape(square1) self.diagram.group_shapes(0, 0, 25, 25) self.assertEqual([rectangle1, circle1, square1], self.diagram.shapes[0].shapes)
def __init__(self): # CPU self.CPUtotalUsage = round(percentage().user + percentage().system) self.CPUText = Text(50, 50 - 25) self.CPU = Rectangle(50, 50, 100, 30, GREEN) # CPU Usage self.CPUUsageText = Text(50, 90) self.CPUUsage = Rectangle(50, 50, int(self.CPUtotalUsage), 30, RED) # Memory self.memory = Rectangle(450, 50, 100, 30, GREEN) self.memoryText = Text(450, 50 - 25) # Memory usage self.memoryUsage = Rectangle(450, 50, memory_usage_percent(), 30, RED) self.memoryTextUsage = Text(450, 90) # Disk self.disk = Rectangle(50, 200, 100, 30, GREEN) self.diskText = Text(50, 170) # disk usage self.diskUsage = Rectangle(50, 200, disk_percent(), 30, RED) self.diskTextUsage = Text(50, 240) # info ip self.ip = Text(50, 400) # systen self.platform_name = Text(50, 430) self.platform_platform = Text(50, 460) self.platform_system = Text(50, 490) self.platform_processor = Text(50, 520)
def test_diagram_has_only_a_group_no_ungrouped_shapes(self): rectangle1 = Rectangle(-1, 7, 8, 4) circle1 = Circle(3, 6, 3) square1 = Square(-5, 0, 8) self.diagram.add_shape(rectangle1) self.diagram.add_shape(circle1) self.diagram.add_shape(square1) self.diagram.group_shapes(0, 0, 21, 20) self.assertEqual([rectangle1, circle1, square1], self.diagram.shapes[0].shapes) self.assertEqual(1, len(self.diagram.shapes))
def __init__(self, n, shape): # omega setup self.shape = shape self.omega = Rectangle(self.shape) self.omega.triangulate(n) # function set up manually self.function = lambda x, y: x * (1 - x) * y * (1 - y) self.grad = lambda x, y: ((1 - 2 * x) * (y - y**2) + (1 - 2 * y) * (x - x**2)) self.is_grad = False self.node_values = []
def test_ungroup_a_group(self): rectangle1 = Rectangle(-1, 7, 8, 4) circle1 = Circle(20, 2, 3) square1 = Square(-5, 0, 8) self.diagram.add_shape(rectangle1) self.diagram.add_shape(circle1) self.diagram.add_shape(square1) self.diagram.group_shapes(0, 0, 21, 20) self.diagram.ungroup(self.diagram.shapes[1]) self.assertEqual([circle1, rectangle1, square1], self.diagram.shapes)
def test_delete_group_and_its_shapes(self): rectangle1 = Rectangle(-1, 7, 8, 4) circle1 = Circle(20, 6, 3) square1 = Square(-5, 0, 8) self.diagram.add_shape(rectangle1) self.diagram.add_shape(circle1) self.diagram.add_shape(square1) self.diagram.group_shapes(0, 0, 21, 20) self.diagram.delete_shape_at(3, 6) self.assertEqual([circle1], self.diagram.shapes)
def test_diagram_has_a_group_and_two_ungrouped_shapes(self): rectangle1 = Rectangle(-1, 7, 8, 4) circle1 = Circle(3, 6, 3) square1 = Square(-5, 0, 8) circle2 = Circle(9, 6, 3) square2 = Square(8, 0, 8) self.diagram.add_shape(rectangle1) self.diagram.add_shape(circle1) self.diagram.add_shape(square1) self.diagram.add_shape(circle2) self.diagram.add_shape(square2) self.diagram.group_shapes(0, 0, 21, 20) self.assertEqual([rectangle1, circle1, square1], self.diagram.shapes[2].shapes) self.assertEqual([circle2, square2], self.diagram.shapes[0:2])
def setUp(self): self.rectangle = Rectangle(0, 0, 8, 4)
def __init__(self): ############################################################################ # CPU self.cpu = CPU() self.surfCpu = Surface(0, 0, 500, 400) self.textCpu = Text(19, 25, self.surfCpu.getSurface(), 15) self.rectCpu = Rectangle(20, 50, 200, 15, self.surfCpu.getSurface(), GREEN) self.rectCpuUsage = Rectangle(20, 50, 200, 15, self.surfCpu.getSurface(), RED) # logic core cpu self.xCores = 0 self.xCoresInside = 0 self.rectCores = [] for core in range(self.cpu.getCoresLogical()): self.xCores += 20 if self.xCores > 180: self.xCoresInside += 20 self.rectCores.append(Rectangle(self.xCoresInside, 95, 10, 15, self.surfCpu.getSurface(), GREEN)) self.rectCores.append(Rectangle(self.xCores, 75, 10, 15, self.surfCpu.getSurface(), GREEN)) # infos cpu self.textCore = Text(20, 130, self.surfCpu.getSurface(), 15) self.textCoreLogical = Text(20, 150, self.surfCpu.getSurface(), 15) self.textArch = Text(20, 170, self.surfCpu.getSurface(), 15) self.textBits = Text(20, 190, self.surfCpu.getSurface(), 15) self.textBrand = Text(20, 210, self.surfCpu.getSurface(), 15) ############################################################################# ############################################################################# # MEMORY self.memory = Memory() self.surfMemory = Surface(0, 0, 500, 400) self.rectMemory = Rectangle(20, 50, 200, 15, self.surfMemory.getSurface(), GREEN) self.rectMemoryUsage = Rectangle(20, 50, 200, 15, self.surfMemory.getSurface(), RED) # memory info self.textMemory = Text(19, 25, self.surfMemory.getSurface(), 15) self.textMemoryTotal = Text(19, 130, self.surfMemory.getSurface(), 15) self.textMemoryPercent = Text(19, 150, self.surfMemory.getSurface(), 15) self.textMemoryUsage = Text(19, 170, self.surfMemory.getSurface(), 15) ############################################################################# ############################################################################# # DISK self.disk = Disk() self.surfDisk = Surface(0, 0, 500, 400) self.rectDisk = Rectangle(20, 50, 200, 15, self.surfDisk.getSurface(), GREEN) self.rectDiskUsage = Rectangle(20, 50, 200, 15, self.surfDisk.getSurface(), RED) # disk info self.textDisk = Text(19, 25, self.surfDisk.getSurface(), 15) self.textDiskTotal = Text(19, 130, self.surfDisk.getSurface(), 15) self.textDiskPercent = Text(19, 150, self.surfDisk.getSurface(), 15) self.textDiskUsage = Text(19, 170, self.surfDisk.getSurface(), 15) ############################################################################# ############################################################################### # IP self.ip = Ip self.surfIp = Surface(0, 0, 500, 400) self.textIp = Text(250, 25, self.surfIp.getSurface(), 15) self.textIpEddressLocal = Text(15, 50, self.surfIp.getSurface(), 15) self.textIpEddress = Text(15, 100, self.surfIp.getSurface(), 15) self.textIpEddressMask = Text(15, 150, self.surfIp.getSurface(), 15) self.textIpEddressBroadcast = Text(15, 200, self.surfIp.getSurface(), 15) \ ############################################################################### ############################################################################### # INFOS self.surfInfo = Surface(0, 0, 500, 400) # texts infos cpu self.textInfoCpu = Text(10, 10, self.surfInfo.getSurface(), 15) self.textInfoCore = Text(20, 30, self.surfInfo.getSurface(), 15) self.textInfoCoreLogical = Text(20, 50, self.surfInfo.getSurface(), 15) self.textInfoArch = Text(20, 70, self.surfInfo.getSurface(), 15) self.textInfoBits = Text(20, 90, self.surfInfo.getSurface(), 15) self.textInfoBrand = Text(20, 110, self.surfInfo.getSurface(), 15) # texts infos memory self.textInfoMemory = Text(10, 140, self.surfInfo.getSurface(), 15) self.textInfoMemoryTotal = Text(20, 160, self.surfInfo.getSurface(), 15) self.textInfoMemoryPercent = Text(20, 180, self.surfInfo.getSurface(), 15) self.textInfoMemoryUsage = Text(20, 200, self.surfInfo.getSurface(), 15) # texts infos disk self.textInfoDisk = Text(10, 230, self.surfInfo.getSurface(), 15) self.textInfoDiskTotal = Text(20, 250, self.surfInfo.getSurface(), 15) self.textInfoDiskPercent = Text(20, 270, self.surfInfo.getSurface(), 15) self.textInfoDiskUsage = Text(20, 290, self.surfInfo.getSurface(), 15) # text ip self.textInfoIp = Text(10, 320, self.surfInfo.getSurface(), 15) self.textInfoIpEddress = Text(20, 340, self.surfInfo.getSurface(), 15) ############################################################################### ############################################################################### # arrays surface self.arrSurface = [self.surfCpu, self.surfMemory, self.surfDisk, self.surfIp, self.surfInfo]
def test_save_diagram_with_one_circle_and_one_rectangle(self): self.diagram.add_shape(Circle(0, 0, 3)) self.diagram.add_shape(Rectangle(0, 0, 4, 2)) self.assertEqual(bytes, type(self.diagram.convert_data()))