/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

/* $Rev$ $Date$ */

/**
 * Test JSON doc.
 */

namespace tuscany {
namespace json {

const string testBigDoc = "{\"feed\":{\"title\":\"Search Results\",\"id\":\"search\",\"entry\":[{\"title\":\"An empty app template\",\"id\":\"new\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"An empty test app\",\"id\":\"test\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Check my public social data\",\"id\":\"me360\",\"author\":\"admin@example.com\",\"updated\":\"Apr 28, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"nearme\",\"id\":\"nearme\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"nearme2\",\"id\":\"nearme2\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Our photos of an event\",\"id\":\"ourphotos\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"My online store\",\"id\":\"shoppingcart\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Slice\",\"id\":\"slice\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test animation components\",\"id\":\"testanimation\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test database components\",\"id\":\"testdb\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test event components\",\"id\":\"testevents\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test HTTP components\",\"id\":\"testhttp\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test logic components\",\"id\":\"testlogic\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test search components\",\"id\":\"testsearch\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test HTTP components\",\"id\":\"testhttp\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test social components\",\"id\":\"testsocial\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test text processing components\",\"id\":\"testtext\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test URL components\",\"id\":\"testurl\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test values and lists\",\"id\":\"testvalues\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test widgets\",\"id\":\"testwidgets\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test more widgets\",\"id\":\"testwidgets2\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test HTML generator components\",\"id\":\"testwidgets3\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"jsdtest\",\"id\":\"jsdtest\",\"author\":\"jsdelfino\",\"updated\":\"Jul 27, 2012\",\"content\":{\"stats\":{\"description\":\"Test app\"}}},{\"title\":\"SMS send service\",\"id\":\"twsms\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"boao\",\"id\":\"boao\",\"author\":\"jsdelfino\",\"updated\":\"2012-10-12T12:06:59+00:00\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"An empty test app\",\"id\":\"test\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"An empty app template\",\"id\":\"new\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"nearme\",\"id\":\"nearme\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"nearme2\",\"id\":\"nearme2\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Our photos of an event\",\"id\":\"ourphotos\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"My online store\",\"id\":\"shoppingcart\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Slice\",\"id\":\"slice\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test animation components\",\"id\":\"testanimation\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test database components\",\"id\":\"testdb\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test event components\",\"id\":\"testevents\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test social components\",\"id\":\"testsocial\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test HTTP components\",\"id\":\"testhttp\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test logic components\",\"id\":\"testlogic\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test search components\",\"id\":\"testsearch\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test HTTP components\",\"id\":\"testhttp\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test text processing components\",\"id\":\"testtext\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test URL components\",\"id\":\"testurl\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test values and lists\",\"id\":\"testvalues\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test widgets\",\"id\":\"testwidgets\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test more widgets\",\"id\":\"testwidgets2\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Test HTML generator components\",\"id\":\"testwidgets3\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"test9\",\"id\":\"test9\",\"author\":\"jsdelfino\",\"updated\":\"2012-09-25T06:17:18+00:00\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"SMS send service\",\"id\":\"twsms\",\"author\":\"admin@example.com\",\"updated\":\"Jan 01, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}},{\"title\":\"Check my public social data\",\"id\":\"me360\",\"author\":\"admin@example.com\",\"updated\":\"Apr 28, 2012\",\"content\":{\"stats\":{\"description\":\"Sample app\"}}}]}}";

const string testBigDoc2 = "{\"feed\":{\"title\":\"Search Results\",\"id\":\"search\",\"entry\":[{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"An empty app template\",\"id\":\"new\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"An empty test app\",\"id\":\"test\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Check my public social data\",\"id\":\"me360\",\"updated\":\"Apr 28, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"nearme\",\"id\":\"nearme\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"nearme2\",\"id\":\"nearme2\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Our photos of an event\",\"id\":\"ourphotos\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"My online store\",\"id\":\"shoppingcart\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Slice\",\"id\":\"slice\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test animation components\",\"id\":\"testanimation\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test database components\",\"id\":\"testdb\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test event components\",\"id\":\"testevents\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test HTTP components\",\"id\":\"testhttp\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test logic components\",\"id\":\"testlogic\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test search components\",\"id\":\"testsearch\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test HTTP components\",\"id\":\"testhttp\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test social components\",\"id\":\"testsocial\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test text processing components\",\"id\":\"testtext\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test URL components\",\"id\":\"testurl\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test values and lists\",\"id\":\"testvalues\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test widgets\",\"id\":\"testwidgets\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test more widgets\",\"id\":\"testwidgets2\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test HTML generator components\",\"id\":\"testwidgets3\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Test app\"}},\"title\":\"jsdtest\",\"id\":\"jsdtest\",\"updated\":\"Jul 27, 2012\",\"author\":\"jsdelfino\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"SMS send service\",\"id\":\"twsms\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"boao\",\"id\":\"boao\",\"updated\":\"2012-10-12T12:06:59+00:00\",\"author\":\"jsdelfino\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"An empty test app\",\"id\":\"test\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"An empty app template\",\"id\":\"new\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"nearme\",\"id\":\"nearme\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"nearme2\",\"id\":\"nearme2\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Our photos of an event\",\"id\":\"ourphotos\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"My online store\",\"id\":\"shoppingcart\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Slice\",\"id\":\"slice\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test animation components\",\"id\":\"testanimation\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test database components\",\"id\":\"testdb\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test event components\",\"id\":\"testevents\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test social components\",\"id\":\"testsocial\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test HTTP components\",\"id\":\"testhttp\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test logic components\",\"id\":\"testlogic\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test search components\",\"id\":\"testsearch\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test HTTP components\",\"id\":\"testhttp\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test text processing components\",\"id\":\"testtext\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test URL components\",\"id\":\"testurl\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test values and lists\",\"id\":\"testvalues\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test widgets\",\"id\":\"testwidgets\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test more widgets\",\"id\":\"testwidgets2\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Test HTML generator components\",\"id\":\"testwidgets3\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"test9\",\"id\":\"test9\",\"updated\":\"2012-09-25T06:17:18+00:00\",\"author\":\"jsdelfino\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"SMS send service\",\"id\":\"twsms\",\"updated\":\"Jan 01, 2012\",\"author\":\"admin@example.com\"},{\"content\":{\"stats\":{\"description\":\"Sample app\"}},\"title\":\"Check my public social data\",\"id\":\"me360\",\"updated\":\"Apr 28, 2012\",\"author\":\"admin@example.com\"}]}}";

}
}

