public void U8EscapeSequenceIsExtracted()
 {
     String input = "\"" + @"some\UABCD1234string" + "\"";
       var parser = new BasicCStringScanner(input);
       Assert.Equal(new StringPart(5,10), parser.Next());
       Assert.Equal(null, parser.Next());
 }
 public void EscapeInSingleQuotesIsExtracted()
 {
     String input = @"'some\rstring'";
       var parser = new BasicCStringScanner(input);
       Assert.Equal(new StringPart(5,2), parser.Next());
       Assert.Equal(null, parser.Next());
 }
 public void EscapedBackslashIsExtractedCorrectly()
 {
     String input = "\"" + @"some\\string" + "\"";
       var parser = new BasicCStringScanner(input);
       Assert.Equal(new StringPart(5,2), parser.Next());
       Assert.Equal(null, parser.Next());
 }
 public void TwoSeparateEscapeSequencesAreExtracted()
 {
     String input = "\"" + @"some\rother\nstring" + "\"";
       var parser = new BasicCStringScanner(input);
       Assert.Equal(new StringPart(5,2), parser.Next());
       Assert.Equal(new StringPart(12,2), parser.Next());
       Assert.Equal(null, parser.Next());
 }
 public void NoEscapesReturnsNull()
 {
     String input = "\"some string\"";
       var parser = new BasicCStringScanner(input);
       Assert.Equal(null, parser.Next());
 }