public void ItDiesOnMultipleLinksFound()
{
var linkedStatement1 = new Mock<ILinkedStatement>();
var statement = new Mock<IStatementDefinition>();
linkedStatement1.SetupGet(x => x.Definition).Returns(statement.Object);
statement.Setup(x => x.Link(It.IsAny<string>())).Returns(linkedStatement1.Object);
statement.SetupGet(x => x.Name).Returns("David");
statement.SetupGet(x => x.ScopeType).Returns(typeof(int));
var linkedStatement2 = new Mock<ILinkedStatement>();
var statement2 = new Mock<IStatementDefinition>();
linkedStatement2.SetupGet(x => x.Definition).Returns(statement2.Object);
statement2.Setup(x => x.Link(It.IsAny<string>())).Returns(linkedStatement2.Object);
statement2.SetupGet(x => x.Name).Returns("Tennant");
statement2.SetupGet(x => x.ScopeType).Returns(typeof(int));
var statementSet = new StatementSet().Add(statement.Object).Add(statement2.Object);
var ast = new DaisyAst(new StatementNode("Hello gov'nor"));
var load = new DaisyLinker(ast,statementSet,typeof(int));
var ex = Assert.Catch<FailedLinkException>(() => load.Link());
Assert.AreEqual(1, ex.Errors.Count);
Assert.IsInstanceOf<MultipleLinksFoundError>(ex.Errors.First());
}