Browse Source
IsTemplateFor method fixes and unit tests git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/shortcuts@4375 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61shortcuts^2
16 changed files with 728 additions and 242 deletions
Binary file not shown.
@ -0,0 +1,56 @@ |
|||||||
|
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
||||||
|
<PropertyGroup> |
||||||
|
<ProjectGuid>{18FD5FC0-C57D-4A8F-8972-AC467B4FE83E}</ProjectGuid> |
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
||||||
|
<OutputType>Library</OutputType> |
||||||
|
<RootNamespace>ICSharpCode.Core.Presentation.Tests</RootNamespace> |
||||||
|
<AssemblyName>ICSharpCode.Core.Presentation.Tests</AssemblyName> |
||||||
|
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion> |
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder> |
||||||
|
<SourceAnalysisOverrideSettingsFile>C:\Documents and Settings\Administrator\Application Data\ICSharpCode/SharpDevelop3.0\Settings.SourceAnalysis</SourceAnalysisOverrideSettingsFile> |
||||||
|
</PropertyGroup> |
||||||
|
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' "> |
||||||
|
<OutputPath>bin\Debug\</OutputPath> |
||||||
|
<DebugSymbols>True</DebugSymbols> |
||||||
|
<DebugType>Full</DebugType> |
||||||
|
<Optimize>False</Optimize> |
||||||
|
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow> |
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants> |
||||||
|
</PropertyGroup> |
||||||
|
<PropertyGroup Condition=" '$(Configuration)' == 'Release' "> |
||||||
|
<OutputPath>bin\Release\</OutputPath> |
||||||
|
<DebugSymbols>False</DebugSymbols> |
||||||
|
<DebugType>None</DebugType> |
||||||
|
<Optimize>True</Optimize> |
||||||
|
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow> |
||||||
|
<DefineConstants>TRACE</DefineConstants> |
||||||
|
</PropertyGroup> |
||||||
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" /> |
||||||
|
<ItemGroup> |
||||||
|
<Reference Include="nunit.framework"> |
||||||
|
<HintPath>..\..\..\Tools\NUnit\nunit.framework.dll</HintPath> |
||||||
|
</Reference> |
||||||
|
<Reference Include="PresentationCore"> |
||||||
|
<RequiredTargetFramework>3.0</RequiredTargetFramework> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System" /> |
||||||
|
<Reference Include="System.Core"> |
||||||
|
<RequiredTargetFramework>3.5</RequiredTargetFramework> |
||||||
|
</Reference> |
||||||
|
<Reference Include="System.Xml" /> |
||||||
|
<Reference Include="System.Xml.Linq"> |
||||||
|
<RequiredTargetFramework>3.5</RequiredTargetFramework> |
||||||
|
</Reference> |
||||||
|
</ItemGroup> |
||||||
|
<ItemGroup> |
||||||
|
<Compile Include="InputGestureTests.cs" /> |
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" /> |
||||||
|
</ItemGroup> |
||||||
|
<ItemGroup> |
||||||
|
<ProjectReference Include="..\ICSharpCode.Core.Presentation.csproj"> |
||||||
|
<Project>{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}</Project> |
||||||
|
<Name>ICSharpCode.Core.Presentation</Name> |
||||||
|
</ProjectReference> |
||||||
|
</ItemGroup> |
||||||
|
</Project> |
@ -0,0 +1,367 @@ |
|||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using System.IO; |
||||||
|
using System.Windows.Input; |
||||||
|
using NUnit.Framework; |
||||||
|
using ICSharpCode.Core.Presentation; |
||||||
|
|
||||||
|
namespace ICSharpCode.Core.Presentation.Tests |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// Description of InputGestureTests.
|
||||||
|
/// </summary>
|
||||||
|
[TestFixture] |
||||||
|
public class InputGestureTest |
||||||
|
{ |
||||||
|
public MultiKeyGestureConverter multiKeyGestureConverter = new MultiKeyGestureConverter(); |
||||||
|
public PartialKeyGestureConverter partialKeyGestureConverter = new PartialKeyGestureConverter(); |
||||||
|
public KeyGestureConverter keyGestureConverter = new KeyGestureConverter(); |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void MultiKeyGesturesMatchExactlyTest() |
||||||
|
{ |
||||||
|
var template1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C"); |
||||||
|
var original1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C"); |
||||||
|
var result1 = template1.IsTemplateFor(original1, GestureCompareMode.ExactlyMatches); |
||||||
|
Assert.IsTrue(result1); |
||||||
|
|
||||||
|
var template2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+V"); |
||||||
|
var original2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+V"); |
||||||
|
var result2 = template2.IsTemplateFor(original2, GestureCompareMode.ExactlyMatches); |
||||||
|
Assert.IsTrue(result2); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void MultiKeyGesturesDoNotMatchExactlyTest() |
||||||
|
{ |
||||||
|
var template1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
var original1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C"); |
||||||
|
Assert.IsFalse(template1.IsTemplateFor(original1, GestureCompareMode.ExactlyMatches)); |
||||||
|
Assert.IsFalse(original1.IsTemplateFor(template1, GestureCompareMode.ExactlyMatches)); |
||||||
|
|
||||||
|
var template2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D"); |
||||||
|
var original2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+V"); |
||||||
|
Assert.IsFalse(template2.IsTemplateFor(original2, GestureCompareMode.ExactlyMatches)); |
||||||
|
Assert.IsFalse(original2.IsTemplateFor(template2, GestureCompareMode.ExactlyMatches)); |
||||||
|
|
||||||
|
var template3 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D"); |
||||||
|
var original3 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C"); |
||||||
|
Assert.IsFalse(template3.IsTemplateFor(original3, GestureCompareMode.ExactlyMatches)); |
||||||
|
Assert.IsFalse(original3.IsTemplateFor(template3, GestureCompareMode.ExactlyMatches)); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void KeyGesturesMatchExactlyTest() |
||||||
|
{ |
||||||
|
var template1 = (KeyGesture)keyGestureConverter.ConvertFromInvariantString("Ctrl+C"); |
||||||
|
var original1 = (KeyGesture)keyGestureConverter.ConvertFromInvariantString("Ctrl+C"); |
||||||
|
Assert.IsTrue(template1.IsTemplateFor(original1, GestureCompareMode.ExactlyMatches)); |
||||||
|
Assert.IsTrue(original1.IsTemplateFor(template1, GestureCompareMode.ExactlyMatches)); |
||||||
|
|
||||||
|
var template2 = (KeyGesture)keyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
var original2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
Assert.IsTrue(template2.IsTemplateFor(original2, GestureCompareMode.ExactlyMatches)); |
||||||
|
Assert.IsTrue(original2.IsTemplateFor(template2, GestureCompareMode.ExactlyMatches)); |
||||||
|
|
||||||
|
var template3 = (KeyGesture)keyGestureConverter.ConvertFromInvariantString("Ctrl+E"); |
||||||
|
var original3 = (PartialKeyGesture)partialKeyGestureConverter.ConvertFromInvariantString("Ctrl+E"); |
||||||
|
Assert.IsTrue(template3.IsTemplateFor(original3, GestureCompareMode.ExactlyMatches)); |
||||||
|
Assert.IsTrue(original3.IsTemplateFor(template3, GestureCompareMode.ExactlyMatches)); |
||||||
|
|
||||||
|
var template4 = (PartialKeyGesture)partialKeyGestureConverter.ConvertFromInvariantString("F"); |
||||||
|
var original4 = (PartialKeyGesture)partialKeyGestureConverter.ConvertFromInvariantString("F"); |
||||||
|
Assert.IsTrue(template4.IsTemplateFor(original4, GestureCompareMode.ExactlyMatches)); |
||||||
|
Assert.IsTrue(original4.IsTemplateFor(template4, GestureCompareMode.ExactlyMatches)); |
||||||
|
|
||||||
|
var template5 = (PartialKeyGesture)partialKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift"); |
||||||
|
var original5 = (PartialKeyGesture)partialKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift"); |
||||||
|
Assert.IsTrue(template5.IsTemplateFor(original5, GestureCompareMode.ExactlyMatches)); |
||||||
|
Assert.IsTrue(original5.IsTemplateFor(template5, GestureCompareMode.ExactlyMatches)); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
[Test] |
||||||
|
public void KeyGesturesDoNotMatchExactlyTest() |
||||||
|
{ |
||||||
|
var template1 = (KeyGesture)keyGestureConverter.ConvertFromInvariantString("Ctrl+C"); |
||||||
|
var original1 = (KeyGesture)keyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
Assert.IsFalse(template1.IsTemplateFor(original1, GestureCompareMode.ExactlyMatches)); |
||||||
|
Assert.IsFalse(original1.IsTemplateFor(template1, GestureCompareMode.ExactlyMatches)); |
||||||
|
|
||||||
|
var template2 = (KeyGesture)keyGestureConverter.ConvertFromInvariantString("Ctrl+C"); |
||||||
|
var original2 = (KeyGesture)keyGestureConverter.ConvertFromInvariantString("Alt+C"); |
||||||
|
Assert.IsFalse(template2.IsTemplateFor(original2, GestureCompareMode.ExactlyMatches)); |
||||||
|
Assert.IsFalse(original2.IsTemplateFor(template2, GestureCompareMode.ExactlyMatches)); |
||||||
|
|
||||||
|
var template3 = (KeyGesture)keyGestureConverter.ConvertFromInvariantString("Ctrl+E"); |
||||||
|
var original3 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+F"); |
||||||
|
Assert.IsFalse(template3.IsTemplateFor(original3, GestureCompareMode.ExactlyMatches)); |
||||||
|
Assert.IsFalse(original3.IsTemplateFor(template3, GestureCompareMode.ExactlyMatches)); |
||||||
|
|
||||||
|
var template4 = (KeyGesture)keyGestureConverter.ConvertFromInvariantString("Ctrl+E"); |
||||||
|
var original4 = (PartialKeyGesture)partialKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
Assert.IsFalse(template4.IsTemplateFor(original4, GestureCompareMode.ExactlyMatches)); |
||||||
|
Assert.IsFalse(original4.IsTemplateFor(template4, GestureCompareMode.ExactlyMatches)); |
||||||
|
|
||||||
|
var template5 = (PartialKeyGesture)partialKeyGestureConverter.ConvertFromInvariantString("F"); |
||||||
|
var original5 = (PartialKeyGesture)partialKeyGestureConverter.ConvertFromInvariantString("D"); |
||||||
|
Assert.IsFalse(template5.IsTemplateFor(original5, GestureCompareMode.ExactlyMatches)); |
||||||
|
Assert.IsFalse(original5.IsTemplateFor(template5, GestureCompareMode.ExactlyMatches)); |
||||||
|
|
||||||
|
var template6 = (PartialKeyGesture)partialKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift"); |
||||||
|
var original6 = (PartialKeyGesture)partialKeyGestureConverter.ConvertFromInvariantString("Ctrl"); |
||||||
|
Assert.IsFalse(template6.IsTemplateFor(original6, GestureCompareMode.ExactlyMatches)); |
||||||
|
Assert.IsFalse(original6.IsTemplateFor(template6, GestureCompareMode.ExactlyMatches)); |
||||||
|
|
||||||
|
var template7 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,C"); |
||||||
|
var original7 = (PartialKeyGesture)partialKeyGestureConverter.ConvertFromInvariantString("Ctrl+C"); |
||||||
|
Assert.IsFalse(template7.IsTemplateFor(original7, GestureCompareMode.ExactlyMatches)); |
||||||
|
Assert.IsFalse(original7.IsTemplateFor(template7, GestureCompareMode.ExactlyMatches)); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void MultiKeyGesturesMatchStartsWithTest() |
||||||
|
{ |
||||||
|
var template1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
var original1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
Assert.IsTrue(template1.IsTemplateFor(original1, GestureCompareMode.StartsWith)); |
||||||
|
Assert.IsTrue(original1.IsTemplateFor(template1, GestureCompareMode.StartsWith)); |
||||||
|
|
||||||
|
var template2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C"); |
||||||
|
var original2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D"); |
||||||
|
Assert.IsTrue(template2.IsTemplateFor(original2, GestureCompareMode.StartsWith)); |
||||||
|
|
||||||
|
var template3 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D"); |
||||||
|
var original3 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D,D"); |
||||||
|
Assert.IsTrue(template3.IsTemplateFor(original3, GestureCompareMode.StartsWith)); |
||||||
|
|
||||||
|
var template4 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+"); |
||||||
|
var original4 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,D"); |
||||||
|
Assert.IsTrue(template4.IsTemplateFor(original4, GestureCompareMode.StartsWith)); |
||||||
|
|
||||||
|
var template5 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,Ctrl+"); |
||||||
|
var original5 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,Ctrl+D"); |
||||||
|
Assert.IsTrue(template5.IsTemplateFor(original5, GestureCompareMode.StartsWith)); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void MultiKeyGesturesDoNotMatchStartsWithTest() |
||||||
|
{ |
||||||
|
var template1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
var original1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C"); |
||||||
|
Assert.IsFalse(template1.IsTemplateFor(original1, GestureCompareMode.StartsWith)); |
||||||
|
|
||||||
|
var template2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
var original2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D"); |
||||||
|
Assert.IsFalse(template2.IsTemplateFor(original2, GestureCompareMode.StartsWith)); |
||||||
|
|
||||||
|
var template3 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+E"); |
||||||
|
var original3 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D,D"); |
||||||
|
Assert.IsFalse(template3.IsTemplateFor(original3, GestureCompareMode.StartsWith)); |
||||||
|
|
||||||
|
var template4 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Shift+D"); |
||||||
|
var original4 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D,D"); |
||||||
|
Assert.IsFalse(template4.IsTemplateFor(original4, GestureCompareMode.StartsWith)); |
||||||
|
|
||||||
|
var template5 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D,E"); |
||||||
|
var original5 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D,D"); |
||||||
|
Assert.IsFalse(template5.IsTemplateFor(original5, GestureCompareMode.StartsWith)); |
||||||
|
|
||||||
|
var template6 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Alt+"); |
||||||
|
var original6 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,D"); |
||||||
|
Assert.IsFalse(template6.IsTemplateFor(original6, GestureCompareMode.StartsWith)); |
||||||
|
|
||||||
|
var template7 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("E"); |
||||||
|
var original7 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,D"); |
||||||
|
Assert.IsFalse(template7.IsTemplateFor(original7, GestureCompareMode.StartsWith)); |
||||||
|
|
||||||
|
var template8 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,Alt+"); |
||||||
|
var original8 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,Ctrl+D"); |
||||||
|
Assert.IsFalse(template8.IsTemplateFor(original8, GestureCompareMode.StartsWith)); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void MultiKeyGesturesMatchPartlyTest() |
||||||
|
{ |
||||||
|
var template1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
var original1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
Assert.IsTrue(template1.IsTemplateFor(original1, GestureCompareMode.PartlyMatches)); |
||||||
|
Assert.IsTrue(original1.IsTemplateFor(template1, GestureCompareMode.PartlyMatches)); |
||||||
|
|
||||||
|
var template2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C"); |
||||||
|
var original2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D"); |
||||||
|
Assert.IsTrue(template2.IsTemplateFor(original2, GestureCompareMode.PartlyMatches)); |
||||||
|
|
||||||
|
var template3 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
var original3 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D"); |
||||||
|
Assert.IsTrue(template3.IsTemplateFor(original3, GestureCompareMode.PartlyMatches)); |
||||||
|
|
||||||
|
var template4 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("D"); |
||||||
|
var original4 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,D"); |
||||||
|
Assert.IsTrue(template4.IsTemplateFor(original4, GestureCompareMode.PartlyMatches)); |
||||||
|
|
||||||
|
var template5 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+"); |
||||||
|
var original5 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,D"); |
||||||
|
Assert.IsTrue(template5.IsTemplateFor(original5, GestureCompareMode.PartlyMatches)); |
||||||
|
|
||||||
|
var template6 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("C,Ctrl+"); |
||||||
|
var original6 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D,D"); |
||||||
|
Assert.IsTrue(template6.IsTemplateFor(original6, GestureCompareMode.PartlyMatches)); |
||||||
|
|
||||||
|
var template7 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D,D"); |
||||||
|
var original7 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,D"); |
||||||
|
Assert.IsTrue(template7.IsTemplateFor(original7, GestureCompareMode.PartlyMatches)); |
||||||
|
|
||||||
|
var template8 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,Ctrl+"); |
||||||
|
var original8 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,Ctrl+D"); |
||||||
|
Assert.IsTrue(template8.IsTemplateFor(original8, GestureCompareMode.PartlyMatches)); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void MultiKeyGesturesDoNotMatchPartlyTest() |
||||||
|
{ |
||||||
|
var template1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
var original1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C"); |
||||||
|
Assert.IsFalse(template1.IsTemplateFor(original1, GestureCompareMode.PartlyMatches)); |
||||||
|
Assert.IsFalse(original1.IsTemplateFor(template1, GestureCompareMode.PartlyMatches)); |
||||||
|
|
||||||
|
var template2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+E"); |
||||||
|
var original2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D"); |
||||||
|
Assert.IsFalse(template2.IsTemplateFor(original2, GestureCompareMode.PartlyMatches)); |
||||||
|
|
||||||
|
var template4 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("E"); |
||||||
|
var original4 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,D"); |
||||||
|
Assert.IsFalse(template4.IsTemplateFor(original4, GestureCompareMode.PartlyMatches)); |
||||||
|
|
||||||
|
var template5 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Alt+"); |
||||||
|
var original5 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,D"); |
||||||
|
Assert.IsFalse(template5.IsTemplateFor(original5, GestureCompareMode.PartlyMatches)); |
||||||
|
|
||||||
|
var template6 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("C,Ctrl+,D"); |
||||||
|
var original6 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D,D"); |
||||||
|
Assert.IsFalse(template6.IsTemplateFor(original6, GestureCompareMode.PartlyMatches)); |
||||||
|
|
||||||
|
var template7 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Alt+D,D"); |
||||||
|
var original7 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,D"); |
||||||
|
Assert.IsFalse(template7.IsTemplateFor(original7, GestureCompareMode.PartlyMatches)); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Test] |
||||||
|
public void MultiKeyGesturesMatchStartsFullChordWithTest() |
||||||
|
{ |
||||||
|
var template1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
var original1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
Assert.IsTrue(template1.IsTemplateFor(original1, GestureCompareMode.StartsWithFullChords)); |
||||||
|
Assert.IsTrue(original1.IsTemplateFor(template1, GestureCompareMode.StartsWithFullChords)); |
||||||
|
|
||||||
|
var template2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C"); |
||||||
|
var original2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D"); |
||||||
|
Assert.IsTrue(template2.IsTemplateFor(original2, GestureCompareMode.StartsWithFullChords)); |
||||||
|
|
||||||
|
var template3 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C"); |
||||||
|
var original3 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D,D"); |
||||||
|
Assert.IsTrue(template3.IsTemplateFor(original3, GestureCompareMode.StartsWithFullChords)); |
||||||
|
|
||||||
|
var template4 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D"); |
||||||
|
var original4 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,Ctrl+D"); |
||||||
|
Assert.IsTrue(template4.IsTemplateFor(original4, GestureCompareMode.StartsWithFullChords)); |
||||||
|
|
||||||
|
var template5 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D,Ctrl+D"); |
||||||
|
var original5 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D,Ctrl+D,Ctrl+E"); |
||||||
|
Assert.IsTrue(template5.IsTemplateFor(original5, GestureCompareMode.StartsWithFullChords)); |
||||||
|
|
||||||
|
var template6 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D,D"); |
||||||
|
var original6 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D,D,E"); |
||||||
|
Assert.IsTrue(template6.IsTemplateFor(original6, GestureCompareMode.StartsWithFullChords)); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void MultiKeyGesturesDoNotMatchStartsWithFullChordTest() |
||||||
|
{ |
||||||
|
var template1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
var original1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C"); |
||||||
|
Assert.IsFalse(template1.IsTemplateFor(original1, GestureCompareMode.StartsWith)); |
||||||
|
|
||||||
|
var template2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
var original2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D"); |
||||||
|
Assert.IsFalse(template2.IsTemplateFor(original2, GestureCompareMode.StartsWith)); |
||||||
|
|
||||||
|
var template3 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+E"); |
||||||
|
var original3 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D,D"); |
||||||
|
Assert.IsFalse(template3.IsTemplateFor(original3, GestureCompareMode.StartsWith)); |
||||||
|
|
||||||
|
var template4 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Shift+D"); |
||||||
|
var original4 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D,D"); |
||||||
|
Assert.IsFalse(template4.IsTemplateFor(original4, GestureCompareMode.StartsWith)); |
||||||
|
|
||||||
|
var template5 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D,E"); |
||||||
|
var original5 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D,D"); |
||||||
|
Assert.IsFalse(template5.IsTemplateFor(original5, GestureCompareMode.StartsWith)); |
||||||
|
|
||||||
|
var template6 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Alt+"); |
||||||
|
var original6 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,D"); |
||||||
|
Assert.IsFalse(template6.IsTemplateFor(original6, GestureCompareMode.StartsWith)); |
||||||
|
|
||||||
|
var template7 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("E"); |
||||||
|
var original7 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,D"); |
||||||
|
Assert.IsFalse(template7.IsTemplateFor(original7, GestureCompareMode.StartsWith)); |
||||||
|
|
||||||
|
var template8 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,Alt+"); |
||||||
|
var original8 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,Ctrl+D"); |
||||||
|
Assert.IsFalse(template8.IsTemplateFor(original8, GestureCompareMode.StartsWith)); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void MultiKeyGesturesConflictingTest() |
||||||
|
{ |
||||||
|
var template1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
var original1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
Assert.IsTrue(template1.IsTemplateFor(original1, GestureCompareMode.Conflicting)); |
||||||
|
Assert.IsTrue(original1.IsTemplateFor(template1, GestureCompareMode.Conflicting)); |
||||||
|
|
||||||
|
var template2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C"); |
||||||
|
var original2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D"); |
||||||
|
Assert.IsTrue(template2.IsTemplateFor(original2, GestureCompareMode.Conflicting)); |
||||||
|
Assert.IsTrue(original2.IsTemplateFor(template2, GestureCompareMode.Conflicting)); |
||||||
|
|
||||||
|
var template3 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D"); |
||||||
|
var original3 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D,D"); |
||||||
|
Assert.IsTrue(template3.IsTemplateFor(original3, GestureCompareMode.StartsWith)); |
||||||
|
Assert.IsTrue(original3.IsTemplateFor(template3, GestureCompareMode.Conflicting)); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void MultiKeyGesturesAreNotConflictingTest() |
||||||
|
{ |
||||||
|
var template1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
var original1 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+E"); |
||||||
|
Assert.IsFalse(template1.IsTemplateFor(original1, GestureCompareMode.Conflicting)); |
||||||
|
Assert.IsFalse(original1.IsTemplateFor(template1, GestureCompareMode.Conflicting)); |
||||||
|
|
||||||
|
var template2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+D"); |
||||||
|
var original2 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D"); |
||||||
|
Assert.IsFalse(template2.IsTemplateFor(original2, GestureCompareMode.Conflicting)); |
||||||
|
Assert.IsFalse(original2.IsTemplateFor(template2, GestureCompareMode.Conflicting)); |
||||||
|
|
||||||
|
var template3 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+E"); |
||||||
|
var original3 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+C,Ctrl+D,D"); |
||||||
|
Assert.IsFalse(template3.IsTemplateFor(original3, GestureCompareMode.StartsWith)); |
||||||
|
Assert.IsFalse(original3.IsTemplateFor(template3, GestureCompareMode.Conflicting)); |
||||||
|
|
||||||
|
|
||||||
|
var template4 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+"); |
||||||
|
var original4 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,D"); |
||||||
|
Assert.False(template4.IsTemplateFor(original4, GestureCompareMode.Conflicting)); |
||||||
|
Assert.False(original4.IsTemplateFor(template4, GestureCompareMode.Conflicting)); |
||||||
|
|
||||||
|
var template5 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,Ctrl+"); |
||||||
|
var original5 = (MultiKeyGesture)multiKeyGestureConverter.ConvertFromInvariantString("Ctrl+Shift+D,Ctrl+D"); |
||||||
|
Assert.IsFalse(template5.IsTemplateFor(original5, GestureCompareMode.Conflicting)); |
||||||
|
Assert.IsFalse(original5.IsTemplateFor(template5, GestureCompareMode.Conflicting)); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,31 @@ |
|||||||
|
#region Using directives
|
||||||
|
|
||||||
|
using System; |
||||||
|
using System.Reflection; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
// General Information about an assembly is controlled through the following
|
||||||
|
// set of attributes. Change these attribute values to modify the information
|
||||||
|
// associated with an assembly.
|
||||||
|
[assembly: AssemblyTitle("ICSharpCode.Core.Presentation.Tests")] |
||||||
|
[assembly: AssemblyDescription("")] |
||||||
|
[assembly: AssemblyConfiguration("")] |
||||||
|
[assembly: AssemblyCompany("")] |
||||||
|
[assembly: AssemblyProduct("ICSharpCode.Core.Presentation.Tests")] |
||||||
|
[assembly: AssemblyCopyright("Copyright 2009")] |
||||||
|
[assembly: AssemblyTrademark("")] |
||||||
|
[assembly: AssemblyCulture("")] |
||||||
|
|
||||||
|
// This sets the default COM visibility of types in the assembly to invisible.
|
||||||
|
// If you need to expose a type to COM, use [ComVisible(true)] on that type.
|
||||||
|
[assembly: ComVisible(false)] |
||||||
|
|
||||||
|
// The assembly version has following format :
|
||||||
|
//
|
||||||
|
// Major.Minor.Build.Revision
|
||||||
|
//
|
||||||
|
// You can specify all the values or you can use the default the Revision and
|
||||||
|
// Build Numbers by using the '*' as shown below:
|
||||||
|
[assembly: AssemblyVersion("1.0.*")] |
Loading…
Reference in new issue