Upstream e7301feb, 86935c0a, and 4f1536f2. Ketu reverses the count, the ninth is the fifth's obstruction, and a remaining tie stays strength_comparison_required so the consultation card shows 待定. BUG-1386. Co-Authored-By: Grok (agent loop) Co-authored-by: Cursor <cursoragent@cursor.com>
33 lines
1.5 KiB
Python
33 lines
1.5 KiB
Python
from scripts.argala import calc_argala_for_reference
|
|
|
|
|
|
def test_pvr_ketu_virgo_example_reverses_with_nodes_excluded():
|
|
# PVR source p118: Virgo containing Ketu gets 2/4/11/5 from
|
|
# Leo/Gemini/Scorpio/Taurus, even if nodes are omitted as occupants.
|
|
result = calc_argala_for_reference(5, {
|
|
'Ketu': 5, 'Sun': 4, 'Moon': 2, 'Mars': 7, 'Venus': 1,
|
|
})
|
|
assert [result['primary'][h]['sign'] for h in ('H2', 'H4', 'H11')] == ['Leo', 'Gemini', 'Scorpio']
|
|
assert result['secondary']['H5']['sign'] == 'Taurus'
|
|
assert result['counting_direction'] == 'antizodiacal'
|
|
|
|
|
|
def test_ninth_obstructs_fifth_not_another_secondary_argala():
|
|
result = calc_argala_for_reference(0, {'Jupiter': 4, 'Saturn': 8, 'Mars': 8})
|
|
assert result['secondary']['H9']['role'] == 'virodhargala'
|
|
assert result['secondary']['H5']['blockers'] == ['Saturn', 'Mars']
|
|
assert result['secondary']['H5']['effective'] is False
|
|
|
|
|
|
def test_equal_numbers_need_strength_not_automatic_obstruction():
|
|
result = calc_argala_for_reference(0, {'Moon': 1, 'Mars': 11})
|
|
assert result['primary']['H2']['effective'] is None
|
|
assert result['net_result'] == 'strength_comparison_required'
|
|
assert result['verdict_label'] == '待定'
|
|
|
|
|
|
def test_occupied_house_totals_cannot_override_actual_pair():
|
|
result = calc_argala_for_reference(0, {'Moon': 1, 'Venus': 1, 'Mars': 11})
|
|
assert result['argala_count'] == result['virodhargala_count'] == 1
|
|
assert result['net_result'] == 'supported'
|