import json from django.test import TestCase from epdb.logic import PackageManager from epdb.models import Compound, User, CompoundStructure, Reaction, Rule, MLRelativeReasoning class ModelTest(TestCase): fixtures = ["test_fixture.cleaned.json"] def setUp(self): pass @classmethod def setUpClass(cls): super(ModelTest, cls).setUpClass() cls.user = User.objects.get(username='anonymous') cls.package = PackageManager.create_package(cls.user, 'Anon Test Package', 'No Desc') bbd_data = json.load(open('fixtures/packages/2025-07-18/EAWAG-BBD.json')) cls.BBD = PackageManager.import_package(bbd_data, cls.user) @classmethod def tearDownClass(cls): pass def tearDown(self): pass def test_smoke(self): threshold = float(0.5) # get Package objects from urls rule_package_objs = [self.BBD] data_package_objs = [self.BBD] eval_packages_objs = [] mod = MLRelativeReasoning.create( self.package, rule_package_objs, data_package_objs, eval_packages_objs, threshold, 'ECC - BBD - 0.5', 'Created MLRelativeReasoning in Testcase', ) ds = mod.load_dataset() mod.build_model() print("Model built!") mod.evaluate_model() print("Model Evaluated") results = mod.predict('CCN(CC)C(=O)C1=CC(=CC=C1)C') print(results)