示例#1
0
        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;
        }
示例#2
0
 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);
        }