Forge
csharpdeeb25a2
1using CascadeIDE.Models.Editor;
2using Xunit;
3
4namespace CascadeIDE.Tests;
5
6public sealed class EditorLineNumberRangeTests
7{
8 [Fact]
9 public void LineNumber_TryCreate_Rejects_ZeroAndNegative()
10 {
11 Assert.False(LineNumber.TryCreate(0, out _));
12 Assert.False(LineNumber.TryCreate(-1, out _));
13 Assert.True(LineNumber.TryCreate(1, out var one));
14 Assert.Equal(1, one.Value);
15 }
16
17 [Fact]
18 public void LineRange_TryCreate_Rejects_InvertedOrder()
19 {
20 Assert.True(LineNumber.TryCreate(7, out var a));
21 Assert.True(LineNumber.TryCreate(3, out var b));
22 Assert.False(LineRange.TryCreate(a, b, out _));
23 }
24
25 [Fact]
26 public void LineRange_TryCreate_Accepts_SingleLine()
27 {
28 Assert.True(LineNumber.TryCreate(5, out var a));
29 Assert.True(LineRange.TryCreate(a, a, out var r));
30 Assert.Equal(5, r.Start.Value);
31 Assert.Equal(5, r.End.Value);
32 }
33
34 [Fact]
35 public void ColumnNumber_TryCreate_Rejects_ZeroAndNegative()
36 {
37 Assert.False(ColumnNumber.TryCreate(0, out _));
38 Assert.False(ColumnNumber.TryCreate(-3, out _));
39 Assert.True(ColumnNumber.TryCreate(1, out var c));
40 Assert.Equal(1, c.Value);
41 }
42}
43
View only · write via MCP/CIDE