From 708207305cf4de9bb31d15b78a4f837a36cd87d7 Mon Sep 17 00:00:00 2001 From: Oliver Booth Date: Fri, 31 Mar 2023 20:15:59 +0100 Subject: [PATCH] test: use fixed point of reference for Age tests --- X10D.Tests/src/Time/DateTimeOffsetTests.cs | 34 ++++++++++++++++++---- X10D.Tests/src/Time/DateTimeTests.cs | 34 ++++++++++++++++++---- 2 files changed, 58 insertions(+), 10 deletions(-) diff --git a/X10D.Tests/src/Time/DateTimeOffsetTests.cs b/X10D.Tests/src/Time/DateTimeOffsetTests.cs index eb2d937..cfc364e 100644 --- a/X10D.Tests/src/Time/DateTimeOffsetTests.cs +++ b/X10D.Tests/src/Time/DateTimeOffsetTests.cs @@ -1,4 +1,4 @@ -using Microsoft.VisualStudio.TestTools.UnitTesting; +using Microsoft.VisualStudio.TestTools.UnitTesting; using X10D.Time; namespace X10D.Tests.Time; @@ -7,12 +7,36 @@ namespace X10D.Tests.Time; public class DateTimeOffsetTests { [TestMethod] - public void Age_ShouldBeDifference_Given1Jan2000() + public void Age_ShouldBe17_Given31December1991Birthday_And30December2017Date() { - DateTimeOffset birthday = new DateTime(2000, 1, 1); - DateTimeOffset today = DateTime.Now.Date; + var reference = new DateTime(2017, 12, 30); + 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] diff --git a/X10D.Tests/src/Time/DateTimeTests.cs b/X10D.Tests/src/Time/DateTimeTests.cs index d08b78e..7fc9f50 100644 --- a/X10D.Tests/src/Time/DateTimeTests.cs +++ b/X10D.Tests/src/Time/DateTimeTests.cs @@ -1,4 +1,4 @@ -using Microsoft.VisualStudio.TestTools.UnitTesting; +using Microsoft.VisualStudio.TestTools.UnitTesting; using X10D.Time; namespace X10D.Tests.Time; @@ -7,12 +7,36 @@ namespace X10D.Tests.Time; public class DateTimeTests { [TestMethod] - public void Age_ShouldBeDifference_Given1Jan2000() + public void Age_ShouldBe17_Given31December1991Birthday_And30December2017Date() { - var birthday = new DateTime(2000, 1, 1); - DateTime today = DateTime.Now.Date; + var reference = new DateTime(2017, 12, 30); + 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]