public void TheLengthShouldBeBetween1and10ForDictionary()
        {
            var result = RandomValue.Dictionary <long, sbyte>();

            result.Count().ShouldBeInRange(1, 10);

            result.Keys.First().ShouldBeType <long>();
            result.Values.First().ShouldBeType <sbyte>();
        }
        public void TheValuesShouldBeUniquForDictionary()
        {
            var result = RandomValue.Dictionary <int, Guid>();

            var distinctValues = result.Values.Distinct();

            distinctValues.Count().ShouldEqual(result.Count());

            result.Keys.First().ShouldBeType <int>();
            result.Values.First().ShouldBeType <Guid>();
        }
        public void AllItemsInTheKeysShouldBeUniqueForADictionary()
        {
            //There should be keys from 1 - 127.
            var length = 127;

            var result = RandomValue.Dictionary <sbyte, Guid>(length);

            for (int i = 0; i < length; i++)
            {
                result.ContainsKey((sbyte)i).ShouldBeTrue();
            }

            result.Keys.First().ShouldBeType <sbyte>();
            result.Values.First().ShouldBeType <Guid>();
        }
        public void RandomDictionaryWithRecursiveWillGenerateChildObjectsToTheSpecifiedDepthWithSettings()
        {
            var result = RandomValue.Dictionary <int, ObjectWithRecursiveCollections>(Depth2Settings);

            result.Count().ShouldBeInRange(1, 3);

            var depth1 = result.FirstOrDefault();

            depth1.Value.RecursiveDictionary.ShouldNotBeDefault();
            depth1.Value.Int.ShouldNotBeDefault();
            depth1.Value.RecursiveDictionary.Count.ShouldBeInRange(1, 3);

            var depth2 = depth1.Value.RecursiveDictionary.FirstOrDefault();

            depth2.Value.RecursiveDictionary.ShouldNotBeDefault();
            depth2.Value.Int.ShouldNotBeDefault();
            depth2.Value.RecursiveDictionary.Count.ShouldBeInRange(1, 3);

            var depth3 = depth2.Value.RecursiveDictionary.FirstOrDefault();

            depth3.Value.RecursiveDictionary.ShouldEqual(null);
            depth3.Value.Int.ShouldNotBeDefault();
        }