public void Should_Report_Unsuccessful_Load_For_NonExistant_Assembly()
        {
            var commandObject = new IndexBuildCommand()
            {
                AssemblyPaths = new string[] { TestHelper.InvalidAssemblyPath },
                UseEmbedded = true
            };

            var indexManager = new IndexJobManager(commandObject);
            try
            {
                var assemblyLoadReport = indexManager.CanLoadAssemblies();
                Assert.AreEqual(commandObject.AssemblyPaths.Count(), assemblyLoadReport.JobResults.Count);
                Assert.AreEqual(0, assemblyLoadReport.Successes);
                Assert.AreEqual(commandObject.AssemblyPaths.Count(), assemblyLoadReport.Failures);
                Assert.IsNotNull(assemblyLoadReport.JobResults.First().JobException);
                Assert.IsInstanceOf<FileNotFoundException>(assemblyLoadReport.JobResults.First().JobException);
            }
            catch (InvalidOperationException ex)
            {
                Assert.Fail(ex.Message);
            }
            finally
            {
                indexManager.Dispose();
            }
        }
        public void Should_Report_Successful_Load_For_Valid_Assembly_Containing_RavenDB_Index_Definitions()
        {
            var commandObject = new IndexBuildCommand()
            {
                AssemblyPaths = new string[] { TestHelper.ValidTestAssemblyPath },
                UseEmbedded = true
            };

            var indexManager = new IndexJobManager(commandObject);
            try
            {
                var assemblyLoadReport = indexManager.CanLoadAssemblies();
                Assert.AreEqual(commandObject.AssemblyPaths.Count(), assemblyLoadReport.JobResults.Count);
                Assert.AreEqual(commandObject.AssemblyPaths.Count(), assemblyLoadReport.Successes);
            }catch(InvalidOperationException ex)
            {
                Assert.Fail(ex.Message);
            }
            finally
            {
                indexManager.Dispose();
            }
        }