示例#1
0
        public void CombineShortcutLists_ShouldReturnListWithOneAllAppsEntry_WhenFirstArgumentHasOneEntryAndSecondArgumentIsEmpty()
        {
            // arrange
            var firstList = new List <KeysDataModel>();
            var entry     = new KeysDataModel();

            entry.OriginalKeys = "17;65";
            entry.NewRemapKeys = "17;86";
            firstList.Add(entry);
            var secondList = new List <AppSpecificKeysDataModel>();

            // act
            var result = KeyboardManagerViewModel.CombineShortcutLists(firstList, secondList);

            // Assert
            var expectedResult = new List <AppSpecificKeysDataModel>();
            var expectedEntry  = new AppSpecificKeysDataModel();

            expectedEntry.OriginalKeys = entry.OriginalKeys;
            expectedEntry.NewRemapKeys = entry.NewRemapKeys;
            expectedEntry.TargetApp    = "All Apps";
            expectedResult.Add(expectedEntry);
            var x = expectedResult[0].Equals(result[0]);

            Assert.AreEqual(expectedResult.Count(), result.Count());
            Assert.IsTrue(expectedResult[0].Compare(result[0]));
        }
示例#2
0
        private void CombineRemappings(List <KeysDataModel> remapKeysList, uint leftKey, uint rightKey, uint combinedKey)
        {
            KeysDataModel firstRemap  = remapKeysList.Find(x => uint.Parse(x.OriginalKeys) == leftKey);
            KeysDataModel secondRemap = remapKeysList.Find(x => uint.Parse(x.OriginalKeys) == rightKey);

            if (firstRemap != null && secondRemap != null)
            {
                if (firstRemap.NewRemapKeys == secondRemap.NewRemapKeys)
                {
                    KeysDataModel combinedRemap = new KeysDataModel
                    {
                        OriginalKeys = combinedKey.ToString(),
                        NewRemapKeys = firstRemap.NewRemapKeys,
                    };
                    remapKeysList.Insert(remapKeysList.IndexOf(firstRemap), combinedRemap);
                    remapKeysList.Remove(firstRemap);
                    remapKeysList.Remove(secondRemap);
                }
            }
        }
        private static void CombineRemappings(List <KeysDataModel> remapKeysList, uint leftKey, uint rightKey, uint combinedKey)
        {
            // Using InvariantCulture for keys as they are internally represented as numerical values
            KeysDataModel firstRemap  = remapKeysList.Find(x => uint.Parse(x.OriginalKeys, CultureInfo.InvariantCulture) == leftKey);
            KeysDataModel secondRemap = remapKeysList.Find(x => uint.Parse(x.OriginalKeys, CultureInfo.InvariantCulture) == rightKey);

            if (firstRemap != null && secondRemap != null)
            {
                if (firstRemap.NewRemapKeys == secondRemap.NewRemapKeys)
                {
                    KeysDataModel combinedRemap = new KeysDataModel
                    {
                        OriginalKeys = combinedKey.ToString(CultureInfo.InvariantCulture),
                        NewRemapKeys = firstRemap.NewRemapKeys,
                    };
                    remapKeysList.Insert(remapKeysList.IndexOf(firstRemap), combinedRemap);
                    remapKeysList.Remove(firstRemap);
                    remapKeysList.Remove(secondRemap);
                }
            }
        }
示例#4
0
        public void CombineShortcutListsShouldReturnListWithOneAllAppsEntryAndOneAppSpecificEntryWhenFirstArgumentHasOneEntryAndSecondArgumentHasOneEntry()
        {
            // arrange
            var firstList      = new List <KeysDataModel>();
            var firstListEntry = new KeysDataModel();

            firstListEntry.OriginalKeys = "17;65";
            firstListEntry.NewRemapKeys = "17;86";
            firstList.Add(firstListEntry);
            var secondList      = new List <AppSpecificKeysDataModel>();
            var secondListEntry = new AppSpecificKeysDataModel();

            secondListEntry.OriginalKeys = "17;66";
            secondListEntry.NewRemapKeys = "17;87";
            secondListEntry.TargetApp    = "msedge";
            secondList.Add(secondListEntry);

            // act
            var result = KeyboardManagerViewModel.CombineShortcutLists(firstList, secondList);

            // Assert
            var expectedResult     = new List <AppSpecificKeysDataModel>();
            var expectedFirstEntry = new AppSpecificKeysDataModel();

            expectedFirstEntry.OriginalKeys = firstListEntry.OriginalKeys;
            expectedFirstEntry.NewRemapKeys = firstListEntry.NewRemapKeys;
            expectedFirstEntry.TargetApp    = "All Apps";
            expectedResult.Add(expectedFirstEntry);
            var expectedSecondEntry = new AppSpecificKeysDataModel();

            expectedSecondEntry.OriginalKeys = secondListEntry.OriginalKeys;
            expectedSecondEntry.NewRemapKeys = secondListEntry.NewRemapKeys;
            expectedSecondEntry.TargetApp    = secondListEntry.TargetApp;
            expectedResult.Add(expectedSecondEntry);

            Assert.AreEqual(expectedResult.Count, result.Count);
            Assert.IsTrue(expectedResult[0].Compare(result[0]));
            Assert.IsTrue(expectedResult[1].Compare(result[1]));
        }