Esempio n. 1
0
        public void AddBinding()
        {
            const ConsoleInputOperation op = ConsoleInputOperation.Undo;

            var bindings = new ConsoleKeyBindingSet();

            bindings.Bind(ConsoleKey.D, ConsoleModifiers.Control, op);

            var keyInfo = new ConsoleKeyInfo('\x04', ConsoleKey.D, false, false, true);

            bindings.Count.Should().Be(1);
            bindings.ContainsKey(keyInfo).Should().BeTrue();
            bindings.Keys.Should().Equal(keyInfo);
            bindings.Values.Should().Equal(op);

            bindings[keyInfo].Should().Be(op);

            var    nonExistentKeyInfo = new ConsoleKeyInfo('d', ConsoleKey.D, false, false, false);
            Action lookupAction       = () => { var x = bindings[nonExistentKeyInfo]; };

            lookupAction.Should().Throw <KeyNotFoundException>();

            var pairs = bindings.ToList();

            pairs.Should().ContainSingle();
            pairs.Should().Equal(new KeyValuePair <ConsoleKeyInfo, ConsoleInputOperation>(keyInfo, op));
        }
Esempio n. 2
0
        public void AddBinding()
        {
            const ConsoleInputOperation op = ConsoleInputOperation.Undo;

            var bindings = new ConsoleKeyBindingSet();
            bindings.Bind(ConsoleKey.D, ConsoleModifiers.Control, op);

            var keyInfo = new ConsoleKeyInfo('\x04', ConsoleKey.D, false, false, true);
            bindings.Count.Should().Be(1);
            bindings.ContainsKey(keyInfo).Should().BeTrue();
            bindings.Keys.Should().ContainInOrder(keyInfo);
            bindings.Values.Should().ContainInOrder(op);

            bindings[keyInfo].Should().Be(op);

            var nonExistentKeyInfo = new ConsoleKeyInfo('d', ConsoleKey.D, false, false, false);
            Action lookupAction = () => { var x = bindings[nonExistentKeyInfo]; };
            lookupAction.ShouldThrow<KeyNotFoundException>();

            var pairs = bindings.ToList();
            pairs.Should().HaveCount(1);
            pairs.Should().ContainInOrder(new KeyValuePair<ConsoleKeyInfo, ConsoleInputOperation>(keyInfo, op));
        }