Forge
csharp4405de34
1using CascadeIDE.Services.Presentation;
2using Xunit;
3
4namespace CascadeIDE.Tests;
5
6public sealed class PresentationMainGridColumnDefinitionsTests
7{
8 private static readonly PresentationGrammarTokens ShortGrammar =
9 PresentationGrammarTokens.FromSettings("()", " ", "+", "P", "F", "M");
10
11 [Fact]
12 public void NoWeights_UsesDefault()
13 {
14 var parse = PresentationParser.Parse("(P+F+M)", ShortGrammar);
15 Assert.True(parse.IsSuccess);
16 var s = PresentationMainGridColumnDefinitions.Get(parse, false, false, false, false);
17 Assert.Equal(PresentationMainGridColumnDefinitions.Default, s);
18 }
19
20 [Fact]
21 public void TripleWeighted_StarColumns()
22 {
23 var parse = PresentationParser.Parse("(0.2P+0.3F+0.5M)", ShortGrammar);
24 Assert.True(parse.IsSuccess);
25 var s = PresentationMainGridColumnDefinitions.Get(parse, false, false, false, false);
26 Assert.Equal("0.2*,4,0.3*,4,0.5*", s);
27 }
28
29 [Fact]
30 public void DualWeighted_FixedMfdTail()
31 {
32 var parse = PresentationParser.Parse("(0.25P+0.75F)(M)", ShortGrammar);
33 Assert.True(parse.IsSuccess);
34 var s = PresentationMainGridColumnDefinitions.Get(
35 parse,
36 dedicatedMfdSecondScreen: true,
37 mfdColumnSuppressedForHost: false,
38 tripleOneAnchorPerZone: false,
39 suppressPfdColumnForPfdHostWindow: false);
40 Assert.Equal("0.25*,4,0.75*,4,340", s);
41 }
42
43 [Fact]
44 public void DualWeighted_HostSuppressesMfdColumn_ZeroTail()
45 {
46 var parse = PresentationParser.Parse("(0.25P+0.75F)(M)", ShortGrammar);
47 Assert.True(parse.IsSuccess);
48 var s = PresentationMainGridColumnDefinitions.Get(
49 parse,
50 dedicatedMfdSecondScreen: true,
51 mfdColumnSuppressedForHost: true,
52 tripleOneAnchorPerZone: false,
53 suppressPfdColumnForPfdHostWindow: false);
54 Assert.Equal("0.25*,4,0.75*,4,0", s);
55 }
56}
57
View only · write via MCP/CIDE