public void FileStoreReaderWriter_File_Roundtrip_Test() { var store = new FileStoreMock(); var fi = new FileInfo(@"img\Patern_test.jpg"); var reader = new FileStoreReader(store); var writer = new FileStoreWriter(store); var server = new FileServer(DlnaMediaTypes.All, null, new DirectoryInfo[] { new DirectoryInfo(".") }); var item = new BaseFileMock(server,fi,DlnaMime.AudioAAC,DlnaMediaTypes.Image); writer.StoreFile(item); var result = reader.GetFile(fi, null, NMaier.SimpleDlna.Server.DlnaMime.ImageJPEG); Assert.IsNotNull(result); Assert.AreEqual(item.Path, result.Path); }
public void FileStoreReaderWriter_File_Roundtrip_Test() { var store = new FileStoreMock(); var fi = new FileInfo(@"img\Patern_test.jpg"); var reader = new FileStoreReader(store); var writer = new FileStoreWriter(store); var server = new FileServer(DlnaMediaTypes.All, null, new DirectoryInfo[] { new DirectoryInfo(".") }); var item = new BaseFileMock(server, fi, DlnaMime.AudioAAC, DlnaMediaTypes.Image); writer.StoreFile(item); var result = reader.GetFile(fi, null, NMaier.SimpleDlna.Server.DlnaMime.ImageJPEG); Assert.IsNotNull(result); Assert.AreEqual(item.Path, result.Path); }
public void SetCacheFile(IFileStore store) { if (_store != null) { _store.Dispose(); _store = null; _storeReader = null; _storeWriter = null; } try { _store = store; if (_store == null) return; _store.Init(); _storeReader = new FileStoreReader(store); _storeWriter = new FileStoreWriter(store); } catch (Exception ex) { WarnFormat("FileStore is not available; failed to load [{0}]:{1}", store, ex); store = null; } }
static void Main(string[] args) { const string path = "../../Data/monteCristo.txt"; /* * Object Oriented version */ var bootstrapper = new Bootstraper(); var resolver = bootstrapper.Initialize(); var wordCounterService = resolver.Resolve <WordCounterService>(); var number = wordCounterService.CountInFile(path); System.Console.WriteLine("Number of words : {0}", number); System.Console.ReadKey(); /* * Functional version */ var content = new FileStoreReader().Read(path); var wordCounter = new Domain.WordCounter(); // composing functions var startStriperFunc = Parsers.GetStartStriperFunc(); var endStriperFunc = Parsers.GetEndStriperFunc(); var pageParserFunc = Parsers.GetPageParserFunc(); int funcParsedNumber = 0; var funcParsed = new Parsers.Success <string>(content).Bind(startStriperFunc).Bind(endStriperFunc).Bind(pageParserFunc); if (funcParsed.IsSuccess) { funcParsedNumber = wordCounter.Count(funcParsed.FromParseResult()); } System.Console.WriteLine("Number of words (func composition) : {0}", funcParsedNumber); System.Console.ReadKey(); int funcParsedNumberLinq = 0; var funcParsedLinq = from a in content.ToParseResult() from b in startStriperFunc(a) from c in endStriperFunc(b) from d in pageParserFunc(c) select d; if (funcParsedLinq.IsSuccess) { funcParsedNumberLinq = wordCounter.Count(funcParsedLinq.FromParseResult()); } System.Console.WriteLine("Number of words (func composition Linq) : {0}", funcParsedNumberLinq); System.Console.ReadKey(); // composing parsers var startSriper = Parsers.GetStartStriper(); var endStriper = Parsers.GetEndStriper(); var pageStriper = Parsers.GetPageParser(); int numberComposite = 0; var composite = startSriper.Compose(endStriper.Compose(pageStriper)); var compParseResult = composite(content); if (compParseResult.IsSuccess) { numberComposite = wordCounter.Count(compParseResult.FromParseResult()); } System.Console.WriteLine("Number of words (composing parsers) : {0}", numberComposite); System.Console.ReadKey(); int numberCompositeLinq = 0; var parsers = from a in startSriper(content) from b in endStriper(a) from c in pageStriper(b) select c; if (parsers.IsSuccess) { numberCompositeLinq = wordCounter.Count(parsers.FromParseResult()); } System.Console.WriteLine("Number of words (func composition Linq) : {0}", numberCompositeLinq); System.Console.ReadKey(); }