using Glass.Markdown; using System; using UnitTestSharp; namespace Glass.UnitTests { public class MarkdownStyleTests : TestFixture { private static readonly TextMaterialStyle Big = MarkdownViewTests.Plain with { Scale = 2 }; private static readonly TextMaterialStyle Medium = MarkdownViewTests.Plain with { Scale = 1.5 }; public class HeadingStyleForTests : TestFixture { public void ReturnsEachLevelsStyle() { var style = new MarkdownStyle { Body = MarkdownViewTests.Plain, Headings = new[] { Big, Medium } }; CheckEqual(Big, style.HeadingStyleFor(1)); CheckEqual(Medium, style.HeadingStyleFor(2)); } public void UsesTheLastStyleForDeeperLevels() { var style = new MarkdownStyle { Body = MarkdownViewTests.Plain, Headings = new[] { Big, Medium } }; CheckEqual(Medium, style.HeadingStyleFor(6)); } public void UsesTheBodyWhenThereAreNoHeadingStyles() { var style = new MarkdownStyle { Body = MarkdownViewTests.Plain }; CheckEqual(MarkdownViewTests.Plain, style.HeadingStyleFor(3)); } public void RejectsLevelsBelowOne() { var style = new MarkdownStyle { Body = MarkdownViewTests.Plain }; CheckThrow(typeof(ArgumentOutOfRangeException)); style.HeadingStyleFor(0); } } } }