def test_conflicting_vartype(self): bqm = dimod.BinaryQuadraticModel({0: 1.}, { (0, 1): 2, (2, 3): .4 }, 0.0, dimod.SPIN) s = coo.dumps(bqm, vartype_header=True) with self.assertRaises(ValueError): coo.loads(s, dimod.BinaryQuadraticModel, dimod.BINARY)
def test_no_vartype(self): bqm = dimod.BinaryQuadraticModel({0: 1.}, { (0, 1): 2, (2, 3): .4 }, 0.0, dimod.SPIN) s = coo.dumps(bqm) with self.assertRaises(ValueError): coo.loads(s, dimod.BinaryQuadraticModel)
def test_functional_string_empty_SPIN(self): bqm = dimod.BinaryQuadraticModel.empty(dimod.SPIN) s = coo.dumps(bqm) new_bqm = coo.loads(s, dimod.BinaryQuadraticModel.empty(dimod.SPIN)) self.assertEqual(bqm, new_bqm)
def test_loads(self): contents = "0 0 1.000000\n0 1 2.000000\n2 3 0.400000" bqm = coo.loads(contents, dimod.BinaryQuadraticModel.empty(dimod.SPIN)) self.assertEqual( bqm, dimod.BinaryQuadraticModel.from_ising({0: 1.}, { (0, 1): 2, (2, 3): .4 }))
def test_functional_SPIN_vartypeheader(self): bqm = dimod.BinaryQuadraticModel({0: 1.}, { (0, 1): 2, (2, 3): .4 }, 0.0, dimod.SPIN) s = coo.dumps(bqm, vartype_header=True) new_bqm = coo.loads(s, dimod.BinaryQuadraticModel) self.assertEqual(bqm, new_bqm)
def test_functional_string_SPIN(self): bqm = dimod.BinaryQuadraticModel({0: 1.}, { (0, 1): 2, (2, 3): .4 }, 0.0, dimod.SPIN) s = coo.dumps(bqm) new_bqm = coo.loads(s, dimod.BinaryQuadraticModel.empty(dimod.SPIN)) self.assertEqual(bqm, new_bqm)