public async Task WhenThePropertyIsAnIBoolProperty_ThenTheEvaluatedValueIsABool()
        {
            var properties = PropertiesAvailableStatusFactory.CreateUIPropertyValuePropertiesAvailableStatus(includeEvaluatedValue: true);

            var mockBoolProperty = new Mock <IBoolProperty>();

            mockBoolProperty.Setup(m => m.GetValueAsBoolAsync()).ReturnsAsync(true);
            var property = mockBoolProperty.Object;

            var entityRuntime = IEntityRuntimeModelFactory.Create();
            var id            = new EntityIdentity(key: "A", value: "B");
            var configuration = ProjectConfigurationFactory.Create(configuration: "Alpha|Beta|Gamma");

            var result = (UIPropertyValueValue)await UIPropertyValueDataProducer.CreateUIPropertyValueValueAsync(
                entityRuntime,
                id,
                configuration,
                property,
                properties);

            Assert.Equal(expected: true, actual: result.EvaluatedValue);
        }
        public async Task WhenPropertyIsAnIEvaluatedProperty_GetUnevaluatedValueAsyncIsCalled()
        {
            var properties = PropertiesAvailableStatusFactory.CreateUIPropertyValuePropertiesAvailableStatus(includeUnevaluatedValue: true);

            var mockEvaluatedProperty = new Mock <IEvaluatedProperty>();

            mockEvaluatedProperty.Setup(m => m.GetUnevaluatedValueAsync()).ReturnsAsync("unevaluated value");
            var property = mockEvaluatedProperty.Object;

            var entityRuntime = IEntityRuntimeModelFactory.Create();
            var id            = new EntityIdentity(key: "A", value: "B");
            var configuration = ProjectConfigurationFactory.Create(configuration: "Alpha|Beta|Gamma");

            var result = (UIPropertyValueValue)await UIPropertyValueDataProducer.CreateUIPropertyValueValueAsync(
                entityRuntime,
                id,
                configuration,
                property,
                properties);

            Assert.Equal(expected: "unevaluated value", actual: result.UnevaluatedValue);
            mockEvaluatedProperty.Verify(m => m.GetUnevaluatedValueAsync());
        }
示例#3
0
        public void Handle_WhenMSBuildProjectFullPathPropertyChangedAndMultitargeting_IncludeDimensionValuesInDisplayName(string dimensionNames, string dimensionValues, string implicitDimensionNames, string expected)
        {
            var context = IWorkspaceProjectContextMockFactory.Create();
            var implicitlyActiveDimensionProvider = IImplicitlyActiveDimensionProviderFactory.ImplementGetImplicitlyActiveDimensions(n => implicitDimensionNames.SplitReturningEmptyIfEmpty('|'));
            var configuration = ProjectConfigurationFactory.Create(dimensionNames, dimensionValues);
            var handler       = CreateInstance(configuration, implicitlyActiveDimensionProvider, context);

            var projectChange = IProjectChangeDescriptionFactory.FromJson(
                @"{
    ""Difference"": { 
        ""AnyChanges"": true,
        ""ChangedProperties"": [ ""MSBuildProjectFullPath"" ]
    },
    ""After"": { 
        ""Properties"": {
            ""MSBuildProjectFullPath"": ""C:\\Project\\Project.csproj""
        }
    }
}");

            Handle(handler, projectChange);

            Assert.Equal(expected, context.DisplayName);
        }
示例#4
0
        private static ProjectFilePathAndDisplayNameEvaluationHandler CreateInstance(ProjectConfiguration?configuration = null, IImplicitlyActiveDimensionProvider?implicitlyActiveDimensionProvider = null, IWorkspaceProjectContext?context = null)
        {
            var project = ConfiguredProjectFactory.ImplementProjectConfiguration(configuration ?? ProjectConfigurationFactory.Create("Debug|AnyCPU"));

            implicitlyActiveDimensionProvider ??= IImplicitlyActiveDimensionProviderFactory.Create();

            var handler = new ProjectFilePathAndDisplayNameEvaluationHandler(project, implicitlyActiveDimensionProvider);

            if (context != null)
            {
                handler.Initialize(context);
            }

            return(handler);
        }
 public void GetDisplayString(string pattern)
 {
     Assert.Equal(pattern, ProjectConfigurationFactory.Create(pattern).GetDisplayString());
 }
 public static ConfiguredProject ImplementProjectConfiguration(string configuration)
 {
     return(ImplementProjectConfiguration(ProjectConfigurationFactory.Create(configuration)));
 }
示例#7
0
        public static IConfigurationGroup <ProjectConfiguration> CreateFromConfigurationNames(params string[] configurationNames)
        {
            IEnumerable <ProjectConfiguration> configurations = configurationNames.Select(name => ProjectConfigurationFactory.Create(name));

            return(Create(configurations));
        }