public void LoadSet_NotExistedFile_ReturnsFalseResult(string filePath) { // Arrange var fileValidator = new FileValidator(new ValidationData()); var setService = new SetService(fileValidator); var fileSource = new EmbeddedSource(filePath, Assembly.GetExecutingAssembly()); // Act void action() => setService.Load(fileSource); // Assert ResourceNotFoundException ex = Assert.Throws <ResourceNotFoundException>(action); }
public void LoadSet_ValidationErrors_ReturnsFalseResult( List <string> filesPaths, List <Enum> errorCodes, List <Dictionary <string, string> > errorDetails) { // Arrange var fileValidator = new FileValidator(new ValidationData()); var setService = new SetService(fileValidator); var filesSources = new List <ISource>(); foreach (string filePath in filesPaths) { filesSources.Add(new EmbeddedSource(filePath, Assembly.GetExecutingAssembly())); } // Act OperationResult result = setService.Load(filesSources); // Assert Assert.False(result.Result); if (result.Errors == null) { throw new Exception("There are no expected errors."); } Assert.Equal(errorCodes.Count, result.Errors.Count); for (int i = 0; i < result.Errors.Count; i++) { if (result.Errors[i] is Error <Dictionary <string, string> > error) { int errorCode = 0; if (errorCodes[i] is Core.Models.ErrorCodesEnum coreErrorCode) { errorCode = (int)coreErrorCode; } if (errorCodes[i] is Words.Models.ErrorCodesEnum wordErrorCode) { errorCode = (int)wordErrorCode; } Assert.Equal(errorCode, error.Code); foreach (KeyValuePair <string, string> el in errorDetails[i]) { Assert.True(error.Data.ContainsKey(el.Key)); Assert.Equal(el.Value, error.Data[el.Key]); } } else { throw new Exception("Error is not Error<Dictionary<string, string>> type."); } } }