public void GetRepoName_ReturnsCorrectName()
		{
			var repoMetadataRetriever = new RepositoryMetadataRetriever(repoClient: null);
			
			var project = new Project() { Name = "Project1" };
			var student = new ClassroomMembership() { GitHubTeam = "LastNameFirstName" };

			var result = repoMetadataRetriever.GetRepoName(project, student);

			Assert.Equal("Project1_LastNameFirstName", result);
		}
		public async Task GetStudentRepositoriesAsync_ReturnsCorrectRepositories()
		{
			var project = new Project()
			{
				Name = "Project1",
				Classroom = new Classroom() { GitHubOrganization = "GitHubOrg" }
			};

			var students = Collections.CreateList
			(
				new ClassroomMembership() { GitHubTeam = "Last1First1" },
				new ClassroomMembership() { GitHubTeam = "Last2First2" }
			);

			var reposInOrganization = Collections.CreateList
			(
				new GitHubRepository(0, "GitHubOrg", "Project1_Last1First1"),
				new GitHubRepository(1, "GitHubOrg", "Project1_Last2First2"),
				new GitHubRepository(2, "GitHubOrg", "SomeOtherProject_Last1First1"),
				new GitHubRepository(3, "GitHubOrg", "SomeOtherProject_Last3First3")
			);

			var repoClient = new Mock<IGitHubRepositoryClient>();
			repoClient
				.Setup(rc => rc.GetAllRepositoriesAsync("GitHubOrg"))
				.ReturnsAsync(reposInOrganization);

			var repoMetadataRetriever = new RepositoryMetadataRetriever(repoClient.Object);

			var results = await repoMetadataRetriever.GetStudentRepositoriesAsync
			(
				project,
				students
			);

			Assert.Equal(2, results.Count);
			Assert.Equal(0, results[students[0]].Id);
			Assert.Equal(1, results[students[1]].Id);
		}