Download scripts/tests/test_CodonJupyter.py from OneScience-Group/CodonTransformer: direct link, hf CLI and curl.
- Browser
- Download file 4.83 kB
-
https://huggingface.co/OneScience-Group/CodonTransformer/resolve/main/scripts/tests/test_CodonJupyter.py
- Command line
-
hf download hf://OneScience-Group/CodonTransformer/scripts/tests/test_CodonJupyter.py
-
curl -L -o test_CodonJupyter.py https://huggingface.co/OneScience-Group/CodonTransformer/resolve/main/scripts/tests/test_CodonJupyter.py
4.83 kB
| import unittest | |
| import ipywidgets | |
| from CodonTransformer.CodonJupyter import ( | |
| DNASequencePrediction, | |
| UserContainer, | |
| create_dropdown_options, | |
| create_organism_dropdown, | |
| display_organism_dropdown, | |
| display_protein_input, | |
| format_model_output, | |
| ) | |
| from CodonTransformer.CodonUtils import ORGANISM2ID | |
| class TestCodonJupyter(unittest.TestCase): | |
| def test_UserContainer(self): | |
| user_container = UserContainer() | |
| self.assertEqual(user_container.organism, -1) | |
| self.assertEqual(user_container.protein, "") | |
| def test_create_organism_dropdown(self): | |
| container = UserContainer() | |
| dropdown = create_organism_dropdown(container) | |
| self.assertIsInstance(dropdown, ipywidgets.Dropdown) | |
| self.assertGreater(len(dropdown.options), 0) | |
| self.assertEqual(dropdown.description, "") | |
| self.assertEqual(dropdown.layout.width, "40%") | |
| self.assertEqual(dropdown.layout.margin, "0 0 10px 0") | |
| self.assertEqual(dropdown.style.description_width, "initial") | |
| # Test the dropdown options | |
| options = dropdown.options | |
| self.assertIn("", options) | |
| self.assertIn("Selected Organisms", options) | |
| self.assertIn("All Organisms", options) | |
| def test_create_dropdown_options(self): | |
| options = create_dropdown_options(ORGANISM2ID) | |
| self.assertIsInstance(options, list) | |
| self.assertGreater(len(options), 0) | |
| def test_display_organism_dropdown(self): | |
| container = UserContainer() | |
| with unittest.mock.patch( | |
| "CodonTransformer.CodonJupyter.display" | |
| ) as mock_display: | |
| display_organism_dropdown(container) | |
| # Check that display was called twice (for container_widget and HTML) | |
| self.assertEqual(mock_display.call_count, 2) | |
| # Check that the first call to display was with a VBox widget | |
| self.assertIsInstance(mock_display.call_args_list[0][0][0], ipywidgets.VBox) | |
| # Check that the VBox contains a Dropdown | |
| dropdown = mock_display.call_args_list[0][0][0].children[1] | |
| self.assertIsInstance(dropdown, ipywidgets.Dropdown) | |
| self.assertGreater(len(dropdown.options), 0) | |
| def test_display_protein_input(self): | |
| container = UserContainer() | |
| with unittest.mock.patch( | |
| "CodonTransformer.CodonJupyter.display" | |
| ) as mock_display: | |
| display_protein_input(container) | |
| # Check that display was called twice (for container_widget and HTML) | |
| self.assertEqual(mock_display.call_count, 2) | |
| # Check that the first call to display was with a VBox widget | |
| self.assertIsInstance(mock_display.call_args_list[0][0][0], ipywidgets.VBox) | |
| # Check that the VBox contains a Textarea | |
| textarea = mock_display.call_args_list[0][0][0].children[1] | |
| self.assertIsInstance(textarea, ipywidgets.Textarea) | |
| # Verify the properties of the Textarea | |
| self.assertEqual(textarea.value, "") | |
| self.assertEqual(textarea.placeholder, "Enter here...") | |
| self.assertEqual(textarea.description, "") | |
| self.assertEqual(textarea.layout.width, "100%") | |
| self.assertEqual(textarea.layout.height, "100px") | |
| self.assertEqual(textarea.layout.margin, "0 0 10px 0") | |
| self.assertEqual(textarea.style.description_width, "initial") | |
| def test_format_model_output(self): | |
| output = DNASequencePrediction( | |
| organism="Escherichia coli", | |
| protein="MKTVRQERLKSIVRILERSKEPVSGAQLAEELSVSRQVIVQDIAYLRSLGYNIVATPRGYVLAGG", | |
| processed_input="MKTVRQERLKSIVRILERSKEPVSGAQLAEELSVSRQVIVQDIAYLRSLGYNIVATPRGYVLAGG", | |
| predicted_dna="ATGAAAACTGTTCGTCAGGAACGTCTGAAATCTATTGTTCGTATTCTGGAACGTTCTAAAGAACCGGTTTCTGGTGCTCAACTGGCTGAAGAACTGTCTGTTTCTCGTCAGGTTATTGTTCAGGACATTGCTTACCTGCGTTCTCTGGGTTATAA", | |
| ) | |
| formatted_output = format_model_output(output) | |
| self.assertIsInstance(formatted_output, str) | |
| self.assertIn("Organism", formatted_output) | |
| self.assertIn("Escherichia coli", formatted_output) | |
| self.assertIn("Input Protein", formatted_output) | |
| self.assertIn( | |
| "MKTVRQERLKSIVRILERSKEPVSGAQLAEELSVSRQVIVQDIAYLRSLGYNIVATPRGYVLAGG", | |
| formatted_output, | |
| ) | |
| self.assertIn("Processed Input", formatted_output) | |
| self.assertIn( | |
| "MKTVRQERLKSIVRILERSKEPVSGAQLAEELSVSRQVIVQDIAYLRSLGYNIVATPRGYVLAGG", | |
| formatted_output, | |
| ) | |
| self.assertIn("Predicted DNA", formatted_output) | |
| self.assertIn( | |
| "ATGAAAACTGTTCGTCAGGAACGTCTGAAATCTATTGTTCGTATTCTGGAACGTTCTAAAGAACCGGTTTCTGGTGCTCAACTGGCTGAAGAACTGTCTGTTTCTCGTCAGGTTATTGTTCAGGACATTGCTTACCTGCGTTCTCTGGGTTATAA", | |
| formatted_output, | |
| ) | |
| if __name__ == "__main__": | |
| unittest.main() | |