power-grid-model-io 1.2.120__tar.gz → 1.2.122__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of power-grid-model-io might be problematic. Click here for more details.

Files changed (138) hide show
  1. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/PKG-INFO +1 -1
  2. power_grid_model_io-1.2.122/PYPI_VERSION +1 -0
  3. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/pyproject.toml +8 -1
  4. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/converters/pgm_json_converter.py +21 -4
  5. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io.egg-info/PKG-INFO +1 -1
  6. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/converters/test_pgm_json_converter.py +13 -0
  7. power_grid_model_io-1.2.120/PYPI_VERSION +0 -1
  8. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/LICENSE +0 -0
  9. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/MANIFEST.in +0 -0
  10. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/README.md +0 -0
  11. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/VERSION +0 -0
  12. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/setup.cfg +0 -0
  13. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/setup.py +0 -0
  14. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/__init__.py +0 -0
  15. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/config/__init__.py +0 -0
  16. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/config/examples/__init__.py +0 -0
  17. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/config/examples/multipliers.yaml +0 -0
  18. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/config/excel/__init__.py +0 -0
  19. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/config/excel/vision_en.yaml +0 -0
  20. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/config/excel/vision_en_9_7.yaml +0 -0
  21. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/config/excel/vision_en_9_8.yaml +0 -0
  22. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/config/excel/vision_nl.yaml +0 -0
  23. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/converters/__init__.py +0 -0
  24. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/converters/base_converter.py +0 -0
  25. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/converters/pandapower_converter.py +0 -0
  26. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/converters/tabular_converter.py +0 -0
  27. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/converters/vision_excel_converter.py +0 -0
  28. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/data_stores/__init__.py +0 -0
  29. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/data_stores/base_data_store.py +0 -0
  30. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/data_stores/csv_dir_store.py +0 -0
  31. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/data_stores/excel_file_store.py +0 -0
  32. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/data_stores/json_file_store.py +0 -0
  33. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/data_stores/vision_excel_file_store.py +0 -0
  34. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/data_types/__init__.py +0 -0
  35. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/data_types/_data_types.py +0 -0
  36. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/data_types/tabular_data.py +0 -0
  37. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/functions/__init__.py +0 -0
  38. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/functions/_functions.py +0 -0
  39. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/functions/filters.py +0 -0
  40. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/functions/phase_to_phase.py +0 -0
  41. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/mappings/__init__.py +0 -0
  42. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/mappings/field_mapping.py +0 -0
  43. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/mappings/multiplier_mapping.py +0 -0
  44. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/mappings/tabular_mapping.py +0 -0
  45. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/mappings/unit_mapping.py +0 -0
  46. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/mappings/value_mapping.py +0 -0
  47. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/py.typed +0 -0
  48. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/utils/__init__.py +0 -0
  49. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/utils/auto_id.py +0 -0
  50. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/utils/dict.py +0 -0
  51. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/utils/download.py +0 -0
  52. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/utils/excel_ambiguity_checker.py +0 -0
  53. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/utils/json.py +0 -0
  54. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/utils/modules.py +0 -0
  55. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/utils/parsing.py +0 -0
  56. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/utils/uuid_excel_cvtr.py +0 -0
  57. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io/utils/zip.py +0 -0
  58. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io.egg-info/SOURCES.txt +0 -0
  59. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io.egg-info/dependency_links.txt +0 -0
  60. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io.egg-info/requires.txt +0 -0
  61. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/src/power_grid_model_io.egg-info/top_level.txt +0 -0
  62. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/__init__.py +0 -0
  63. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/conftest.py +0 -0
  64. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/config/dummy_mapping.yaml +0 -0
  65. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/config/mapping.yaml +0 -0
  66. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/pandapower/pgm_asym_output_data.json +0 -0
  67. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/pandapower/pgm_asym_output_data.json.license +0 -0
  68. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/pandapower/pgm_input_data.json +0 -0
  69. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/pandapower/pgm_input_data.json.license +0 -0
  70. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/pandapower/pgm_output_data.json +0 -0
  71. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/pandapower/pgm_output_data.json.license +0 -0
  72. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/pandapower/pp_validation.py +0 -0
  73. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/vision/excel_ambiguity_check_data.xlsx +0 -0
  74. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/vision/excel_ambiguity_check_data.xlsx.license +0 -0
  75. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/vision/pgm_input_data_en.json +0 -0
  76. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/vision/pgm_input_data_en.json.license +0 -0
  77. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/vision/pgm_input_data_nl.json +0 -0
  78. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/vision/pgm_input_data_nl.json.license +0 -0
  79. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/vision/vision_9_5_en.yaml +0 -0
  80. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/vision/vision_9_5_nl.yaml +0 -0
  81. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/vision/vision_en.xlsx +0 -0
  82. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/vision/vision_en.xlsx.license +0 -0
  83. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/vision/vision_en_9_7.xlsx +0 -0
  84. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/vision/vision_en_9_7.xlsx.license +0 -0
  85. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/vision/vision_nl.xlsx +0 -0
  86. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/vision/vision_nl.xlsx.license +0 -0
  87. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/vision/vision_validation.vnf +0 -0
  88. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/vision/vision_validation.vnf.license +0 -0
  89. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/zip/foo-bar.zip +0 -0
  90. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/zip/foo-bar.zip.license +0 -0
  91. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/zip/foo.zip +0 -0
  92. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/data/zip/foo.zip.license +0 -0
  93. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/test_utils.py +0 -0
  94. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/__init__.py +0 -0
  95. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/conftest.py +0 -0
  96. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/converters/__init__.py +0 -0
  97. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/converters/test_base_converter.py +0 -0
  98. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/converters/test_pandapower_converter_input.py +0 -0
  99. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/converters/test_pandapower_converter_output.py +0 -0
  100. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/converters/test_tabular_converter.py +0 -0
  101. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/converters/test_vision_excel_converter.py +0 -0
  102. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/data_stores/__init__.py +0 -0
  103. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/data_stores/test_base_data_store.py +0 -0
  104. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/data_stores/test_csv_dir_store.py +0 -0
  105. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/data_stores/test_excel_file_store.py +0 -0
  106. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/data_stores/test_json_file_store.py +0 -0
  107. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/data_stores/test_vision_excel_file_store.py +0 -0
  108. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/data_types/__init__.py +0 -0
  109. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/data_types/test_data_types.py +0 -0
  110. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/data_types/test_tabular_data.py +0 -0
  111. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/functions/__init__.py +0 -0
  112. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/functions/test_filters.py +0 -0
  113. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/functions/test_functions.py +0 -0
  114. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/functions/test_phase_to_phase.py +0 -0
  115. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/mappings/__init__.py +0 -0
  116. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/mappings/test_field_mapping.py +0 -0
  117. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/mappings/test_multiplier_mapping.py +0 -0
  118. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/mappings/test_tabular_mapping.py +0 -0
  119. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/mappings/test_unit_mapping.py +0 -0
  120. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/mappings/test_value_mapping.py +0 -0
  121. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/utils/__init__.py +0 -0
  122. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/utils/test_auto_id.py +0 -0
  123. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/utils/test_dict.py +0 -0
  124. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/utils/test_download.py +0 -0
  125. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/utils/test_json.py +0 -0
  126. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/utils/test_modules.py +0 -0
  127. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/utils/test_parsing.py +0 -0
  128. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/utils/test_uuid_excel_cvtr.py +0 -0
  129. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/unit/utils/test_zip.py +0 -0
  130. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/utils.py +0 -0
  131. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/validation/__init__.py +0 -0
  132. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/validation/conftest.py +0 -0
  133. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/validation/converters/__init__.py +0 -0
  134. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/validation/converters/test_pandapower_converter_input.py +0 -0
  135. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/validation/converters/test_pandapower_converter_output.py +0 -0
  136. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/validation/converters/test_vision_excel_converter.py +0 -0
  137. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/validation/test_test_utils.py +0 -0
  138. {power_grid_model_io-1.2.120 → power_grid_model_io-1.2.122}/tests/validation/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: power-grid-model-io
