Esempio n. 1
0
    def test_validate_entangler_map(self):
        valid_map = [[0, 1], [0, 2], [0, 3], [1, 2], [1, 3], [2, 3]]
        self.assertTrue(validate_entangler_map(valid_map, 4))

        valid_map_2 = [[0, 1], [0, 2], [0, 3], [1, 2], [1, 3], [2, 3], [3, 2]]
        self.assertTrue(validate_entangler_map(valid_map_2, 4, True))

        invalid_map = [[0, 4], [4, 2], [0, 3], [1, 2], [1, 3], [2, 3]]
        with self.assertRaises(ValueError):
            validate_entangler_map(invalid_map, 4)

        invalid_map_2 = [[0, 1], [0, 2], [0, 3], [1, 2], [1, 3], [2, 3],
                         [3, 2]]
        with self.assertRaises(ValueError):
            validate_entangler_map(invalid_map_2, 4)

        wrong_type_map = {0: [1, 2, 3], 1: [2, 3]}
        with self.assertRaises(TypeError):
            validate_entangler_map(wrong_type_map, 4)

        wrong_type_map_2 = [(0, 1), (0, 2), (0, 3)]
        with self.assertRaises(TypeError):
            validate_entangler_map(wrong_type_map_2, 4)
 def validate_entangler_map(entangler_map, num_qubits):
     """ validate entangler map """
     return validate_entangler_map(entangler_map, num_qubits)
 def validate_entangler_map(entangler_map, num_qubits):
     return validate_entangler_map(entangler_map, num_qubits)