public void SingleStringTest()
 {
     string source = @"Foo eq 'Bar'";
     var target = new StringExtractor(source);
     Assert.AreEqual("Foo eq ?0", target.ModifedString);
     Assert.AreEqual("Bar", target.GetValue("?0"));
 }
 public void NothingButEscapedQuotesTest()
 {
     string source = @"Foo eq '\'\'\'\''";
     var target = new StringExtractor(source);
     Assert.AreEqual("Foo eq ?0", target.ModifedString);
     Assert.AreEqual(@"''''", target.GetValue("?0"));
 }
 public void EscapedQuoteTest()
 {
     string source = @"Foo eq 'B\'ar'";
     var target = new StringExtractor(source);
     Assert.AreEqual("Foo eq ?0", target.ModifedString);
     Assert.AreEqual(@"B'ar", target.GetValue("?0"));
 }
 public static IEnumerable<Tuple<PropertyReference, string>> GetNonEqExpressions(string index)
 {
     var strings = new StringExtractor(index);
     var fix = WhitespaceFixer.Fix(strings.ModifedString);
     return GetBlocksOfThree(fix)
         .Where(tuple => !tuple.Item2.Equals("eq", StringComparison.OrdinalIgnoreCase))
         .Select(tuple => Tuple.Create(new PropertyReference(tuple.Item1), tuple.Item3.StartsWith("?") ? strings.GetValue(tuple.Item3) : tuple.Item3));
 }
 public void TwoStringsTest()
 {
     string source = @"Foo eq 'Bar' and Quux eq 'Wibble'";
     var target = new StringExtractor(source);
     Assert.AreEqual("Foo eq ?0 and Quux eq ?1", target.ModifedString);
     Assert.AreEqual("Bar", target.GetValue("?0"));
     Assert.AreEqual("Wibble", target.GetValue("?1"));
 }
        public static IEnumerable <Tuple <PropertyReference, string> > GetNonEqExpressions(string index)
        {
            var strings = new StringExtractor(index);
            var fix     = WhitespaceFixer.Fix(strings.ModifedString);

            return(GetBlocksOfThree(fix)
                   .Where(tuple => !tuple.Item2.Equals("eq", StringComparison.OrdinalIgnoreCase))
                   .Select(tuple => Tuple.Create(new PropertyReference(tuple.Item1), tuple.Item3.StartsWith("?") ? strings.GetValue(tuple.Item3) : tuple.Item3)));
        }