public void JsonParserInvalidJsonTest() { var testFilePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"TestFiles\InvalidJson.json"); var context = FileParserFactory.CreateContext(InputFileType.Json); Assert.Throws <Exception>(() => context.Parse(testFilePath)); }
public void ParserShouldErrorOnEmpty(string input, string extension) { var res = new FileParserFactory().CreateTransactionFileParser(extension).ParseStream(ToStream(input)); Assert.False(res.Success); Assert.Single(res.Errors); }
public FileParserFactoryTests() { this.fixture = new Fixture(); this.fileExtensionParser = new Mock <IFileExtensionParser>(); this.csvTestEntityAParser = new Mock <IFileParser <TestEntityA> >(); this.csvTestEntityAParser.Setup(x => x.DataType).Returns(typeof(TestEntityA)); this.csvTestEntityAParser.Setup(x => x.FileExtension).Returns(FileExtension.Csv); this.xmlTestEntityAParser = new Mock <IFileParser <TestEntityA> >(); this.xmlTestEntityAParser.Setup(x => x.DataType).Returns(typeof(TestEntityA)); this.xmlTestEntityAParser.Setup(x => x.FileExtension).Returns(FileExtension.Xml); this.csvTestEntityBParser = new Mock <IFileParser <TestEntityB> >(); this.csvTestEntityBParser.Setup(x => x.DataType).Returns(typeof(TestEntityB)); this.csvTestEntityBParser.Setup(x => x.FileExtension).Returns(FileExtension.Csv); this.xmlTestEntityBParser = new Mock <IFileParser <TestEntityB> >(); this.xmlTestEntityBParser.Setup(x => x.DataType).Returns(typeof(TestEntityB)); this.xmlTestEntityBParser.Setup(x => x.FileExtension).Returns(FileExtension.Xml); var parsers = new List <IFileParser> { this.csvTestEntityAParser.Object, this.xmlTestEntityAParser.Object, this.csvTestEntityBParser.Object, this.xmlTestEntityBParser.Object, }; this.subject = new FileParserFactory(this.fileExtensionParser.Object, parsers); }
public void ParseFile_GivenFilePath_UTF8Encoding_AndReplaceCapitalParseMode() { string filePath = "test.txt"; StreamWriter sw = new StreamWriter(File.Create(filePath)); foreach (string s in testStrings) { sw.WriteLine(s); } sw.Close(); FileParserFactory fileParserBuilder = new FileParserFactory(filePath, Encoding.UTF8, ParseStrategy.ReplaceCapitalLetters()); IFileParser fileParser = fileParserBuilder.Create(); StreamReader sr = fileParser.ParseFile(); int i = 0; while (!sr.EndOfStream) { Assert.IsTrue(sr.ReadLine() == lowercaseResultStrings[i]); i++; } sr.Close(); }
public void ParseFile_GivenFilePath_UTF8Encoding_AndLeaveUnchangedParseMode() { string filePath = "test.txt"; StreamWriter sw = new StreamWriter(File.Create(filePath)); foreach (string s in testStrings) { sw.WriteLine(s); } sw.Close(); FileParserFactory fileParserBuilder = new FileParserFactory(filePath, Encoding.UTF8); IFileParser fileParser = fileParserBuilder.Create(); StreamReader sr = fileParser.ParseFile(); int i = 0; while (!sr.EndOfStream) { Assert.IsTrue(sr.ReadLine() == defaultResultStrings[i]); i++; } sr.Close(); }
public async Task <PackagesFileResult <IPackage> > ParseFileAsync(string filePath, string fileName = null) { if (string.IsNullOrEmpty(fileName)) { fileName = Path.GetFileName(filePath); } IFileParser fileParser = FileParserFactory.CreateParser(fileName); IEnumerable <PackageMetadata> packagesMetadata = fileParser.GetPackages(filePath); List <Task <NuGetPackage> > tasks = new List <Task <NuGetPackage> >(); foreach (var item in packagesMetadata) { tasks.Add(_nuGetPackagesRepository.FindPackageAsync(item.PackageId, item.Version)); } await Task.WhenAll(tasks); List <NuGetPackage> packages = tasks.Select(p => p.Result).ToList(); return(new PackagesFileResult <IPackage> { PackageType = fileParser.PackageType, FileName = fileName, Packages = packages.OrderBy(p => p.PackageId).ToList() }); }
public void JsonParserValidJsonTest() { var testFilePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"TestFiles\Wolferhampton_Race1.json"); var context = FileParserFactory.CreateContext(InputFileType.Json); var horses = context.Parse(testFilePath); Assert.True(horses.Count > 1); }
public void XmlParserValidFileTest() { var testFilePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"TestFiles\Caulfield_Race1.xml"); var context = FileParserFactory.CreateContext(InputFileType.Xml); var horses = context.Parse(testFilePath); Assert.True(horses.Count > 1); }
private StreamReader GetParsedFileStream(IParseStrategy parseStrategy) { var fileParserFactory = new FileParserFactory(_searchFile, parseStrategy); var fileParser = fileParserFactory.Create(); var streamReader = fileParser.ParseFile(); return(streamReader); }
public void GivenTXTFile_WhenParserRequested_ThenReturnNull() { var fileParserFactory = new FileParserFactory(); var filePath = "test.txt"; var parser = fileParserFactory.GetParser(filePath); Assert.Null(parser); }
public void GivenXMLFile_WhenParserRequested_ThenReturnXMLParser() { var fileParserFactory = new FileParserFactory(); var filePath = "test.xml"; var parser = fileParserFactory.GetParser(filePath); Assert.NotNull(parser); Assert.IsType <XmlFileParser>(parser); }
public void GivenJSONFile_WhenParserRequested_ThenReturnJSONParser() { var fileParserFactory = new FileParserFactory(); var filePath = "test.json"; var parser = fileParserFactory.GetParser(filePath); Assert.NotNull(parser); Assert.IsType <JsonFileParser>(parser); }
public void TestParserSuccess(string input, string extension, int count, decimal firstAmount, string lastId) { var res = new FileParserFactory().CreateTransactionFileParser(extension).ParseStream(ToStream(input)); Assert.True(res.Success); Assert.Empty(res.Errors); Assert.Equal(count, res.Transactions.Count); Assert.Equal(firstAmount, res.Transactions.First().Amount); Assert.Equal(lastId, res.Transactions.Last().Id); }
public IEnumerator <ISearchee> GetEnumerator() { var files = FileLister(_rootPath); foreach (var filePath in files) { var fileParserFactory = new FileParserFactory(filePath, _parseStrategy); yield return(new ParsedFileSearchee(filePath, fileParserFactory)); } }
public void ParseFile_GivenHtmFilePath_UTF8Encoding_AndLeaveUnchangedParseStrategy() { string filePath = "test.htm"; StreamWriter sw = new StreamWriter(File.Create(filePath)); sw.Write(htmlTest); sw.Close(); FileParserFactory fileParserBuilder = new FileParserFactory(filePath, Encoding.UTF8); IFileParser fileParser = fileParserBuilder.Create(); StreamReader sr = fileParser.ParseFile(); Assert.IsTrue(sr.ReadToEnd() == htmlTestResult); sr.Close(); }
/// <summary> /// Displays the root View. /// </summary> /// <param name="sender">Ignored.</param> /// <param name="e">Ignored.</param> protected override void OnStartup(object sender, System.Windows.StartupEventArgs e) { IExtendedWindowManager windowManager = new ExtendedWindowManager(); ILastFMClient client = new LastFMClient(APIKEY, APISECRET); IScrobblerFactory scrobblerFactory = new ScrobblerFactory(); ILocalFileFactory localFileFactory = new LocalFileFactory(); IFileOperator fileOperator = new FileOperator(); IDirectoryOperator directoryOperator = new DirectoryOperator(); ISerializer userSerializer = new DCSerializer(); ILogger logger = new Logger("log.txt"); IGitHubClient gitHubClient = new GitHubClient(new ProductHeaderValue("Last.fm-Scrubbler-WPF")); IProcessManager processManager = new ProcessManager(); IDiscogsDataBaseClient discogsClient = new DiscogsClient.DiscogsClient(new TokenAuthenticationInformation("vcrTuxlCPCANcLDUDcbGSYBxbODkeyywIUtYAMxg")); IFileParserFactory fileParserFactory = new FileParserFactory(); MainViewModel mainVM = new MainViewModel(windowManager, client, scrobblerFactory, localFileFactory, fileOperator, directoryOperator, userSerializer, logger, gitHubClient, processManager, discogsClient, fileParserFactory); windowManager.ShowWindow(new SystemTrayViewModel(windowManager, mainVM)); }
internal ParsedFileSearchee(string path, FileParserFactory fileParserFactory) { this.Path = path; this._parserFactory = fileParserFactory; }
public void Setup() { logger = ConsoleLogger.Instance; fileParserFactory = new FileParserFactory(); feedProvider = new FeedProvider(logger, fileParserFactory); }