// Path: library/src/main/java/fr/prcaen/externalresources/model/Resources.java
// @SuppressWarnings("unused") public final class Resources {
//   protected final ConcurrentHashMap<String, Resource> members;
// 
//   public Resources() {
//     this.members = new ConcurrentHashMap<>();
//   }
// 
//   public Resources(@NonNull ConcurrentHashMap<String, Resource> members) {
//     this.members = members;
//   }
// 
//   public static Resources from(Reader reader, Converter converter) throws IOException {
//     return converter.fromReader(reader);
//   }
// 
//   public static Resources from(String string, Converter converter) throws IOException {
//     return from(new StringReader(string), converter);
//   }
// 
//   public static Resources fromJson(Reader reader) throws IOException {
//     return from(reader, new JsonConverter());
//   }
// 
//   public static Resources fromJson(String string) throws IOException {
//     return from(string, new JsonConverter());
//   }
// 
//   public static Resources fromJson(InputStream reader) throws IOException {
//     return fromJson(new InputStreamReader(reader));
//   }
// 
//   public static Resources fromXml(Reader reader) throws IOException {
//     return from(reader, new XmlConverter());
//   }
// 
//   public static Resources fromXml(String string) throws IOException {
//     return from(string, new XmlConverter());
//   }
// 
//   public static Resources fromXml(InputStream reader) throws IOException {
//     return fromXml(new InputStreamReader(reader));
//   }
// 
//   public Resource add(String key, Resource value) {
//     return members.put(key, value);
//   }
// 
//   @NonNull protected Set<Entry<String, Resource>> entrySet() {
//     return members.entrySet();
//   }
// 
//   public boolean has(String key) {
//     return members.containsKey(key);
//   }
// 
//   public Resource get(String key) {
//     return members.get(key);
//   }
// 
//   public Resources merge(Resources resources) {
//     members.putAll(resources.members);
// 
//     return this;
//   }
// }


import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonPrimitive;
import fr.prcaen.externalresources.model.Resources;
import java.io.IOException;
import java.io.InputStreamReader;
import org.junit.Test;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;
package fr.prcaen.externalresources.converter;



public class JsonConverterTest {
  private final InputStreamReader resourcesSteamReader;
  private final JsonConverter.ResourceJsonDeserializer deserializer;

  public JsonConverterTest() throws IOException {
    this.resourcesSteamReader = new InputStreamReader(getClass().getResourceAsStream("/test.json"));
    this.deserializer = new JsonConverter.ResourceJsonDeserializer();
  }

  @SuppressWarnings("ConstantConditions") @Test public void testFromReader() throws Exception {
// Path: library/src/main/java/fr/prcaen/externalresources/model/Resources.java
// @SuppressWarnings("unused") public final class Resources {
//   protected final ConcurrentHashMap<String, Resource> members;
// 
//   public Resources() {
//     this.members = new ConcurrentHashMap<>();
//   }
// 
//   public Resources(@NonNull ConcurrentHashMap<String, Resource> members) {
//     this.members = members;
//   }
// 
//   public static Resources from(Reader reader, Converter converter) throws IOException {
//     return converter.fromReader(reader);
//   }
// 
//   public static Resources from(String string, Converter converter) throws IOException {
//     return from(new StringReader(string), converter);
//   }
// 
//   public static Resources fromJson(Reader reader) throws IOException {
//     return from(reader, new JsonConverter());
//   }
// 
//   public static Resources fromJson(String string) throws IOException {
//     return from(string, new JsonConverter());
//   }
// 
//   public static Resources fromJson(InputStream reader) throws IOException {
//     return fromJson(new InputStreamReader(reader));
//   }
// 
//   public static Resources fromXml(Reader reader) throws IOException {
//     return from(reader, new XmlConverter());
//   }
// 
//   public static Resources fromXml(String string) throws IOException {
//     return from(string, new XmlConverter());
//   }
// 
//   public static Resources fromXml(InputStream reader) throws IOException {
//     return fromXml(new InputStreamReader(reader));
//   }
// 
//   public Resource add(String key, Resource value) {
//     return members.put(key, value);
//   }
// 
//   @NonNull protected Set<Entry<String, Resource>> entrySet() {
//     return members.entrySet();
//   }
// 
//   public boolean has(String key) {
//     return members.containsKey(key);
//   }
// 
//   public Resource get(String key) {
//     return members.get(key);
//   }
// 
//   public Resources merge(Resources resources) {
//     members.putAll(resources.members);
// 
//     return this;
//   }
// }


// Path: library/src/test/java/fr/prcaen/externalresources/converter/JsonConverterTest.java
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonPrimitive;
import fr.prcaen.externalresources.model.Resources;
import java.io.IOException;
import java.io.InputStreamReader;
import org.junit.Test;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;

package fr.prcaen.externalresources.converter;



public class JsonConverterTest {
  private final InputStreamReader resourcesSteamReader;
  private final JsonConverter.ResourceJsonDeserializer deserializer;

  public JsonConverterTest() throws IOException {
    this.resourcesSteamReader = new InputStreamReader(getClass().getResourceAsStream("/test.json"));
    this.deserializer = new JsonConverter.ResourceJsonDeserializer();
  }

  @SuppressWarnings("ConstantConditions") @Test public void testFromReader() throws Exception {
    Resources resources = new JsonConverter().fromReader(resourcesSteamReader);