From b6ebcbb78804795f16a24be3ce6634f361b47edc Mon Sep 17 00:00:00 2001 From: Ujjwal Chadha <66971578+ujjwalchadha@users.noreply.github.com> Date: Wed, 25 Nov 2020 12:36:01 -0500 Subject: [PATCH] Consumed inheritance test projects from TestWinRT and added basic test cases (#600) * Added test_component_base * Added tests for derived classes * Update get_testwinrt.cmd * Added test cases for overridden methods --- Projections/Test/Test.csproj | 4 ++- UnitTest/TestComponent_Tests.cs | 30 +++++++++++++++++++++++ cswinrt.sln | 43 +++++++++++++++++++++++++++++++++ get_testwinrt.cmd | 2 +- 4 files changed, 77 insertions(+), 2 deletions(-) diff --git a/Projections/Test/Test.csproj b/Projections/Test/Test.csproj index 7509f0c04..666d63bc3 100644 --- a/Projections/Test/Test.csproj +++ b/Projections/Test/Test.csproj @@ -8,6 +8,8 @@ + + @@ -17,7 +19,7 @@ - TestComponent;TestComponentCSharp + TestComponent;TestComponentCSharp;test_component_base;test_component_derived; $([MSBuild]::NormalizeDirectory('$(NuGetPackageRoot)', 'microsoft.winui', '$(MicrosoftWinUIVersion)')) diff --git a/UnitTest/TestComponent_Tests.cs b/UnitTest/TestComponent_Tests.cs index f3f6c929c..90bf7bf04 100644 --- a/UnitTest/TestComponent_Tests.cs +++ b/UnitTest/TestComponent_Tests.cs @@ -2,6 +2,8 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; +using test_component_base; +using test_component_derived.Nested; using TestComponent; // Error CS0246? run get_testwinrt.cmd using Windows.Foundation; using WinRT; @@ -741,5 +743,33 @@ public void Z_Check_Coverage() Tests.Simple(); //Assert.Equal((double)Tests.Percentage, (double)100); } + + [Fact] + public void TestComposable() + { + HierarchyA hierarchyA = new HierarchyA(); + Assert.Equal("HierarchyA.HierarchyA_Method", hierarchyA.HierarchyA_Method()); + + HierarchyA hierarchyBAsHierarchyA = new HierarchyB(); + Assert.Equal("HierarchyB.HierarchyA_Method", hierarchyBAsHierarchyA.HierarchyA_Method()); + + HierarchyB hierarchyB = new HierarchyB(); + Assert.Equal("HierarchyB.HierarchyB_Method", hierarchyB.HierarchyB_Method()); + + HierarchyC hierarchyC = new HierarchyC(); + Assert.Equal("HierarchyC.HierarchyB_Method", hierarchyC.HierarchyB_Method()); + + HierarchyB hierarchyCAsHierarchyB = new HierarchyC(); + Assert.Equal("HierarchyC.HierarchyB_Method", hierarchyCAsHierarchyB.HierarchyB_Method()); + Assert.Equal("HierarchyB.HierarchyA_Method", hierarchyCAsHierarchyB.HierarchyA_Method()); + + HierarchyD hierarchyD = new HierarchyD(); + hierarchyD.HierarchyD_Method(); + + var hierarchyDAsHierarchyA = (HierarchyA)hierarchyD; + Assert.Equal("HierarchyB.HierarchyA_Method", hierarchyDAsHierarchyA.HierarchyA_Method()); + + Assert.True(hierarchyDAsHierarchyA == hierarchyD); + } } } diff --git a/cswinrt.sln b/cswinrt.sln index 8ab9b72f6..0a2af598a 100644 --- a/cswinrt.sln +++ b/cswinrt.sln @@ -80,6 +80,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AuthoringSample", "Authorin EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AuthoringConsumptionTest", "Authoring\AuthoringConsumptionTest\AuthoringConsumptionTest.vcxproj", "{0212A7C5-8D3F-443C-9EBC-1F28091FDF88}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_component_base", "TestWinRT\test_component_base\test_component_base.vcxproj", "{13333A6F-6A4A-48CD-865C-0F65135EB018}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_component_derived", "TestWinRT\test_component_derived\test_component_derived.vcxproj", "{0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}" + ProjectSection(ProjectDependencies) = postProject + {13333A6F-6A4A-48CD-865C-0F65135EB018} = {13333A6F-6A4A-48CD-865C-0F65135EB018} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -390,6 +397,42 @@ Global {0212A7C5-8D3F-443C-9EBC-1F28091FDF88}.Release|x64.Build.0 = Release|x64 {0212A7C5-8D3F-443C-9EBC-1F28091FDF88}.Release|x86.ActiveCfg = Release|Win32 {0212A7C5-8D3F-443C-9EBC-1F28091FDF88}.Release|x86.Build.0 = Release|Win32 + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Debug|ARM.ActiveCfg = Debug|ARM + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Debug|ARM.Build.0 = Debug|ARM + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Debug|ARM64.Build.0 = Debug|ARM64 + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Debug|x64.ActiveCfg = Debug|x64 + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Debug|x64.Build.0 = Debug|x64 + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Debug|x86.ActiveCfg = Debug|Win32 + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Debug|x86.Build.0 = Debug|Win32 + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Release|Any CPU.ActiveCfg = Release|Win32 + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Release|ARM.ActiveCfg = Release|ARM + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Release|ARM.Build.0 = Release|ARM + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Release|ARM64.ActiveCfg = Release|ARM64 + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Release|ARM64.Build.0 = Release|ARM64 + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Release|x64.ActiveCfg = Release|x64 + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Release|x64.Build.0 = Release|x64 + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Release|x86.ActiveCfg = Release|Win32 + {13333A6F-6A4A-48CD-865C-0F65135EB018}.Release|x86.Build.0 = Release|Win32 + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Debug|ARM.ActiveCfg = Debug|ARM + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Debug|ARM.Build.0 = Debug|ARM + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Debug|ARM64.Build.0 = Debug|ARM64 + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Debug|x64.ActiveCfg = Debug|x64 + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Debug|x64.Build.0 = Debug|x64 + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Debug|x86.ActiveCfg = Debug|Win32 + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Debug|x86.Build.0 = Debug|Win32 + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Release|Any CPU.ActiveCfg = Release|Win32 + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Release|ARM.ActiveCfg = Release|ARM + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Release|ARM.Build.0 = Release|ARM + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Release|ARM64.ActiveCfg = Release|ARM64 + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Release|ARM64.Build.0 = Release|ARM64 + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Release|x64.ActiveCfg = Release|x64 + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Release|x64.Build.0 = Release|x64 + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Release|x86.ActiveCfg = Release|Win32 + {0080F6D1-AEC3-4F89-ADE1-3D22A7EBF99E}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/get_testwinrt.cmd b/get_testwinrt.cmd index f42792f79..b927c3980 100644 --- a/get_testwinrt.cmd +++ b/get_testwinrt.cmd @@ -12,7 +12,7 @@ git checkout -f master if ErrorLevel 1 popd & exit /b !ErrorLevel! git fetch -f if ErrorLevel 1 popd & exit /b !ErrorLevel! -git reset -q --hard 5df065fd3bccf314079e39e1bf2644fd239615c1 +git reset -q --hard 24ce20296dd656813b1857115f4e134eab91c2cf if ErrorLevel 1 popd & exit /b !ErrorLevel! echo Restoring Nuget ..\.nuget\nuget.exe restore