private BiztalkParser GetBiztalkParser() { IRowParser rowParser = Substitute.For <IRowParser>(); rowParser .ParseXmlForRows(Arg.Any <XElement>()) .Returns(c => { if (_errorWhenProcessing) { throw new Exception("Test needed exception"); } var xElement = c.ArgAt <XElement>(0); var count = int.Parse(xElement.Element("RowsCount").Value); var returns = new List <BiztalkMessage>(); for (int i = 0; i < count; i++) { returns.Add(new BiztalkMessage()); } return(returns); }); var parser = new BiztalkParser(rowParser); return(parser); }
public IEnumerable <BiztalkMessage> ParseMessage(string biztalkMessage) { List <BiztalkMessage> list = new List <BiztalkMessage>(); if (string.IsNullOrEmpty(biztalkMessage)) { throw new InvalidBiztalkMessageXml(biztalkMessage); } var message = XDocument.Parse(biztalkMessage); if (message?.Root == null || message.Root.IsEmpty || (string.IsNullOrEmpty(message.Root.Value) && !message.Root.HasElements)) { throw new InvalidBiztalkMessageXml(biztalkMessage); } try { return(_rowParser.ParseXmlForRows(message.Root)); } catch (Exception ex) { throw new ErrorOccuredWhenProccessTranposrtXml(biztalkMessage, ex); } }
public IEnumerable <BiztalkMessage> Act() { return(_rowParser.ParseXmlForRows(_document)); }