Simplified test suite

This commit is contained in:
Joel Collins 2019-01-08 16:29:34 +00:00
parent eb5c9c3fee
commit 3dc160d51f
4 changed files with 28 additions and 81 deletions

53
tests/test_stage.py Normal file
View file

@ -0,0 +1,53 @@
#!/usr/bin/env python
from openflexure_microscope.camera.pi import StreamingCamera
from openflexure_stage import OpenFlexureStage
from openflexure_microscope import Microscope
import os
import io
import sys
import time
import numpy as np
import uuid
from PIL import Image
import unittest
from pprint import pprint
import logging, sys
logging.basicConfig(stream=sys.stderr, level=logging.INFO)
class TestMicroscope(unittest.TestCase):
def test_movement(self):
move_distance = 500
for axis in range(3):
for direction in [1, -1]:
pos_i = stage.position
logging.debug(pos_i)
logging.info("Moving axis {} by {}".format(axis, move_distance*direction))
move = [0, 0, 0]
move[axis] = move_distance*direction
stage.move_rel(move)
pos_f = stage.position
diff = np.subtract(pos_f, pos_i)
logging.debug("{} > {}".format(pos_i, pos_f))
self.assertTrue(np.array_equal(diff, move))
if __name__ == '__main__':
with OpenFlexureStage("/dev/ttyUSB0") as stage:
suites = [
unittest.TestLoader().loadTestsFromTestCase(TestMicroscope),
]
alltests = unittest.TestSuite(suites)
result = unittest.TextTestRunner(verbosity=2).run(alltests)