3
- Version: 1.2.120
3
+ Version: 1.2.122
4
4
  Summary: Power Grid Model Input/Output
5
5
  Author-email: Contributors to the Power Grid Model project <powergridmodel@lfenergy.org>
6
6
  License: MPL-2.0
@@ -0,0 +1 @@
1
+ 1.2.122
@@ -81,7 +81,14 @@ power_grid_model_io = ["config/**/*.yaml", "py.typed"]
81
81
 
82
82
  [tool.pytest.ini_options]
83
83
  testpaths = ["tests/unit"]
84
- addopts = ["--cov=power_grid_model_io", "--cov-report=term", "--cov-report=html:cov_html", "--cov-fail-under=98.5"]
84
+ addopts = [
85
+ "--cov=power_grid_model_io",
86
+ "--cov-report=term",
87
+ "--cov-report=html:cov_html",
88
+ "--cov-report=xml:python_coverage.xml",
89
+ "--cov-fail-under=98.5",
90
+ ]
91
+ xfail_strict = true
85
92
 
86
93
  [tool.black]
87
94
  line-length = 120
@@ -13,7 +13,6 @@ from typing import Any, Dict, List, Optional, Union
13
13
 
14
14
  import numpy as np
15
15
  from power_grid_model import initialize_array
16
- from power_grid_model._utils import is_nan
17
16
  from power_grid_model.data_types import ComponentList, Dataset, SingleDataset, SinglePythonDataset
