public void CrockfordBase32Encoding_SplitInto5BitChunks_ShouldChunkANumberThatFitsIn13Bits() { const int input = 4546; var expected = new byte[] { 4, 14, 2 }; var actual = CrockfordBase32Encoding.SplitInto5BitChunks(input); Assert.Equal(expected, actual); }
public void CrockfordBase32Encoding_SplitInto5BitChunks_ShouldReturnASingleChunkFor0() { const int input = 0; var expected = new byte[] { 0 }; var actual = CrockfordBase32Encoding.SplitInto5BitChunks(input); Assert.Equal(expected, actual); }
public void CrockfordBase32Encoding_Decode_ShouldReturnNullForIncorrectCheckDigit(ulong number, string encodedString, string checkDigit) { checkDigit = checkDigit.Equals("a", StringComparison.OrdinalIgnoreCase) ? "b" : "a"; var actual = new CrockfordBase32Encoding().Decode(encodedString + checkDigit, true); Assert.Null(actual); }
public void CrockfordBase32Encoding_SplitInto5BitChunks_ShouldChunkANumberThatFitsIn6Bits() { const int input = 32; var expected = new byte[] { 1, 0 }; var actual = CrockfordBase32Encoding.SplitInto5BitChunks(input); Assert.Equal(expected, actual.ToArray()); }
public void CrockfordBase32Encoding_Decode_ShouldReturnNullForInvalidCheckDigit(TestDatum datum) { var encodedString = datum.EncodedString; var actual = new CrockfordBase32Encoding().Decode(encodedString + '#', true); Assert.Null(actual); }
public void CrockfordBase32Encoding_Encode_ShouldReturnExpectedResult(TestDatum datum) { var number = ulong.Parse(datum.Number); var expected = datum.EncodedString; var actual = new CrockfordBase32Encoding().Encode(number, false); Assert.Equal(expected, actual); }
public void CrockfordBase32Encoding_Encode_ShouldReturnExpectedResultWithCheckDigit(TestDatum datum) { var number = ulong.Parse(datum.Number); var expected = datum.EncodedString; var checkDigit = datum.CheckDigit; var actual = new CrockfordBase32Encoding().Encode(number, true); Assert.Equal(expected + checkDigit, actual); }
public void CrockfordBase32Encoding_Decode_ShouldReturnNullForIncorrectCheckDigit(TestDatum datum) { var encodedString = datum.EncodedString; var checkDigit = datum.CheckDigit; checkDigit = checkDigit.Equals("a", StringComparison.OrdinalIgnoreCase) ? "b" : "a"; var actual = new CrockfordBase32Encoding().Decode(encodedString + checkDigit, true); Assert.Null(actual); }
/// <summary> /// Generates the activation code. /// </summary> /// <returns></returns> private async Task <string> GenerateActivationCode() { List <string> profanityList = appSettings.ProfanityList; string result; ushort deploymentNumber = appSettings.DeploymentNumber; var rand = new RngCspRandom(); do { ulong token = deploymentNumber; token <<= 8 * sizeof(uint); uint nonce = rand.Next(100000000, 999999999); token |= nonce; var encoder = new CrockfordBase32Encoding(); result = encoder.Encode(token, false); }while (result.ContainsAny(profanityList.ToArray()) || !(await IsActivationCodeUnique(result))); return(result); }
public void CrockfordBase32Encoding_Decode_ShouldReturnExpectedResult(ulong number, string encodedString, string checkDigit) { var actual = new CrockfordBase32Encoding().Decode(encodedString, false); Assert.Equal(number, actual); }
public void CrockfordBase32Encoding_Encode_ShouldReturnExpectedResultWithCheckDigit(ulong number, string encodedString, string checkDigit) { var actual = new CrockfordBase32Encoding().Encode(number, true); Assert.Equal(encodedString + checkDigit, actual); }
public void CrockfordBase32Encoding_Decode_ShouldReturnNullForInvalidCheckDigit(ulong number, string encodedString, string checkDigit) { var actual = new CrockfordBase32Encoding().Decode(encodedString + '#', true); Assert.Null(actual); }
public DirectoryRepresentation(uint seed, int folderDepth) : base(new Uri("MetaFolder.System.IO.FolderRepresentation")) { _HashAlgorithm = MurmurHash.Create128(seed); _Encoding = new CrockfordBase32Encoding(); _FolderDepth = folderDepth; }