public void WhenMinIsLessThanMax_ThenReturnRandomLength() { var createdLen2 = false; var createdLen3 = false; using (var sut = new CryptoRandomString("A")) { for (var i = 0; i < 100; i++) { var result = sut.GenerateString(2, 3); Assert.That(result, Is.EqualTo("AA").Or.EqualTo("AAA")); if (result.Length == 2) { createdLen2 = true; } if (result.Length == 3) { createdLen3 = true; } } } Assert.That(createdLen2, Is.True); Assert.That(createdLen3, Is.True); }
public void WhenMinIsLessThanMax_ThenReturnRandomLength() { var createdLen2 = false; var createdLen3 = false; using (var sut = new CryptoRandomString("A")) { for (var i = 0; i < 100; i++) { var result = sut.GenerateArray(2, 3); if (result.Length == 2) { createdLen2 = true; Assert.That(result.First(), Is.EqualTo('A')); Assert.That(result.Second(), Is.EqualTo('A')); } else if (result.Length == 3) { createdLen3 = true; Assert.That(result.First(), Is.EqualTo('A')); Assert.That(result.Second(), Is.EqualTo('A')); Assert.That(result.Third(), Is.EqualTo('A')); } else { Assert.Fail($"Array was length {result.Length}."); } } } Assert.That(createdLen2, Is.True); Assert.That(createdLen3, Is.True); }
public void WhenMinIsGreaterThanMax_ThenThrowException() { using (var sut = new CryptoRandomString(CharacterSets.Digits)) { Assert.Throws <ArgumentOutOfRangeException>(() => sut.GenerateString(2, 1)); } }
public void TestTestThatCorrectCharacterCountIsReturned() { const int length = 100; var randomString = CryptoRandomString.GetCryptoRandomBase95String(length); Assert.AreEqual(length, randomString.Length); }
public void WhenMinAndMaxIsEqual_ThenReturnValidString() { using (var sut = new CryptoRandomString("A")) { var result = sut.GenerateString(2, 2); Assert.That(result, Is.EqualTo("AA")); } }
public void WhenMinAndMaxIsOne_ThenReturnOneLengthString() { using (var sut = new CryptoRandomString("A")) { var result = sut.GenerateString(1, 1); Assert.That(result, Is.EqualTo("A")); } }
public void WhenOnlyOneValidChar_AndLengthOne_ThenReturnChar() { using (var sut = new CryptoRandomString("A")) { var result = sut.GenerateArray(1); Assert.That(result.Single(), Is.EqualTo('A')); } }
public void WhenValidChars_ThenReturnOnlyValidChars() { using (var sut = new CryptoRandomString(CharacterSets.Digits)) { var result = sut.GenerateArray(100); Assert.That(result.IsDigitsOnly, Is.True); } }
public void WhenOnlyOneValidChar_ThenReturnSequenceOfChar() { using (var sut = new CryptoRandomString("A")) { var result = sut.GenerateString(3); Assert.That(result, Is.EqualTo("AAA")); } }
public void WhenOnlyOneValidChar_AndLengthOne_ThenReturnOneCharString() { using (var sut = new CryptoRandomString("A")) { var result = sut.GenerateString(1); Assert.That(result, Is.EqualTo("A")); } }
public void WhenLengthIsLessThanOne_ThenReturnEmpty(int length) { using (var sut = new CryptoRandomString("A")) { var result = sut.GenerateString(length); Assert.That(result, Is.Empty); } }
public void WhenLengthIsLessThanOne_ThenReturnEmptyArray(int length) { using (var sut = new CryptoRandomString(CharacterSets.Digits)) { var result = sut.GenerateArray(length); Assert.That(result, Is.Empty); } }
public void WhenMinIsMinusAndMaxIsZero_ThenReturnEmpty() { using (var sut = new CryptoRandomString(CharacterSets.Digits)) { var result = sut.GenerateArray(-1, 0); Assert.That(result, Is.Empty); } }
public void WhenLongEnoughLength_ThenUsesValidCharsEdgeCases() { using (var sut = new CryptoRandomString(CharacterSets.Digits)) { var result = sut.GenerateString(1000, 2000); StringAssert.Contains(CharacterSets.Digits.First().ToString(), result); StringAssert.Contains(CharacterSets.Digits.Last().ToString(), result); } }
public void GetCryptoRandomAlphaNumericStringTest() { const int length = 100000; var randomString = CryptoRandomString.GetCryptoRandomAlphaNumericString(length); foreach (char c in randomString) { Assert.IsTrue(CryptoRandomString.AlphaNumeric.Contains(c)); } }
public void WhenLongEnoughLength_ThenUsesValidCharsEdgeCases() { using (var sut = new CryptoRandomString(CharacterSets.Digits)) { var result = sut.GenerateArray(1000); Assert.That(result.Contains(CharacterSets.Digits.First()), Is.True); Assert.That(result.Contains(CharacterSets.Digits.Last()), Is.True); } }
public void TestPerformanceTenMillionCharacters() { Stopwatch watch = new Stopwatch(); watch.Start(); const int length = 1000000; CryptoRandomString.GetCryptoRandomBase95String(length); watch.Stop(); Assert.IsTrue(watch.ElapsedMilliseconds < 1000); } // Elapsed Milliseconds 320 (it fluxuated a few milliseconds each run)
public void TestAllCharactersAreUsed() { const int length = 1000000; var randomString = CryptoRandomString.GetCryptoRandomBase95String(length); for (int i = 32; i < 126; i++) { char c = (char)i; Assert.IsTrue(randomString.Contains(c.ToString())); } }
public void WhenValidLength_ThenReturnCorrectLength() { const int length = 50; using (var sut = new CryptoRandomString(CharacterSets.Digits)) { var result = sut.GenerateArray(length); Assert.That(result.Length, Is.EqualTo(length)); } }
public void WhenOnlyOneValidChar_ThenReturnSequenceOfChar() { using (var sut = new CryptoRandomString("A")) { var result = sut.GenerateArray(3); Assert.That(result.First(), Is.EqualTo('A')); Assert.That(result.Second(), Is.EqualTo('A')); Assert.That(result.Third(), Is.EqualTo('A')); } }
public void WhenMinIsLessThanOneAndMaxIsZero_ThenReturnEmpty(int minLength) { using (var sut = new CryptoRandomString("A")) { for (var i = 0; i < 100; i++) { var result = sut.GenerateString(minLength, 0); Assert.That(result, Is.Empty); } } }
public void TestPerformanceLoop() { Stopwatch watch = new Stopwatch(); const int length = 16; watch.Start(); for (int i = 0; i < 100000; i++) { CryptoRandomString.GetCryptoRandomBase95String(length); } watch.Stop(); Assert.IsTrue(watch.ElapsedMilliseconds < 1000); }
public void TestDistributionInTenMillionCharacters() { const int length = 1000000; const int distibution = length / 95; int[] margins = new int[9500]; for (int j = 0; j < 100; j++) { var randomString = CryptoRandomString.GetCryptoRandomBase95String(length); for (int i = 32; i < 127; i++) { //int count = randomString.Count(c => c == i); int count = CountInstancesOfChar(randomString, (char)i); margins[(j * 95) + i - 32] = count; } } Assert.IsTrue(Math.Abs(margins.Average() - distibution) < .5); }
public void WhenValidCharsStringIsNull_ThenThrowException() { Assert.Throws <ArgumentException>(() => _ = new CryptoRandomString(null)); }
public void WhenValidCharsStringIsEmpty_ThenThrowException() { Assert.Throws <ArgumentException>(() => _ = new CryptoRandomString(string.Empty)); }