
from tests.testcase import TestCase
import unittest
import sys
import os
from time import sleep
from threading import Lock


class TestTestCase(unittest.TestCase):

    thread_lock = Lock()
    thread_count = 0
    thread_overlapping_count = 0

    def setUp(self):
        """
        Set up the test
        :return:    void
        """

        self._testCase = TestCase(methodName='assertEqual')
        self._testCase.set_up()

        TestTestCase.thread_count = 0
        TestTestCase.thread_overlapping_count = 0

    def tearDown(self):
        """
        Tear down the test
        :return:    void
        """

        self._testCase.tear_down()

    def test_compare_methods(self):
        """
        Test the compare methods
        :return:    void
        """

        methods = [
            (self.assertEqual,          self._testCase.assert_equal,            2,  ([], [])),
            (self.assertNotEqual,       self._testCase.assert_not_equal,        2,  ([], [])),
            (self.assertTrue,           self._testCase.assert_true,             1,  []),
            (self.assertFalse,          self._testCase.assert_false,            1,  []),