public void VerifyShouldReturnFalseIfBirthNumberIsNotOfLength11()
 {
     NorwegianBirthNumber.Verify("").Should().BeFalse();
     NorwegianBirthNumber.Verify("1").Should().BeFalse();
     NorwegianBirthNumber.Verify("1234567890").Should().BeFalse();
     NorwegianBirthNumber.Verify("123456789012").Should().BeFalse();
 }
        public void ShouldNotGenerateSameBirthNumberWithDiffrerentSeed()
        {
            NorwegianBirthNumber birthNumber1 = NorwegianBirthNumber.CreateRandom("1");
            NorwegianBirthNumber birthNumber2 = NorwegianBirthNumber.CreateRandom("2");

            birthNumber1.Should().NotBe(birthNumber2);
        }
 public void VerifyShouldIgnoreSpace()
 {
     NorwegianBirthNumber.Verify("   19089328341").Should().BeTrue();
     NorwegianBirthNumber.Verify("19089328341   ").Should().BeTrue();
     NorwegianBirthNumber.Verify("190893 28341").Should().BeTrue();
     NorwegianBirthNumber.Verify("190893 28341 ").Should().BeTrue();
 }
        public void ShouldGenerateSameBirthNumberWithSameSeed()
        {
            NorwegianBirthNumber birthNumber1 = NorwegianBirthNumber.CreateRandom("12345678901");
            NorwegianBirthNumber birthNumber2 = NorwegianBirthNumber.CreateRandom("12345678901");

            birthNumber1.Should().Be(birthNumber2);
        }
 public void ShouldGenerateRandomValidNumbers()
 {
     for (int i = 0; i < 100; i++)
     {
         NorwegianBirthNumber.CreateRandom();
     }
 }
 public void ShouldNotVerifyInvalidBirthNumbers()
 {
     NorwegianBirthNumber.Verify("19089328311").Should().BeFalse();
     NorwegianBirthNumber.Verify("08011129410").Should().BeFalse();
     NorwegianBirthNumber.Verify("08063048618").Should().BeFalse();
     NorwegianBirthNumber.Verify("01027244516").Should().BeFalse();
     NorwegianBirthNumber.Verify("20041622012").Should().BeFalse();
     NorwegianBirthNumber.Verify("24015706210").Should().BeFalse();
     NorwegianBirthNumber.Verify("08055207418").Should().BeFalse();
     NorwegianBirthNumber.Verify("22067937214").Should().BeFalse();
     NorwegianBirthNumber.Verify("28090607816").Should().BeFalse();
 }
Esempio n. 7
0
        protected override void DoRun(Field field)
        {
            string value = field.Value;

            bool ok = NorwegianBirthNumber.Verify(value);

            if (!ok)
            {
                _testResults.Add(new TestResult(ResultType.Error,
                                                AddmlLocation.FromFieldIndex(field.Definition.GetIndex()),
                                                string.Format(Messages.ControlBirthNumberMessage, value)));
            }
        }
 public void ShouldVerifyValidBirthNumbers()
 {
     // Birth numnbers randomly generated with http://www.fnrinfo.no/Verktoy/FinnLovlige_Tilfeldig.aspx
     NorwegianBirthNumber.Verify("19089328341").Should().BeTrue();
     NorwegianBirthNumber.Verify("08011129480").Should().BeTrue();
     NorwegianBirthNumber.Verify("08063048608").Should().BeTrue();
     NorwegianBirthNumber.Verify("01027244536").Should().BeTrue();
     NorwegianBirthNumber.Verify("20041622092").Should().BeTrue();
     NorwegianBirthNumber.Verify("24015706240").Should().BeTrue();
     NorwegianBirthNumber.Verify("08055207438").Should().BeTrue();
     NorwegianBirthNumber.Verify("22067937264").Should().BeTrue();
     NorwegianBirthNumber.Verify("28090607806").Should().BeTrue();
 }
