Exemplo n.º 1
0
        private Apartment CreateApartment(HtmlNode node, ref ApartmentTransferData transferData)
        {
            var numOfRooms        = _pageHandler.ParseHtmlNumOfRooms(node);
            var hasMultipleFloors = _pageHandler.HasMultipleFloors(node);
            var roomSpace         = _pageHandler.ParseHtmlRoomSpace(node, ref transferData);
            var price             = _pageHandler.ParseHtmlApartPrice(node, ref transferData);

            return(new Apartment
            {
                NumberOfRooms = numOfRooms,
                HasMultipleFloors = hasMultipleFloors,
                DwellingSpaceMin = roomSpace.Item1,
                DwellingSpaceMax = roomSpace.Item2,
                SquareMeterPriceMin = price.Item1,
                SquareMeterPriceMax = price.Item2
            });
        }
        public void ParseHtmlApartPrice(int previousPrice, int maxPrice)
        {
            // Arrange
            var expectedResult = new Tuple <int, int>(4614009, maxPrice);
            var apartmentNode  = HtmlNode.CreateNode(_htmlApartmentThreeRoomLiteral);
            var transferData   = new ApartmentTransferData()
            {
                PreviousPrice = previousPrice
            };
            var htmlHandler = new PageHandler(new HtmlParser(new HtmlWeb()));

            // Act
            var actualResult = htmlHandler.ParseHtmlApartPrice(apartmentNode, ref transferData);

            // Assert
            Assert.Equal(expectedResult, actualResult);
        }
Exemplo n.º 3
0
        private IEnumerable <Apartment> CreateApartmentsPerApartComplex(HtmlNodeCollection htmlNodes)
        {
            var transferData = new ApartmentTransferData();

            return(htmlNodes?.Reverse().Select(node => CreateApartment(node, ref transferData)).ToList());
        }