Exemple #1
0
        public void Dispose_IsIdempotent()
        {
            var serviceProvider = RuntimeServiceProvider.Create(_baseDirectoryPath);

            serviceProvider.Dispose();
            serviceProvider.Dispose();
        }
Exemple #2
0
        public void GetExportedValues_ThrowsIfDisposed()
        {
            var serviceProvider = RuntimeServiceProvider.Create(_baseDirectoryPath);

            serviceProvider.Dispose();

            Assert.Throws <ObjectDisposedException>(() => serviceProvider.GetExportedValues <ExportedType>());
        }
Exemple #3
0
        public void Create_HandlesNonexistentDirectoryPath()
        {
            var baseDirectoryPath = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());

            var serviceProvider = RuntimeServiceProvider.Create(baseDirectoryPath);

            Assert.NotNull(serviceProvider);
        }
Exemple #4
0
        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>());
            }
        }
Exemple #5
0
        public void GetExportedValues_ReturnsEmptyEnumerableForNonExportedType()
        {
            using (var serviceProvider = RuntimeServiceProvider.Create(_baseDirectoryPath))
            {
                var services = serviceProvider.GetExportedValues <NonExportedType>();

                Assert.NotNull(services);
                Assert.Empty(services);
            }
        }
Exemple #6
0
        public void GetExportedValues_ReturnsInstanceForExportedType()
        {
            using (var serviceProvider = RuntimeServiceProvider.Create(_baseDirectoryPath))
            {
                var services = serviceProvider.GetExportedValues <ExportedType>();

                Assert.NotNull(services);
                Assert.Single(services);
            }
        }
Exemple #7
0
 public void Create_ThrowsForNullOrEmptyString(string baseDirectoryPath)
 {
     Assert.Throws <ArgumentException>(() => RuntimeServiceProvider.Create(baseDirectoryPath));
 }