// Path: rsimulator-socket/src/main/java/com/github/bjuvensjo/rsimulator/socket/config/GlobalConfig.java
// public class GlobalConfig {
//     public static int port;
//     public static String rootPath;
//     public static boolean useRootRelativePath;
// 
//     static {
//         port = System.getProperty(Constants.PORT) != null ? Integer.parseInt(System
//                 .getProperty(Constants.PORT)) : Constants.DEFAULT_PORT;
// 
//         rootPath = System.getProperty(Constants.ROOT_PATH) != null ? System.getProperty(Constants.ROOT_PATH)
//                 : Constants.DEFAULT_ROOT_PATH;
// 
//         useRootRelativePath = System.getProperty(Constants.USE_ROOT_RELATIVE_PATH) != null && "true".equals(System
//                 .getProperty(Constants.USE_ROOT_RELATIVE_PATH));
//     }
// 
//     private GlobalConfig() {
//         // noop
//     }
// }
// 
// Path: rsimulator-socket/src/main/java/com/github/bjuvensjo/rsimulator/socket/config/SocketModule.java
// public class SocketModule extends AbstractModule {
// 
//     /*
//      * (non-Javadoc)
//      *
//      * @see com.google.inject.AbstractModule#configure()
//      */
//     @Override
//     protected void configure() {
//         bind(new TypeLiteral<String>() {
//         }).annotatedWith(Names.named("simulatorContentType")).toInstance("txt");
// 
//         bind(new TypeLiteral<String>() {
//         }).annotatedWith(Names.named("encoding")).toInstance("Cp278");
// 
//         bind(new TypeLiteral<Integer>() {
//         }).annotatedWith(Names.named("headerLength")).toInstance(48);
// 
//         bind(new TypeLiteral<Integer>() {
//         }).annotatedWith(Names.named("headerBodyLengthBeginIndex")).toInstance(4);
// 
//         bind(new TypeLiteral<Integer>() {
//         }).annotatedWith(Names.named("headerBodyLengthEndIndex")).toInstance(8);
//     }
// }


import com.github.bjuvensjo.rsimulator.socket.config.GlobalConfig;
import com.github.bjuvensjo.rsimulator.socket.config.SocketModule;
import com.google.inject.Guice;
import com.google.inject.Inject;
import com.google.inject.Injector;
import com.google.inject.name.Named;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
import static org.junit.jupiter.api.Assertions.assertEquals;
package com.github.bjuvensjo.rsimulator.socket;




public class SocketSimulatorIT {

    @Inject
    @Named("encoding")
    private String encoding;

    @BeforeEach
    public void init() {
// Path: rsimulator-socket/src/main/java/com/github/bjuvensjo/rsimulator/socket/config/GlobalConfig.java
// public class GlobalConfig {
//     public static int port;
//     public static String rootPath;
//     public static boolean useRootRelativePath;
// 
//     static {
//         port = System.getProperty(Constants.PORT) != null ? Integer.parseInt(System
//                 .getProperty(Constants.PORT)) : Constants.DEFAULT_PORT;
// 
//         rootPath = System.getProperty(Constants.ROOT_PATH) != null ? System.getProperty(Constants.ROOT_PATH)
//                 : Constants.DEFAULT_ROOT_PATH;
// 
//         useRootRelativePath = System.getProperty(Constants.USE_ROOT_RELATIVE_PATH) != null && "true".equals(System
//                 .getProperty(Constants.USE_ROOT_RELATIVE_PATH));
//     }
// 
//     private GlobalConfig() {
//         // noop
//     }
// }
// 
// Path: rsimulator-socket/src/main/java/com/github/bjuvensjo/rsimulator/socket/config/SocketModule.java
// public class SocketModule extends AbstractModule {
// 
//     /*
//      * (non-Javadoc)
//      *
//      * @see com.google.inject.AbstractModule#configure()
//      */
//     @Override
//     protected void configure() {
//         bind(new TypeLiteral<String>() {
//         }).annotatedWith(Names.named("simulatorContentType")).toInstance("txt");
// 
//         bind(new TypeLiteral<String>() {
//         }).annotatedWith(Names.named("encoding")).toInstance("Cp278");
// 
//         bind(new TypeLiteral<Integer>() {
//         }).annotatedWith(Names.named("headerLength")).toInstance(48);
// 
//         bind(new TypeLiteral<Integer>() {
//         }).annotatedWith(Names.named("headerBodyLengthBeginIndex")).toInstance(4);
// 
//         bind(new TypeLiteral<Integer>() {
//         }).annotatedWith(Names.named("headerBodyLengthEndIndex")).toInstance(8);
//     }
// }


// Path: rsimulator-socket/src/test/java/com/github/bjuvensjo/rsimulator/socket/SocketSimulatorIT.java
import com.github.bjuvensjo.rsimulator.socket.config.GlobalConfig;
import com.github.bjuvensjo.rsimulator.socket.config.SocketModule;
import com.google.inject.Guice;
import com.google.inject.Inject;
import com.google.inject.Injector;
import com.google.inject.name.Named;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
import static org.junit.jupiter.api.Assertions.assertEquals;

package com.github.bjuvensjo.rsimulator.socket;




public class SocketSimulatorIT {

    @Inject
    @Named("encoding")
    private String encoding;

    @BeforeEach
    public void init() {
        Injector injector = Guice.createInjector(new SocketModule());