// Path: src/main/java/com/insightfullogic/multiinherit/api/MultiModule.java
// public class MultiModule extends AbstractModule {
// 
// 	private final Class<?>[] classes;
// 	private final boolean useGeneration;
// 	private final boolean dumpClasses;
// 
// 	public MultiModule(final boolean useGeneration, final Class<?>... classes) {
// 		this(useGeneration, false, classes);
// 	}
// 
// 	public MultiModule(final boolean useGeneration, final boolean dumpClasses, final Class<?>... classes) {
// 		if (!useGeneration && dumpClasses) {
// 			throw new IllegalArgumentException("You cannot dump the generate class files if you're not generating class files");
// 		}
// 		this.classes = classes;
// 		this.useGeneration = useGeneration;
// 		this.dumpClasses = dumpClasses;
// 	}
// 
// 	@SuppressWarnings({ "rawtypes", "unchecked" })
// 	private void bindMulti(final Class<?>... classes) {
// 		if (useGeneration) {
// 			bind(MultiInjector.class).to(GenerationMultiInjector.class);
// 			bind(Boolean.class).annotatedWith(Names.named("dump")).toInstance(dumpClasses);
// 		} else {
// 			bind(MultiInjector.class).to(ReflectionMultiInjector.class);
// 		}
// 		for (final Class cls : classes) {
// 			bind(cls).toProvider(new MultiProvider(cls));
// 		}
// 	}
// 
// 	@Override
// 	protected void configure() {
// 		bindMulti(classes);
// 	}
// 
// }
// 
// Path: src/test/java/com/insightfullogic/multiinherit/simple/Combined.java
// public interface Combined extends A, B {
// 
// }


import static junit.framework.Assert.assertEquals;
import org.junit.Test;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.insightfullogic.multiinherit.api.MultiModule;
import com.insightfullogic.multiinherit.simple.Combined;
package com.insightfullogic.multiinherit.hierachy;




public class TestHierachyCases {

	@Test
// Path: src/main/java/com/insightfullogic/multiinherit/api/MultiModule.java
// public class MultiModule extends AbstractModule {
// 
// 	private final Class<?>[] classes;
// 	private final boolean useGeneration;
// 	private final boolean dumpClasses;
// 
// 	public MultiModule(final boolean useGeneration, final Class<?>... classes) {
// 		this(useGeneration, false, classes);
// 	}
// 
// 	public MultiModule(final boolean useGeneration, final boolean dumpClasses, final Class<?>... classes) {
// 		if (!useGeneration && dumpClasses) {
// 			throw new IllegalArgumentException("You cannot dump the generate class files if you're not generating class files");
// 		}
// 		this.classes = classes;
// 		this.useGeneration = useGeneration;
// 		this.dumpClasses = dumpClasses;
// 	}
// 
// 	@SuppressWarnings({ "rawtypes", "unchecked" })
// 	private void bindMulti(final Class<?>... classes) {
// 		if (useGeneration) {
// 			bind(MultiInjector.class).to(GenerationMultiInjector.class);
// 			bind(Boolean.class).annotatedWith(Names.named("dump")).toInstance(dumpClasses);
// 		} else {
// 			bind(MultiInjector.class).to(ReflectionMultiInjector.class);
// 		}
// 		for (final Class cls : classes) {
// 			bind(cls).toProvider(new MultiProvider(cls));
// 		}
// 	}
// 
// 	@Override
// 	protected void configure() {
// 		bindMulti(classes);
// 	}
// 
// }
// 
// Path: src/test/java/com/insightfullogic/multiinherit/simple/Combined.java
// public interface Combined extends A, B {
// 
// }


// Path: src/test/java/com/insightfullogic/multiinherit/hierachy/TestHierachyCases.java
import static junit.framework.Assert.assertEquals;
import org.junit.Test;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.insightfullogic.multiinherit.api.MultiModule;
import com.insightfullogic.multiinherit.simple.Combined;

package com.insightfullogic.multiinherit.hierachy;




public class TestHierachyCases {

	@Test
	public void reallyCombined() {