[Add] Tests summary & fix scene
This commit is contained in:
@@ -42,6 +42,9 @@ namespace YachtDice.Tests
|
||||
|
||||
// ── AddPerDiceEffect ─────────────────────────────────────────
|
||||
|
||||
/// <summary>
|
||||
/// Эффект добавляет бонус за каждую кость с целевым значением.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void AddPerDiceEffect_CountsMatchingDice()
|
||||
{
|
||||
@@ -54,6 +57,9 @@ namespace YachtDice.Tests
|
||||
Assert.AreEqual(30, ctx.FlatBonus); // 10 * 3 matching dice
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// При целевом значении 0 бонус начисляется за все кости.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void AddPerDiceEffect_ZeroTarget_CountsAllDice()
|
||||
{
|
||||
@@ -66,6 +72,9 @@ namespace YachtDice.Tests
|
||||
Assert.AreEqual(10, ctx.FlatBonus); // 2 * 5 dice
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// При отсутствии совпадений по значению бонус остается нулевым.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void AddPerDiceEffect_NoMatches_ZeroBonus()
|
||||
{
|
||||
@@ -78,6 +87,9 @@ namespace YachtDice.Tests
|
||||
Assert.AreEqual(0, ctx.FlatBonus);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Бонус AddPerDice масштабируется количеством стаков модификатора.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void AddPerDiceEffect_ScalesWithStacks()
|
||||
{
|
||||
@@ -93,6 +105,9 @@ namespace YachtDice.Tests
|
||||
|
||||
// ── AddFlatScoreEffect ──────────────────────────────────────
|
||||
|
||||
/// <summary>
|
||||
/// Эффект AddFlatScore добавляет фиксированный бонус к очкам.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void AddFlatScoreEffect_AddsFlat()
|
||||
{
|
||||
@@ -105,6 +120,9 @@ namespace YachtDice.Tests
|
||||
Assert.AreEqual(15, ctx.FlatBonus);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Фиксированный бонус AddFlatScore масштабируется стаками.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void AddFlatScoreEffect_ScalesWithStacks()
|
||||
{
|
||||
@@ -120,6 +138,9 @@ namespace YachtDice.Tests
|
||||
|
||||
// ── MultiplyPerDiceEffect ────────────────────────────────────
|
||||
|
||||
/// <summary>
|
||||
/// MultiplyPerDice увеличивает множитель за каждое совпадение по кости.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void MultiplyPerDiceEffect_MultipliesPerMatch()
|
||||
{
|
||||
@@ -132,6 +153,9 @@ namespace YachtDice.Tests
|
||||
Assert.AreEqual(8f, ctx.Multiplier, 0.001f); // 1 * 2 * 2 * 2 = 8
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Без совпадений MultiplyPerDice не изменяет множитель.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void MultiplyPerDiceEffect_NoMatches_MultiplierUnchanged()
|
||||
{
|
||||
@@ -146,6 +170,9 @@ namespace YachtDice.Tests
|
||||
|
||||
// ── MultiplyScoreEffect ─────────────────────────────────────
|
||||
|
||||
/// <summary>
|
||||
/// MultiplyScore применяет заданный множитель один раз.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void MultiplyScoreEffect_MultipliesOnce()
|
||||
{
|
||||
@@ -158,6 +185,9 @@ namespace YachtDice.Tests
|
||||
Assert.AreEqual(1.5f, ctx.Multiplier, 0.001f);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// MultiplyScore масштабирует множитель в зависимости от стаков.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void MultiplyScoreEffect_ScalesWithStacks()
|
||||
{
|
||||
@@ -174,6 +204,9 @@ namespace YachtDice.Tests
|
||||
|
||||
// ── PostMultiplyEffect ──────────────────────────────────────
|
||||
|
||||
/// <summary>
|
||||
/// PostMultiply изменяет пост-множитель контекста.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void PostMultiplyEffect_MultipliesPostMultiplier()
|
||||
{
|
||||
@@ -188,6 +221,9 @@ namespace YachtDice.Tests
|
||||
|
||||
// ── AddCurrencyEffect ───────────────────────────────────────
|
||||
|
||||
/// <summary>
|
||||
/// AddCurrency увеличивает дельту валюты в контексте.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void AddCurrencyEffect_AddsToCurrencyDelta()
|
||||
{
|
||||
@@ -200,6 +236,9 @@ namespace YachtDice.Tests
|
||||
Assert.AreEqual(25, ctx.CurrencyDelta);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Эффект добавления валюты масштабируется стаками.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void AddCurrencyEffect_ScalesWithStacks()
|
||||
{
|
||||
@@ -215,6 +254,9 @@ namespace YachtDice.Tests
|
||||
|
||||
// ── ConsumeChargeEffect ─────────────────────────────────────
|
||||
|
||||
/// <summary>
|
||||
/// ConsumeCharge уменьшает число оставшихся использований ограниченного модификатора.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void ConsumeChargeEffect_DecrementsRemainingUses()
|
||||
{
|
||||
@@ -229,6 +271,9 @@ namespace YachtDice.Tests
|
||||
Assert.AreEqual(2, inst.RemainingUses);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Постоянный модификатор игнорирует расход зарядов.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void ConsumeChargeEffect_IgnoresPermanent()
|
||||
{
|
||||
@@ -243,6 +288,9 @@ namespace YachtDice.Tests
|
||||
|
||||
// ── FinalScore Integration ──────────────────────────────────
|
||||
|
||||
/// <summary>
|
||||
/// Финальный счет корректно учитывает базу, бонус и множители.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void FinalScore_CombinesBaseAndFlatAndMultiplier()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user