Skip to content

Commit 2c02ca5

Browse files
authored
Add unit tests for ButtonBaseDesigner (#11690)
* Add unit tests for ButtonBaseDesigner
1 parent 68ea9d1 commit 2c02ca5

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
// Licensed to the .NET Foundation under one or more agreements.
2+
// The .NET Foundation licenses this file to you under the MIT license.
3+
4+
#nullable enable
5+
6+
using System.Collections;
7+
8+
namespace System.Windows.Forms.Design.Tests;
9+
10+
public sealed class ButtonBaseDesignerTests
11+
{
12+
[Fact]
13+
public void ButtonBaseDesigner_Constructor_Initialize_AutoResizeHandles()
14+
{
15+
using ButtonBaseDesigner buttonBaseDesigner = new();
16+
17+
buttonBaseDesigner.AutoResizeHandles.Should().Be(true);
18+
}
19+
20+
public static TheoryData<IDictionary<string, object>?> IDictionary_TheoryData => new()
21+
{
22+
null,
23+
new Dictionary<string, object>()
24+
};
25+
26+
[Theory]
27+
[MemberData(nameof(IDictionary_TheoryData))]
28+
public void ButtonBaseDesigner_InitializeNewComponent_WithDefaultButton(IDictionary<string, object>? defaultValues)
29+
{
30+
using ButtonBaseDesigner buttonBaseDesigner = new();
31+
using Button button = new();
32+
buttonBaseDesigner.Initialize(button);
33+
34+
buttonBaseDesigner.InitializeNewComponent((IDictionary?)defaultValues);
35+
Assert.False(button.IsHandleCreated);
36+
}
37+
38+
[Theory]
39+
[MemberData(nameof(IDictionary_TheoryData))]
40+
public void ButtonBaseDesigner_InitializeNewComponent_NotInitialized(IDictionary<string, object>? defaultValues)
41+
{
42+
using ButtonBaseDesigner buttonBaseDesigner = new();
43+
Action action = () => buttonBaseDesigner.InitializeNewComponent((IDictionary?)defaultValues);
44+
action.Should().Throw<InvalidOperationException>();
45+
}
46+
47+
[Fact]
48+
public void ButtonBaseDesigner_SnapLinesWithDefaultButton_ShouldReturnExpectedCount()
49+
{
50+
using ButtonBaseDesigner buttonBaseDesigner = new();
51+
using Button button = new();
52+
buttonBaseDesigner.Initialize(button);
53+
54+
buttonBaseDesigner.SnapLines.Count.Should().Be(9);
55+
}
56+
}

0 commit comments

Comments
 (0)