public void IdentificaElMensajeTransaccional() { var transaccional1 = new MensajeTransaccional { Id = 1, CampoId = 1, Valor = "TRANSACCIONAL1" }; var transaccional2 = new MensajeTransaccional { Id = 2, CampoId = 2, Valor = "TRANSACCIONAL2" }; var mensaje = new Mensaje(); mensaje.Transaccionales = new List<MensajeTransaccional> { transaccional1,transaccional2 }; var fields = new List<FieldData> { new FieldData { CampoId = 1, Data = "TRANSACCIONAL1" }, new FieldData { CampoId = 2, Data = "xxxxxxxxxxx" } }; var identificadorTransaccional = new IdentificadorTransaccional(); var transaccional = identificadorTransaccional.Identificar(mensaje, fields); Assert.AreEqual(transaccional1, transaccional); fields = new List<FieldData> { new FieldData { CampoId = 1, Data = "xxxxxxxxxxx" }, new FieldData { CampoId = 2, Data = "TRANSACCIONAL2" } }; identificadorTransaccional = new IdentificadorTransaccional(); transaccional = identificadorTransaccional.Identificar(mensaje, fields); Assert.AreEqual(transaccional2, transaccional); }
public void IdentificaElMensajeSegunValorSelector() { var mensaje1 = new Mensaje(); var mensaje2 = new Mensaje(); var valoresSelectores = new List<ValorSelector> { new ValorSelector { Posicion = 0, Longitud = 9, Valor = "SELECTOR1", Mensaje = mensaje1 }, new ValorSelector { Posicion = 1, Longitud = 9, Valor = "SELECTOR2", Mensaje = mensaje2 }, }; var rawMessage = "SELECTOR1xxxxxxxxxx"; var identificadorMensaje = new IdentificadorMensaje(); var mensaje = identificadorMensaje.Identificar(rawMessage, valoresSelectores); Assert.AreEqual(mensaje1, mensaje); rawMessage = "xSELECTOR2xxxxxxxxx"; identificadorMensaje = new IdentificadorMensaje(); mensaje = identificadorMensaje.Identificar(rawMessage, valoresSelectores); Assert.AreEqual(mensaje2, mensaje); }
public List<FieldData> Parse(string rawData, Mensaje mensaje) { return new List<FieldData> { new FieldData { CampoId = 1, Data = "TRANSACCIONAL" } }; }
public MensajeTransaccional Identificar(Mensaje mensaje, List<FieldData> fields) { foreach (var transaccional in mensaje.Transaccionales) { var field = fields.SingleOrDefault(x => x.CampoId == transaccional.CampoId); if (field.Data == transaccional.Valor) { return transaccional; } } throw new TransaccionalNoIdentificadoException(); }
public void LanzaExcepcionSiNoIdentificaElTransaccional() { var identificadorTransaccional = new IdentificadorTransaccional(); var mensaje = new Mensaje { Transaccionales = new List<MensajeTransaccional> { new MensajeTransaccional { CampoId = 1, Valor = "VALOR" } } }; var fields = new List<FieldData> { new FieldData { CampoId = 1, Data = "VALOR_INCORRECTO" } }; identificadorTransaccional.Identificar(mensaje, fields); }