Example #1
0
 public TilesCollection(ISourceDirectory sourceDirectory, IProgressNotificator progressNotificator)
 {
     _sourceDirectory     = sourceDirectory;
     _progressNotificator = progressNotificator;
     _tiles  = new List <Tile>();
     _random = new Random(0);
 }
Example #2
0
 public Catcher(ISourceDirectory source, IHandledStorage handled, IPasportSaver saver, IFileStorage fs)
 {
     this.Source      = source;
     this.Saver       = saver;
     this.Handled     = handled;
     this.FileStorage = fs;
 }
Example #3
0
 public MosaicGenerator(
     ISourceDirectory sourceDirectory,
     IOutputDirectory outputDirectory,
     IProgressNotificator progressNotificator)
 {
     _sourceDirectory     = sourceDirectory;
     _outputDirectory     = outputDirectory;
     _progressNotificator = progressNotificator;
 }
Example #4
0
 public DirectoryMonitor(ISourceDirectory source, IHandledStorage handled)
 {
     this.source  = source;
     this.handled = handled;
 }
Example #5
0
        private static async Task CheckDirectory(Dictionary <string, byte[]> originalDirectory, ISourceDirectory contractsDirectory)
        {
            if (originalDirectory.Count > 0)
            {
                var testFileName = originalDirectory.Keys.Skip(originalDirectory.Count / 2).First();
                var testFileInfo = await contractsDirectory.GetFile(testFileName);

                Assert.Equal(testFileName, testFileInfo.Filename);
                Assert.Equal(originalDirectory[testFileName].Length, testFileInfo.Size);
                Assert.Equal(originalDirectory[testFileName], await testFileInfo.ReadContents());
            }

            var syncObject  = new object();
            var actionBlock = new ActionBlock <ISourceFile>(async sourceFile =>
            {
                byte[] originalFileContents;
                lock (syncObject)
                {
                    Assert.True(originalDirectory.ContainsKey(sourceFile.Filename), "File does not exist in original data");
                    originalFileContents = originalDirectory[sourceFile.Filename];
                    originalDirectory.Remove(sourceFile.Filename);
                }

                Assert.Equal(originalFileContents.Length, sourceFile.Size);
                Assert.Equal(originalFileContents, await sourceFile.ReadContents());
            });

            await contractsDirectory.GetAllFiles(actionBlock, CancellationToken.None);

            await actionBlock.Completion;

            Assert.False(originalDirectory.Any(), "Not all files were enumerated");
        }
 /// <summary>
 /// Gets directory for storing source codes for the current project.
 /// </summary>
 public static string SourceDirectory(this ISourceDirectory config)
 {
     return($@"{config.WorkingDirectory()}\source");
 }