package br.com.caelum.vraptor.serialization.gson; import static org.junit.Assert.assertEquals; import java.lang.reflect.Type; import javax.enterprise.context.RequestScoped; import javax.inject.Inject; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; import br.com.caelum.vraptor.WeldJunitRunner; @RunWith(WeldJunitRunner.class) public class GsonBuilderWrapperTest { private @Inject GsonBuilderWrapper builder; private Gson gson; @Before public void init(){ gson = builder.create(); } @Test public void test() { String json = gson.toJson(new Bean()); assertEquals("{\"test123\":{}}", json); } } class Bean{ } @RegisterStrategy(RegisterType.SINGLE) @RequestScoped class BeanSerializer implements JsonSerializer<Bean> { private static final JsonObject element = new JsonObject(); static{ element.add("test123", new JsonObject()); } @Override public JsonElement serialize(Bean src, Type typeOfSrc, JsonSerializationContext context) { return element; } }