Esempio n. 1
0
def test_position_reader():
    position_0 = PositionReader(json.loads(save)).read()
    position_1 = PositionReader(json.loads(save), 0).read()
    position_2 = PositionReader(json.loads(save), 1).read()

    assert position_0 == Position(10100000, 10100000)
    assert position_1 == Position(10100000, 3058000)
    assert position_2 == Position(10100000, 2058000)
Esempio n. 2
0
def test_check_distance():
    p_obj_1 = PointObject(Position(3, 4))
    p_obj_2 = PointObject(Position(6, 8))
    p_obj_3 = PointObject(Position(0, 0))

    assert p_obj.check_distance(c_obj) == 10**7
    assert p_obj_1.check_distance(p_obj_2) == 5
    assert p_obj_3.check_distance(p_obj_2) == 10
    assert p_obj_3.check_distance(c_obj) == 0
Esempio n. 3
0
def test_is_on_same_pixel():
    p_obj_1 = PointObject(Position(30, 40))
    p_obj_2 = PointObject(Position(30, 39.99999))
    p_obj_3 = PointObject(Position(30.999, 40.123))
    p_obj_4 = PointObject(Position(-3.001, -1))
    p_obj_5 = PointObject(Position(-4, -0.1))

    assert p_obj_1.is_on_same_pixel(p_obj_2, 10) is False
    assert p_obj_1.is_on_same_pixel(p_obj_3, 10) is True
    assert p_obj_4.is_on_same_pixel(p_obj_5, 1) is True
    assert p_obj_4.is_on_same_pixel(p_obj_5, 0.5) is False
Esempio n. 4
0
def test_check_if_inside_img():
    p_obj_1 = PointObject(Position(30, 40))
    p_obj_2 = PointObject(Position(30, 39.99999))
    p_obj_3 = PointObject(Position(-2, -1))
    p_obj_4 = PointObject(Position(0, 0))

    assert p_obj_1.check_if_inside_img(10, 100) is True
    assert p_obj_1.check_if_inside_img(10, 4) is False
    assert p_obj_2.check_if_inside_img(10, 4) is True
    assert p_obj_3.check_if_inside_img(10, 1) is False
    assert p_obj_4.check_if_inside_img(10, 1) is True
Esempio n. 5
0
def test_check_pixel():
    p_obj_1 = PointObject(Position(30, 40))
    p_obj_2 = PointObject(Position(3.1415, 9.9238))
    p_obj_3 = PointObject(Position(0, 0))
    p_obj_4 = PointObject(Position(-3, -2))
    p_obj_5 = PointObject(Position(-0.1, -0.1))

    assert p_obj_1.check_pixel(10) == (3, 4)
    assert p_obj_2.check_pixel(1) == (3, 9)
    assert p_obj_3.check_pixel(1234) == (0, 0)
    assert p_obj_4.check_pixel(1) == (-3, -2)
    assert p_obj_5.check_pixel(1) == (-1, -1)
Esempio n. 6
0
def _position_input():
    print(4 * ' ' + 'Type in values of the position vector: ')
    try:
        x = _number_input(8 * ' ' + 'x value: ')
        y = _number_input(8 * ' ' + 'y value: ')
        return Position(x, y)
    except (ValueError, TypeError, InputError) as e:
        print(e)
        return _position_input()
Esempio n. 7
0
    def __init__(self,
                 mass=Mass(earth_mass),
                 radius=Radius(earth_radius),
                 position=Position(0, 0)):
        super().__init__(position, Velocity(0, 0), mass, radius)

        if self.schwarzschild_radius() > self._radius:
            raise TooSmallRadiusError(
                f'Miniman radius can be {self.schwarzschild_radius()}')
Esempio n. 8
0
def test_distance_vector():
    p_obj_1 = PointObject(Position(3, 4))
    p_obj_2 = PointObject(Position(6, 8))
    p_obj_3 = PointObject(Position(0, 0))

    assert p_obj.distance_vector(c_obj) == Position(-10**7, 0)
    assert p_obj_1.distance_vector(p_obj_2) == Position(3, 4)
    assert p_obj_3.distance_vector(p_obj_2) == Position(6, 8)
    assert p_obj_3.distance_vector(c_obj) == Position(0, 0)
Esempio n. 9
0
def test_update_position():
    p_obj_1 = PointObject(Position(0, 0), Velocity(0, 0))
    p_obj_2 = PointObject(Position(0, 0), Velocity(10, 10))
    p_obj_3 = PointObject(Position(0, 0), Velocity(-10, -10))

    p_obj_1.update_position(0)
    assert p_obj_1._position == Position(0, 0)

    p_obj_1.update_position(5)
    assert p_obj_1._position == Position(0, 0)

    p_obj_2.update_position(1)
    assert p_obj_2._position == Position(10, 10)

    p_obj_2.update_position(5)
    assert p_obj_2._position == Position(60, 60)

    p_obj_3.update_position(2)
    assert p_obj_3._position == Position(-20, -20)
Esempio n. 10
0
from objects import PointObject, CentralObject
from physic_vectors import Velocity, Position
'''central object with 10^24 kg mass located on [0, 0]'''
c_obj = CentralObject(10**24)
'''point object located on [10^7, 0] with 0 velocity'''
p_obj = PointObject(Position(10**7, 0))
'''Tests for class Object'''


def test_check_distance():
    p_obj_1 = PointObject(Position(3, 4))
    p_obj_2 = PointObject(Position(6, 8))
    p_obj_3 = PointObject(Position(0, 0))

    assert p_obj.check_distance(c_obj) == 10**7
    assert p_obj_1.check_distance(p_obj_2) == 5
    assert p_obj_3.check_distance(p_obj_2) == 10
    assert p_obj_3.check_distance(c_obj) == 0


def test_distance_vector():
    p_obj_1 = PointObject(Position(3, 4))
    p_obj_2 = PointObject(Position(6, 8))
    p_obj_3 = PointObject(Position(0, 0))

    assert p_obj.distance_vector(c_obj) == Position(-10**7, 0)
    assert p_obj_1.distance_vector(p_obj_2) == Position(3, 4)
    assert p_obj_3.distance_vector(p_obj_2) == Position(6, 8)
    assert p_obj_3.distance_vector(c_obj) == Position(0, 0)

Esempio n. 11
0
    def __init__(self, position=Position(0, 0), velocity=Velocity(0, 0)):
        super().__init__(position, velocity, 0, 0)

        PointObject.num_pointobjects += 1
Esempio n. 12
0
 def read(self):
     '''returns position vector object'''
     try:
         return Position(x=self._get_x(), y=self._get_y())
     except TypeError as e:
         raise CorruptedSaveError(e)
Esempio n. 13
0
def test_type_error():
    with pytest.raises(TypeError):
        Velocity('a', 1)
        Position('b', 'da')