change: import of unittest supports python2 and python3
diff --git a/test_command.py b/test_command.py
index 0f5bbcf6..d3b42f6c 100644
--- a/test_command.py
+++ b/test_command.py
@@ -1,6 +1,10 @@
 from command import MoveFileCommand
-import unittest, os, shutil, subprocess
+import os, shutil, subprocess, sys
 
+if sys.version_info < (2, 7):
+    import unittest2 as unittest
+else:
+    import unittest
 
 class CommandTest(unittest.TestCase):
 
diff --git a/test_state.py b/test_state.py
new file mode 100644
index 00000000..079602b0
--- /dev/null
+++ b/test_state.py
@@ -0,0 +1,62 @@
+from state import Radio
+import sys
+
+if sys.version_info < (2, 7):
+    import unittest2 as unittest
+else:
+    import unittest
+
+class RadioTest(unittest.TestCase):
+    """
+    Attention: Test case results depend on test case execution. The test cases
+    in this integration test class should be executed in an explicit order:
+    http://stackoverflow.com/questions/5387299/python-unittest-testcase-execution-order
+    """
+
+    @classmethod
+    def setUpClass(self):
+        self.radio = Radio()
+
+    def test_initial_state(self):
+        state = self.radio.state.name
+        expected_state_name = 'AM'
+        self.assertEqual(state, expected_state_name)
+
+    def test_initial_am_station(self):
+        station = self.radio.state.stations[self.radio.state.pos]
+        expected_station = '1250'
+        self.assertEqual(station, expected_station)
+
+    def test_2nd_am_station_after_scan(self):
+        self.radio.scan()
+        station = self.radio.state.stations[self.radio.state.pos]
+        expected_station = '1380'
+        self.assertEqual(station, expected_station)
+
+    def test_3rd_am_station_after_scan(self):
+        self.radio.scan()
+        station = self.radio.state.stations[self.radio.state.pos]
+        expected_station = '1510'
+        self.assertEqual(station, expected_station)
+
+    def test_am_station_overflow_after_scan(self):
+        self.radio.scan()
+        station = self.radio.state.stations[self.radio.state.pos]
+        expected_station = '1250'
+        self.assertEqual(station, expected_station)
+
+    def test_shall_toggle_from_am_to_fm(self):
+        self.radio.toggle_amfm()
+        state = self.radio.state.name
+        expected_state_name = 'FM'
+        self.assertEqual(state, expected_state_name)
+
+    def test_shall_toggle_from_fm_to_am(self):
+        self.radio.toggle_amfm()
+        state = self.radio.state.name
+        expected_state_name = 'AM'
+        self.assertEqual(state, expected_state_name)
+
+if __name__ == "__main__":
+    unittest.main()
+
diff --git a/test_strategy.py b/test_strategy.py
index 7e0953d5..a5f3ee3e 100644
--- a/test_strategy.py
+++ b/test_strategy.py
@@ -2,8 +2,12 @@
 Tests for strategy.py
 """
 
-import unittest
-import subprocess
+import subprocess, sys
+
+if sys.version_info < (2, 7):
+    import unittest2 as unittest
+else:
+    import unittest
 
 class StrategyTest(unittest.TestCase):
 

- import of unit test should support python2 and python3 now
- integration test for state.py addedd
