Ejemplo n.º 1
0
def do_pos_circle(circle):
    cutout = ['{} 140 0 0.1'.format(circle)]

    test_subject = Transform()
    shapes = test_subject.world_to_shape(cutout)
    assert shapes is not None
    assert len(shapes) == 1
    circle = shapes[0]
    assert isinstance(circle, Circle)
    assert circle.ra == 140.0
    assert circle.dec == 0.0
    assert circle.radius == 0.1
Ejemplo n.º 2
0
def test_world_to_shape():
    test_subject = Transform()

    world = ['CIRCLE 1.0 2.0 3.0', 'CIRCLE 4.0 5.0 6.0']
    try:
        shapes = test_subject.world_to_shape(world)
        assert False, 'Should raise ValueError'
    except ValueError:
        assert True

    world = ['CIRCLE 1.0 2.0 3.0', 'POLYGON 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0']
    try:
        shapes = test_subject.world_to_shape(world)
        assert False, 'Should raise ValueError'
    except ValueError:
        assert True

    world = [
        'POLYGON 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0',
        'POLYGON 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5'
    ]
    try:
        shapes = test_subject.world_to_shape(world)
        assert False, 'Should raise ValueError'
    except ValueError:
        assert True

    world = ['BAND 1.0 2.0 3.0', 'BAND 4.0 5.0 6.0']
    try:
        shapes = test_subject.world_to_shape(world)
        assert False, 'Should raise ValueError'
    except ValueError:
        assert True

    world = ['TIME 1.0 2.0 3.0', 'TIME 4.0 5.0 6.0']
    try:
        shapes = test_subject.world_to_shape(world)
        assert False, 'Should raise ValueError'
    except ValueError:
        assert True

    world = ['POL I V', 'POL Q U']
    try:
        shapes = test_subject.world_to_shape(world)
        assert False, 'Should raise ValueError'
    except ValueError:
        assert True

    world = ['CIRCLE 1.0 2.0 3.0', 'BAND 4.0 5.0', 'TIME 6.0 7.0', 'POL I V']
    shapes = test_subject.world_to_shape(world)

    assert shapes is not None
    assert len(shapes) == 4

    circle = shapes[0]
    assert circle is not None
    assert isinstance(circle, Circle)
    assert circle.ra == 1.0
    assert circle.dec == 2.0
    assert circle.radius == 3.0

    energy = shapes[1]
    assert energy is not None
    assert isinstance(energy, Energy)
    assert energy.lower == 4.0
    assert energy.upper == 5.0

    time = shapes[2]
    assert time is not None
    assert isinstance(time, Time)
    assert time.lower == 6.0
    assert time.upper == 7.0

    polarization = shapes[3]
    assert polarization is not None
    assert isinstance(polarization, Polarization)
    states = polarization.states
    assert len(states) == 2
    assert states[0] == PolarizationState.I
    assert states[1] == PolarizationState.V

    world = [
        'POLYGON 1.0 1.5 2.0 2.5 3.0 3.5', 'BAND 4.0 5.0', 'TIME 6.0 7.0',
        'POL I V'
    ]
    shapes = test_subject.world_to_shape(world)

    assert shapes is not None
    assert len(shapes) == 4

    polygon = shapes[0]
    assert polygon is not None
    assert isinstance(polygon, Polygon)
    vertices = polygon.vertices
    assert len(vertices) == 3
    assert vertices[0][0] == 1.0
    assert vertices[0][1] == 1.5
    assert vertices[1][0] == 2.0
    assert vertices[1][1] == 2.5
    assert vertices[2][0] == 3.0
    assert vertices[2][1] == 3.5

    energy = shapes[1]
    assert energy is not None
    assert isinstance(energy, Energy)
    assert energy.lower == 4.0
    assert energy.upper == 5.0

    time = shapes[2]
    assert time is not None
    assert isinstance(time, Time)
    assert time.lower == 6.0
    assert time.upper == 7.0

    polarization = shapes[3]
    assert polarization is not None
    assert isinstance(polarization, Polarization)
    states = polarization.states
    assert len(states) == 2
    assert states[0] == PolarizationState.I
    assert states[1] == PolarizationState.V