Пример #1
0
        public void UnsupportedProjectsSnapshotFilter_WhenProjectSnapshotFoundAndNoUnresolvedDependencies_ShouldDoNothing()
        {
            // Arrange
            var targetFramework  = ITargetFrameworkFactory.Implement(moniker: "tfm1");
            var targetedSnapshot = ITargetedDependenciesSnapshotFactory.Implement(hasUnresolvedDependency: false);
            var targets          = new Dictionary <ITargetFramework, ITargetedDependenciesSnapshot>
            {
                { targetFramework, targetedSnapshot }
            };
            var snapshot                  = IDependenciesSnapshotFactory.Implement(targets: targets);
            var snapshotProvider          = IDependenciesSnapshotProviderFactory.Implement(currentSnapshot: snapshot);
            var aggregateSnapshotProvider = IAggregateDependenciesSnapshotProviderFactory.Implement(getSnapshotProvider: snapshotProvider);
            var targetFrameworkProvider   = ITargetFrameworkProviderFactory.Implement(getNearestFramework: targetFramework);

            var dependency = IDependencyFactory.Implement(
                topLevel: true,
                resolved: true,
                flags: DependencyTreeFlags.ProjectNodeFlags.Union(DependencyTreeFlags.ResolvedFlags),
                fullPath: @"c:\myproject1\project.csproj",
                targetFramework: targetFramework
                );

            var filter = new UnsupportedProjectsSnapshotFilter(aggregateSnapshotProvider, targetFrameworkProvider);

            var resultDependency = filter.BeforeAdd(
                null,
                null,
                dependency.Object,
                null,
                null,
                null,
                out bool filterAnyChanges);

            dependency.VerifyAll();
        }
Пример #2
0
        public void UnsupportedProjectsSnapshotFilter_WhenProjectSnapshotNotFound_ShouldMakeUnresolved()
        {
            // Arrange
            var snapshotProvider          = IDependenciesSnapshotProviderFactory.Implement(currentSnapshot: null);
            var aggregateSnapshotProvider = IAggregateDependenciesSnapshotProviderFactory.Implement(getSnapshotProvider: snapshotProvider);

            var dependency = IDependencyFactory.Implement(
                topLevel: true,
                resolved: true,
                flags: DependencyTreeFlags.ProjectNodeFlags.Union(DependencyTreeFlags.ResolvedFlags),
                originalItemSpec: @"c:\myproject2\project.csproj",
                setPropertiesResolved: false,
                setPropertiesSchemaName: ProjectReference.SchemaName,
                setPropertiesFlags: DependencyTreeFlags.ProjectNodeFlags.Union(DependencyTreeFlags.UnresolvedFlags));

            var filter = new UnsupportedProjectsSnapshotFilter(aggregateSnapshotProvider, null);

            var resultDependency = filter.BeforeAdd(
                null,
                null,
                dependency.Object,
                null,
                null,
                null,
                null,
                out bool filterAnyChanges);

            dependency.VerifyAll();
        }
Пример #3
0
        public void UnsupportedProjectsSnapshotFilter_WhenProjectSnapshotNotFound_ShouldDoNothing()
        {
            // Arrange
            var snapshotProvider          = IDependenciesSnapshotProviderFactory.Implement(currentSnapshot: null);
            var aggregateSnapshotProvider = IAggregateDependenciesSnapshotProviderFactory.Implement(getSnapshotProvider: snapshotProvider);

            var dependency = IDependencyFactory.Implement(
                topLevel: true,
                resolved: true,
                flags: DependencyTreeFlags.ProjectNodeFlags.Union(DependencyTreeFlags.ResolvedFlags),
                fullPath: @"c:\myproject1\project.csproj");

            var filter = new UnsupportedProjectsSnapshotFilter(aggregateSnapshotProvider, null);

            var resultDependency = filter.BeforeAdd(
                null,
                null,
                dependency.Object,
                null,
                null,
                null,
                out bool filterAnyChanges);

            dependency.VerifyAll();
        }
        public void UnsupportedProjectsSnapshotFilter_WhenProjectSnapshotFoundAndHasUnresolvedDependencies_ShouldMakeUnresolved()
        {
            // Arrange
            var targetFramework  = ITargetFrameworkFactory.Implement(moniker: "tfm1");
            var targetedSnapshot = ITargetedDependenciesSnapshotFactory.Implement(hasUnresolvedDependency: true);
            var targets          = new Dictionary <ITargetFramework, ITargetedDependenciesSnapshot>
            {
                { targetFramework, targetedSnapshot }
            };
            var snapshot                  = IDependenciesSnapshotFactory.Implement(targets: targets);
            var snapshotProvider          = IDependenciesSnapshotProviderFactory.Implement(currentSnapshot: snapshot);
            var aggregateSnapshotProvider = IAggregateDependenciesSnapshotProviderFactory.Implement(getSnapshotProvider: snapshotProvider);
            var targetFrameworkProvider   = ITargetFrameworkProviderFactory.Implement(getNearestFramework: targetFramework);

            var dependency = IDependencyFactory.Implement(
                topLevel: true,
                resolved: true,
                flags: DependencyTreeFlags.ProjectNodeFlags.Union(DependencyTreeFlags.ResolvedFlags),
                originalItemSpec: @"c:\myproject2\project.csproj",
                snapshot: targetedSnapshot,
                setPropertiesResolved: false,
                setPropertiesFlags: DependencyTreeFlags.ProjectNodeFlags.Union(DependencyTreeFlags.UnresolvedFlags));

            var filter = new UnsupportedProjectsSnapshotFilter(aggregateSnapshotProvider, targetFrameworkProvider);

            var resultDependency = filter.BeforeAdd(
                projectPath: null,
                targetFramework: null,
                dependency: dependency.Object,
                worldBuilder: null,
                topLevelBuilder: null);

            dependency.VerifyAll();
        }