예제 #1
0
	def test_init(self):
		test = rectangles.Rectangle(1,1,3,2)
		self.assertIs(test.pt1.x,1)
		self.assertIs(test.pt1.y,1)
		self.assertIs(test.pt2.x,3)
		self.assertIs(test.pt2.y,2)
		with self.assertRaises(ValueError):
			rectangles.Rectangle(3,4,2,7)
		with self.assertRaises(ValueError):
			rectangles.Rectangle(3,4,6,3)
예제 #2
0
	def test_cover(self):
		test1 = rectangles.Rectangle(1,1,3,2)
		test2 = rectangles.Rectangle(0,0,2,2)
		test3 = rectangles.Rectangle(3,1,4,2)
		test4 = rectangles.Rectangle(0,1.5,2,3)
		self.assertEqual(rectangles.Rectangle.cover(test1,test2), rectangles.Rectangle(0,0,3,2))
		self.assertEqual(rectangles.Rectangle.cover(test1,test3), rectangles.Rectangle(1,1,4,2))
		self.assertEqual(rectangles.Rectangle.cover(test1,test4), rectangles.Rectangle(0,1,3,3))
예제 #3
0
	def test_intersection(self):
		
		test1 = rectangles.Rectangle(1,1,3,2)
		test2 = rectangles.Rectangle(0,0,2,2)
		test3 = rectangles.Rectangle(3,1,4,2)
		test4 = rectangles.Rectangle(0,1.5,2,3)
		self.assertEqual(rectangles.Rectangle.intersection(test1,test2), rectangles.Rectangle(1,1,2,2))
		self.assertEqual(rectangles.Rectangle.intersection(test1,test3), rectangles.Rectangle(0,0,0,0))
		self.assertEqual(rectangles.Rectangle.intersection(test1,test4), rectangles.Rectangle(1,1.5,2,2))
예제 #4
0
파일: main.py 프로젝트: gabij98/shapes
# coding: utf8
import rectangles
import parallelograms
import circle
import triangle
import pygame
import sys

pygame.init()

# creating objects
rectangle1 = rectangles.Rectangle(95, 130)
square1 = rectangles.Square(90)
parallelogram1 = parallelograms.Parallelogram(150, 100, 45)
diamond1 = parallelograms.Diamond(100, 60)
triangle1 = triangle.Triangle(100, 120, 110)
circle1 = circle.Circle(50)

print(circle1.area)
print(triangle1.perimeter)

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit(0)

    # drawing objects
    square1.draw()
    circle1.draw()
    diamond1.draw()
    parallelogram1.draw()
예제 #5
0
import rectangles
import unittest

v0 = rectangles.Rectangle(5, 5, 8, 8)
v1 = rectangles.Rectangle(0, 0, 1, 1)
v2 = rectangles.Rectangle(1, 1, 2, 2)
v3 = rectangles.Rectangle(2, 2, 4, 4)
v4 = rectangles.Rectangle(3, 2, 4, 6)


class TestRectngle(unittest.TestCase):
    def test_str(self):
        self.assertEqual(v0.__str__(), "[(5, 5), (8, 8)]")

    def test_repr(self):
        self.assertEqual(v0.__repr__(), "Rectangle(5, 5, 8, 8)")

    def test_eq(self):
        self.assertTrue(v1.__eq__(v2))

    def test_ne(self):
        self.assertTrue(v1.__ne__(v3))

    def test_center(self):
        self.assertEqual(v3.center(), "(3, 3)")

    def test_area(self):
        self.assertEqual(v3.area(), 4)

    def test_move(self):
        self.assertEqual(v4.move(2, 2), "Rectangle(5, 4, 6, 8)")
예제 #6
0

ellipse1 = ellipses.Ellipse(4, 2)

print(ellipse1.summary())

ellipse1.plot()



circle1 = ellipses.Circle(4)

print(circle1.summary())

circle1.plot()



triangle1 = triangles.Triangle(4, 4, 60)

print(triangle1.summary())

triangle1.plot()



rectangle1 = rectangles.Rectangle(2, 7)

print(rectangle1.summary())

rectangle1.plot()
예제 #7
0
import paralelogram
import triangle
import circle

