public void GetAlphanumeric_Regularly_ShouldReturnSameResultAsForUlong(long id)
        {
            var expectedResult = IdEncoder.GetAlphanumeric((ulong)id);

            var result = IdEncoder.GetAlphanumeric(id);

            Assert.Equal(expectedResult, result);
        }
        public void ToAlphanumeric_WithDecimal_ShouldMatchIdEncoderResult(decimal id)
        {
            var expectedResult = IdEncoder.GetAlphanumeric(id);

            var result = id.ToAlphanumeric();

            Assert.Equal(expectedResult, result);
        }
        public void ToAlphanumeric_WithUlongAndByteOutput_ShouldMatchIdEncoderResult(ulong id)
        {
            Span <byte> expectedOutput = stackalloc byte[11];

            IdEncoder.GetAlphanumeric(id, expectedOutput);

            Span <byte> output = stackalloc byte[11];

            id.ToAlphanumeric(output);

            Assert.True(output.SequenceEqual(expectedOutput));
        }
        private static bool[] CheckIfThrowsForAllEncodings(ulong id, byte[] bytes)
        {
            Span <char> chars = stackalloc char[bytes.Length];

            for (var i = 0; i < chars.Length; i++)
            {
                chars[i] = (char)bytes[i];
            }

            return(new[]
            {
                Throws(() => IdEncoder.GetAlphanumeric(id, bytes)),
                Throws(() => IdEncoder.GetAlphanumeric(id)),
            });
        }
        public void GetAlphanumeric_WithByteOutput_ShouldReturnSameResultAsWithStringOutput(long id)
        {
            Span <byte> expectedResult       = stackalloc byte[11];
            var         expectedResultString = IdEncoder.GetAlphanumeric(id);

            for (var i = 0; i < expectedResult.Length; i++)
            {
                expectedResult[i] = (byte)expectedResultString[i];
            }

            Span <byte> result = stackalloc byte[11];

            IdEncoder.GetAlphanumeric(id, result);

            Assert.True(result.SequenceEqual(expectedResult));
        }