public void BuildQuantities_ShouldThrowExceptionWhenUnableToParseToken(
            string warehouseInfo, [Frozen] Mock <ITokenizer> tokenizerMock, InputLineModelBuilder sut)
        {
            // arrange
            tokenizerMock.Setup(m => m.Token).Returns(Token.WarehouseInfo);
            tokenizerMock.Setup(m => m.Value).Returns(warehouseInfo);

            // act
            var actual = Record.Exception(() => sut.BuildQuantities(tokenizerMock.Object));

            // assert
            actual.ShouldNotBeNull();
            actual.ShouldBeOfType <InputLineParsingException>();
        }
        public void BuildQuantities_ShouldSetQuantitiesFieldWarehouseInfoToken(
            string warehouseInfo, [Frozen] Mock <ITokenizer> tokenizerMock, InputLineModelBuilder sut)
        {
            // arrange
            tokenizerMock.Setup(m => m.Token).Returns(Token.WarehouseInfo);
            tokenizerMock.Setup(m => m.Value).Returns(warehouseInfo);

            // act
            sut.BuildQuantities(tokenizerMock.Object);

            // assert
            var quantities = sut.Build().Quantities;

            quantities.Count().ShouldBe(2);
            quantities.ShouldContain(q => "WH-A".Equals(q.WarehouseName) && q.Quantity == 12);
            quantities.ShouldContain(q => "WH-B".Equals(q.WarehouseName) && q.Quantity == 3);
        }