public void TestFlatDistribution() { const int count = 100 * 1000; var chars = new Dictionary <char, int>(); foreach (var dummy in Enumerable.Range(1, count)) { var id = Nanoid.Generate(); for (var i = 0; i < DefaultSize; i++) { var c = id[i]; if (!chars.ContainsKey(c)) { chars.Add(c, 0); } chars[c] += 1; } } foreach (var c in chars) { var distribution = c.Value * DefaultAlphabet.Length / (double)(count * DefaultSize); Assert.True(ToBeCloseTo(distribution, 1, 1)); } }
private static RoomState CreateNewRoom() { RoomState room = new RoomState(); room.Id = Nanoid.Generate(size: ROOM_ID_LENGTH); return(room); }
public void TestCustomRandom() { var random = new Random(10); var result = Nanoid.Generate(random); Assert.Equal(DefaultSize, result.Length); }
public void TestPredefinedRandomSequence(int size, string expected) { byte[] sequence = { 2, 255, 3, 7, 7, 7, 7, 7, 0, 1 }; var random = new PredefinedRandomSequence(sequence); var actual = Nanoid.Generate(random, "abcde", size); Assert.Equal(expected, actual); }
public void TestHasNoCollisions() { const int count = 100 * 1000; var dictUsed = new Dictionary <string, bool>(); foreach (var dummy in Enumerable.Range(1, count)) { var result = Nanoid.Generate(); Assert.False(dictUsed.TryGetValue(result, out var _)); dictUsed.Add(result, true); } }
public void TestGeneratesUrlFriendlyIDs() { foreach (var dummy in Enumerable.Range(1, 10)) { var result = Nanoid.Generate(); Assert.Equal(DefaultSize, result.Length); foreach (var c in result) { Assert.Contains(c, result); } } }
public void TestCustomAlphabetAndSize() { var result = Nanoid.Generate("1234abcd", 7); Assert.Equal(7, result.Length); }
public void TestCustomAlphabet() { var result = Nanoid.Generate("1234abcd"); Assert.Equal(DefaultSize, result.Length); }
public void TestCustomSize() { var result = Nanoid.Generate(size: 10); Assert.Equal(10, result.Length); }
public void TestDefault() { var result = Nanoid.Generate(); Assert.Equal(DefaultSize, result.Length); }
public void TestSingleLetterAlphabet() { var actual = Nanoid.Generate("a", 5); Assert.Equal("aaaaa", actual); }