Skip to content

Commit cb94702

Browse files
committed
test: 更新单元测试
1 parent 7f0ee58 commit cb94702

File tree

1 file changed

+97
-0
lines changed

1 file changed

+97
-0
lines changed

test/UnitTest/Components/SelectTest.cs

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
using Microsoft.AspNetCore.Components.Web.Virtualization;
99
using System.ComponentModel.DataAnnotations;
1010
using System.Reflection;
11+
using System.Runtime.CompilerServices;
1112

1213
namespace UnitTest.Components;
1314

@@ -176,6 +177,102 @@ public void IsClearable_Ok()
176177
Assert.Contains("text-danger", val);
177178
}
178179

180+
[Fact]
181+
public void IsNullable_NotNullableString_Ok()
182+
{
183+
var cut = Context.RenderComponent<Select<string>>(pb =>
184+
{
185+
pb.Add(a => a.Items, new List<SelectedItem>()
186+
{
187+
new("", "请选择"),
188+
new("2", "Test2"),
189+
new("3", "Test3")
190+
});
191+
});
192+
Assert.True(IsNullable(cut.Instance));
193+
}
194+
195+
[Fact]
196+
public void IsNullable_NullableString_Ok()
197+
{
198+
var cut = Context.RenderComponent<Select<string?>>(pb =>
199+
{
200+
pb.Add(a => a.Items, new List<SelectedItem>()
201+
{
202+
new("", "请选择"),
203+
new("2", "Test2"),
204+
new("3", "Test3")
205+
});
206+
});
207+
Assert.True(IsNullable(cut.Instance));
208+
}
209+
210+
[Fact]
211+
public void IsNullable_NotNullableFoo_Ok()
212+
{
213+
var cut = Context.RenderComponent<Select<Foo>>(pb =>
214+
{
215+
pb.Add(a => a.Items, new List<SelectedItem>()
216+
{
217+
new("", "请选择"),
218+
new("2", "Test2"),
219+
new("3", "Test3")
220+
});
221+
});
222+
Assert.False(IsNullable(cut.Instance));
223+
}
224+
225+
[Fact]
226+
public void IsNullable_NullableFoo_Ok()
227+
{
228+
var cut = Context.RenderComponent<Select<Foo?>>(pb =>
229+
{
230+
pb.Add(a => a.Items, new List<SelectedItem>()
231+
{
232+
new("", "请选择"),
233+
new("2", "Test2"),
234+
new("3", "Test3")
235+
});
236+
});
237+
Assert.True(IsNullable(cut.Instance));
238+
}
239+
240+
[Fact]
241+
public void IsNullable_NotNullableInt_Ok()
242+
{
243+
var cut = Context.RenderComponent<Select<int>>(pb =>
244+
{
245+
pb.Add(a => a.Items, new List<SelectedItem>()
246+
{
247+
new("", "请选择"),
248+
new("2", "Test2"),
249+
new("3", "Test3")
250+
});
251+
});
252+
Assert.False(IsNullable(cut.Instance));
253+
}
254+
255+
[Fact]
256+
public void IsNullable_NullableInt_Ok()
257+
{
258+
var cut = Context.RenderComponent<Select<int?>>(pb =>
259+
{
260+
pb.Add(a => a.Items, new List<SelectedItem>()
261+
{
262+
new("", "请选择"),
263+
new("2", "Test2"),
264+
new("3", "Test3")
265+
});
266+
});
267+
Assert.True(IsNullable(cut.Instance));
268+
}
269+
270+
private static bool IsNullable(object select)
271+
{
272+
var mi = select.GetType().GetMethod("IsNullable", BindingFlags.Instance | BindingFlags.NonPublic)!;
273+
return (bool)mi.Invoke(select, null)!;
274+
}
275+
179276
[Fact]
180277
public void SelectOption_Ok()
181278
{

0 commit comments

Comments
 (0)