Пример #1
0
        public void When_generating_hundred_thousand_ids_with_one_single_generator_then_every_id_is_unique()
        {
            const int number = 100000;

            // warm-up
            GetIds(0, number);

            var stopwatch = Stopwatch.StartNew();
            var ids       = GetIds(0, number);

            stopwatch.Stop();
            Console.WriteLine("Duration: {0}ms", stopwatch.ElapsedMilliseconds);

            var    unique  = new HashSet <string>(StringComparer.Ordinal);
            string current = "AAAAAAAAAAA=";

            foreach (var id in ids)
            {
                Assert.IsTrue(IdConverter.ToLong(id).CompareTo(IdConverter.ToLong(current)) == 1);
                //Assert.IsTrue(id.CompareTo(current) == 1);
                Assert.IsFalse(unique.Contains(id), id);


                unique.Add(id);
                current = id;
            }

            for (int i = 0; i < 100; i++)
            {
                Console.WriteLine(ids[i]);
            }
        }
Пример #2
0
        public void When_converting_from_id_to_long_and_back_then_the_id_is_the_same()
        {
            var tests = new[]
            {
                "AACxgFbAEAA=",
                "AAC3UcJAMAA=",
                "AAC3a4sAMAA=",
                "AADOCnOAEAA=",
                "AAEQBrnAEAA=",
                "AAESfkpAEAA=",
                "AAETZ2AAEAA="
            };

            foreach (var test in tests)
            {
                var l = IdConverter.ToLong(test);
                var s = IdConverter.ToString(l);
                Assert.Equal(test, s);
                _output.WriteLine("{0} => {1}", test, l);
            }
        }