public void SearchForIssues_WithValidUser_ShouldCallTheDatabaseACorrectAmountOfTimes()
        {
            var mock = new Mock<IIssueTrackerDatabase>();
            var mockDictionary = new Mock<MultiDictionary<string, Issue>>(true);
            mock.Setup(d => d.IssuesByTag).Returns(mockDictionary.Object);
            mockDictionary.Setup(d => d[It.IsAny<string>()]).Returns(new Issue[] { });
            mock.SetupProperty(d => d.CurrentUser, new User("Admin", "password"));
            var tags = new string[] { "tag1", "tag2" };
            var database = mock.Object;
            var trackerTest = new IssueTracker(database);

            trackerTest.SearchForIssues(tags);

            mockDictionary.Verify(d => d[It.IsAny<string>()], Times.Exactly(tags.Length));
        }