// Path: matrix/src/test/java/net/onedaybeard/ecs/component/Position.java
// public class Position extends Component {
// }
// 
// Path: matrix/src/test/java/net/onedaybeard/ecs/component/Velocity.java
// public class Velocity extends Component {
// }
// 
// Path: matrix/src/test/java/net/onedaybeard/ecs/factory/FactoryA.java
// @Bind({Position.class, Velocity.class})
// public interface FactoryA extends EntityFactory<FactoryA> {
// 	@Bind(ExtPosition.class) FactoryA extPos();
// }
// 
// Path: matrix/src/test/java/net/onedaybeard/ecs/manager/SomeManager.java
// public class SomeManager extends Manager {
// 	private FactoryA factory;
// 	private SomeSystem someSystem;
// }
// 
// Path: matrix/src/test/java/net/onedaybeard/ecs/model/TestHelper.java
// public class TestHelper {
// 	private TestHelper() {}
// 
// 	public static File classRootPath() {
// 		return new File("target/test-classes").getAbsoluteFile();
// 	}
// }
// 
// Path: matrix/src/test/java/net/onedaybeard/ecs/system/AnotherSystem.java
// @Wire
// public class AnotherSystem extends EntityProcessingSystem {
// 
// 	private ExtSomeSystem someSystem;
// 
// 	public AnotherSystem() {
// 		super(Aspect.getAspectForAll(Position.class).one( Velocity.class));
// 	}
// 
// 	@Override
// 	protected void process(Entity e) {}
// }
// 
// Path: matrix/src/test/java/net/onedaybeard/ecs/system/EmptySystem.java
// public class EmptySystem extends VoidEntitySystem {
// 	@Override
// 	protected void processSystem() {}
// }
// 
// Path: matrix/src/test/java/net/onedaybeard/ecs/system/SomeSystem.java
// public class SomeSystem extends EntityProcessingSystem {
// 	private SomeManager someManager;
// 	private AnotherSystem anotherSystem;
// 
// 	public SomeSystem() {
// 		super(Aspect.getAspectForAll(ExtPosition.class).exclude(Position.class));
// 	}
// 
// 	@Override
// 	protected void process(Entity e) {}
// }
// 
// Path: matrix/src/test/java/net/onedaybeard/ecs/system/ExtSomeSystem.java
// public class ExtSomeSystem extends SomeSystem {}
// 
// Path: matrix/src/main/java/net/onedaybeard/ecs/model/scan/TypeConfiguration.java
// static Type type(Class<?> klazz) {
// 	return type(klazz.getName());
// }


import net.onedaybeard.ecs.component.ExtPosition;
import net.onedaybeard.ecs.component.Position;
import net.onedaybeard.ecs.component.Velocity;
import net.onedaybeard.ecs.factory.FactoryA;
import net.onedaybeard.ecs.manager.SomeManager;
import net.onedaybeard.ecs.model.TestHelper;
import net.onedaybeard.ecs.system.AnotherSystem;
import net.onedaybeard.ecs.system.EmptySystem;
import net.onedaybeard.ecs.system.SomeSystem;
import net.onedaybeard.ecs.system.ExtSomeSystem;
import org.junit.BeforeClass;
import org.junit.Test;
import org.objectweb.asm.Type;
import java.util.*;
import static net.onedaybeard.ecs.model.scan.TypeConfiguration.type;
import static org.junit.Assert.assertEquals;
package net.onedaybeard.ecs.model.scan;




public final class ConfigurationResolverTest {
	private static ConfigurationResolver resolver;

	@BeforeClass
	public static void setup() {
		resolver = new ConfigurationResolver(TestHelper.classRootPath(), "");
		resolver.clearDefaultTypes();
	}

	@Test
	public void systemIntrospectionTest() {
// Path: matrix/src/test/java/net/onedaybeard/ecs/component/Position.java
// public class Position extends Component {
// }
// 
// Path: matrix/src/test/java/net/onedaybeard/ecs/component/Velocity.java
// public class Velocity extends Component {
// }
// 
// Path: matrix/src/test/java/net/onedaybeard/ecs/factory/FactoryA.java
// @Bind({Position.class, Velocity.class})
// public interface FactoryA extends EntityFactory<FactoryA> {
// 	@Bind(ExtPosition.class) FactoryA extPos();
// }
// 
// Path: matrix/src/test/java/net/onedaybeard/ecs/manager/SomeManager.java
// public class SomeManager extends Manager {
// 	private FactoryA factory;
// 	private SomeSystem someSystem;
// }
// 
// Path: matrix/src/test/java/net/onedaybeard/ecs/model/TestHelper.java
// public class TestHelper {
// 	private TestHelper() {}
// 
// 	public static File classRootPath() {
// 		return new File("target/test-classes").getAbsoluteFile();
// 	}
// }
// 
// Path: matrix/src/test/java/net/onedaybeard/ecs/system/AnotherSystem.java
// @Wire
// public class AnotherSystem extends EntityProcessingSystem {
// 
// 	private ExtSomeSystem someSystem;
// 
// 	public AnotherSystem() {
// 		super(Aspect.getAspectForAll(Position.class).one( Velocity.class));
// 	}
// 
// 	@Override
// 	protected void process(Entity e) {}
// }
// 
// Path: matrix/src/test/java/net/onedaybeard/ecs/system/EmptySystem.java
// public class EmptySystem extends VoidEntitySystem {
// 	@Override
// 	protected void processSystem() {}
// }
// 
// Path: matrix/src/test/java/net/onedaybeard/ecs/system/SomeSystem.java
// public class SomeSystem extends EntityProcessingSystem {
// 	private SomeManager someManager;
// 	private AnotherSystem anotherSystem;
// 
// 	public SomeSystem() {
// 		super(Aspect.getAspectForAll(ExtPosition.class).exclude(Position.class));
// 	}
// 
// 	@Override
// 	protected void process(Entity e) {}
// }
// 
// Path: matrix/src/test/java/net/onedaybeard/ecs/system/ExtSomeSystem.java
// public class ExtSomeSystem extends SomeSystem {}
// 
// Path: matrix/src/main/java/net/onedaybeard/ecs/model/scan/TypeConfiguration.java
// static Type type(Class<?> klazz) {
// 	return type(klazz.getName());
// }


// Path: matrix/src/test/java/net/onedaybeard/ecs/model/scan/ConfigurationResolverTest.java
import net.onedaybeard.ecs.component.ExtPosition;
import net.onedaybeard.ecs.component.Position;
import net.onedaybeard.ecs.component.Velocity;
import net.onedaybeard.ecs.factory.FactoryA;
import net.onedaybeard.ecs.manager.SomeManager;
import net.onedaybeard.ecs.model.TestHelper;
import net.onedaybeard.ecs.system.AnotherSystem;
import net.onedaybeard.ecs.system.EmptySystem;
import net.onedaybeard.ecs.system.SomeSystem;
import net.onedaybeard.ecs.system.ExtSomeSystem;
import org.junit.BeforeClass;
import org.junit.Test;
import org.objectweb.asm.Type;
import java.util.*;
import static net.onedaybeard.ecs.model.scan.TypeConfiguration.type;
import static org.junit.Assert.assertEquals;

package net.onedaybeard.ecs.model.scan;




public final class ConfigurationResolverTest {
	private static ConfigurationResolver resolver;

	@BeforeClass
	public static void setup() {
		resolver = new ConfigurationResolver(TestHelper.classRootPath(), "");
		resolver.clearDefaultTypes();
	}

	@Test
	public void systemIntrospectionTest() {
		assertTypes(