public void MustThrowArgumentNullExceptionWhenArgumentIsNull()
            {
                var rowParser = Substitute.For <IAltbauWohnungenRowParser>();
                var parser    = new AltbauWohnungenParser(rowParser);

                Assert.That(() => parser.ParseAltbauWohnungenDocument(null), Throws.ArgumentNullException);
            }
            public void ShouldParseDocument()
            {
                // setup parser
                var rowParser = Substitute.For <IAltbauWohnungenRowParser>();

                rowParser.Parse(Arg.Any <HtmlNodeCollection>()).Returns(An.AltbauWohnungInfo());
                var parser = new AltbauWohnungenParser(rowParser);

                // load document
                var document = An.HtmlDocument();

                // act
                var result = parser.ParseAltbauWohnungenDocument(document);

                Assert.That(result, Is.Not.Null, "result was null");
                Assert.That(result.Count(), Is.EqualTo(4), "result count");
                Assert.That(() => rowParser.Received(4).Parse(Arg.Any <HtmlNodeCollection>()), Throws.Nothing);
            }