Пример #1
0
  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)
Пример #2
0
    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()
Пример #3
0
  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)
Пример #4
0
 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))
Пример #5
0
 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")
Пример #7
0
  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)
Пример #8
0
 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))
Пример #9
0
  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)
Пример #10
0
    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)
Пример #11
0
 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))
Пример #12
0
    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 = []
Пример #13
0
  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)
Пример #14
0
  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)
Пример #15
0
  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)
Пример #17
0
    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]
Пример #18
0
 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()))