Best Python code snippet using avocado_python
test_combinationMatrix.py
Source:test_combinationMatrix.py
1import unittest2from avocado_varianter_cit.CombinationMatrix import CombinationMatrix3from avocado_varianter_cit.CombinationRow import CombinationRow4def combination_row_equals(row_1, row_2):5 return (row_1.covered_more_than_ones == row_2.covered_more_than_ones and row_1.uncovered == row_2.uncovered6 and row_1.hash_table == row_2.hash_table)7class MatrixInitialization(unittest.TestCase):8 def test_combination_matrix_initialization(self):9 """10 Test of proper initialization11 """12 data = [3, 3, 3, 4]13 t_value = 214 matrix = CombinationMatrix(data, t_value)15 excepted_uncovered = 6316 excepted_covered_more_than_ones = 017 excepted_row_size = 618 excepted_hash_table = {(0, 1): CombinationRow(data, t_value, (0, 1)),19 (0, 2): CombinationRow(data, t_value, (0, 2)),20 (0, 3): CombinationRow(data, t_value, (0, 3)),21 (1, 2): CombinationRow(data, t_value, (1, 2)),22 (1, 3): CombinationRow(data, t_value, (1, 3)),23 (2, 3): CombinationRow(data, t_value, (2, 3))}24 self.assertEqual(matrix.total_uncovered, excepted_uncovered, "Total uncovered number is wrong.")25 self.assertEqual(matrix.total_covered_more_than_ones, excepted_covered_more_than_ones,26 "Total uovered_more_than_ones number is wrong.")27 self.assertEqual(len(matrix.hash_table), excepted_row_size, "Matrix has wrong row size")28 self.assertEqual(len(matrix.uncovered_rows), excepted_row_size, "Matrix has wrong uncovered row size")29 for key in matrix.hash_table:30 with self.subTest(combination=key):31 self.assertTrue(combination_row_equals(matrix.hash_table[key], excepted_hash_table[key]))32class CombinationMatrixTest(unittest.TestCase):33 def setUp(self):34 self.data = [3, 3, 3, 4]35 self.t_value = 236 self.matrix = CombinationMatrix(self.data, self.t_value)37 self.excepted_hash_table = {(0, 1): CombinationRow(self.data, self.t_value, (0, 1)),38 (0, 2): CombinationRow(self.data, self.t_value, (0, 2)),39 (0, 3): CombinationRow(self.data, self.t_value, (0, 3)),40 (1, 2): CombinationRow(self.data, self.t_value, (1, 2)),41 (1, 3): CombinationRow(self.data, self.t_value, (1, 3)),42 (2, 3): CombinationRow(self.data, self.t_value, (2, 3))}43 def test_cover_solution_row(self):44 solution_row = [1, 0, 2, 3]45 excepted_uncovered = 5746 excepted_covered_more_than_ones = 047 excepted_uncovered_row_size = 648 self.excepted_hash_table[0, 1].cover_cell((1, 0))49 self.excepted_hash_table[0, 2].cover_cell((1, 2))50 self.excepted_hash_table[0, 3].cover_cell((1, 3))51 self.excepted_hash_table[1, 2].cover_cell((0, 2))52 self.excepted_hash_table[1, 3].cover_cell((0, 3))53 self.excepted_hash_table[2, 3].cover_cell((2, 3))54 self.matrix.cover_solution_row(solution_row)55 self.assertEqual(excepted_uncovered, self.matrix.total_uncovered, "Total uncovered number is wrong.")56 self.assertEqual(excepted_covered_more_than_ones, self.matrix.total_covered_more_than_ones,57 "Total uovered_more_than_ones number is wrong.")58 self.assertEqual(excepted_uncovered_row_size, len(self.matrix.uncovered_rows),59 "Matrix has wrong uncovered row size")60 for key in self.matrix.hash_table:61 with self.subTest(combination=key):62 self.assertTrue(combination_row_equals(self.matrix.hash_table[key], self.excepted_hash_table[key]))63 solution_row = [0, 0, 2, 3]64 self.matrix.cover_solution_row(solution_row)65 solution_row = [0, 1, 2, 3]66 self.matrix.cover_solution_row(solution_row)67 solution_row = [0, 2, 2, 3]68 self.matrix.cover_solution_row(solution_row)69 solution_row = [1, 1, 2, 3]70 self.matrix.cover_solution_row(solution_row)71 solution_row = [1, 2, 2, 3]72 self.matrix.cover_solution_row(solution_row)73 solution_row = [2, 0, 2, 3]74 self.matrix.cover_solution_row(solution_row)75 solution_row = [2, 1, 2, 3]76 self.matrix.cover_solution_row(solution_row)77 solution_row = [2, 2, 2, 3]78 self.matrix.cover_solution_row(solution_row)79 excepted_uncovered_row_size = 580 excepted_uncovered = 4181 excepted_covered_more_than_ones = 1382 self.assertEqual(excepted_uncovered, self.matrix.total_uncovered, "Total uncovered number is wrong.")83 self.assertEqual(excepted_covered_more_than_ones, self.matrix.total_covered_more_than_ones,84 "Total uovered_more_than_ones number is wrong.")85 self.assertEqual(excepted_uncovered_row_size, len(self.matrix.uncovered_rows),86 "Matrix has wrong uncovered row size")87 def test_cover_combination(self):88 solution_row = [1, 0, 2, 3]89 self.matrix.cover_combination(solution_row, (1, 0))90 excepted_uncovered_row_size = 691 excepted_uncovered = 5892 excepted_covered_more_than_ones = 093 self.excepted_hash_table[0, 1].cover_cell((1, 0))94 self.excepted_hash_table[0, 2].cover_cell((1, 2))95 self.excepted_hash_table[0, 3].cover_cell((1, 3))96 self.excepted_hash_table[1, 2].cover_cell((0, 2))97 self.excepted_hash_table[1, 3].cover_cell((0, 3))98 self.assertEqual(excepted_uncovered, self.matrix.total_uncovered, "Total uncovered number is wrong.")99 self.assertEqual(excepted_covered_more_than_ones, self.matrix.total_covered_more_than_ones,100 "Total uovered_more_than_ones number is wrong.")101 self.assertEqual(excepted_uncovered_row_size, len(self.matrix.uncovered_rows),102 "Matrix has wrong uncovered row size")103 for key in self.matrix.hash_table:104 with self.subTest(combination=key):105 self.assertTrue(combination_row_equals(self.matrix.hash_table[key], self.excepted_hash_table[key]))106 self.matrix.cover_combination(solution_row, (1, 0))107 excepted_covered_more_than_ones = 5108 self.assertEqual(excepted_uncovered, self.matrix.total_uncovered, "Total uncovered number is wrong.")109 self.assertEqual(excepted_covered_more_than_ones, self.matrix.total_covered_more_than_ones,110 "Total uovered_more_than_ones number is wrong.")111 self.assertEqual(excepted_uncovered_row_size, len(self.matrix.uncovered_rows),112 "Matrix has wrong uncovered row size")113 def test_uncover_solution_row(self):114 solution_row = [1, 0, 2, 3]115 self.matrix.cover_solution_row(solution_row)116 self.matrix.uncover_solution_row(solution_row)117 excepted_uncovered_row_size = 6118 excepted_uncovered = 63119 excepted_covered_more_than_ones = 0120 self.assertEqual(excepted_uncovered, self.matrix.total_uncovered, "Total uncovered number is wrong.")121 self.assertEqual(excepted_covered_more_than_ones, self.matrix.total_covered_more_than_ones,122 "Total uovered_more_than_ones number is wrong.")123 self.assertEqual(excepted_uncovered_row_size, len(self.matrix.uncovered_rows),124 "Matrix has wrong uncovered row size")125 for key in self.matrix.hash_table:126 with self.subTest(combination=key):127 self.assertTrue(combination_row_equals(self.matrix.hash_table[key], self.excepted_hash_table[key]))128 self.matrix.cover_solution_row(solution_row)129 self.matrix.cover_solution_row(solution_row)130 self.excepted_hash_table[0, 1].cover_cell((1, 0))131 self.excepted_hash_table[0, 2].cover_cell((1, 2))132 self.excepted_hash_table[0, 3].cover_cell((1, 3))133 self.excepted_hash_table[1, 2].cover_cell((0, 2))134 self.excepted_hash_table[1, 3].cover_cell((0, 3))135 self.excepted_hash_table[2, 3].cover_cell((2, 3))136 self.matrix.uncover_solution_row(solution_row)137 excepted_uncovered_row_size = 6138 excepted_uncovered = 57139 excepted_covered_more_than_ones = 0140 self.assertEqual(excepted_uncovered, self.matrix.total_uncovered, "Total uncovered number is wrong.")141 self.assertEqual(excepted_covered_more_than_ones, self.matrix.total_covered_more_than_ones,142 "Total uovered_more_than_ones number is wrong.")143 self.assertEqual(excepted_uncovered_row_size, len(self.matrix.uncovered_rows),144 "Matrix has wrong uncovered row size")145 for key in self.matrix.hash_table:146 with self.subTest(combination=key):147 self.assertTrue(combination_row_equals(self.matrix.hash_table[key], self.excepted_hash_table[key]))148 def test_uncover_combination(self):149 solution_row = [1, 0, 2, 3]150 self.matrix.cover_solution_row(solution_row)151 excepted_uncovered_row_size = 6152 excepted_uncovered = 62153 excepted_covered_more_than_ones = 0154 self.excepted_hash_table[2, 3].cover_cell((2, 3))155 self.matrix.uncover_combination(solution_row, (0, 1))156 self.assertEqual(excepted_uncovered, self.matrix.total_uncovered, "Total uncovered number is wrong.")157 self.assertEqual(excepted_covered_more_than_ones, self.matrix.total_covered_more_than_ones,158 "Total uovered_more_than_ones number is wrong.")159 self.assertEqual(excepted_uncovered_row_size, len(self.matrix.uncovered_rows),160 "Matrix has wrong uncovered row size")161 for key in self.matrix.hash_table:162 with self.subTest(combination=key):163 self.assertTrue(combination_row_equals(self.matrix.hash_table[key], self.excepted_hash_table[key]))164 def test_uncover(self):165 solution_row = [1, 0, 2, 3]166 self.matrix.cover_solution_row(solution_row)167 self.matrix.cover_solution_row(solution_row)168 excepted_uncovered_row_size = 6169 excepted_uncovered = 63170 excepted_covered_more_than_ones = 0171 self.matrix.uncover()172 self.assertEqual(excepted_uncovered, self.matrix.total_uncovered, "Total uncovered number is wrong.")173 self.assertEqual(excepted_covered_more_than_ones, self.matrix.total_covered_more_than_ones,174 "Total uovered_more_than_ones number is wrong.")175 self.assertEqual(excepted_uncovered_row_size, len(self.matrix.uncovered_rows),176 "Matrix has wrong uncovered row size")177 for key in self.matrix.hash_table:178 with self.subTest(combination=key):...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!