public void Decode_StringWithoutVariables_ReturnsStringUnmodified(string input)
        {
            var vcd = new ConfigurationVariablesJsonStringDecoder(Enumerable.Empty <IConfigurationVariables>());

            var output = vcd.Decode(input);

            Assert.That(output, Is.EqualTo(input));
        }
        public void Decode_StringWithVariables_ReturnsDecodedString(string input, string expected)
        {
            var cv1 = Substitute.For <IConfigurationVariables>();

            cv1.Prefix.Returns("sys");
            cv1.TryGetValue("sys.Variable1").Returns((true, "Value1"));
            cv1.TryGetValue("sys.Variable2").Returns((true, "Value2"));
            var vcd = new ConfigurationVariablesJsonStringDecoder(new[] { cv1 });

            var output = vcd.Decode(input);

            Assert.That(output, Is.EqualTo(expected));
        }