public bool IsAllBluRayPathsValid()
{
bool isValid = true;
foreach (BluRayDiscInfo disc in _bluRayDiscInfoList.Where(d => d.IsSelected))
{
foreach (BluRaySummaryInfo info in disc.BluRaySummaryInfoList.Where(s => s.IsSelected))
{
if (info.BluRayTitleInfo != null)
{
if ((info.BluRayTitleInfo.AudioList != null && info.BluRayTitleInfo.AudioList.Where(a => a.IsSelected).Count() > 0) || (info.BluRayTitleInfo.Chapter != null && info.BluRayTitleInfo.Chapter.IsSelected)
|| (info.BluRayTitleInfo.Subtitles != null && info.BluRayTitleInfo.Subtitles.Where(s => s.IsSelected).Count() > 0) || (info.BluRayTitleInfo.Video != null && info.BluRayTitleInfo.Video.IsSelected))
{
if (!_directorySystemService.Exists(disc.BluRayPath))
isValid = false;
}
}
}
}
if (!isValid)
{
this._errors.Add(new Error() { Description = "Invalid Blu-ray disc directories found." });
}
return isValid;
}
public void eac3tocommonrulesvalidatorservice_has_invalid_bluray_directory_error_when_some_bluray_disc_directories_dont_exist_test() { List<BluRayDiscInfo> discList = new List<BluRayDiscInfo>() { new BluRayDiscInfo() { Id = 1, IsSelected = true,BluRayPath = @"c:\temp\disc1", BluRaySummaryInfoList = new List<BluRaySummaryInfo>() { new BluRaySummaryInfo() { IsSelected = true, BluRayTitleInfo = new BluRayTitleInfo() { EpisodeNumber = "1", Video = new BluRayTitleVideo() { IsSelected = true} }} } } }; EAC3ToConfiguration config = new EAC3ToConfiguration(); var directorySystemServiceMock = new Mock<IDirectorySystemService>(); directorySystemServiceMock.Setup(m => m.Exists(It.IsAny<string>())).Returns(false); IEAC3ToCommonRulesValidatorService service = new EAC3ToCommonRulesValidatorService(config, directorySystemServiceMock.Object, discList); bool isValid = service.IsAllBluRayPathsValid(); service.Errors[0].Description.Should().Be("Invalid Blu-ray disc directories found."); }