public void Dispose_IsIdempotent() { var serviceProvider = RuntimeServiceProvider.Create(_baseDirectoryPath); serviceProvider.Dispose(); serviceProvider.Dispose(); }
public void GetExportedValues_ThrowsIfDisposed() { var serviceProvider = RuntimeServiceProvider.Create(_baseDirectoryPath); serviceProvider.Dispose(); Assert.Throws <ObjectDisposedException>(() => serviceProvider.GetExportedValues <ExportedType>()); }
public void Create_HandlesNonexistentDirectoryPath() { var baseDirectoryPath = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); var serviceProvider = RuntimeServiceProvider.Create(baseDirectoryPath); Assert.NotNull(serviceProvider); }
private static IEnumerable <T> GetAddInServices <T>() { var addInsDirectoryPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "add-ins"); using (var serviceProvider = RuntimeServiceProvider.Create(addInsDirectoryPath)) { return(serviceProvider.GetExportedValues <T>()); } }
public void GetExportedValues_ReturnsEmptyEnumerableForNonExportedType() { using (var serviceProvider = RuntimeServiceProvider.Create(_baseDirectoryPath)) { var services = serviceProvider.GetExportedValues <NonExportedType>(); Assert.NotNull(services); Assert.Empty(services); } }
public void GetExportedValues_ReturnsInstanceForExportedType() { using (var serviceProvider = RuntimeServiceProvider.Create(_baseDirectoryPath)) { var services = serviceProvider.GetExportedValues <ExportedType>(); Assert.NotNull(services); Assert.Single(services); } }
public void Create_ThrowsForNullOrEmptyString(string baseDirectoryPath) { Assert.Throws <ArgumentException>(() => RuntimeServiceProvider.Create(baseDirectoryPath)); }