text: from ..utils import TranspileTestCase
  
  import unittest
  
  
  class ForLoopTests(TranspileTestCase):
      def test_for_over_range(self):
          # Normal range
          self.assertCodeExecution("""
              total = 0
              for i in range(0, 5):
                  total = total + i
                  print(i, total)
              print('Done.')
              """)
  
          # Empty range
          self.assertCodeExecution("""
                total = 0
                for i in range(0, 0):
                    total = total + i
                    print(i, total)
                print('Done.')
                """)
  
          # Stepped range
          self.assertCodeExecution("""
                total = 0
                for i in range(0, 10, 2):
                    total = total + i
                    print(i, total)
                print('Done.')
                """)
  
          # Reverse range
          self.assertCodeExecution("""
                total = 0
                for i in range(5, 0, -1):
                    total = total + i
                    print(i, total)
                print('Done.')
                """)
  
      def test_for_over_iterable(self):
          self.assertCodeExecution("""
              total = 0
              for i in [1, 2, 3, 5]:
                  total = total + i
                  print(i, total)
              print('Done.')
              """)
  
          self.assertCodeExecution("""
              total = 0
              for i in []:
                  total = total + i
                  print(i, total)
              print('Done.')
              """)
  
      # def test_for_else(self):
      #     self.assertCodeExecution(
      #         code="""
      #             total = 0
      #             for i in []:
      #                 total = total + i
      #             else:
      #                 total = -999
      #             """,
      #         expected="""
      #          Code (159 bytes)
      #         """)
  
      def test_break(self):
          self.assertCodeExecution(
              code="""
                  for i in range(1, 10):
                      print(i, i % 5)
                      if i % 5 == 0:
                          break
                      print ("after")
                  print("Done")
              """)
  
      def test_continue(self):
          self.assertCodeExecution(
              code="""
                  for i in range(1, 10):
                      print(i, i % 5)
                      if i % 5 == 0:
                          continue
                      print ("after")
                  print("Done")
              """)
  
      def test_nested(self):
          self.assertCodeExecution(
              code="""
                  i = 1
                  j = 10
                  for i in range(1, 10):
                      for k in range(0, i):
                          print(i, j)
                  print("Done")
              """)
  