|
16 | 16 | """Test esdl object class.""" |
17 | 17 | import unittest |
18 | 18 | from pathlib import Path |
| 19 | +from unittest.mock import MagicMock, Mock |
19 | 20 |
|
20 | 21 | import esdl |
21 | 22 | from pandas.testing import assert_frame_equal |
@@ -423,6 +424,41 @@ def test_get_asset_by_id(self): |
423 | 424 | # Assert |
424 | 425 | self.assertEqual(asset.esdl_asset, producer.esdl_asset) |
425 | 426 |
|
| 427 | + def test_has_out_optimizer_profile(self): |
| 428 | + """Test to see if the method to check for optimizer profiles works correctly.""" |
| 429 | + |
| 430 | + # Arrange |
| 431 | + asset_with_mocked_profiles = self.esdl_object.get_all_assets_of_type("producer")[0] |
| 432 | + |
| 433 | + non_optimizer_profile = Mock() |
| 434 | + non_optimizer_profile.dataSource = Mock() |
| 435 | + non_optimizer_profile.dataSource.name = "NotOptimizer" |
| 436 | + |
| 437 | + optimizer_profile = Mock() |
| 438 | + optimizer_profile.dataSource = Mock() |
| 439 | + optimizer_profile.dataSource.name = "Optimizer" |
| 440 | + |
| 441 | + mocked_profiles = MagicMock() |
| 442 | + mocked_profiles.items = [non_optimizer_profile, optimizer_profile] |
| 443 | + mocked_profiles.__iter__.return_value = iter([non_optimizer_profile, optimizer_profile]) |
| 444 | + |
| 445 | + mocked_out_port = Mock(spec=esdl.OutPort) |
| 446 | + mocked_out_port.profile = mocked_profiles |
| 447 | + |
| 448 | + mocked_esdl_asset = Mock() |
| 449 | + mocked_esdl_asset.port = [mocked_out_port] |
| 450 | + asset_with_mocked_profiles.esdl_asset = mocked_esdl_asset |
| 451 | + |
| 452 | + asset_without_profile = self.esdl_object.get_all_assets_of_type("pipe")[0] |
| 453 | + |
| 454 | + # Act |
| 455 | + has_optimizer_profile = asset_with_mocked_profiles.has_out_optimizer_profile() |
| 456 | + has_no_optimizer_profile = asset_without_profile.has_out_optimizer_profile() |
| 457 | + |
| 458 | + # Assert |
| 459 | + self.assertTrue(has_optimizer_profile) |
| 460 | + self.assertIs(has_no_optimizer_profile, False) |
| 461 | + |
426 | 462 |
|
427 | 463 | class StringEsdlAssetMapperTest(unittest.TestCase): |
428 | 464 | """Class to test conversion from esdl asset to string and back.""" |
|
0 commit comments