コード例 #1
0
class TestTXTHandler(unittest.TestCase):

    def setUp(self):
        self.txt_handler = TXTHandler()
        self.txt_file = TXTHandler()
        # get the pathdir where the application is running
        file = sys.argv[0]
        self.pathname = os.path.dirname(file)
        # create an file to test the existing file case
        my_file = open(self.pathname + '/test_exist_file.txt', 'w')
        my_file.write("te")
        my_file.close()

        # Valid txt format 9x9
        self.txt = open ('valid_sudoku_0.txt', 'rb')
        self.valid_txt = self.txt.read()
        
        # Invalid txt format 9x9
        self.txt = open ('invalid_sudoku_0.txt', 'rb')
        self.invalid_txt = self.txt.read()
        self.size = len(self.valid_txt)

    def tearDown(self):
        os.remove(self.pathname + '/test_exist_file.txt')

    def test_write_sudoku_returns_true_file_has_been_write(self):
        res = self.txt_handler.write_sudoku(self.pathname + "/", 'test_not_exist_file.txt', "test")
        os.remove(self.pathname + '/test_not_exist_file.txt')
        self.assertTrue(res)

    def test_write_sudoku_writes_the_specified_line(self):
        line_to_write = "test\n" + \
                        "this is a test"
        self.txt_handler.write_sudoku(self.pathname + "/", \
                                     'test_write_specified_line.txt', line_to_write)
        file_written = open(self.pathname+"/" + 'test_write_specified_line.txt', "r")
        content = file_written.readlines()
        res = ""
        for l in content :
            res = res + l
        file_written.close()
        os.remove(self.pathname + '/test_write_specified_line.txt')
        self.assertEquals(res,line_to_write)

    def test_read_sudoku_for_valid_txt_using_separator_0(self):
        self.expected = '316578492\n' + \
                        '529134768\n' + \
                        '487629531\n' + \
                        '263415987\n' + \
                        '974863125\n' + \
                        '851792643\n' + \
                        '138947256\n' + \
                        '692351874\n' + \
                        '745286319\n'

        result = self.txt_file.get_sudoku_data('valid_sudoku_0.txt')
        self.assertEquals(self.expected, result[0][0])
        
    def test_read_sudoku_for_valid_size_using_0(self):
        self.expected_size = 9
        result = self.txt_file.get_sudoku_data('valid_sudoku_0.txt')
        self.assertEquals(self.expected_size, result[0][1])

    def test_read_sudoku_for_invalid_txt_using_separator_0(self):
        self.expected = '31657849\n' + \
                        '529134768\n' + \
                        '487629531\n' + \
                        '263415987\n' + \
                        '974863125\n' + \
                        '851792643\n' + \
                        '138947256\n' + \
                        '692351874\n'

        result = self.txt_file.get_sudoku_data('invalid_sudoku_0.txt')
        self.assertEquals(self.expected, result[0][0])
        
    def test_read_sudoku_for_invalid_size_using_0(self):
        self.expected_size = -1
        result = self.txt_file.get_sudoku_data('invalid_sudoku_0.txt')
        self.assertEquals(self.expected_size, result[0][1])

    def test_read_sudoku_for_valid_txt_using_separator_dot(self):
        self.expected = '3.657.4.2\n' + \
                        '..913.76.\n' + \
                        '487...531\n' + \
                        '26..15.8.\n' + \
                        '...86..25\n' + \
                        '.5.7.2.4.\n' + \
                        '.389.725.\n' + \
                        '6.2..1.74\n' + \
                        '745.6.1..\n'

        result = self.txt_file.get_sudoku_data('valid_sudoku_dot.txt')
        self.assertEquals(self.expected, result[0][0])

    def test_read_sudoku_for_valid_size_using_dot(self):
        self.expected_size = 9
        result = self.txt_file.get_sudoku_data('valid_sudoku_0.txt')
        self.assertEquals(self.expected_size, result[0][1])
        
    def test_read_sudoku_for_invalid_txt_using_separator_dot(self):
        txt_file = TXTHandler()
        self.expected = '3.657..2\n' + \
                        '..913.76.\n' + \
                        '487...531\n' + \
                        '26..15.8.\n' + \
                        '...86..25\n' + \
                        '.5.7.2.4.\n' + \
                        '.389.725.\n' + \
                        '6.2..1.74\n'                     

        result = self.txt_file.get_sudoku_data('invalid_sudoku_dot.txt')
        self.assertEquals(self.expected, result[0][0])

    def test_read_sudoku_for_invalid_size_using_dot(self):
        self.expected_size = -1
        result = self.txt_file.get_sudoku_data('invalid_sudoku_0.txt')
        self.assertEquals(self.expected_size, result[0][1])
