public void Encode_ReturnsPlainTextComponentValue()
        {
            var encoder = new PlainTextDeviceIdComponentEncoder();

            var component = new DeviceIdComponent("Name", "Value");

            encoder.Encode(component).Should().Be("Value");
        }
        public void Encode_MD5_Base64Url_ReturnsHashedComponentValue()
        {
            var encoder = new HashDeviceIdComponentEncoder(() => MD5.Create(), new Base64UrlByteArrayEncoder());

            var component = new DeviceIdComponent("Name", "Value");

            encoder.Encode(component).Should().Be("aJICQJ5IdDuRRxP5bZOUfA");
        }
        public void Encode_SHA256_Base64Url_ReturnsHashedComponentValue()
        {
            var encoder = new HashDeviceIdComponentEncoder(() => SHA256.Create(), new Base64UrlByteArrayEncoder());

            var component = new DeviceIdComponent("Name", "Value");

            encoder.Encode(component).Should().Be("jjeVPSPayl_wG4KCwz9OCiFS8dGIX5TAZBhhfj7h0k4");
        }
        public void Encode_MD5_Hex_ReturnsHashedComponentValue()
        {
            var encoder = new HashDeviceIdComponentEncoder(() => MD5.Create(), new HexByteArrayEncoder());

            var component = new DeviceIdComponent("Name", "Value");

            encoder.Encode(component).Should().Be("689202409e48743b914713f96d93947c");
        }
        public void Encode_SHA256_Hex_ReturnsHashedComponentValue()
        {
            var encoder = new HashDeviceIdComponentEncoder(() => SHA256.Create(), new HexByteArrayEncoder());

            var component = new DeviceIdComponent("Name", "Value");

            encoder.Encode(component).Should().Be("8e37953d23daca5ff01b8282c33f4e0a2152f1d1885f94c06418617e3ee1d24e");
        }