// ------------------------------------------------------------ // Copyright ©2021 Eugene Fox. All rights reserved. // Code by Eugene Fox (aka XFox) // // Licensed under MIT license (https://opensource.org/licenses/MIT) // ------------------------------------------------------------ using System; using System.Text; using Microsoft.VisualStudio.TestTools.UnitTesting; using SimpleOTP.Helpers; namespace SimpleOTP.Test.Helpers { /// /// Unit-tests for Base32 encoder. /// [TestClass] public class Base32UnitTest { /// /// Test encoder with byte array. /// [TestMethod("Byte array Base32 encoder test")] public void EncoderTest() { byte[] bytes = new byte[new Random().Next(16, 20)]; new Random().NextBytes(bytes); string str = Base32Encoder.Encode(bytes); byte[] result = Base32Encoder.Decode(str); Assert.AreEqual(bytes.Length, result.Length); for (int i = 0; i < bytes.Length; i++) Assert.AreEqual(bytes[i], result[i]); } /// /// Test encoder with string content. /// [TestMethod("String Base32 encoder test")] public void EncoderStringTest() { string testStr = "Hello, World!"; string encodedStr = Base32Encoder.Encode(Encoding.UTF8.GetBytes(testStr)); byte[] resultBytes = Base32Encoder.Decode(encodedStr); string result = Encoding.UTF8.GetString(resultBytes); Assert.AreEqual(testStr, result); } } }