@@ -0,0 +1,2762 @@
+/*%0A *  Licensed to the Apache Software Foundation (ASF) under one%0A *  or more contributor license agreements.  See the NOTICE file%0A *  distributed with this work for additional information%0A *  regarding copyright ownership.  The ASF licenses this file%0A *  to you under the Apache License, Version 2.0 (the%0A *  %22License%22); you may not use this file except in compliance%0A *  with the License.  You may obtain a copy of the License at%0A *%0A *       http://www.apache.org/licenses/LICENSE-2.0%0A *%0A *  Unless required by applicable law or agreed to in writing, software%0A *  distributed under the License is distributed on an %22AS IS%22 BASIS,%0A *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A *  See the License for the specific language governing permissions and%0A *  limitations under the License.%0A */%0Apackage org.apache.polygene.serialization.javaxjson;%0A%0Aimport org.apache.polygene.api.injection.scope.Service;%0Aimport org.apache.polygene.api.property.Property;%0Aimport org.apache.polygene.api.serialization.Deserializer;%0Aimport org.apache.polygene.bootstrap.ModuleAssembly;%0Aimport org.apache.polygene.serialization.javaxjson.assembly.JavaxJsonSerializationAssembler;%0Aimport org.apache.polygene.test.AbstractPolygeneTest;%0Aimport org.apache.polygene.test.util.NotYetImplemented;%0Aimport org.junit.Test;%0A%0Aimport static org.hamcrest.Matchers.equalTo;%0Aimport static org.junit.Assert.assertThat;%0A%0Apublic class HandCraftedJsonTest extends AbstractPolygeneTest%0A%7B%0A    @Override%0A    public void assemble( ModuleAssembly module )%0A    %7B%0A        new JavaxJsonSerializationAssembler().assemble( module );%0A        module.values( SomeValue.class );%0A    %7D%0A%0A    public interface SomeValue%0A    %7B%0A        Property%3CString%3E foo();%0A    %7D%0A%0A    @Service%0A    private Deserializer deserializer;%0A%0A    @Test%0A    public void canReadSingleLineJson()%0A    %7B%0A        String json = %22  %7B  %5C%22foo%5C%22  :  %5C%22bar%5C%22  %7D  %22;%0A        assertThat( deserializer.deserialize( module, SomeValue.class, json ).foo().get(),%0A                    equalTo( %22bar%22 ) );%0A    %7D%0A%0A    @Test%0A    public void canReadFormattedMultiLineJson()%0A    %7B%0A        String json = %22  %5Cn %7B  %5Cn%5Ct%5C%22foo%5C%22  :  %5C%22bar%5C%22  %5Cn %7D%5Cn  %22;%0A        assertThat( deserializer.deserialize( module, SomeValue.class, json ).foo().get(),%0A                    equalTo( %22bar%22 ) );%0A    %7D%0A%0A    @Test%0A    @NotYetImplemented( reason = %22need to manage javax.json providers and properties first, could work with Johnzon%22 )%0A    // See org.apache.johnzon.supports-comments%0A    public void canReadCommentedJson()%0A    %7B%0A        String json = %22// One comment%5Cn %7B  %5Cn%5Ct%5C%22foo%5C%22  :  %5C%22bar%5C%22  %5Cn/* Two comments */ %7D%5Cn  %22;%0A        assertThat( deserializer.deserialize( module, SomeValue.class, json ).foo().get(),%0A                    equalTo( %22bar%22 ) );%0A    %7D%0A%7D%0A

Add HandCraftedJsonTest