Skip to content

Commit 43c8a54

Browse files
authored
Validate manifold dimensions during construction (#5461)
* Validate manifold dimension during construction * Add manifold constructor dimension regression * Preserve source trailing newline
1 parent e841056 commit 43c8a54

2 files changed

Lines changed: 19 additions & 1 deletion

File tree

src/pyrecest/distributions/abstract_manifold_specific_distribution.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ class AbstractManifoldSpecificDistribution(ABC):
114114
"""
115115

116116
def __init__(self, dim: int):
117-
self._dim = dim
117+
self.dim = dim
118118

119119
@abstractmethod
120120
def get_manifold_size(self) -> float:
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import unittest
2+
3+
from pyrecest.distributions.hypertorus.custom_hypertoroidal_distribution import (
4+
CustomHypertoroidalDistribution,
5+
)
6+
7+
8+
class TestManifoldConstructorDimensionValidation(unittest.TestCase):
9+
def test_custom_hypertoroidal_rejects_nonpositive_dimensions(self):
10+
for dim in (0, -1):
11+
with self.subTest(dim=dim), self.assertRaisesRegex(
12+
ValueError, "dim must be a positive integer"
13+
):
14+
CustomHypertoroidalDistribution(lambda _xs: 1.0, dim)
15+
16+
17+
if __name__ == "__main__":
18+
unittest.main()

0 commit comments

Comments
 (0)