-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMdSyntaxNodeModifierExtensionsTests.cs
More file actions
91 lines (71 loc) · 3.29 KB
/
MdSyntaxNodeModifierExtensionsTests.cs
File metadata and controls
91 lines (71 loc) · 3.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
// ---------------------------------------------------------------------------------------------------------------------
// Imports
// ---------------------------------------------------------------------------------------------------------------------
using InfiniBlazor.Markdown.Syntax;
namespace InfiniBlazorTests.Core.Markdown.Syntax;
// ---------------------------------------------------------------------------------------------------------------------
// Code
// ---------------------------------------------------------------------------------------------------------------------
public class MdSyntaxNodeModifierExtensionsTests {
[Test]
[Arguments("|title=something")]
[Arguments("|title=something|")]
public async Task TryGetTitle(string input) {
// Arrange
MdSyntaxNodeModifier mod = MdSyntaxNodeModifier.FromString(input);
// Act
bool result = mod.TryGetTitle(out string? title);
// Assert
await Assert.That(mod.Attributes).Count().IsEqualTo(1);
await Assert.That(mod.Attributes["title"]).IsEqualTo(new Range(7, 16));
await Assert.That(result).IsTrue();
await Assert.That(title).IsEqualTo("something");
}
[Test]
[Arguments("|fit")]
[Arguments("|fit|")]
public async Task GetFit(string input) {
// Arrange
MdSyntaxNodeModifier mod = MdSyntaxNodeModifier.FromString(input);
// Act
bool result = mod.TryGetFit(out bool fit);
// Assert
await Assert.That(mod.Attributes).Count().IsEqualTo(1);
await Assert.That(mod.Attributes["fit"]).IsEqualTo(new Range(4, 4));
await Assert.That(result).IsTrue();
await Assert.That(fit).IsTrue();
}
[Test]
[Arguments("|size=100x100")]
[Arguments("|size=100x100|")]
public async Task TryGetSize(string input) {
// Arrange
MdSyntaxNodeModifier mod = MdSyntaxNodeModifier.FromString(input);
// Act
bool result = mod.TryGetSize(out (int Width, int Height) size);
// Assert
await Assert.That(mod.Attributes).Count().IsEqualTo(1);
await Assert.That(mod.Attributes["size"]).IsEqualTo(new Range(6, 13));
await Assert.That(result).IsTrue();
await Assert.That(size).IsEqualTo((100, 100));
}
[Test]
[Arguments("|size=100x100|fit|title=something")]
[Arguments("|size=100x100|fit|title=something|")]
public async Task Multiple(string input) {
// Arrange
MdSyntaxNodeModifier mod = MdSyntaxNodeModifier.FromString(input);
// Act
// Assert
await Assert.That(mod.Attributes).Count().IsEqualTo(3);
await Assert.That(mod.Attributes["size"]).IsEqualTo(new Range(6, 13));
await Assert.That(mod.TryGetSize(out (int Width, int Height) size)).IsTrue();
await Assert.That(size).IsEqualTo((100, 100));
await Assert.That(mod.Attributes["fit"]).IsEqualTo(new Range(17, 17));
await Assert.That(mod.TryGetFit(out bool fit)).IsTrue();
await Assert.That(fit).IsTrue();
await Assert.That(mod.Attributes["title"]).IsEqualTo(new Range(24, 33));
await Assert.That(mod.TryGetTitle(out string? title)).IsTrue();
await Assert.That(title).IsEqualTo("something");
}
}