### Question:
TDJSONParser { static char skipSpaceAndComments(CharSource src) { while (src.skipSpacesAndReturns()) { char c = src.peek(); if (c == '#') { if (src.skipUntil("\n")) src.skip(1); continue; } if (c != '/' || src.isEof(1)) return c; char c1 = src.peek(1); switch (c1) { case '/': if (src.skipUntil("\n")) src.skip(1); break; case '*': src.skip(2); src.skipUntilMatch("*/", true); break; default: return c1; } } return EOF; }  static TDJSONParser get(); TDNode parse(String str); TDNode parse(String str, TDJSONParserOption opt); TDNode parse(Reader reader); TDNode parse(Reader reader, TDJSONParserOption opt); TDNode parse(CharSource src, TDJSONParserOption opt); TDNode parse(CharSource src, TDJSONParserOption opt, TDNode node); final static InjectableInstance<TDJSONParser> instance; }### Answer:
@Test public void testSkipSpaceAndComments() { ArrayCharSource in = new ArrayCharSource(" assertEquals('a', TDJSONParser.skipSpaceAndComments(in)); assertEquals("abc", in.read(3)); in = new ArrayCharSource(" #abcd \n # defghi \n abc"); assertEquals('a', TDJSONParser.skipSpaceAndComments(in)); assertEquals("abc", in.read(3)); in = new ArrayCharSource(" \n \n abc"); assertEquals('a', TDJSONParser.skipSpaceAndComments(in)); assertEquals("abc", in.read(3)); }