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