public void ToString_ReturnString() { // Act var obj = HtmlId.Create(value); // Assert Assert.Equal($@"{name}=""{value}""", obj.ToString()); }
public void Equals_Null() { // Arrange var orig = HtmlId.Create(value); // Assert Assert.False(orig.Equals(null)); }
public void Equals_OtherObject() { // Arrange var orig = HtmlId.Create(value); var str = $@"{name}=""{value}"""; // Assert Assert.False(orig.Equals(str)); }
public void Equals_IsNotEqual() { // Arrange var orig = HtmlId.Create(value); var other = HtmlId.Create("not same"); // Assert Assert.False(orig.Equals(other)); }
public void Equals_IsEqual() { // Arrange var orig = HtmlId.Create(value); var copy = HtmlId.Create(value); // Assert Assert.True(orig.Equals(copy)); }
public void Constructor_SetValues() { // Act var obj = new HtmlId(value); // Assert Assert.Equal(name, obj.Name); Assert.Equal(value, obj.Value); }
public void Constructor_Empty() { // Act var obj = new HtmlId(); // Assert Assert.Equal(name, obj.Name); Assert.Null(obj.Value); }
public void Create_ReturnNewInstance() { // Act var obj = HtmlId.Create(value); // Assert Assert.Equal(name, obj.Name); Assert.Equal(value, obj.Value); Assert.IsType <HtmlId>(obj); }
/// <summary> /// Parse the Content of a Markdown file. /// </summary> /// <param name="content"></param> /// <param name="sourceInformation"></param> /// <returns></returns> public static MarkdownMetadata Parse(string content, SourceInformation sourceInformation) { var output = new MarkdownMetadata { Content = content, SourceInformation = sourceInformation }; var lines = content.Split(new[] { "\n" }, StringSplitOptions.None); var lineNumber = 0; foreach (var line in lines) { lineNumber++; var trimmedLine = line.Trim(); // todo Find Links. There could be multiple on a single line. "[text](ref)" // Process header line. if (trimmedLine.StartsWith("#")) { // Count number of #'s and store that in Level. var level = 1; while (trimmedLine.Substring(level, 1).Equals("#")) { level++; } var text = trimmedLine.Substring(level).Trim(); var item = new Heading(level, text); output.Headings.Add(item); // There can be nothing more to parse on this line. continue; } // Process Html Id var htmlMatch = HtmlRegex.Match(trimmedLine); if (htmlMatch.Success && htmlMatch.Groups.Count == 2) { var item = new HtmlId(htmlMatch.Groups["id"].Value, trimmedLine); output.HtmlIds.Add(item); // There can be nothing more to parse on this line. continue; } // Process Links var match = LinkRegex.Match(trimmedLine); if (match.Success && match.Groups.Count == 3) { var item = new Link(match.Groups["text"].Value, match.Groups["ref"].Value, lineNumber); output.Links.Add(item); } } return(output); }