Add damage class and tests #3
38
pflib-net.Tests/damage/DamageTest.cs
Normal file
38
pflib-net.Tests/damage/DamageTest.cs
Normal 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"));
|
||||||
|
}
|
||||||
|
}
|
||||||
28
pflib-net/damage/Damage.cs
Normal file
28
pflib-net/damage/Damage.cs
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user