def test_gaugeconfig_id_consistency(self): """Tests creation of many to many field which should fail """ ensemble = Ensemble.objects.create(**self.parameters) gaugeconfig = Nf211HisqParser.create_instance() self.assertEqual(Nf211.objects.all().count(), 1) ensemble.configurations.add(gaugeconfig) params = Nf211HisqParser.get_parameters() params["config"] = 1005 params["stream"] = "b" gaugeconfig = Nf211HisqParser.create_instance(parameters=params) self.assertEqual(Nf211.objects.all().count(), 2) with self.assertRaises(ConsistencyError) as context: ensemble.configurations.add(gaugeconfig) print(context.exception.error)
def test_many_to_many(self): """Tests creation of many to many field which should not fail """ ensemble = Ensemble.objects.create(**self.parameters) gaugeconfig0 = Nf211HisqParser.create_instance() params = Nf211HisqParser.get_parameters() params["config"] = 1005 gaugeconfig1 = Nf211HisqParser.create_instance(parameters=params) gaugeconfigs = [gaugeconfig0, gaugeconfig1] ensemble.configurations.add(*gaugeconfigs) parameters = {"label": "test"} ensemble = Ensemble.objects.create(**parameters) with self.assertRaises(ConsistencyError) as context: ensemble.configurations.add(*gaugeconfigs) print(context.exception.error)
def test_prop_sinksmear_consistency(self): gaugeconfig = Nf211HisqParser.create_instance() fermionaction = MobiusDWLightWFParser.create_instance() propagator = OneToAllDWssParser.create_instance() current = LocalParser.create_instance() sinksmear = GaugeCovariantGaussianParser.create_instance( fail_if_exists=False) parameters = self.get_parameters() parameters["gaugeconfig"] = gaugeconfig parameters["fermionaction"] = fermionaction parameters["propagator"] = propagator parameters["current"] = current parameters["sinksmear"] = sinksmear with self.assertRaises(ConsistencyError) as context: self.model.objects.create(**parameters) print(context.exception.error)