// 参数冻结守卫（作者定稿 2026-08-11）。
// 若有人误改回 c2ecb89 旧值（小运×1/4 等），此测试立即变红。
import 'package:flutter_test/flutter_test.dart';
import 'package:key_resonance_destiny/data/sheng_ke_params_2026_08_11.dart';
import 'package:key_resonance_destiny/data/ling_di_yun_params_2026_08_11.dart';

void main() {
  group('生克 · 2026-08-11 冻结', () {
    test('合 A−¼ B−¼ C＋½', () {
      expect(kShengKeHeLossA, 0.25);
      expect(kShengKeHeLossB, 0.25);
      expect(kShengKeHeGainC, 0.50);
    });
    test('冲 A−½ B−⅝', () {
      expect(kShengKeChongAttackerLoss, 0.50);
      expect(kShengKeChongVictimLoss, 0.625);
    });
    test('生 A−¼ B＋¼', () {
      expect(kShengKeShengLoss, 0.25);
      expect(kShengKeShengGain, 0.25);
    });
    test('克 A−⅛ B−⅜', () {
      expect(kShengKeKeAttackerLoss, 0.125);
      expect(kShengKeKeVictimLoss, 0.375);
    });
    test('刑双方 −¼', () {
      expect(kShengKeXingLossA, 0.25);
      expect(kShengKeXingLossB, 0.25);
    });
    test('害各自 −⅜', () {
      expect(kHaiWholeLoss, 0.375);
    });
    test('破(A生B) A−¼ B−⅛', () {
      expect(kPoShengSideLoss, 0.25);
      expect(kPoShengRecipientLoss, 0.125);
    });
  });

  group('令 / 地 / 运叠能 · 2026-08-11 冻结', () {
    test('大运叠能 ×1.0；小运 ×1/8 = 0.125（非旧 0.25）', () {
      expect(kDaYunStack, 1.0);
      expect(kXiaoYunStack, 0.125);
      expect(kXiaoYunStack, isNot(0.25));
    });
    test('地＝令后 ×1/4', () {
      expect(kDiRelativeToLing, 0.25);
    });
    test('令囚 ⅞ = 0.875；令死 ⅜ = 0.375', () {
      expect(kBqmLingQiu, 0.875);
      expect(kBqmLingSi, 0.375);
    });
  });
}
