class ProtocolTestCase(unittest.TestCase): """Unit tests for googlemaps.""" def setUp(self): self.tesIntf = TesInterface() def tearDown(self): self.tesIntf.dispose() self.tesIntf = None def test_Err0InvalidCommand(self): """Controllo la lunghezza del comando passato""" self.assertRegexpMatches(self.tesIntf.parseCommand(''),r'^CERR .* 0: lunghezza comando non valida$') def test_CT1Err1NoParameters(self): """Controllo che siano stati accodati sufficienti parametri""" self.assertRegexpMatches(self.tesIntf.parseCommand("CT1"),r'^CERR .* 1: nessun parametro inviato$') self.assertRegexpMatches(self.tesIntf.parseCommand("CT1 A0.00"),r'^CERR .* 1: nessun parametro inviato$') self.assertRegexpMatches(self.tesIntf.parseCommand("CT1 A0.00 B0.00"),r'^CERR .* 1: nessun parametro inviato$') def test_CT1Err2WrongR(self): """Controllo che sia corretto il parametro R""" self.assertRegexpMatches(self.tesIntf.parseCommand("CT1 A0.00 Y0.00 K0.00"),r'^CERR .* 2: parametro .* non valido, atteso R$') def test_CT1Err2WrongP(self): """Controllo che sia corretto il parametro P""" self.assertRegexpMatches(self.tesIntf.parseCommand("CT1 R0.00 Y0.00 K0.00"),r'^CERR .* 3: parametro .* non valido, atteso P$') def test_CT1Err2WrongY(self): """Controllo che sia corretto il parametro Y""" self.assertRegexpMatches(self.tesIntf.parseCommand("CT1 R0.00 P0.00 K0.00"),r'^CERR .* 4: parametro .* non valido, atteso Y$') def test_CT1Err2WrongVorT(self): """Controllo che sia corretto il parametro V o T se presenti""" self.assertRegexpMatches(self.tesIntf.parseCommand("CT1 R0.00 P0.00 Y0.00 K213"),r'^CERR .* 5: parametro .* non valido, atteso V o T$') def test_CT1(self): """Controllo la corretta ricezione di un comando CT1 valido""" self.assertEqual(self.tesIntf.parseCommand("CT1 R0.00 P0.00 Y0.00 V213"),"OK") self.assertEqual(self.tesIntf.parseCommand("CT1 R0.00 P0.00 Y0.00 T12.21"),"OK")