public static void ElementTypeOfArrayIsOnlyTypeDiscovered()
        {
            // Arrange
            var jsonConfigType = typeof(TypesToRegisterJsonSerializationConfiguration <RegisteredKey, RegisteredValue>);

            var expectedKey = new RegisteredKey {
                Property = A.Dummy <string>()
            };
            var expectedValue = new RegisteredValue {
                Property = A.Dummy <string>()
            };
            var expectedTuple      = new Tuple <RegisteredKey, RegisteredValue>(expectedKey, expectedValue);
            var expectedDictionary = new Dictionary <RegisteredKey, RegisteredValue> {
                { expectedKey, expectedValue }
            };

            // Act, Assert
            void ThrowIfTuplesDiffer(DescribedSerializationBase describedSerialization, Tuple <RegisteredKey, RegisteredValue> deserialized)
            {
                deserialized.Item1.Property.Should().Be(expectedTuple.Item1.Property);
                deserialized.Item2.Property.Should().Be(expectedTuple.Item2.Property);
            }

            void ThrowIfDictionariesDiffer(DescribedSerializationBase describedSerialization, Dictionary <RegisteredKey, RegisteredValue> deserialized)
            {
                deserialized.Single().Key.Property.Should().Be(expectedDictionary.Single().Key.Property);
                deserialized.Single().Value.Property.Should().Be(expectedDictionary.Single().Value.Property);
            }

            // Act, Assert
            expectedTuple.RoundtripSerializeViaJsonWithCallbackVerification(ThrowIfTuplesDiffer, jsonConfigType);
            expectedDictionary.RoundtripSerializeViaJsonWithCallbackVerification(ThrowIfDictionariesDiffer, jsonConfigType);
        }
Ejemplo n.º 2
0
        public void RegisterKey(Keys key, KeyboardEventHandler eventHandler)
        {
            int keyIdx = -1;
            for (int idx = 0; idx < m_registeredKeys.Count; ++idx)
            {
                if (m_registeredKeys[idx].Key == key)
                {
                    keyIdx = idx;
                    break;
                }
            }

            if (keyIdx != -1)
            {
                m_registeredKeys[keyIdx].AddHandler(eventHandler);
            }
            else
            {
                RegisteredKey rk = new RegisteredKey(key);
                rk.AddHandler(eventHandler);

                m_registeredKeys.Add(rk);
            }
        }