Exemplo n.º 1
0
        public void GetRandom()
        {
            var rd = new RouletteDictionary <string, string>(42);

            rd["hello"] = "world";

            var key = rd.GetRandomKey();

            Assert.Equal("hello", key);

            var val = rd.GetRandomValue();

            Assert.Equal("world", val);

            var kvp = rd.GetRandomKeyAndValue();

            Assert.Equal("hello", kvp.Key);
            Assert.Equal("world", kvp.Value);
        }
Exemplo n.º 2
0
        public void GetRandomWithCondition()
        {
            var rd = new RouletteDictionary <string, int>(1000, StringComparer.Ordinal);

            for (int i = 0; i < 10; i++)
            {
                rd[i.ToString()] = i;
            }

            rd.Add("foo", 1234);

            var key = rd.GetRandomKey((v) => v == 1234);

            Assert.Equal("foo", key);

            var val = rd.GetRandomValue((v) => v == 1234);

            Assert.Equal(1234, val);

            var kvp = rd.GetRandomKeyAndValue((v) => v == 1234);

            Assert.Equal("foo", kvp.Key);
            Assert.Equal(1234, kvp.Value);
        }