Skip to content

Commit 992fc2f

Browse files
authored
Add BindingSourceHelper tests (#4571)
* add winforms tests * Update BindingSourceHelperTests.cs
1 parent b51015a commit 992fc2f

File tree

4 files changed

+129
-0
lines changed

4 files changed

+129
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
//-----------------------------------------------------------------------
2+
// <copyright file="ReadWriteAuthorizationTests.cs" company="Marimer LLC">
3+
// Copyright (c) Marimer LLC. All rights reserved.
4+
// Website: https://cslanet.com
5+
// </copyright>
6+
// <summary>no summary</summary>
7+
//-----------------------------------------------------------------------
8+
using System.ComponentModel;
9+
using System.Windows.Forms;
10+
using Microsoft.VisualStudio.TestTools.UnitTesting;
11+
using Csla.Windows;
12+
13+
[TestClass]
14+
public class BindingSourceHelperTests
15+
{
16+
[TestMethod]
17+
[ExpectedException(typeof(ApplicationException))]
18+
public void InitializeBindingSourceTree_NullRootSource_ThrowsException()
19+
{
20+
// Arrange
21+
using IContainer container = new Container();
22+
23+
// Act
24+
BindingSourceHelper.InitializeBindingSourceTree(container, null);
25+
}
26+
27+
[TestMethod]
28+
public void InitializeBindingSourceTree_ValidRootSource_ReturnsRootNode()
29+
{
30+
// Arrange
31+
using var container = new Container();
32+
using var rootSource = new BindingSource();
33+
container.Add(rootSource);
34+
35+
// Act
36+
var result = BindingSourceHelper.InitializeBindingSourceTree(container, rootSource);
37+
38+
// Assert
39+
Assert.IsNotNull(result);
40+
Assert.AreEqual(rootSource, result.Source);
41+
}
42+
43+
[TestMethod]
44+
public void InitializeBindingSourceTree_WithChildSources_SetsUpTreeCorrectly()
45+
{
46+
// Arrange
47+
using var container = new Container();
48+
using var rootSource = new BindingSource();
49+
using var childSource = new BindingSource
50+
{
51+
DataSource = rootSource
52+
};
53+
container.Add(rootSource);
54+
container.Add(childSource);
55+
56+
// Act
57+
var result = BindingSourceHelper.InitializeBindingSourceTree(container, rootSource);
58+
59+
// Assert
60+
Assert.IsNotNull(result);
61+
Assert.AreEqual(1, result.Children.Count);
62+
Assert.AreEqual(childSource, result.Children[0].Source);
63+
}
64+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net8.0-windows</TargetFramework>
5+
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
6+
<NoWarn>CA1416</NoWarn>
7+
<IsPackable>false</IsPackable>
8+
<SignAssembly>true</SignAssembly>
9+
<AssemblyOriginatorKeyFile>..\Csla\CslaKey.snk</AssemblyOriginatorKeyFile>
10+
<RunSettingsFilePath>$(MSBuildProjectDirectory)\test.runsettings</RunSettingsFilePath>
11+
</PropertyGroup>
12+
13+
<ItemGroup>
14+
<ProjectReference Include="..\Csla.Windows\Csla.Windows.csproj" />
15+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
16+
<PackageReference Include="MSTest.TestAdapter" Version="3.8.0" />
17+
<PackageReference Include="MSTest.TestFramework" Version="3.8.0" />
18+
</ItemGroup>
19+
20+
</Project>

Source/Csla.Windows/AssemblyInfo.cs

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
using System.Runtime.CompilerServices;
2+
3+
[assembly: InternalsVisibleTo("Csla.Windows.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100afe494440f03a57e64464d6d407f83e51f2c8a412f8e9144bdaf02df16234c2074149908e37a67e060e61e23456e985515c1fae98050e802ce6859e9929587c5bb66ac32d21dbcf823d3e055cd9483af45bdc12dc4a47168cf04fc384f485f3ea588b72a1fd60bec53ad6df5b1a26fe4f9bbbce560aaf27014f65d099a1994be")]

Source/csla.test.sln

+42
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Csla.Generator.AutoSerializ
8080
EndProject
8181
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Csla.Generator.AutoSerialization.CSharp.TestObjects", "Csla.Generators\cs\AutoSerialization\Csla.Generator.AutoSerialization.CSharp.TestObjects\Csla.Generator.AutoSerialization.CSharp.TestObjects.csproj", "{6C92597C-0D51-FEEA-0304-42506CCBFF5B}"
8282
EndProject
83+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Csla.Windows.Tests", "Csla.Windows.Tests\Csla.Windows.Tests.csproj", "{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}"
84+
EndProject
8385
Global
8486
GlobalSection(SolutionConfigurationPlatforms) = preSolution
8587
Debug|Any CPU = Debug|Any CPU
@@ -1304,6 +1306,46 @@ Global
13041306
{6C92597C-0D51-FEEA-0304-42506CCBFF5B}.Testing|x64.Build.0 = Debug|Any CPU
13051307
{6C92597C-0D51-FEEA-0304-42506CCBFF5B}.Testing|x86.ActiveCfg = Debug|Any CPU
13061308
{6C92597C-0D51-FEEA-0304-42506CCBFF5B}.Testing|x86.Build.0 = Debug|Any CPU
1309+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
1310+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
1311+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Debug|ARM.ActiveCfg = Debug|Any CPU
1312+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Debug|ARM.Build.0 = Debug|Any CPU
1313+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Debug|x64.ActiveCfg = Debug|Any CPU
1314+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Debug|x64.Build.0 = Debug|Any CPU
1315+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Debug|x86.ActiveCfg = Debug|Any CPU
1316+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Debug|x86.Build.0 = Debug|Any CPU
1317+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Mono Debug|Any CPU.ActiveCfg = Debug|Any CPU
1318+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Mono Debug|Any CPU.Build.0 = Debug|Any CPU
1319+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Mono Debug|ARM.ActiveCfg = Debug|Any CPU
1320+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Mono Debug|ARM.Build.0 = Debug|Any CPU
1321+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Mono Debug|x64.ActiveCfg = Debug|Any CPU
1322+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Mono Debug|x64.Build.0 = Debug|Any CPU
1323+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Mono Debug|x86.ActiveCfg = Debug|Any CPU
1324+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Mono Debug|x86.Build.0 = Debug|Any CPU
1325+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Mono Release|Any CPU.ActiveCfg = Debug|Any CPU
1326+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Mono Release|Any CPU.Build.0 = Debug|Any CPU
1327+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Mono Release|ARM.ActiveCfg = Debug|Any CPU
1328+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Mono Release|ARM.Build.0 = Debug|Any CPU
1329+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Mono Release|x64.ActiveCfg = Debug|Any CPU
1330+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Mono Release|x64.Build.0 = Debug|Any CPU
1331+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Mono Release|x86.ActiveCfg = Debug|Any CPU
1332+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Mono Release|x86.Build.0 = Debug|Any CPU
1333+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
1334+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Release|Any CPU.Build.0 = Release|Any CPU
1335+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Release|ARM.ActiveCfg = Release|Any CPU
1336+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Release|ARM.Build.0 = Release|Any CPU
1337+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Release|x64.ActiveCfg = Release|Any CPU
1338+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Release|x64.Build.0 = Release|Any CPU
1339+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Release|x86.ActiveCfg = Release|Any CPU
1340+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Release|x86.Build.0 = Release|Any CPU
1341+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Testing|Any CPU.ActiveCfg = Debug|Any CPU
1342+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Testing|Any CPU.Build.0 = Debug|Any CPU
1343+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Testing|ARM.ActiveCfg = Debug|Any CPU
1344+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Testing|ARM.Build.0 = Debug|Any CPU
1345+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Testing|x64.ActiveCfg = Debug|Any CPU
1346+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Testing|x64.Build.0 = Debug|Any CPU
1347+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Testing|x86.ActiveCfg = Debug|Any CPU
1348+
{4A3CB14D-787F-4091-9BB3-53BB14D79C2A}.Testing|x86.Build.0 = Debug|Any CPU
13071349
EndGlobalSection
13081350
GlobalSection(SolutionProperties) = preSolution
13091351
HideSolutionNode = FALSE

0 commit comments

Comments
 (0)