def test_vartype_dimod_smoke(self):
        StructuredSolver.reformat_parameters('SPIN', {}, {})
        StructuredSolver.reformat_parameters('BINARY', {}, {})
        StructuredSolver.reformat_parameters(dimod.BINARY, {}, {})
        StructuredSolver.reformat_parameters(dimod.SPIN, {}, {})

        with self.assertRaises(ValueError):
            StructuredSolver.reformat_parameters("INTEGER", {}, {})
    def test_initial_states(self):
        doc = {'initial_state': {0: 0, 4: 1}}

        self.assertEqual(StructuredSolver.reformat_parameters('ising', doc, dict(num_qubits=9)),
                         dict(initial_state=[-1, 3, 3, 3, 1, 3, 3, 3, 3]))
        self.assertEqual(StructuredSolver.reformat_parameters('qubo', doc, dict(num_qubits=9)),
                         dict(initial_state=[0, 3, 3, 3, 1, 3, 3, 3, 3]))

        if dimod:
            self.assertEqual(StructuredSolver.reformat_parameters('SPIN', doc, dict(num_qubits=9)),
                             dict(initial_state=[-1, 3, 3, 3, 1, 3, 3, 3, 3]))
            self.assertEqual(StructuredSolver.reformat_parameters('BINARY', doc, dict(num_qubits=9)),
                             dict(initial_state=[0, 3, 3, 3, 1, 3, 3, 3, 3]))

        self.assertEqual(doc, {'initial_state': {0: 0, 4: 1}})
 def test_initial_states_sequence(self):
     doc = {'initial_state': [-1, 3, 3, 3, 1, 3, 3, 3, 3]}
     self.assertEqual(StructuredSolver.reformat_parameters('ising', doc, dict(num_qubits=9)),
                      dict(initial_state=[-1, 3, 3, 3, 1, 3, 3, 3, 3]))
 def test_initial_states_inplace(self):
     doc = {'initial_state': {0: 0, 4: 1}}
     StructuredSolver.reformat_parameters('ising', doc, dict(num_qubits=9), inplace=True)
     self.assertEqual(doc, dict(initial_state=[-1, 3, 3, 3, 1, 3, 3, 3, 3]))
 def test_empty(self):
     self.assertEqual(StructuredSolver.reformat_parameters('ising', {}, {}), {})
    def test_vartype_smoke(self):
        for vt in StructuredSolver._handled_problem_types:
            StructuredSolver.reformat_parameters(vt, {}, {})

        with self.assertRaises(ValueError):
            StructuredSolver.reformat_parameters('not a type', {}, {})