コード例 #1
0
    def test_validation(self):
        with self.assertRaisesRegex(AttributeError, "'input' attribute should be a list"):
            backtrack = Backtrack('1,2,3,4,5')

        with self.assertRaisesRegex(AttributeError, "'input' attribute should be a list"):
            backtrack = Backtrack([])

        with self.assertRaisesRegex(ValueError, "The element on position 0 should be integer or float number"):
            backtrack = Backtrack(['1asdf', 2, 3, 4, 5])
コード例 #2
0
    def test_algorithm_valley(self):
        backtrack = Backtrack([1, 1, 2, 3, 4, 5])

        backtrack._Backtrack__permutation = [3, 1, 1, 2, 4, 5]
        self.assertTrue(backtrack.valley())

        backtrack._Backtrack__permutation = [3, 1, 2, 1, 4, 5]
        self.assertFalse(backtrack.valley())
コード例 #3
0
ファイル: start.py プロジェクト: dooma/backtrack
__author__ = 'Călin Sălăgean'

from lib.backtrack import Backtrack


while True:
    command = input('Type exit or press enter to continue: ')

    if command == 'exit':
        break

    list = []

    while True:
        elem = input('Integer or float: ')
        try:
            int(elem)
            float(elem)

            list.append(elem)
        except:
            print('Continue!')
            break

    if len(list):
        backtrack = Backtrack(list)
        backtrack.determine()
        print(backtrack.result)
    else:
        print('One element required')
コード例 #4
0
 def test_initialization(self):
     backtrack = Backtrack([1, 2, 3, 4, 5])
     self.assertIsInstance(backtrack, Backtrack)
コード例 #5
0
    def test_determine_inline(self):
        backtrack = Backtrack([1, 1, 2, 3, 4, 5])
        backtrack.determine_inline()

        self.assertEqual(len(backtrack.result), 28)
コード例 #6
0
    def test_minimum_array(self):
        backtrack = Backtrack([1, 1, 2, 3, 4, 5])

        self.assertEqual(backtrack.minimum_array(2), [1, 1])
コード例 #7
0
    def test_issorted(self):
        self.assertTrue(Backtrack.issorted([1, 2, 3, 4]))
        self.assertTrue(Backtrack.issorted([3, 2, 1], reverse=True))

        self.assertFalse(Backtrack.issorted([1, 2, 4, 3]))
        self.assertFalse(Backtrack.issorted([3, 1, 2], reverse=True))
コード例 #8
0
    def test_properties(self):
        backtrack = Backtrack([1, 2, 3, 4, 5])

        self.assertEqual(backtrack.array, [1, 2, 3, 4, 5])
        self.assertEqual(backtrack.result, [])
コード例 #9
0
__author__ = 'Călin Sălăgean'

from lib.backtrack import Backtrack

while True:
    command = input('Type exit or press enter to continue: ')

    if command == 'exit':
        break

    list = []

    while True:
        elem = input('Integer or float: ')
        try:
            int(elem)
            float(elem)

            list.append(elem)
        except:
            print('Continue!')
            break

    if len(list):
        backtrack = Backtrack(list)
        backtrack.determine()
        print(backtrack.result)
    else:
        print('One element required')