// Path: graphql-testdata/src/main/java/org/example/graphql/testdata/utils/MapBuilder.java
// public static <K, V> Map.Entry<K, V> entry(K key, V value) {
//     return new AbstractMap.SimpleEntry<>(key, value);
// }
// 
// Path: graphql-testdata/src/main/java/org/example/graphql/testdata/utils/MapBuilder.java
// @SafeVarargs
// public static <K, V> Map<K, V> immutableMapOf(Map.Entry<K, V> ...entries) {
//     return Collections.unmodifiableMap(mapOf(entries));
// }


import graphql.schema.DataFetcher;
import graphql.schema.TypeResolver;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static org.example.graphql.testdata.utils.MapBuilder.entry;
import static org.example.graphql.testdata.utils.MapBuilder.immutableMapOf;
/*
 * Copyright (c) 2016 The original author or authors
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * and Apache License v2.0 which accompanies this distribution.
 *
 *      The Eclipse Public License is available at
 *      http://www.eclipse.org/legal/epl-v10.html
 *
 *      The Apache License v2.0 is available at
 *      http://www.opensource.org/licenses/apache2.0.php
 *
 * You may elect to redistribute this code under either of these licenses.
 */

package org.example.graphql.testdata.starwars;




/**
 * Test data converted from:
 * https://github.com/graphql-java/graphql-java/blob/master/src/test/groovy/graphql/StarWarsData.groovy
 *
 * @author <a href="https://github.com/aschrijver/">Arnold Schrijver</a>
 */
public interface HumanData {

    Map<String, Object> luke = immutableMapOf(
            entry("id", "100"),
            entry("name", "Luke Skywalker"),
            entry("friends", Collections.unmodifiableList(Arrays.asList("1002", "1003", "2000", "2001"))),
            entry("appearsIn", Collections.unmodifiableList(Arrays.asList(4, 5, 6))),
            entry("homePlanet", "Tatooine")
    );

    Map<String, Object> vader = immutableMapOf(
            entry("id", "1001"),
            entry("name", "Darth Vader"),
            entry("friends", "1004"),
            entry("appearsIn", Collections.unmodifiableList(Arrays.asList(4, 5, 6))),
            entry("homePlanet", "Tatooine")
    );

    Map<String, Object> han = immutableMapOf(
            entry("id", "1002"),
            entry("name", "Han Solo"),
            entry("friends", Collections.unmodifiableList(Arrays.asList("1000", "1003", "2001"))),
// Path: graphql-testdata/src/main/java/org/example/graphql/testdata/utils/MapBuilder.java
// public static <K, V> Map.Entry<K, V> entry(K key, V value) {
//     return new AbstractMap.SimpleEntry<>(key, value);
// }
// 
// Path: graphql-testdata/src/main/java/org/example/graphql/testdata/utils/MapBuilder.java
// @SafeVarargs
// public static <K, V> Map<K, V> immutableMapOf(Map.Entry<K, V> ...entries) {
//     return Collections.unmodifiableMap(mapOf(entries));
// }


// Path: graphql-testdata/src/main/java/org/example/graphql/testdata/starwars/HumanData.java
import graphql.schema.DataFetcher;
import graphql.schema.TypeResolver;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static org.example.graphql.testdata.utils.MapBuilder.entry;
import static org.example.graphql.testdata.utils.MapBuilder.immutableMapOf;

/*
 * Copyright (c) 2016 The original author or authors
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * and Apache License v2.0 which accompanies this distribution.
 *
 *      The Eclipse Public License is available at
 *      http://www.eclipse.org/legal/epl-v10.html
 *
 *      The Apache License v2.0 is available at
 *      http://www.opensource.org/licenses/apache2.0.php
 *
 * You may elect to redistribute this code under either of these licenses.
 */

package org.example.graphql.testdata.starwars;




/**
 * Test data converted from:
 * https://github.com/graphql-java/graphql-java/blob/master/src/test/groovy/graphql/StarWarsData.groovy
 *
 * @author <a href="https://github.com/aschrijver/">Arnold Schrijver</a>
 */
public interface HumanData {

    Map<String, Object> luke = immutableMapOf(
            entry("id", "100"),
            entry("name", "Luke Skywalker"),
            entry("friends", Collections.unmodifiableList(Arrays.asList("1002", "1003", "2000", "2001"))),
            entry("appearsIn", Collections.unmodifiableList(Arrays.asList(4, 5, 6))),
            entry("homePlanet", "Tatooine")
    );

    Map<String, Object> vader = immutableMapOf(
            entry("id", "1001"),
            entry("name", "Darth Vader"),
            entry("friends", "1004"),
            entry("appearsIn", Collections.unmodifiableList(Arrays.asList(4, 5, 6))),
            entry("homePlanet", "Tatooine")
    );

    Map<String, Object> han = immutableMapOf(
            entry("id", "1002"),
            entry("name", "Han Solo"),
            entry("friends", Collections.unmodifiableList(Arrays.asList("1000", "1003", "2001"))),
            entry("appearsIn", Collections.unmodifiableList(Arrays.asList(4, 5, 6)))