public static IIdentificationResult FromDataTransferObject(identificationresult identificationResultDto) { var itemsChoiceType = identificationResultDto.ItemsElementName?.FirstOrDefault(); var identifiedByDigipostOrPin = itemsChoiceType == null; if (identifiedByDigipostOrPin) { return(IdentificationResultForDigipostOrPersonalIdentificationNumber(identificationResultDto)); } return(new IdentificationResult(itemsChoiceType.Value.ToIdentificationResultType(), identificationResultDto.Items.ElementAt(0).ToString())); }
public void IdentificationByPinReturnsDigipostResultWithNoneResultType() { //Arrange var source = new identificationresult { result = identificationresultcode.DIGIPOST, Items = new object[] { null } //ItemsElementName = new [] { }, //IdentificationResultCode = IdentificationResultCode.Digipost, //IdentificationValue = null, //IdentificationResultType = IdentificationResultType.None }; var expected = new IdentificationResult(IdentificationResultType.DigipostAddress, string.Empty); //Act var actual = DataTransferObjectConverter.FromDataTransferObject(source); //Assert Comparator.AssertEqual(expected, actual); }
public void IdentificationByAddressReturnsIdentifiedResultWithPersonalAliasResultType() { //Arrange const string personAlias = "fewoinf23nio3255n32oi5n32oi5n#1234"; var source = new identificationresult { result = identificationresultcode.IDENTIFIED, Items = new object[] { personAlias }, ItemsElementName = new[] { ItemsChoiceType.personalias } //IdentificationResultCode = IdentificationResultCode.Identified, //IdentificationValue = personAlias, //IdentificationResultType = IdentificationResultType.Personalias }; var expected = new IdentificationResult(IdentificationResultType.Personalias, personAlias); //Act var actual = DataTransferObjectConverter.FromDataTransferObject(source); //Assert Comparator.AssertEqual(expected, actual); }
public void IdentificationByAddressReturnsDigipostResultWithDigipostAddressResultType() { //Arrange const string digipostAddress = "ola.nordmann#1234"; var source = new identificationresult { result = identificationresultcode.DIGIPOST, Items = new object[] { digipostAddress }, ItemsElementName = new[] { ItemsChoiceType.digipostaddress } //IdentificationResultCode = IdentificationResultCode.Digipost, //IdentificationValue = digipostAddress, //IdentificationResultType = IdentificationResultType.DigipostAddress }; var expected = new IdentificationResult(IdentificationResultType.DigipostAddress, digipostAddress); //Act var actual = DataTransferObjectConverter.FromDataTransferObject(source); //Assert Comparator.AssertEqual(expected, actual); }
public void IdentificationByPinReturnsInvalidResultWithInvalidReason() { //Arrange object invalidValue = invalidreason.INVALID_PERSONAL_IDENTIFICATION_NUMBER; var source = new identificationresult { result = identificationresultcode.INVALID, Items = new[] { invalidValue }, ItemsElementName = new[] { ItemsChoiceType.invalidreason } //IdentificationResultCode = IdentificationResultCode.Invalid, //IdentificationValue = invalidValue, //IdentificationResultType = IdentificationResultType.InvalidReason }; var expected = new IdentificationResult(IdentificationResultType.InvalidReason, invalidValue.ToString()); //Act var actual = DataTransferObjectConverter.FromDataTransferObject(source); //Assert Comparator.AssertEqual(expected, actual); }
public void IdentificationByOrganizationNumberReturnsUnidentifiedResultWithUnidentifiedReason() { //Arrange var reason = unidentifiedreason.NOT_FOUND; var source = new identificationresult { result = identificationresultcode.UNIDENTIFIED, Items = new object[] { reason }, ItemsElementName = new[] { ItemsChoiceType.unidentifiedreason } //IdentificationResultCode = IdentificationResultCode.Unidentified, //IdentificationValue = reason, //IdentificationResultType = IdentificationResultType.UnidentifiedReason }; var expected = new IdentificationResult(IdentificationResultType.UnidentifiedReason, reason.ToString()); //Act var actual = DataTransferObjectConverter.FromDataTransferObject(source); //Assert Comparator.AssertEqual(expected, actual); }
private static IdentificationResult IdentificationResultForDigipostOrPersonalIdentificationNumber(identificationresult identificationResultDto) { IdentificationResult identificationResult; switch (identificationResultDto.result) { case identificationresultcode.DIGIPOST: identificationResult = new IdentificationResult(IdentificationResultType.DigipostAddress); break; case identificationresultcode.IDENTIFIED: identificationResult = new IdentificationResult(IdentificationResultType.Personalias); break; default: throw new ArgumentOutOfRangeException(); } return(identificationResult); }