Dreamine.UI.WinForms.Tests 1.0.0.0
Dreamine.UI.WinForms.Tests 기능을 검증하는 자동화 테스트 프로젝트입니다.
로딩중...
검색중...
일치하는것 없음
DreamineRadioButtonTests.cs
이 파일의 문서화 페이지로 가기
1using System.Runtime.ExceptionServices;
2using System.Windows.Forms;
3using Dreamine.UI.WinForms.Controls;
4using Xunit;
5
7
17{
34 private static void Sta(Action action)
35 {
36 Exception? ex = null;
37 var t = new Thread(() => { try { action(); } catch (Exception e) { ex = e; } });
38 t.SetApartmentState(ApartmentState.STA);
39 t.Start();
40 t.Join();
41 if (ex is not null) ExceptionDispatchInfo.Capture(ex).Throw();
42 }
43
52 [Fact]
54 => Sta(() =>
55 {
56 var rb = new DreamineRadioButton();
57 Assert.False(rb.IsChecked);
58 });
59
68 [Fact]
70 => Sta(() =>
71 {
72 var rb = new DreamineRadioButton { IsChecked = true };
73 Assert.True(rb.IsChecked);
74 });
75
84 [Fact]
86 => Sta(() =>
87 {
88 var rb = new DreamineRadioButton();
89 int fired = 0;
90 rb.CheckedChanged += (_, _) => fired++;
91 rb.IsChecked = true;
92 Assert.Equal(1, fired);
93 });
94
103 [Fact]
105 => Sta(() =>
106 {
107 var rb = new DreamineRadioButton();
108 Assert.Equal(string.Empty, rb.GroupName);
109 });
110
119 [Fact]
121 => Sta(() =>
122 {
123 var rb = new DreamineRadioButton { GroupName = "group1" };
124 Assert.Equal("group1", rb.GroupName);
125 });
126
135 [Fact]
137 => Sta(() =>
138 {
139 using var container = new Panel();
140 var rb1 = new DreamineRadioButton { GroupName = "g", IsChecked = true };
141 var rb2 = new DreamineRadioButton { GroupName = "g" };
142 container.Controls.Add(rb1);
143 container.Controls.Add(rb2);
144 rb2.IsChecked = true;
145 Assert.False(rb1.IsChecked);
146 Assert.True(rb2.IsChecked);
147 });
148
157 [Fact]
159 => Sta(() =>
160 {
161 using var container = new Panel();
162 var rb1 = new DreamineRadioButton { GroupName = "g1", IsChecked = true };
163 var rb2 = new DreamineRadioButton { GroupName = "g2" };
164 container.Controls.Add(rb1);
165 container.Controls.Add(rb2);
166 rb2.IsChecked = true;
167 Assert.True(rb1.IsChecked);
168 Assert.True(rb2.IsChecked);
169 });
170
179 [Fact]
181 => Sta(() =>
182 {
183 var rb = new DreamineRadioButton();
184 var ex = Record.Exception(() => rb.IsChecked = true);
185 Assert.Null(ex);
186 });
187}