test: use fixed point of reference for Age tests

This commit is contained in:
Oliver Booth 2023-03-31 20:15:59 +01:00
parent 3734965757
commit 708207305c
No known key found for this signature in database
GPG Key ID: 20BEB9DC87961025
2 changed files with 58 additions and 10 deletions

View File

@ -1,4 +1,4 @@
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
using X10D.Time; using X10D.Time;
namespace X10D.Tests.Time; namespace X10D.Tests.Time;
@ -7,12 +7,36 @@ namespace X10D.Tests.Time;
public class DateTimeOffsetTests public class DateTimeOffsetTests
{ {
[TestMethod] [TestMethod]
public void Age_ShouldBeDifference_Given1Jan2000() public void Age_ShouldBe17_Given31December1991Birthday_And30December2017Date()
{ {
DateTimeOffset birthday = new DateTime(2000, 1, 1); var reference = new DateTime(2017, 12, 30);
DateTimeOffset today = DateTime.Now.Date; DateTimeOffset birthday = new DateTime(1999, 12, 31);
Assert.AreEqual(today.Year - birthday.Year, birthday.Age()); int age = birthday.Age(reference);
Assert.AreEqual(17, age);
}
[TestMethod]
public void Age_ShouldBe18_Given31December1991Birthday_And1January2018Date()
{
var reference = new DateTime(2018, 1, 1);
DateTimeOffset birthday = new DateTime(1999, 12, 31);
int age = birthday.Age(reference);
Assert.AreEqual(18, age);
}
[TestMethod]
public void Age_ShouldBe18_Given31December1991Birthday_And31December2017Date()
{
var reference = new DateTime(2017, 12, 31);
DateTimeOffset birthday = new DateTime(1999, 12, 31);
int age = birthday.Age(reference);
Assert.AreEqual(18, age);
} }
[TestMethod] [TestMethod]

View File

@ -1,4 +1,4 @@
using Microsoft.VisualStudio.TestTools.UnitTesting; using Microsoft.VisualStudio.TestTools.UnitTesting;
using X10D.Time; using X10D.Time;
namespace X10D.Tests.Time; namespace X10D.Tests.Time;
@ -7,12 +7,36 @@ namespace X10D.Tests.Time;
public class DateTimeTests public class DateTimeTests
{ {
[TestMethod] [TestMethod]
public void Age_ShouldBeDifference_Given1Jan2000() public void Age_ShouldBe17_Given31December1991Birthday_And30December2017Date()
{ {
var birthday = new DateTime(2000, 1, 1); var reference = new DateTime(2017, 12, 30);
DateTime today = DateTime.Now.Date; var birthday = new DateTime(1999, 12, 31);
Assert.AreEqual(today.Year - birthday.Year, birthday.Age()); int age = birthday.Age(reference);
Assert.AreEqual(17, age);
}
[TestMethod]
public void Age_ShouldBe18_Given31December1991Birthday_And1January2018Date()
{
var reference = new DateTime(2018, 1, 1);
var birthday = new DateTime(1999, 12, 31);
int age = birthday.Age(reference);
Assert.AreEqual(18, age);
}
[TestMethod]
public void Age_ShouldBe18_Given31December1991Birthday_And31December2017Date()
{
var reference = new DateTime(2017, 12, 31);
var birthday = new DateTime(1999, 12, 31);
int age = birthday.Age(reference);
Assert.AreEqual(18, age);
} }
[TestMethod] [TestMethod]