Harden prashna production entrypoints
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
from scripts.tajika_kernel import calculate_tajika_interactions
|
||||
|
||||
|
||||
def _seven():
|
||||
return {
|
||||
"Sun": {"longitude": 0, "speed": 1.0}, "Moon": {"longitude": 49, "speed": 13.0},
|
||||
"Mars": {"longitude": 180, "speed": 0.5}, "Mercury": {"longitude": 260, "speed": 1.2},
|
||||
"Jupiter": {"longitude": 310, "speed": 0.08}, "Venus": {"longitude": 130, "speed": 1.0},
|
||||
"Saturn": {"longitude": 220, "speed": 0.03}, "Rahu": {"longitude": 60, "speed": -0.05},
|
||||
}
|
||||
|
||||
|
||||
def test_kernel_detects_cross_sign_aspect_and_excludes_nodes():
|
||||
result = calculate_tajika_interactions(_seven())
|
||||
|
||||
pair = next(row for row in result["interactions"] if row["planets"] == ["Sun", "Moon"])
|
||||
assert pair["aspect"] == 60.0
|
||||
assert pair["motion"] == "applying"
|
||||
candidate = next(row for row in result["candidate_yogas"] if row["planets"] == ["Sun", "Moon"])
|
||||
assert candidate["name"] == "Ithasala_candidate"
|
||||
assert candidate["status"] == "partial"
|
||||
assert result["nodes_excluded"] is True
|
||||
assert all("Rahu" not in row["planets"] for row in result["interactions"])
|
||||
|
||||
|
||||
def test_kernel_blocks_missing_speed_instead_of_guessing_motion():
|
||||
planets = _seven()
|
||||
del planets["Venus"]["speed"]
|
||||
|
||||
result = calculate_tajika_interactions(planets)
|
||||
|
||||
assert result["status"] == "blocked"
|
||||
assert "Venus" in result["missing"]
|
||||
Reference in New Issue
Block a user