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