public void AdaptClassWithIntegerKeyDictionary()
        {
            var instanceWithDictionary = new ClassWithIntKeyDictionary();

            instanceWithDictionary.Dict = new Dictionary <int, SimplePoco>
            {
                { 1, new SimplePoco {
                      Id = Guid.NewGuid(), Name = "one"
                  } },
                { 100, new SimplePoco {
                      Id = Guid.NewGuid(), Name = "one hundred"
                  } },
            };

            var result = instanceWithDictionary.Adapt <OtherClassWithIntKeyDictionary>();

            result.Dict[1].Name.ShouldBe("one");
            result.Dict[100].Name.ShouldBe("one hundred");
        }
        public void AdaptClassWithIntegerKeyDictionaryInterface()
        {
            var instanceWithDictionary = new ClassWithIntKeyDictionary();

            instanceWithDictionary.Dict = new Dictionary <int, SimplePoco>
            {
                { 1, new SimplePoco {
                      Id = Guid.NewGuid(), Name = "one"
                  } },
                { 100, new SimplePoco {
                      Id = Guid.NewGuid(), Name = "one hundred"
                  } },
            };

            var result = instanceWithDictionary.Adapt <ClassWithIntKeyIDictionary>();

            result.Dict.ShouldContainKey(1);
            result.Dict.ShouldContainKey(100);
            result.Dict[1].Name.ShouldBe("one");
            result.Dict[100].Name.ShouldBe("one hundred");
            result.Dict.ShouldNotBeSameAs(instanceWithDictionary.Dict);
        }