public IEnumerable <SaleProduct> CreateProducts(IEnumerable <string> inputLines) { return(inputLines.Select( line => new SaleProduct( _parser.Parse(line), _productRegister.GetTaxCategory( _parser.Parse(line).Description )) )); // var products = new List<SaleProduct> (); // foreach (var line in inputLines) { // var productLine = _parser.Parse (line); // var category = _productRegister.GetTaxCategory (productLine.Description); // products.Add (new SaleProduct (productLine, category)); // } // return products; }
public void ParseShouldParse(string input, string rawExpected) { try { var expected = rawExpected.Split(';'); var i = 0; foreach (var argument in InputLineParser.Parse(input)) { Assert.AreEqual(expected[i], argument, $"Argument #{i} doesn't match the expected value."); i++; } } catch (InputLineParseException ilpe) { Logger.LogMessage($"{ilpe.Message}:"); Logger.LogMessage(input); Logger.LogMessage("{0}^", new string(' ', ilpe.Offset)); throw; } }
public void Parse_ShouldReturnCorrectResult([Frozen] Mock <IInputLineModelBuilder> builderMock, string line, InputLineModel model, InputLineParser sut) { // arrange builderMock.Setup(m => m.Build()).Returns(model); // act var actual = sut.Parse(line); // assert model.AsSource() .OfLikeness <InputLineModel>() .With(m => m.Id).EqualsWhen((m, i) => m.Id == i.Id) .With(m => m.Name).EqualsWhen((m, i) => m.Name == i.Name) .With(m => m.Quantities).EqualsWhen((m, i) => m.Quantities.SequenceEqual(i.Quantities)) .ShouldEqual(actual); }