void UpdateTestStatus(TestInfo test) { if (test.Valid == TestState.Error) { return; } test.Valid = TestState.Valid; string actualTestResourceName = GetTestResourceName(test, true); if (actualTestResourceName == null) { test.Valid = TestState.Invalid; return; } string xmlPath = GetXmlFilePath(actualTestResourceName, test, true); if (xmlPath == null) { test.Valid = TestState.Invalid; } string imagePath = GetImageFilePath(actualTestResourceName, test, true); if (imagePath == null) { test.Valid = TestState.Invalid; } if (test.Valid == TestState.Invalid) { return; } if (test.ImageBeforeArr != null) { if (IsImageEquals(test.ImageCurrentArr, test.ImageBeforeArr)) { test.ImageEquals = true; } } if (!IsTextEquals(test.TextCurrent, File.ReadAllText(xmlPath), out _, out _)) { test.Valid = TestState.Valid; return; } byte[] imageSource = null; if (!LoadImage(imagePath, img => imageSource = img)) { test.LogCustomError($"File Can not load: \"{imagePath}\""); test.Valid = TestState.Invalid; return; } if (IsImageEquals(test.ImageCurrentArr, imageSource)) { test.Valid = TestState.Fixed; return; } }
string GetTestResourceName(TestInfo test, bool checkDirectoryExists) { var repository = GetRepository(test.Version); if (repository == null) { test.LogCustomError($"Config not found for version \"{test.Version}\""); return(null); } string actualTestResourcesPath = Path.Combine(repository.Path, test.TeamInfo.TestResourcesPath, test.ResourceFolderName); if (!Directory.Exists(actualTestResourcesPath)) { if (checkDirectoryExists) { test.LogDirectoryNotFound(actualTestResourcesPath); return(null); } Directory.CreateDirectory(actualTestResourcesPath); } return(Path.Combine(actualTestResourcesPath, test.Theme)); }