Release v6.0.47: fix dharidhra FP by replacing bidirectional associated() with one-way aspect() checks

- Root cause: rel_to_any() used associated(p,o) with bidirectional aspects (aspect(p,o) OR aspect(o,p)), but PyJHora only checks one-way (trik lord -> L1, malefic -> L1, maraka -> target)
- Fixed v144/v147/v148/v149/v152 to use one-way aspect() checks matching PyJHora source
- v144: L7 aspects L1/L12 (one-way)
- v147/v148: maraka aspects L1 (one-way)
- v149: trik lord aspects L1, malefic aspects L1 (one-way, both were already correct for second part)
- v152: maraka aspects malefic in lagna (one-way)
- v145/v150/v151 were already correct (used aspect() directly)
- Corrected test expectation for chart that genuinely has dharidhra via v149
- Added proper False-no-variant-triggers test case (Cancer asc)
- Hardcoded tests: 10/10 passed
This commit is contained in:
732642856
2026-06-06 22:26:55 +08:00
parent b63ca9e7e7
commit e00f15599d
2 changed files with 18 additions and 5 deletions
+16 -3
View File
@@ -92,9 +92,10 @@ results.append(check('False-weak-benefic-in-house', 'koorma_yoga', {
}, 'Leo', False))
# -------------------------------------------------------
# bvr_dharidhra_11_precise: method1
# bvr_dharidhra_11_precise
# -------------------------------------------------------
print('\n--- bvr_dharidhra_11_precise ---')
# True: L2 (Mercury) or L11 in dusthana
results.append(check('True-l2-l11-in-dusthana', 'bvr_dharidhra_11_precise', {
'Sun':{'house':9,'sign':'Aries','degree':10},'Moon':{'house':5,'sign':'Gemini','degree':15},
'Mars':{'house':4,'sign':'Scorpio','degree':10},'Mercury':{'house':8,'sign':'Pisces','degree':10},
@@ -103,13 +104,25 @@ results.append(check('True-l2-l11-in-dusthana', 'bvr_dharidhra_11_precise', {
'Ketu':{'house':8,'sign':'Pisces','degree':10},
}, 'Leo', True))
results.append(check('False-l2-l11-not-dusthana', 'bvr_dharidhra_11_precise', {
# True-v149: L2/L11 not in dusthana, but v149 triggers: L1 (Sun) associated with trik lord
# (L6 Saturn aspects Sun from 7th) and malefic Mars aspects L1 from 10th
results.append(check('True-v149-assoc-malefic', 'bvr_dharidhra_11_precise', {
'Sun':{'house':1,'sign':'Leo','degree':10},'Moon':{'house':5,'sign':'Sagittarius','degree':15},
'Mars':{'house':10,'sign':'Taurus','degree':10},'Mercury':{'house':2,'sign':'Virgo','degree':10},
'Jupiter':{'house':9,'sign':'Aries','degree':5},'Venus':{'house':11,'sign':'Gemini','degree':10},
'Saturn':{'house':7,'sign':'Aquarius','degree':10},'Rahu':{'house':3,'sign':'Libra','degree':10},
'Ketu':{'house':9,'sign':'Aries','degree':10},
}, 'Leo', False))
}, 'Leo', True))
# False: Cancer asc - no variants trigger. L2(Sun)/L11(Venus) not dusthana,
# L1(Moon) not with trik lords, no malefic aspect on Moon
results.append(check('False-no-variant-triggers', 'bvr_dharidhra_11_precise', {
'Sun':{'house':9,'sign':'Pisces','degree':10},'Moon':{'house':4,'sign':'Libra','degree':15},
'Mars':{'house':5,'sign':'Scorpio','degree':10},'Mercury':{'house':8,'sign':'Aquarius','degree':10},
'Jupiter':{'house':3,'sign':'Virgo','degree':5},'Venus':{'house':10,'sign':'Aries','degree':10},
'Saturn':{'house':11,'sign':'Taurus','degree':10},'Rahu':{'house':8,'sign':'Aquarius','degree':10},
'Ketu':{'house':5,'sign':'Scorpio','degree':10},
}, 'Cancer', False))
# Summary
ok = sum(1 for r in results if r)