18
17
  from power_grid_model.utils import json_deserialize, json_serialize
19
18
 
@@ -22,6 +21,12 @@ from power_grid_model_io.data_stores.json_file_store import JsonFileStore
22
21
  from power_grid_model_io.data_types import ExtraInfo, StructuredData
23
22
  from power_grid_model_io.utils.dict import merge_dicts
24
23
 
24
+ _NAN_FUNC = {
25
+ np.dtype("f8"): lambda x: np.all(np.isnan(x)),
26
+ np.dtype("i4"): lambda x: np.all(x == np.iinfo(np.dtype("i4")).min),
27
+ np.dtype("i1"): lambda x: np.all(x == np.iinfo(np.dtype("i1")).min),
28
+ }
29
+
25
30
 
26
31
  class PgmJsonConverter(BaseConverter[StructuredData]):
27
32
  """
@@ -216,8 +221,7 @@ class PgmJsonConverter(BaseConverter[StructuredData]):
216
221
  is_batch = is_dense_batch or is_sparse_batch
217
222
  return bool(is_batch)
218
223
 
219
- @staticmethod
220
- def _serialize_dataset(data: SingleDataset, extra_info: Optional[ExtraInfo] = None) -> SinglePythonDataset:
224
+ def _serialize_dataset(self, data: SingleDataset, extra_info: Optional[ExtraInfo] = None) -> SinglePythonDataset:
221
225
  """This function converts a single power-grid-model dataset to a structured dataset
222
226
 
223
227
  Args:
@@ -248,7 +252,7 @@ class PgmJsonConverter(BaseConverter[StructuredData]):
248
252
  {
249
253
  attribute: obj[attribute].tolist()
250
254
  for attribute in objects.dtype.names
251
- if not is_nan(obj[attribute])
255
+ if not self._is_nan(obj[attribute])
252
256
  },
253
257
  extra_info.get(obj["id"], {}),
254
258
  )
@@ -296,3 +300,16 @@ class PgmJsonConverter(BaseConverter[StructuredData]):
296
300
  return entry
297
301
 
298
302
  return None
303
+
304
+ @staticmethod
305
+ def _is_nan(data: np.ndarray) -> bool:
306
+ """
307
+ Determine whether the data point is valid
308
+ Args:
309
+ data: a single scalar or numpy array
310
+
311
+ Returns:
312
+ True when all the data points are invalid
313
+ False otherwise
314
+ """
315
+ return bool(_NAN_FUNC[data.dtype](data))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: power-grid-model-io
3
- Version: 1.2.120
3
+ Version: 1.2.122
4
4
  Summary: Power Grid Model Input/Output
5
5
  Author-email: Contributors to the Power Grid Model project <powergridmodel@lfenergy.org>
6
6
  License: MPL-2.0
@@ -155,3 +155,16 @@ def test_serialize_dataset(converter: PgmJsonConverter, pgm_input_data: SingleDa
155
155
  extra_info: ExtraInfo = {1: {"dummy": "data"}}
156
156
  structured_data_with_extra_info = converter._serialize_dataset(data=pgm_input_data, extra_info=extra_info)
157
157
  assert structured_data_with_extra_info == {"node": [{"id": 1, "dummy": "data"}, {"id": 2}]}
158
+
159
+
160
+ def test_is_nan(converter: PgmJsonConverter):
161
+ single_value = np.array([np.nan])
162
+ assert converter._is_nan(single_value)
163
+ array_f8 = np.array([0.1, 0.2, np.nan], dtype=np.dtype("f8"))
164
+ assert not converter._is_nan(array_f8)
165
+ array_i4 = np.array([10, 2, -(2**31), 40], dtype=np.dtype("i4"))
166
+ assert not converter._is_nan(array_i4)
167
+ array_i1 = np.array([1, 0, -(2**7), 1], dtype=np.dtype("i1"))
168
+ assert not converter._is_nan(array_i1)
169
+ nan_array = np.array([np.nan, np.nan, np.nan])
170
+ assert converter._is_nan(nan_array)
@@ -1 +0,0 @@
1
- 1.2.120