Esempio n. 9
0
 public override bool IsValid(string s)
 {
     if (_fieldFormat == StringDataTypeAccountNumber)
     {
         return(NorwegianAccountNumber.Verify(s));
     }
     else if (_fieldFormat == StringDataTypeBirthNumber)
     {
         return(NorwegianBirthNumber.Verify(s));
     }
     else if (_fieldFormat == StringDataTypeOrganizationNumber)
     {
         return(NorwegianOrganizationNumber.Verify(s));
     }
     else
     {
         return(true);
     }
 }
Esempio n. 10
0
        public void AnonymizeFiskermanntallet()
        {
            var          tmpFileName = Path.GetTempFileName();
            StreamWriter file        = new StreamWriter(tmpFileName, false, Encodings.ISO_8859_1);

            Dictionary <string, string> randomFodselsnummerOgNavn = new Dictionary <string, string>();

            // TODO Rewrite to read test data from a relative location.
            // The file is found in 'Arkivverket.Arkade.Test/TestData/tar/fiskermanntallet-anonymized/dab6c748-8d1a-4b6d-b091-3a7b8b3cb255.tar'
            // and there should probably be a setup step that unpacks those files to a deterministic location.
            string[] allLines = File.ReadAllLines("C:/tmp/_testdata/fiskermanntallet-anon/manntal2000_2009.dat", Encodings.ISO_8859_1);
            foreach (string line in allLines)
            {
                string[] fields = line.Split(';');

                // Anonymize birth number
                string fnr       = fields[1];
                string randomFnr = NorwegianBirthNumber.CreateRandom(fnr).ToString();

                fields[1] = randomFnr;

                // Anonymize name
                string randomName;
                if (randomFodselsnummerOgNavn.ContainsKey(randomFnr))
                {
                    randomName = randomFodselsnummerOgNavn[randomFnr];
                }
                else
                {
                    randomName = NorwegianNameGenerator.RandomLastNameAndFirstName().ToUpper();
                    randomFodselsnummerOgNavn.Add(randomFnr, randomName);
                }
                fields[2] = randomName;

                // Anonymize address
                fields[3] = fields[3].Length > 0 ? "PORTV. 2" : "";

                file.WriteLine(string.Join(";", fields));
            }

            file.Close();
        }
        //[Fact]
        public void AnonymizeFiskermanntallet()
        {
            StreamWriter file = new StreamWriter(@"C:\tmp\file.txt", false, Encodings.ISO_8859_1);

            Dictionary <string, string> randomFodselsnummerOgNavn = new Dictionary <string, string>();

            string[] allLines = File.ReadAllLines("C:\\tmp\\_testdata\\fiskermanntallet-anon\\manntal2000_2009.dat", Encodings.ISO_8859_1);
            foreach (string line in allLines)
            {
                string[] fields = line.Split(';');

                // Anonymize birth number
                string fnr       = fields[1];
                string randomFnr = NorwegianBirthNumber.CreateRandom(fnr).ToString();

                fields[1] = randomFnr;

                // Anonymize name
                string randomName;
                if (randomFodselsnummerOgNavn.ContainsKey(randomFnr))
                {
                    randomName = randomFodselsnummerOgNavn[randomFnr];
                }
                else
                {
                    randomName = NorwegianNameGenerator.RandomLastNameAndFirstName().ToUpper();
                    randomFodselsnummerOgNavn.Add(randomFnr, randomName);
                }
                fields[2] = randomName;

                // Anonymize address
                fields[3] = fields[3].Length > 0 ? "PORTV. 2" : "";

                file.WriteLine(string.Join(";", fields));
            }

            file.Close();
        }
Esempio n. 12
0
 public void CreateShouldThrowExceptionIfInvalidBirthNumberIsUsed()
 {
     Assert.Throws <ArgumentException>(() => NorwegianBirthNumber.Create("19089328342"));
 }
Esempio n. 13
0
 public void CreateShouldNotThrowExceptionIfValidBirthNumberIsUsed()
 {
     NorwegianBirthNumber.Create("19089328341");
 }
Esempio n. 14
0
 public void VerifyShouldReturnFalseIfBirthNumberIsNotDigits()
 {
     NorwegianBirthNumber.Verify("1234567890A").Should().BeFalse();
     NorwegianBirthNumber.Verify("ABCDEFGHIJK").Should().BeFalse();
 }