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