Skip to content

Commit f7264da

Browse files
committed
add skip param to skip data methods during class init
- Skips data setup in the constructor; methods will be called later according to the CLI workflow. - This change enables to skip these methods during initialization for unit-testing GitHub CI/CD
1 parent 3a67087 commit f7264da

File tree

11 files changed

+20
-9
lines changed

11 files changed

+20
-9
lines changed

chebai/preprocessing/datasets/base.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,12 @@ def __init__(
121121
self._feature_vector_size = None
122122
self._prepare_data_flag = 1
123123
self._setup_data_flag = 1
124+
125+
# Skips data setup in the constructor; methods will be called later according to the CLI workflow.
126+
if kwargs.get("_skip_data_methods_on_init", False):
127+
# This change enables to skip these methods during initialization for unit-testing GitHub CI/CD
128+
return
129+
124130
self.prepare_data()
125131
self.setup()
126132

chebai/preprocessing/datasets/deepGO/protein_pretraining.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def __init__(self, **kwargs):
3838
Args:
3939
**kwargs: Additional arguments for the superclass initialization.
4040
"""
41-
self._go_uniprot_extractor = GOUniProtOver250()
41+
self._go_uniprot_extractor = GOUniProtOver250(_skip_data_methods_on_init=True)
4242
assert self._go_uniprot_extractor.go_branch == GOUniProtOver250._ALL_GO_BRANCHES
4343

4444
self.max_sequence_length: int = int(kwargs.get("max_sequence_length", 1002))

tests/unit/dataset_classes/testChEBIOverX.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ def setUpClass(cls, mock_makedirs, mock_processed_dir_main: PropertyMock) -> Non
1919
mock_processed_dir_main (PropertyMock): Mocked property for the processed directory path.
2020
"""
2121
mock_processed_dir_main.return_value = "/mock/processed_dir"
22-
cls.chebi_extractor = ChEBIOverX(chebi_version=231)
22+
cls.chebi_extractor = ChEBIOverX(
23+
chebi_version=231, _skip_data_methods_on_init=True
24+
)
2325
cls.test_graph = ChebiMockOntology.get_transitively_closed_graph()
2426

2527
@patch("builtins.open", new_callable=mock_open)

tests/unit/dataset_classes/testChebiDataExtractor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def setUpClass(
3535

3636
# Create an instance of the dataset
3737
cls.extractor: _ChEBIDataExtractor = _ChEBIDataExtractor(
38-
chebi_version=231, chebi_version_train=200
38+
chebi_version=231, chebi_version_train=200, _skip_data_methods_on_init=True
3939
)
4040

4141
# Mock instance for _chebi_version_train_obj

tests/unit/dataset_classes/testChebiOverXPartial.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ def setUpClass(cls, mock_makedirs) -> None:
1616
"""
1717
Set up the ChEBIOverXPartial instance with a mock processed directory path and a test graph.
1818
"""
19-
cls.chebi_extractor = ChEBIOverXPartial(top_class_id=11111, chebi_version=231)
19+
cls.chebi_extractor = ChEBIOverXPartial(
20+
top_class_id=11111, chebi_version=231, _skip_data_methods_on_init=True
21+
)
2022
cls.test_graph = ChebiMockOntology.get_transitively_closed_graph()
2123

2224
@patch(

tests/unit/dataset_classes/testDynamicDataset.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def setUpClass(
3838
_DynamicDataset.READER = ReaderMock
3939

4040
# Creating an instance of the dataset
41-
cls.dataset: _DynamicDataset = _DynamicDataset()
41+
cls.dataset: _DynamicDataset = _DynamicDataset(_skip_data_methods_on_init=True)
4242

4343
# Dataset with a balanced distribution of labels
4444
X = [

tests/unit/dataset_classes/testGOUniProDataExtractor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def setUpClass(
3535

3636
_GOUniProtDataExtractor.READER = ProteinDataReader
3737

38-
cls.extractor = _GOUniProtDataExtractor()
38+
cls.extractor = _GOUniProtDataExtractor(_skip_data_methods_on_init=True)
3939

4040
def test_term_callback(self) -> None:
4141
"""

tests/unit/dataset_classes/testGoUniProtOverX.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def setUpClass(cls, mock_makedirs) -> None:
1717
"""
1818
Set up the class for tests by initializing the extractor, graph, and input DataFrame.
1919
"""
20-
cls.extractor = _GOUniProtOverX()
20+
cls.extractor = _GOUniProtOverX(_skip_data_methods_on_init=True)
2121
cls.test_graph: nx.DiGraph = GOUniProtMockData.get_transitively_closed_graph()
2222
cls.input_df: pd.DataFrame = GOUniProtMockData.get_data_in_dataframe().iloc[
2323
:, :4

tests/unit/dataset_classes/testProteinPretrainingData.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def setUpClass(
3737
_ProteinPretrainingData.READER = ProteinDataReader
3838

3939
# Initialize the extractor instance
40-
cls.extractor = _ProteinPretrainingData()
40+
cls.extractor = _ProteinPretrainingData(_skip_data_methods_on_init=True)
4141

4242
@patch(
4343
"builtins.open",

tests/unit/dataset_classes/testTox21Challenge.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def setUpClass(cls, mock_makedirs) -> None:
2424
This is run once for the test class.
2525
"""
2626
Tox21Challenge.READER = ChemDataReader
27-
cls.tox21 = Tox21Challenge()
27+
cls.tox21 = Tox21Challenge(_skip_data_methods_on_init=True)
2828

2929
@patch("rdkit.Chem.SDMolSupplier")
3030
def test_load_data_from_file(self, mock_sdmol_supplier: patch) -> None:

0 commit comments

Comments
 (0)