Add damage class and tests #3

Merged
malmal200 merged 1 commits from PF-1-add-damage into master 2024-06-16 00:21:31 +02:00
2 changed files with 66 additions and 0 deletions
Showing only changes of commit f6197068ef - Show all commits

View File

@ -0,0 +1,38 @@
using NUnit.Framework;
using pflib_net.damage;
namespace pflib_net.Tests.damage;
[TestFixture]
[TestOf(typeof(Damage))]
public class DamageTest
{
[Test]
public void GetDamageReturnsCorrectRegularAmount()
{
var damage = new Damage(10, "fire");
Assert.That(damage.GetDamage(false), Is.EqualTo(10));
}
[Test]
public void GetDamageReturnsCriticalAmount()
{
var damage = new Damage(10, "fire", 30);
Assert.That(damage.GetDamage(true), Is.EqualTo(30));
}
[Test]
public void CriticalDamageIsDoubleRegular()
{
var damage = new Damage(10, "fire");
Assert.That(damage.GetDamage(true), Is.EqualTo(20));
}
[Test]
public void GetDamageTypeReturnsCorrectType()
{
var damage = new Damage(0, "fire");
Assert.That(damage.GetDamageType(), Is.EqualTo("fire"));
}
}

View File

@ -0,0 +1,28 @@
namespace pflib_net.damage;
public class Damage
{
private int Regular { get; set; }
private int Critical { get; set; }
private string Type { get; set; }
public Damage(int regular, string type, int? critical = null)
{
Regular = regular;
Type = type;
if (critical.HasValue)
Critical = critical.Value;
else
Critical = regular * 2;
}
public int GetDamage(bool crit)
{
return crit ? Critical : Regular;
}
public string GetDamageType()
{
return Type;
}
}