public void GetOtps_Returns3Otps()
        {
            var key  = TimeSensitivePassCode.GenerateSharedPrivateKey();
            var otps = TimeSensitivePassCode.GetOtps(key);

            Assert.AreEqual(3, otps.Count);
        }
        public void GetOtps_ReturnsOtpsWithLength6()
        {
            var key  = TimeSensitivePassCode.GenerateSharedPrivateKey();
            var otps = TimeSensitivePassCode.GetOtps(key);

            foreach (var otp in otps)
            {
                Assert.AreEqual(6, otp.Length);
            }
        }
        public void GenerateSharedPrivateKey_ReturnsA16CharKey()
        {
            var key = TimeSensitivePassCode.GenerateSharedPrivateKey();

            Assert.IsTrue(key.Length == 16);
        }
        public void GenerateSharedPrivateKey_ReturnsKeyWithPermittedChars()
        {
            var key = TimeSensitivePassCode.GenerateSharedPrivateKey();

            Assert.IsTrue(key.All(c => _permittedChars.Contains(c)));
        }
        public void GenerateSharedPrivateKey_ReturnNonEmptyKey()
        {
            var key = TimeSensitivePassCode.GenerateSharedPrivateKey();

            Assert.IsFalse(string.IsNullOrWhiteSpace(key));
        }