Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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)