30 lines
885 B
Python
30 lines
885 B
Python
from unittest import mock
|
|
|
|
import numpy as np
|
|
from py.test import raises
|
|
|
|
from telescope_model import TelescopeModel
|
|
|
|
|
|
def test_unsafe_elevation_angle():
|
|
with mock.patch('telescope_model.telescope_driver'):
|
|
telescope = TelescopeModel(address='10.2.1.1')
|
|
elevation_angle = np.pi / 2.0
|
|
with raises(ValueError):
|
|
telescope.set_elevation_angle(elevation_angle)
|
|
|
|
|
|
def test_model_initialization():
|
|
connection_id = 'bogus_connection'
|
|
initial_angle = 1.23
|
|
|
|
with mock.patch('telescope_model.telescope_driver') as driver:
|
|
driver.connect.return_value = connection_id
|
|
driver.get_angle.return_value = initial_angle
|
|
|
|
telescope = TelescopeModel(address='10.2.1.1')
|
|
assert telescope.connection == connection_id
|
|
assert driver.connect.call_count == 1
|
|
assert telescope.current_angle == initial_angle
|
|
|