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])); }
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); } } }
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])); }