public void GetBirthDate_NullBirthNumber_ThrowsException() { // Arrange var birthNumberParser = new BirthNumberParser(); // Act + Assert Assert.That(() => birthNumberParser.GetBirthNumber(null), Throws.InstanceOf<ArgumentNullException>()); }
[TestCase("9002301110")] // Non existing date public void GetBirthNumber_IncorrectBirthNumberIsRefused(string birthNumber) { // Arrange var birthNumberParser = new BirthNumberParser(); // Act var result = birthNumberParser.GetBirthNumber(birthNumber); // Assert Assert.That(result, Is.Null); }
[TestCase("945601/1070", "1994-06-01", Gender.Female, 107, 0)] // With slash female public void GetBirthDate_CorrectBirthNumberIsParsed(string birthNumber, string expectedDate, Gender expectedGender, short expectedSuffix, byte expectedLastDigit) { // Arrange var birthNumberParser = new BirthNumberParser(); // Act var result = birthNumberParser.GetBirthNumber(birthNumber); // Assert Assert.That(result.BirthDate, Is.EqualTo(DateTime.Parse(expectedDate))); Assert.That(result.Gender, Is.EqualTo(expectedGender)); Assert.That(result.Suffix, Is.EqualTo(expectedSuffix)); Assert.That(result.CheckDigit, Is.EqualTo(expectedLastDigit == 10 ? (byte?)null : expectedLastDigit)); }