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); }
private IEnumerable <Apartment> CreateApartmentsPerApartComplex(HtmlNodeCollection htmlNodes) { var transferData = new ApartmentTransferData(); return(htmlNodes?.Reverse().Select(node => CreateApartment(node, ref transferData)).ToList()); }