Skip to content

Commit

Permalink
Add unit tests for ButtonBaseDesigner
Browse files Browse the repository at this point in the history
  • Loading branch information
LeafShi1 committed Jul 17, 2024
1 parent fa07c1b commit 12a5a1c
Showing 1 changed file with 54 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System.Collections;

namespace System.Windows.Forms.Design.Tests;

public class ButtonBaseDesignerTests
{
[Fact]
public void ButtonBaseDesigner_Constructor_InitializesProperties()
{
using ButtonBaseDesigner buttonBaseDesigner = new();
bool autoResizeHandles = buttonBaseDesigner.AutoResizeHandles;

buttonBaseDesigner.Should().NotBeNull();
autoResizeHandles.Should().Be(true);
}

public static IEnumerable<object[]> IDictionary_TestData()
{
yield return new object[] { null };
yield return new object[] { new Dictionary<string, object>() };
}

[Theory]
[MemberData(nameof(IDictionary_TestData))]
public void ButtonBaseDesigner_InitializeNewComponent_WithDefaultButton(IDictionary defaultValues)
{
using ButtonBaseDesigner buttonBaseDesigner = new();
using Button button = new();
buttonBaseDesigner.Initialize(button);

buttonBaseDesigner.InitializeNewComponent(defaultValues);
}

[Theory]
[MemberData(nameof(IDictionary_TestData))]
public void ButtonBaseDesigner_InitializeNewComponent_Notinitialized(IDictionary defaultValues)
{
using ButtonBaseDesigner buttonBaseDesigner = new();
Assert.Throws<InvalidOperationException>(() => buttonBaseDesigner.InitializeNewComponent(defaultValues));
}

[Fact]
public void ButtonBaseDesigner_SnapLinesWithDefaultButton_ShouldReturnExpectedCount()
{
using ButtonBaseDesigner buttonBaseDesigner = new();
using Button button = new();
buttonBaseDesigner.Initialize(button);

buttonBaseDesigner.SnapLines.Count.Should().Be(9);
}
}

0 comments on commit 12a5a1c

Please sign in to comment.