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));
        }