コード例 #2
0
class TestTXTHandler(unittest.TestCase):
    def setUp(self):
        self.txt_handler = TXTHandler()
        self.txt_file = TXTHandler()
        # get the pathdir where the application is running
        file = sys.argv[0]
        self.pathname = os.path.dirname(file)
        # create an file to test the existing file case
        my_file = open(self.pathname + '/test_exist_file.txt', 'w')
        my_file.write("te")
        my_file.close()

        # Valid txt format 9x9
        self.txt = open('valid_sudoku_0.txt', 'rb')
        self.valid_txt = self.txt.read()

        # Invalid txt format 9x9
        self.txt = open('invalid_sudoku_0.txt', 'rb')
        self.invalid_txt = self.txt.read()
        self.size = len(self.valid_txt)

    def tearDown(self):
        os.remove(self.pathname + '/test_exist_file.txt')

    def test_write_sudoku_returns_true_file_has_been_write(self):
        res = self.txt_handler.write_sudoku(self.pathname + "/",
                                            'test_not_exist_file.txt', "test")
        os.remove(self.pathname + '/test_not_exist_file.txt')
        self.assertTrue(res)

    def test_write_sudoku_writes_the_specified_line(self):
        line_to_write = "test\n" + \
                        "this is a test"
        self.txt_handler.write_sudoku(self.pathname + "/", \
                                     'test_write_specified_line.txt', line_to_write)
        file_written = open(
            self.pathname + "/" + 'test_write_specified_line.txt', "r")
        content = file_written.readlines()
        res = ""
        for l in content:
            res = res + l
        file_written.close()
        os.remove(self.pathname + '/test_write_specified_line.txt')
        self.assertEquals(res, line_to_write)

    def test_read_sudoku_for_valid_txt_using_separator_0(self):
        self.expected = '316578492\n' + \
                        '529134768\n' + \
                        '487629531\n' + \
                        '263415987\n' + \
                        '974863125\n' + \
                        '851792643\n' + \
                        '138947256\n' + \
                        '692351874\n' + \
                        '745286319\n'

        result = self.txt_file.get_sudoku_data('valid_sudoku_0.txt')
        self.assertEquals(self.expected, result[0][0])

    def test_read_sudoku_for_valid_size_using_0(self):
        self.expected_size = 9
        result = self.txt_file.get_sudoku_data('valid_sudoku_0.txt')
        self.assertEquals(self.expected_size, result[0][1])

    def test_read_sudoku_for_invalid_txt_using_separator_0(self):
        self.expected = '31657849\n' + \
                        '529134768\n' + \
                        '487629531\n' + \
                        '263415987\n' + \
                        '974863125\n' + \
                        '851792643\n' + \
                        '138947256\n' + \
                        '692351874\n'

        result = self.txt_file.get_sudoku_data('invalid_sudoku_0.txt')
        self.assertEquals(self.expected, result[0][0])

    def test_read_sudoku_for_invalid_size_using_0(self):
        self.expected_size = -1
        result = self.txt_file.get_sudoku_data('invalid_sudoku_0.txt')
        self.assertEquals(self.expected_size, result[0][1])

    def test_read_sudoku_for_valid_txt_using_separator_dot(self):
        self.expected = '3.657.4.2\n' + \
                        '..913.76.\n' + \
                        '487...531\n' + \
                        '26..15.8.\n' + \
                        '...86..25\n' + \
                        '.5.7.2.4.\n' + \
                        '.389.725.\n' + \
                        '6.2..1.74\n' + \
                        '745.6.1..\n'

        result = self.txt_file.get_sudoku_data('valid_sudoku_dot.txt')
        self.assertEquals(self.expected, result[0][0])

    def test_read_sudoku_for_valid_size_using_dot(self):
        self.expected_size = 9
        result = self.txt_file.get_sudoku_data('valid_sudoku_0.txt')
        self.assertEquals(self.expected_size, result[0][1])

    def test_read_sudoku_for_invalid_txt_using_separator_dot(self):
        txt_file = TXTHandler()
        self.expected = '3.657..2\n' + \
                        '..913.76.\n' + \
                        '487...531\n' + \
                        '26..15.8.\n' + \
                        '...86..25\n' + \
                        '.5.7.2.4.\n' + \
                        '.389.725.\n' + \
                        '6.2..1.74\n'

        result = self.txt_file.get_sudoku_data('invalid_sudoku_dot.txt')
        self.assertEquals(self.expected, result[0][0])

    def test_read_sudoku_for_invalid_size_using_dot(self):
        self.expected_size = -1
        result = self.txt_file.get_sudoku_data('invalid_sudoku_0.txt')
        self.assertEquals(self.expected_size, result[0][1])