From 199ee5f4afba31e8dde6f7b915efbbdbaf72d24b Mon Sep 17 00:00:00 2001 From: "Olina Zhang (BEYONDSOFT CONSULTING INC)" Date: Wed, 14 May 2025 15:11:27 +0800 Subject: [PATCH 1/2] Add unit test for RadioButtonStandardAdapter.cs file --- .../Forms/RadioButtonStandardAdapterTests.cs | 130 ++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonStandardAdapterTests.cs diff --git a/src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonStandardAdapterTests.cs b/src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonStandardAdapterTests.cs new file mode 100644 index 00000000000..b3684fc2d4d --- /dev/null +++ b/src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonStandardAdapterTests.cs @@ -0,0 +1,130 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Drawing; +using System.Windows.Forms.ButtonInternal; + +namespace System.Windows.Forms.Tests; + +public class RadioButtonStandardAdapterTests +{ + [WinFormsFact] + public void PaintUp_AppearanceButton_CallsButtonAdapterPaintUp() + { + using RadioButton control = new RadioButton + { + Appearance = Appearance.Button, + Checked = true + }; + + RadioButtonStandardAdapter adapter = new(control); + using Bitmap bitmap = new Bitmap(1, 1); + using Graphics graphics = Graphics.FromImage(bitmap); + PaintEventArgs e = new(graphics, control.ClientRectangle); + + adapter.PaintUp(e, CheckState.Checked); + + control.Appearance.Should().Be(Appearance.Button); + control.Checked.Should().BeTrue(); + } + + [WinFormsFact] + public void PaintUp_AppearanceNormal_PaintsCorrectly() + { + using RadioButton control = new RadioButton + { + Appearance = Appearance.Normal, + Checked = true + }; + + RadioButtonStandardAdapter adapter = new(control); + using Bitmap bitmap = new Bitmap(1, 1); + using Graphics graphics = Graphics.FromImage(bitmap); + PaintEventArgs e = new(graphics, control.ClientRectangle); + + adapter.PaintUp(e, CheckState.Checked); + + control.Appearance.Should().Be(Appearance.Normal); + control.Checked.Should().BeTrue(); + } + + [WinFormsFact] + public void PaintDown_AppearanceButton_CallsButtonAdapterPaintDown() + { + using RadioButton control = new RadioButton + { + Appearance = Appearance.Button, + Checked = false + }; + + RadioButtonStandardAdapter adapter = new(control); + using Bitmap bitmap = new Bitmap(1, 1); + using Graphics graphics = Graphics.FromImage(bitmap); + PaintEventArgs e = new(graphics, control.ClientRectangle); + + adapter.PaintDown(e, CheckState.Unchecked); + + control.Appearance.Should().Be(Appearance.Button); + control.Checked.Should().BeFalse(); + } + + [WinFormsFact] + public void PaintDown_AppearanceNormal_CallsPaintUp() + { + using RadioButton control = new RadioButton + { + Appearance = Appearance.Normal, + Checked = false + }; + + RadioButtonStandardAdapter adapter = new(control); + using Bitmap bitmap = new Bitmap(1, 1); + using Graphics graphics = Graphics.FromImage(bitmap); + PaintEventArgs e = new(graphics, control.ClientRectangle); + + adapter.PaintDown(e, CheckState.Unchecked); + + control.Appearance.Should().Be(Appearance.Normal); + control.Checked.Should().BeFalse(); + } + + [WinFormsFact] + public void PaintOver_AppearanceButton_CallsButtonAdapterPaintOver() + { + using RadioButton control = new RadioButton + { + Appearance = Appearance.Button, + Checked = true + }; + + RadioButtonStandardAdapter adapter = new(control); + using Bitmap bitmap = new Bitmap(1, 1); + using Graphics graphics = Graphics.FromImage(bitmap); + PaintEventArgs e = new(graphics, control.ClientRectangle); + + adapter.PaintOver(e, CheckState.Checked); + + control.Appearance.Should().Be(Appearance.Button); + control.Checked.Should().BeTrue(); + } + + [WinFormsFact] + public void PaintOver_AppearanceNormal_CallsPaintUp() + { + using RadioButton control = new RadioButton + { + Appearance = Appearance.Normal, + Checked = false + }; + + RadioButtonStandardAdapter adapter = new(control); + using Bitmap bitmap = new Bitmap(1, 1); + using Graphics graphics = Graphics.FromImage(bitmap); + PaintEventArgs e = new(graphics, control.ClientRectangle); + + adapter.PaintOver(e, CheckState.Unchecked); + + control.Appearance.Should().Be(Appearance.Normal); + control.Checked.Should().BeFalse(); + } +} From 3c7a7512172fa2dd9a9d84bab9b53431a5869f51 Mon Sep 17 00:00:00 2001 From: "Olina Zhang (BEYONDSOFT CONSULTING INC)" Date: Wed, 14 May 2025 16:55:03 +0800 Subject: [PATCH 2/2] Add unit test for another similar 2 files: RadioButtonPopupAdapter.cs and RadioButtonFlatAdapter.cs --- .../Forms/RadioButtonFlatAdapterTests.cs | 130 ++++++++++++++++++ .../Forms/RadioButtonPopupAdapterTests.cs | 130 ++++++++++++++++++ 2 files changed, 260 insertions(+) create mode 100644 src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonFlatAdapterTests.cs create mode 100644 src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonPopupAdapterTests.cs diff --git a/src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonFlatAdapterTests.cs b/src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonFlatAdapterTests.cs new file mode 100644 index 00000000000..2ea10990b78 --- /dev/null +++ b/src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonFlatAdapterTests.cs @@ -0,0 +1,130 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Drawing; +using System.Windows.Forms.ButtonInternal; + +namespace System.Windows.Forms.Tests; + +public class RadioButtonFlatAdapterTests +{ + [WinFormsFact] + public void PaintUp_AppearanceButton_CallsButtonFlatAdapterPaintUp() + { + using RadioButton control = new RadioButton + { + Appearance = Appearance.Button, + Checked = true + }; + + RadioButtonFlatAdapter adapter = new(control); + using Bitmap bitmap = new(1, 1); + using Graphics graphics = Graphics.FromImage(bitmap); + PaintEventArgs e = new(graphics, control.ClientRectangle); + + adapter.PaintUp(e, CheckState.Checked); + + control.Appearance.Should().Be(Appearance.Button); + control.Checked.Should().BeTrue(); + } + + [WinFormsFact] + public void PaintUp_AppearanceNormal_PaintsCorrectly() + { + using RadioButton control = new RadioButton + { + Appearance = Appearance.Normal, + Checked = true + }; + + RadioButtonFlatAdapter adapter = new(control); + using Bitmap bitmap = new(1, 1); + using Graphics graphics = Graphics.FromImage(bitmap); + PaintEventArgs e = new(graphics, control.ClientRectangle); + + adapter.PaintUp(e, CheckState.Checked); + + control.Appearance.Should().Be(Appearance.Normal); + control.Checked.Should().BeTrue(); + } + + [WinFormsFact] + public void PaintDown_AppearanceButton_CallsButtonFlatAdapterPaintDown() + { + using RadioButton control = new RadioButton + { + Appearance = Appearance.Button, + Checked = false + }; + + RadioButtonFlatAdapter adapter = new(control); + using Bitmap bitmap = new(1, 1); + using Graphics graphics = Graphics.FromImage(bitmap); + PaintEventArgs e = new(graphics, control.ClientRectangle); + + adapter.PaintDown(e, CheckState.Unchecked); + + control.Appearance.Should().Be(Appearance.Button); + control.Checked.Should().BeFalse(); + } + + [WinFormsFact] + public void PaintDown_AppearanceNormal_PaintsCorrectly() + { + using RadioButton control = new RadioButton + { + Appearance = Appearance.Normal, + Checked = false + }; + + RadioButtonFlatAdapter adapter = new(control); + using Bitmap bitmap = new(1, 1); + using Graphics graphics = Graphics.FromImage(bitmap); + PaintEventArgs e = new(graphics, control.ClientRectangle); + + adapter.PaintDown(e, CheckState.Unchecked); + + control.Appearance.Should().Be(Appearance.Normal); + control.Checked.Should().BeFalse(); + } + + [WinFormsFact] + public void PaintOver_AppearanceButton_CallsButtonFlatAdapterPaintOver() + { + using RadioButton control = new RadioButton + { + Appearance = Appearance.Button, + Checked = true + }; + + RadioButtonFlatAdapter adapter = new(control); + using Bitmap bitmap = new(1, 1); + using Graphics graphics = Graphics.FromImage(bitmap); + PaintEventArgs e = new(graphics, control.ClientRectangle); + + adapter.PaintOver(e, CheckState.Checked); + + control.Appearance.Should().Be(Appearance.Button); + control.Checked.Should().BeTrue(); + } + + [WinFormsFact] + public void PaintOver_AppearanceNormal_PaintsCorrectly() + { + using RadioButton control = new RadioButton + { + Appearance = Appearance.Normal, + Checked = false + }; + + RadioButtonFlatAdapter adapter = new(control); + using Bitmap bitmap = new(1, 1); + using Graphics graphics = Graphics.FromImage(bitmap); + PaintEventArgs e = new(graphics, control.ClientRectangle); + + adapter.PaintOver(e, CheckState.Unchecked); + + control.Appearance.Should().Be(Appearance.Normal); + control.Checked.Should().BeFalse(); + } +} diff --git a/src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonPopupAdapterTests.cs b/src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonPopupAdapterTests.cs new file mode 100644 index 00000000000..bca28c0ca16 --- /dev/null +++ b/src/test/unit/System.Windows.Forms/System/Windows/Forms/RadioButtonPopupAdapterTests.cs @@ -0,0 +1,130 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Drawing; +using System.Windows.Forms.ButtonInternal; + +namespace System.Windows.Forms.Tests; + +public class RadioButtonPopupAdapterTests +{ + [WinFormsFact] + public void PaintUp_AppearanceButton_CallsButtonPopupAdapterPaintUp() + { + using RadioButton control = new RadioButton + { + Appearance = Appearance.Button, + Checked = true + }; + + RadioButtonPopupAdapter adapter = new(control); + using Bitmap bitmap = new Bitmap(1, 1); + using Graphics graphics = Graphics.FromImage(bitmap); + PaintEventArgs e = new(graphics, control.ClientRectangle); + + adapter.PaintUp(e, CheckState.Checked); + + control.Appearance.Should().Be(Appearance.Button); + control.Checked.Should().BeTrue(); + } + + [WinFormsFact] + public void PaintUp_AppearanceNormal_PaintsCorrectly() + { + using RadioButton control = new RadioButton + { + Appearance = Appearance.Normal, + Checked = true + }; + + RadioButtonPopupAdapter adapter = new(control); + using Bitmap bitmap = new Bitmap(1, 1); + using Graphics graphics = Graphics.FromImage(bitmap); + PaintEventArgs e = new(graphics, control.ClientRectangle); + + adapter.PaintUp(e, CheckState.Checked); + + control.Appearance.Should().Be(Appearance.Normal); + control.Checked.Should().BeTrue(); + } + + [WinFormsFact] + public void PaintOver_AppearanceButton_CallsButtonPopupAdapterPaintOver() + { + using RadioButton control = new RadioButton + { + Appearance = Appearance.Button, + Checked = false + }; + + RadioButtonPopupAdapter adapter = new(control); + using Bitmap bitmap = new Bitmap(1, 1); + using Graphics graphics = Graphics.FromImage(bitmap); + PaintEventArgs e = new(graphics, control.ClientRectangle); + + adapter.PaintOver(e, CheckState.Unchecked); + + control.Appearance.Should().Be(Appearance.Button); + control.Checked.Should().BeFalse(); + } + + [WinFormsFact] + public void PaintOver_AppearanceNormal_PaintsCorrectly() + { + using RadioButton control = new RadioButton + { + Appearance = Appearance.Normal, + Checked = false + }; + + RadioButtonPopupAdapter adapter = new(control); + using Bitmap bitmap = new Bitmap(1, 1); + using Graphics graphics = Graphics.FromImage(bitmap); + PaintEventArgs e = new(graphics, control.ClientRectangle); + + adapter.PaintOver(e, CheckState.Unchecked); + + control.Appearance.Should().Be(Appearance.Normal); + control.Checked.Should().BeFalse(); + } + + [WinFormsFact] + public void PaintDown_AppearanceButton_CallsButtonPopupAdapterPaintDown() + { + using RadioButton control = new RadioButton + { + Appearance = Appearance.Button, + Checked = true + }; + + RadioButtonPopupAdapter adapter = new(control); + using Bitmap bitmap = new Bitmap(1, 1); + using Graphics graphics = Graphics.FromImage(bitmap); + PaintEventArgs e = new(graphics, control.ClientRectangle); + + adapter.PaintDown(e, CheckState.Checked); + + control.Appearance.Should().Be(Appearance.Button); + control.Checked.Should().BeTrue(); + } + + [WinFormsFact] + public void PaintDown_AppearanceNormal_PaintsCorrectly() + { + using RadioButton control = new RadioButton + { + Appearance = Appearance.Normal, + Checked = false + }; + + RadioButtonPopupAdapter adapter = new(control); + using Bitmap bitmap = new Bitmap(1, 1); + using Graphics graphics = Graphics.FromImage(bitmap); + PaintEventArgs e = new(graphics, control.ClientRectangle); + + adapter.PaintDown(e, CheckState.Unchecked); + + control.Appearance.Should().Be(Appearance.Normal); + control.Checked.Should().BeFalse(); + } +}