public void Execute() { this.Metadata = new MetadataCollection(); this.Queries = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase); var content = String.Empty; var retry = 0; do { try { using (var reader = new StreamReader(this.DocumentPath)) { content = reader.ReadToEnd(); } retry = 0; } catch (IOException) { if (retry < 3) { Thread.Sleep(500); ++retry; } else { throw; } } } while (retry > 0); content = this.ParseMetadataHeaderFromContent(content); this.Content = content; }
public void CanParseTags() { var path = Path.GetFullPath(@"data\documents\hastags.txt"); var command = new ParseDocumentCommand(path); command.Execute(); Assert.Equal(new[] { "foo", "bar", "baz" }, command.Metadata.Get<string[]>("tags")); }