import unittest
from buggy_functions import *

# Tests for function is_lowercase.

class TestIsLowercase(unittest.TestCase):

    def test_empty(self):
        """ Testing with the empty string. """

        # The 'actual' result we got from calling the is_lowercase function on
        # the empty string
        actual = is_lowercase("")
        
        # The message we want to provide to the user
        msg = "The empty string"
        
        # Asserting (making sure) that the value of actual is True
        # If it is True, the test case passes, otherwise, it fails.
        self.assertTrue(actual, msg)

    def test_one_lowercase(self):
        """ Testing with a single lowercase letter. """

        actual = is_lowercase("a")
        msg = "A single lowercase letter."
        self.assertTrue(actual, msg)

    def test_one_non_lowercase(self):
        """ Testing with a single letter that is not lowercase. """

        actual = is_lowercase("B")
        msg = "A single letter that is not lowercase. "
        self.assertFalse(actual, msg)

    def test_longer_lowercase(self):
        """ Testing with a several lowercase letters. """

        actual = is_lowercase("abcdef")
        msg = "Several lowercase letters. "
        self.assertTrue(actual, msg)

    def test_longer_non_alphabetic(self):
        """ Testing with a several non-alphabetic letters. """
        # Write test code below
        

    def test_longer_uppercase(self):
        """ Testing with a several uppercase letters. """
        # Write test code below
        
        

unittest.main(exit=False)