#Maths
import matplotlib.pyplot as plt
import numpy as np

#Data
R = 1
a = 1
b = 2
k = np.pi / 3

#Shapes
r2 = rectangles.Rectangle(a, b)  #rectangle
s2 = rectangles.Square(a)  #square
p2 = paralelogram.Parallelogram(a, b, k)  #parallelogram
d2 = paralelogram.Dimond(a, k)  ##dimond
t2 = triangle.Triangle(a, b, k)  #triangle
c2 = circle.Circle(R)  #circle

if k > np.pi / 2:
    print("There is no dimond, rectangle and square with such an angle")
    # parallelogram
    plt.plot([0, b], [0, 0])
    plt.plot([np.cos(k) * a, b + np.cos(k) * a],
             [np.sin(k) * a, np.sin(k) * a])
    plt.plot([0, np.cos(k) * a], [0, np.sin(k) * a])
    plt.plot([b, b + np.cos(k) * a], [0, np.sin(k) * a])
    plt.title("Parallelogram")
예제 #8
0
 def test_init(self):
     test = rectangles.Rectangle(1, 1, 3, 2)
     self.assertIs(test.pt1.x, 1)
     self.assertIs(test.pt1.y, 1)
     self.assertIs(test.pt2.x, 3)
     self.assertIs(test.pt2.y, 2)
예제 #9
0
 def test_move(self):
     test = rectangles.Rectangle(1, 1, 3, 2)
     self.assertEqual(test.move(-1, 2), rectangles.Rectangle(0, 3, 2, 4))
예제 #10
0
 def test_center(self):
     test = rectangles.Rectangle(1, 1, 3, 2)
     self.assertEqual(test.center(), points.Point(2, 1.5))
예제 #11
0
 def test_ne(self):
     test = rectangles.Rectangle(1, 1, 3, 2)
     self.assertTrue(test != rectangles.Rectangle(1, 2, 3, 2))
     self.assertFalse(test != rectangles.Rectangle(1, 1, 3, 2))
     self.assertTrue(test != rectangles.Rectangle(1, 1, 3, 1))
예제 #12
0
 def test_repr(self):
     test = rectangles.Rectangle(1, 1, 3, 2)
     self.assertEqual("Rectangle(1, 1, 3, 2)", repr(test))
예제 #13
0
 def test_str(self):
     test = rectangles.Rectangle(1, 1, 3, 2)
     self.assertEqual("[(1, 1), (3, 2)]", str(test))
예제 #14
0
	def test_make4(self):
		test2 = rectangles.Rectangle(0,0,2,2)
		self.assertEqual(rectangles.Rectangle.make4(test2)[0], rectangles.Rectangle(0,0,1,1) )
		self.assertEqual(rectangles.Rectangle.make4(test2)[1], rectangles.Rectangle(0,1,1,2) )
		self.assertEqual(rectangles.Rectangle.make4(test2)[2], rectangles.Rectangle(1,1,2,2) )
		self.assertEqual(rectangles.Rectangle.make4(test2)[3], rectangles.Rectangle(1,0,2,2) )
예제 #15
0
파일: main1.py 프로젝트: Rutele/shapes
# coding: utf8
import rectangles
import circle
import triangle
import parallelogram
import numpy as np
import pygame

#Defining the shapes
par1 = parallelogram.Parallelogram((24, 500), 2, 4, 45)
rect1 = rectangles.Rectangle((20, 10), 2, 3)
cir1 = circle.Circle((400, 50), 1)
tr1 = triangle.Triangle((300, 500), np.array([0, 2]), np.array([2, 0]))

#Initalization of PyGame
pygame.init()
running = True
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("Shape drawing")
clock = pygame.time.Clock()

#PyGame's main loop
while running:

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    par1.draw(screen)
    rect1.draw(screen)
    cir1.draw(screen)
예제 #16
0
 def test_Rect(self):
     rect = rectangles.Rectangle(2, 3)
     data = rect.summary()
     self.assertEqual(6.,data['area'])
     self.assertEqual(10.,data['perimeter'])
예제 #17
0
 def test_area(self):
     test = rectangles.Rectangle(1, 1, 3, 2)
     self.assertEqual(test.area(), 2)