public OperationResult Generate(string pattern) { OperationResult result; try { switch (_generationKind) { case GenerationKind.OrganizationNumber: OrganizationNumber on = OrganizationNumber.OneRandom(pattern); result = WriteNumber(on); break; case GenerationKind.BirthNumber: BirthNumber bn = BirthNumber.OneRandom(pattern); result = WriteNumber(bn); break; case GenerationKind.DNumber: DNumber dn = DNumber.OneRandom(pattern); result = WriteNumber(dn); break; default: throw new ArgumentOutOfRangeException(); } } catch (NinException ex) { result = new OperationResult { Code = ex.Code, Message = ex.Message }; } return(result); }
public OperationResult Generate(DateTime dateFrom, DateTime dateTo, GenderRequest gender) { OperationResult result; try { switch (_generationKind) { case GenerationKind.BirthNumber: BirthNumber bn = BirthNumber.OneRandom(dateFrom, dateTo, gender); result = WriteNumber(bn); break; case GenerationKind.DNumber: DNumber dn = DNumber.OneRandom(dateFrom, dateTo, gender); result = WriteNumber(dn); break; default: throw new ArgumentOutOfRangeException(); } } catch (NinException ex) { result = new OperationResult { Code = ex.Code, Message = ex.Message }; } return(result); }
public OperationResult Generate(int count) { OperationResult result; try { switch (_generationKind) { case GenerationKind.OrganizationNumber: if (count > 1) { IEnumerable <OrganizationNumber> ons = OrganizationNumber.ManyRandom(count); result = WriteList(ons.Select(x => x.Number)); } else { OrganizationNumber on = OrganizationNumber.OneRandom(); result = WriteNumber(on); } break; case GenerationKind.BirthNumber: if (count > 1) { IEnumerable <BirthNumber> bns = BirthNumber.ManyRandom(count); result = WriteList(bns.Select(x => x.Number)); } else { BirthNumber bn = BirthNumber.OneRandom(); result = WriteNumber(bn); } break; case GenerationKind.DNumber: if (count > 1) { IEnumerable <DNumber> dns = DNumber.ManyRandom(count); result = WriteList(dns.Select(x => x.Number)); } else { DNumber dn = DNumber.OneRandom(); result = WriteNumber(dn); } break; default: throw new ArgumentOutOfRangeException(); } } catch (NinException ex) { result = new OperationResult { Code = ex.Code, Message = ex.Message }; } return(result); }
public void OneRandom_FromDateLaterThanToDate_ThrowsException() { var ex = Assert.Throws(typeof(NinException), () => BirthNumber.OneRandom(DateBasedIdNumber.LastPossible, DateBasedIdNumber.FirstPossible)); NinException nex = ex as NinException; Assert.IsNotNull(nex); Assert.AreEqual(Statuscode.BadDate, nex.Code); }
public void OneRandom_NoWildcardInPattern_ThrowsException() { var ex = Assert.Throws(typeof(NinException), () => BirthNumber.OneRandom("01234567890")); NinException nex = ex as NinException; Assert.IsNotNull(nex); Assert.AreEqual(Statuscode.BadPattern, nex.Code); }
public void OneRandom_InvalidCharacterInPattern_ThrowsException(string pattern) { var ex = Assert.Throws(typeof(NinException), () => BirthNumber.OneRandom(pattern)); NinException nex = ex as NinException; Assert.IsNotNull(nex); Assert.AreEqual(Statuscode.BadPattern, nex.Code); }
public void OneRandom_EmptyPattern_ThrowsException() { var ex = Assert.Throws(typeof(NinException), () => BirthNumber.OneRandom(string.Empty)); NinException nex = ex as NinException; Assert.IsNotNull(nex); Assert.AreEqual(Statuscode.PatternIsNullOrEmpty, nex.Code); }
public void OneRandom_TwoCallsReturnsDifferentNumbers() { BirthNumber birthNo1 = BirthNumber.OneRandom(); BirthNumber birthNo2 = BirthNumber.OneRandom(); Assert.IsNotNull(birthNo1); Assert.IsNotNull(birthNo2); Assert.AreNotEqual(birthNo1.Number, birthNo2.Number); }
public void OneRandom_SpecificGender_ReturnsOnlySpecifiedGender(GenderRequest gender, int expectedOddOrEven) { for (int index = 0; index < 10; ++index) { BirthNumber birthNo = BirthNumber.OneRandom(DateBasedIdNumber.FirstPossible, DateBasedIdNumber.LastPossible, gender); Assert.IsNotNull(birthNo); int oddOrEven = birthNo.Number[8] & 1; Assert.AreEqual(expectedOddOrEven, oddOrEven); } }
public void OneRandom_SpecificYear_ReturnsValidIndividualNumber(GenderRequest gender) { int firstYear = DateBasedIdNumber.FirstPossible.Year; int lastYear = DateBasedIdNumber.LastPossible.Year; for (int year = firstYear; year < lastYear; ++year) { IEnumerable <int> legalIndividualNumbers = IndividualNumberProvider.GetLegalNumbers(year, gender); DateTime dateFrom = new DateTime(year, 1, 1); DateTime dateTo = new DateTime(year, 12, 31); BirthNumber birthNumber = BirthNumber.OneRandom(dateFrom, dateTo, gender); if (null != birthNumber) { int individualNumber = int.Parse(birthNumber.Number.Substring(6, 3)); Assert.IsTrue(legalIndividualNumbers.Contains(individualNumber)); } } }
private void GenerateBirthNumber() { try { if (0 == comboBoxVaryUsing.SelectedIndex) { string pattern = textBoxPattern.Text.Trim(); BirthNumber birthNo = string.IsNullOrEmpty(pattern) ? BirthNumber.OneRandom() : BirthNumber.OneRandom(pattern); ShowGenerated(birthNo); } else { GenderRequest gender; switch (comboBoxGender.SelectedIndex) { case 1: gender = GenderRequest.Female; break; case 2: gender = GenderRequest.Male; break; default: gender = GenderRequest.Any; break; } BirthNumber birthNo = BirthNumber.OneRandom(dateTimePickerFrom.Value, dateTimePickerTo.Value, gender); ShowGenerated(birthNo); } } catch (NinException ex) { ShowResult("Feil", string.Format("Klarte ikke å generere fødselsnummer:\r\n{0}", ex.Message), true); } }
public BirthNumber NinEngine() { return(BirthNumber.OneRandom(DateTime.Now, DateTime.Now)); }
public void OneRandom_GoodPattern_ReturnsValidNumber(string pattern) { Assert.DoesNotThrow(() => BirthNumber.OneRandom(pattern)); }
public void OneRandom_ReturnsValidNumber() { Assert.DoesNotThrow(() => BirthNumber.OneRandom()); }