fix(vimsopaka): score sign-owner relationships on a 20-point scale (BUG-1261, upstream f32472b5)
This commit is contained in:
+31
-5
@@ -134,19 +134,45 @@ class TestDignityLevel(unittest.TestCase):
|
||||
calculator = VimsopakaBalaCalculator(mode="shodasavarga")
|
||||
results = calculator.calculate_vimsopaka_bala({
|
||||
'Jupiter': {
|
||||
VargaType.D9: DignityLevel.NEECHA_BHANGA,
|
||||
# 原值: D9 = NEECHA_BHANGA,virupas 9.0
|
||||
# 新值: D9 = FRIEND,virupas 15.0
|
||||
# 原因: BUG-1261,Varga Viswa 只收星主关系,不收落陷取消
|
||||
VargaType.D9: DignityLevel.FRIEND,
|
||||
VargaType.D1: DignityLevel.GREAT_FRIEND,
|
||||
VargaType.D10: DignityLevel.GREAT_ENEMY,
|
||||
}
|
||||
})
|
||||
|
||||
jupiter = results['Jupiter']
|
||||
assert jupiter['varga_scores']['Navamsa']['dignity'] == 'Neecha Bhanga'
|
||||
assert jupiter['varga_scores']['Navamsa']['virupas'] == 9.0
|
||||
# 原值: Neecha Bhanga / 9.0;Great Friend 12.5;Great Enemy 3.5
|
||||
# 新值: Friend / 15.0;Great Friend 18.0;Great Enemy 5.0
|
||||
# 原因: BUG-1261,尊贵分改为入旺自宫 20、极友 18、友 15、中 10、敌 7、极敌 5
|
||||
assert jupiter['varga_scores']['Navamsa']['dignity'] == 'Friend'
|
||||
assert jupiter['varga_scores']['Navamsa']['virupas'] == 15.0
|
||||
assert jupiter['varga_scores']['Rashi']['dignity'] == 'Great Friend'
|
||||
assert jupiter['varga_scores']['Rashi']['virupas'] == 12.5
|
||||
assert jupiter['varga_scores']['Rashi']['virupas'] == 18.0
|
||||
assert jupiter['varga_scores']['Dasamsa']['dignity'] == 'Great Enemy'
|
||||
assert jupiter['varga_scores']['Dasamsa']['virupas'] == 3.5
|
||||
assert jupiter['varga_scores']['Dasamsa']['virupas'] == 5.0
|
||||
with self.assertRaises(ValueError):
|
||||
calculator.calculate_vimsopaka_bala({'Jupiter': {VargaType.D9: DignityLevel.NEECHA_BHANGA}})
|
||||
with self.assertRaises(ValueError):
|
||||
calculator.calculate_vimsopaka_bala({'Jupiter': {VargaType.D1: DignityLevel.DEBILITATED}})
|
||||
|
||||
def test_all_own_sign_shodasavarga_scores_twenty(self):
|
||||
from vimsopaka_calculator import DignityLevel, VimsopakaBalaCalculator
|
||||
|
||||
calculator = VimsopakaBalaCalculator(mode="shodasavarga")
|
||||
own = {varga: DignityLevel.OWN_SIGN for varga in calculator.SHODASAVARGA_WEIGHTS}
|
||||
result = calculator.calculate_vimsopaka_bala({'Sun': own})['Sun']
|
||||
self.assertEqual(sum(calculator.SHODASAVARGA_WEIGHTS.values()), 20)
|
||||
self.assertEqual(sum(VimsopakaBalaCalculator.DASAVARGA_WEIGHTS.values()), 20)
|
||||
self.assertEqual(result['total_score'], 20)
|
||||
self.assertEqual(result['category'], 'High')
|
||||
self.assertTrue(result['complete'])
|
||||
self.assertEqual(result['missing_vargas'], [])
|
||||
self.assertEqual(result['calculation_profile'], 'bphs_7_21_27_varga_viswa_compound_relationships')
|
||||
self.assertIn('不是功能吉凶', result['interpretation'])
|
||||
self.assertNotIn('成功', result['interpretation'])
|
||||
|
||||
|
||||
class TestDashaCalculation(unittest.TestCase):
|
||||
|
||||
Reference in New Issue
Block a user