コード例 #1
0
ファイル: test.py プロジェクト: jeeyoungk/exercise
 def test_mod3_simple(self):
     sm = new_statemachine('mod3.json')
     sm.accept_value('1')
     sm.accept_value('1')
     sm.accept_value('1')
     sm.accept_value('$')
     self.assertEqual(sm.state, 'end')
コード例 #2
0
ファイル: test.py プロジェクト: jeeyoungk/exercise
 def test_binlog(self):
     buf = BytesIO()
     sm = new_statemachine('mod3.json', StreamWriter(buf))
     sm.accept_value('1')
     sm.accept_value('2')
     sm.accept_value('1')
     buf.seek(0)
     log_reader = StreamReader(buf)
     self.assertEqual(log_reader.read().value, '1')
     self.assertEqual(log_reader.read().value, '2')
     self.assertEqual(log_reader.read().value, '1')
     self.assertEqual(log_reader.read(), None)
コード例 #3
0
ファイル: test.py プロジェクト: jeeyoungk/exercise
 def test_mod3(self):
     input_strings = [
         '0',
         '999',
         '782',
         '428',
         '524'
     ]
     for input_string in input_strings:
         sm = new_statemachine('mod3.json')
         for char in input_string:
             sm.accept_value(char)
         expected = int(input_string) % 3
         self.assertEqual(sm.state, "%dmod3" % expected)
コード例 #4
0
ファイル: test.py プロジェクト: jeeyoungk/exercise
 def test_statemachine(self):
     sm = new_statemachine('statemachine.json')
     self.assertEqual(sm.state, 'start')
     sm.accept_value('begin')
     self.assertEqual(sm.version, 1)
     self.assertEqual(sm.state, 'middle')
     sm.accept_value('process')
     sm.accept_value('process')
     sm.accept_value('process')
     sm.accept_value('process')
     sm.accept_value('process')
     self.assertEqual(sm.version, 6)
     self.assertEqual(sm.state, 'middle')
     sm.accept_value('finish')
     self.assertEqual(sm.version, 7)
     self.assertEqual(sm.state, 'end')