예제 #1
0
        public void Assembly_Should_not_be_Validated_if_already_loaded(IWCTestData testData,
                                                                       IPersistentClassInfo persistentClassInfo, IAssemblyManager assemblyManager)
        {
            persistentClassInfo.PersistentAssemblyInfo.Name += Guid.NewGuid().ToString("n");
            (assemblyManager.LoadAssemblies().ToArray().FirstOrDefault() != null).Should().BeTrue();

            var loadAssemblies = assemblyManager.LoadAssemblies();

            loadAssemblies.Count.Should().Be(0);
        }
예제 #2
0
        public void Assembly_Should_not_Validate_if_version_equal_to_file_version(IWCTestData testData,
                                                                                  IPersistentClassInfo persistentClassInfo, IAssemblyManager assemblyManager)
        {
            persistentClassInfo.PersistentAssemblyInfo.Revision++;
            persistentClassInfo.PersistentAssemblyInfo.Name += Guid.NewGuid().ToString("n");
            assemblyManager.LoadAssemblies();

            var validAssemblyInfos = assemblyManager.ValidateAssemblyInfos();

            validAssemblyInfos.Length.Should().Be(0);
        }
예제 #3
0
        public void Assemblies_Should_be_loaded_in_memory_if_validation_succeed(IWCTestData testData,
                                                                                IPersistentClassInfo persistentClassInfo, IAssemblyManager assemblyManager)
        {
            persistentClassInfo.PersistentAssemblyInfo.Name += Guid.NewGuid().ToString("N");

            var assemblies = assemblyManager.LoadAssemblies().ToArray();

            assemblies.Length.Should().Be(1);

            var assembly = assemblies.First();

            Path.GetFileNameWithoutExtension(assembly.Location)
            .Should()
            .Be(persistentClassInfo.PersistentAssemblyInfo.Name);
            AppDomain.CurrentDomain.GetAssemblies().Should().Contain(assembly);
        }
예제 #4
0
        public void Assemblies_that_do_not_need_validation_should_load_in_memory(IWCTestData testData,
                                                                                 IPersistentClassInfo persistentClassInfo, IAssemblyManager assemblyManager, Compiler compiler)
        {
            var persistentAssemblyInfo = persistentClassInfo.PersistentAssemblyInfo;

            compiler.Compile(persistentAssemblyInfo.GenerateCode(), persistentAssemblyInfo.Name);

            var assemblies = assemblyManager.LoadAssemblies().ToArray();

            assemblies.Length.Should().Be(1);

            var assembly = assemblies.First();

            Path.GetFileNameWithoutExtension(assembly.Location)
            .Should()
            .Be(persistentClassInfo.PersistentAssemblyInfo.Name);
            AppDomain.CurrentDomain.GetAssemblies().Should().Contain(assembly);
        }