public void ThrowsCircularDependencyExceptionForInvalidTypeRequestPath()
{
var serviceLocator = IoCFactory.CreateServiceLocator();
var typeFactory = serviceLocator.ResolveType<ITypeFactory>();
serviceLocator.RegisterType<X>();
serviceLocator.RegisterType<Y>();
serviceLocator.RegisterType<Z>();
var ex = ExceptionTester.CallMethodAndExpectException<CircularDependencyException>(() => typeFactory.CreateInstance<X>());
Assert.AreEqual(4, ex.TypePath.AllTypes.Length);
Assert.AreEqual(typeof(X), ex.TypePath.FirstType.Type);
Assert.AreEqual(typeof(X), ex.TypePath.LastType.Type);
}
}