@@ -403,67 +403,7 @@ KeyCode expectedKeyCode
403
403
}
404
404
405
405
[ Theory ]
406
- [ InlineData ( 'a' , ConsoleKey . A , false , false , false , 30 ) ]
407
- [ InlineData ( 'A' , ConsoleKey . A , true , false , false , 30 ) ]
408
- [ InlineData ( 'á' , ConsoleKey . A , false , false , false , 30 ) ]
409
- [ InlineData ( 'Á' , ConsoleKey . A , true , false , false , 30 ) ]
410
- [ InlineData ( 'à' , ConsoleKey . A , false , false , false , 30 ) ]
411
- [ InlineData ( 'À' , ConsoleKey . A , true , false , false , 30 ) ]
412
- [ InlineData ( '0' , ConsoleKey . D0 , false , false , false , 11 ) ]
413
- [ InlineData ( '=' , ConsoleKey . D0 , true , false , false , 11 ) ]
414
- [ InlineData ( '}' , ConsoleKey . D0 , false , true , true , 11 ) ]
415
- [ InlineData ( '1' , ConsoleKey . D1 , false , false , false , 2 ) ]
416
- [ InlineData ( '!' , ConsoleKey . D1 , true , false , false , 2 ) ]
417
- [ InlineData ( '2' , ConsoleKey . D2 , false , false , false , 3 ) ]
418
- [ InlineData ( '"' , ConsoleKey . D2 , true , false , false , 3 ) ]
419
- [ InlineData ( '@' , ConsoleKey . D2 , false , true , true , 3 ) ]
420
- [ InlineData ( '3' , ConsoleKey . D3 , false , false , false , 4 ) ]
421
- [ InlineData ( '#' , ConsoleKey . D3 , true , false , false , 4 ) ]
422
- [ InlineData ( '£' , ConsoleKey . D3 , false , true , true , 4 ) ]
423
- [ InlineData ( '4' , ConsoleKey . D4 , false , false , false , 5 ) ]
424
- [ InlineData ( '$' , ConsoleKey . D4 , true , false , false , 5 ) ]
425
- [ InlineData ( '§' , ConsoleKey . D4 , false , true , true , 5 ) ]
426
- [ InlineData ( '5' , ConsoleKey . D5 , false , false , false , 6 ) ]
427
- [ InlineData ( '%' , ConsoleKey . D5 , true , false , false , 6 ) ]
428
- [ InlineData ( '€' , ConsoleKey . D5 , false , true , true , 6 ) ]
429
- [ InlineData ( '6' , ConsoleKey . D6 , false , false , false , 7 ) ]
430
- [ InlineData ( '&' , ConsoleKey . D6 , true , false , false , 7 ) ]
431
- [ InlineData ( '7' , ConsoleKey . D7 , false , false , false , 8 ) ]
432
- [ InlineData ( '/' , ConsoleKey . D7 , true , false , false , 8 ) ]
433
- [ InlineData ( '{' , ConsoleKey . D7 , false , true , true , 8 ) ]
434
- [ InlineData ( '8' , ConsoleKey . D8 , false , false , false , 9 ) ]
435
- [ InlineData ( '(' , ConsoleKey . D8 , true , false , false , 9 ) ]
436
- [ InlineData ( '[' , ConsoleKey . D8 , false , true , true , 9 ) ]
437
- [ InlineData ( '9' , ConsoleKey . D9 , false , false , false , 10 ) ]
438
- [ InlineData ( ')' , ConsoleKey . D9 , true , false , false , 10 ) ]
439
- [ InlineData ( ']' , ConsoleKey . D9 , false , true , true , 10 ) ]
440
- [ InlineData ( '´' , ConsoleKey . Oem1 , false , false , false , 27 ) ]
441
- [ InlineData ( '`' , ConsoleKey . Oem1 , true , false , false , 27 ) ]
442
- [ InlineData ( '~' , ConsoleKey . Oem2 , false , false , false , 43 ) ]
443
- [ InlineData ( '^' , ConsoleKey . Oem2 , true , false , false , 43 ) ]
444
- [ InlineData ( 'ç' , ConsoleKey . Oem3 , false , false , false , 39 ) ]
445
- [ InlineData ( 'Ç' , ConsoleKey . Oem3 , true , false , false , 39 ) ]
446
- [ InlineData ( '\' ' , ConsoleKey . Oem4 , false , false , false , 12 ) ]
447
- [ InlineData ( '?' , ConsoleKey . Oem4 , true , false , false , 12 ) ]
448
- [ InlineData ( '\\ ' , ConsoleKey . Oem5 , false , true , true , 41 ) ]
449
- [ InlineData ( '|' , ConsoleKey . Oem5 , true , false , false , 41 ) ]
450
- [ InlineData ( '«' , ConsoleKey . Oem6 , false , true , true , 13 ) ]
451
- [ InlineData ( '»' , ConsoleKey . Oem6 , true , false , false , 13 ) ]
452
- [ InlineData ( 'º' , ConsoleKey . Oem7 , false , true , true , 40 ) ]
453
- [ InlineData ( 'ª' , ConsoleKey . Oem7 , true , false , false , 40 ) ]
454
- [ InlineData ( '+' , ConsoleKey . OemPlus , false , true , true , 26 ) ]
455
- [ InlineData ( '*' , ConsoleKey . OemPlus , true , false , false , 26 ) ]
456
- [ InlineData ( '¨' , ConsoleKey . OemPlus , false , true , true , 26 ) ]
457
- [ InlineData ( ',' , ConsoleKey . OemComma , false , true , true , 51 ) ]
458
- [ InlineData ( ';' , ConsoleKey . OemComma , true , false , false , 51 ) ]
459
- [ InlineData ( '.' , ConsoleKey . OemPeriod , false , true , true , 52 ) ]
460
- [ InlineData ( ':' , ConsoleKey . OemPeriod , true , false , false , 52 ) ]
461
- [ InlineData ( '-' , ConsoleKey . OemMinus , false , true , true , 53 ) ]
462
- [ InlineData ( '_' , ConsoleKey . OemMinus , true , false , false , 53 ) ]
463
- [ InlineData ( 'q' , ConsoleKey . Q , false , false , false , 16 ) ]
464
- [ InlineData ( '\0 ' , ConsoleKey . F2 , false , false , false , 60 ) ]
465
- [ InlineData ( '英' , ConsoleKey . None , false , false , false , 0 ) ]
466
- [ InlineData ( '英' , ConsoleKey . None , true , false , false , 0 ) ]
406
+ [ MemberData ( nameof ( GetScanCodeData ) ) ]
467
407
public void GetScanCodeFromConsoleKeyInfo_Tests (
468
408
char keyChar ,
469
409
ConsoleKey consoleKey ,
@@ -479,6 +419,71 @@ uint expectedScanCode
479
419
Assert . Equal ( scanCode , expectedScanCode ) ;
480
420
}
481
421
422
+ public static IEnumerable < object [ ] > GetScanCodeData ( )
423
+ {
424
+ yield return [ 'a' , ConsoleKey . A , false , false , false , 30 ] ;
425
+ yield return [ 'A' , ConsoleKey . A , true , false , false , 30 ] ;
426
+ yield return [ 'á' , ConsoleKey . A , false , false , false , 30 ] ;
427
+ yield return [ 'Á' , ConsoleKey . A , true , false , false , 30 ] ;
428
+ yield return [ 'à' , ConsoleKey . A , false , false , false , 30 ] ;
429
+ yield return [ 'À' , ConsoleKey . A , true , false , false , 30 ] ;
430
+ yield return [ '0' , ConsoleKey . D0 , false , false , false , 11 ] ;
431
+ yield return [ '=' , ConsoleKey . D0 , true , false , false , 11 ] ;
432
+ yield return [ '}' , ConsoleKey . D0 , false , true , true , 11 ] ;
433
+ yield return [ '1' , ConsoleKey . D1 , false , false , false , 2 ] ;
434
+ yield return [ '!' , ConsoleKey . D1 , true , false , false , 2 ] ;
435
+ yield return [ '2' , ConsoleKey . D2 , false , false , false , 3 ] ;
436
+ yield return [ '"' , ConsoleKey . D2 , true , false , false , 3 ] ;
437
+ yield return [ '@' , ConsoleKey . D2 , false , true , true , 3 ] ;
438
+ yield return [ '3' , ConsoleKey . D3 , false , false , false , 4 ] ;
439
+ yield return [ '#' , ConsoleKey . D3 , true , false , false , 4 ] ;
440
+ yield return [ '£' , ConsoleKey . D3 , false , true , true , 4 ] ;
441
+ yield return [ '4' , ConsoleKey . D4 , false , false , false , 5 ] ;
442
+ yield return [ '$' , ConsoleKey . D4 , true , false , false , 5 ] ;
443
+ yield return [ '§' , ConsoleKey . D4 , false , true , true , 5 ] ;
444
+ yield return [ '5' , ConsoleKey . D5 , false , false , false , 6 ] ;
445
+ yield return [ '%' , ConsoleKey . D5 , true , false , false , 6 ] ;
446
+ yield return [ '€' , ConsoleKey . D5 , false , true , true , 6 ] ;
447
+ yield return [ '6' , ConsoleKey . D6 , false , false , false , 7 ] ;
448
+ yield return [ '&' , ConsoleKey . D6 , true , false , false , 7 ] ;
449
+ yield return [ '7' , ConsoleKey . D7 , false , false , false , 8 ] ;
450
+ yield return [ '/' , ConsoleKey . D7 , true , false , false , 8 ] ;
451
+ yield return [ '{' , ConsoleKey . D7 , false , true , true , 8 ] ;
452
+ yield return [ '8' , ConsoleKey . D8 , false , false , false , 9 ] ;
453
+ yield return [ '(' , ConsoleKey . D8 , true , false , false , 9 ] ;
454
+ yield return [ '[' , ConsoleKey . D8 , false , true , true , 9 ] ;
455
+ yield return [ '9' , ConsoleKey . D9 , false , false , false , 10 ] ;
456
+ yield return [ ')' , ConsoleKey . D9 , true , false , false , 10 ] ;
457
+ yield return [ ']' , ConsoleKey . D9 , false , true , true , 10 ] ;
458
+ yield return [ '´' , ConsoleKey . Oem1 , false , false , false , 27 ] ;
459
+ yield return [ '`' , ConsoleKey . Oem1 , true , false , false , 27 ] ;
460
+ yield return [ '~' , ConsoleKey . Oem2 , false , false , false , 43 ] ;
461
+ yield return [ '^' , ConsoleKey . Oem2 , true , false , false , 43 ] ;
462
+ yield return [ 'ç' , ConsoleKey . Oem3 , false , false , false , 39 ] ;
463
+ yield return [ 'Ç' , ConsoleKey . Oem3 , true , false , false , 39 ] ;
464
+ yield return [ '\' ' , ConsoleKey . Oem4 , false , false , false , 12 ] ;
465
+ yield return [ '?' , ConsoleKey . Oem4 , true , false , false , 12 ] ;
466
+ yield return [ '\\ ' , ConsoleKey . Oem5 , false , true , true , 41 ] ;
467
+ yield return [ '|' , ConsoleKey . Oem5 , true , false , false , 41 ] ;
468
+ yield return [ '«' , ConsoleKey . Oem6 , false , true , true , 13 ] ;
469
+ yield return [ '»' , ConsoleKey . Oem6 , true , false , false , 13 ] ;
470
+ yield return [ 'º' , ConsoleKey . Oem7 , false , true , true , 40 ] ;
471
+ yield return [ 'ª' , ConsoleKey . Oem7 , true , false , false , 40 ] ;
472
+ yield return [ '+' , ConsoleKey . OemPlus , false , true , true , 26 ] ;
473
+ yield return [ '*' , ConsoleKey . OemPlus , true , false , false , 26 ] ;
474
+ yield return [ '¨' , ConsoleKey . OemPlus , false , true , true , 26 ] ;
475
+ yield return [ ',' , ConsoleKey . OemComma , false , true , true , 51 ] ;
476
+ yield return [ ';' , ConsoleKey . OemComma , true , false , false , 51 ] ;
477
+ yield return [ '.' , ConsoleKey . OemPeriod , false , true , true , 52 ] ;
478
+ yield return [ ':' , ConsoleKey . OemPeriod , true , false , false , 52 ] ;
479
+ yield return [ '-' , ConsoleKey . OemMinus , false , true , true , 53 ] ;
480
+ yield return [ '_' , ConsoleKey . OemMinus , true , false , false , 53 ] ;
481
+ yield return [ 'q' , ConsoleKey . Q , false , false , false , 16 ] ;
482
+ yield return [ '\0 ' , ConsoleKey . F2 , false , false , false , 60 ] ;
483
+ yield return [ '英' , ConsoleKey . None , false , false , false , 0 ] ;
484
+ yield return [ '英' , ConsoleKey . None , true , false , false , 0 ] ;
485
+ }
486
+
482
487
[ Theory ]
483
488
[ MemberData ( nameof ( UnShiftedChars ) ) ]
484
489
public void GetKeyChar_Shifted_Char_From_UnShifted_Char (
0 commit comments