public void It_returns_a_property_when_source_is_null_and_propertyValue_is_a_Func_that_handles_null()
        {
            var propertyName  = "Property1";
            var propertyValue = "Value1";

            var propertyTransform = new AddPropertyTransform <string>(
                propertyName,
                t => t == null ? propertyValue.ToUpper() : propertyValue.ToLower(),
                t => true);
            var property = propertyTransform.Transform(null);

            property.Value.Should().Be(propertyValue.ToUpper());
        }
Ejemplo n.º 2
0
        public void It_throws_when_source_is_null_and_propertyValue_is_a_Func_that_doesnt_handle_null()
        {
            var propertyName = "Property1";

            var propertyTransform = new AddPropertyTransform <string>(
                propertyName,
                t => t.ToUpper(),
                t => true);

            Action transform = () => propertyTransform.Transform(null);

            transform.ShouldThrow <Exception>();
        }
Ejemplo n.º 3
0
        public void It_returns_a_property_when_source_is_null_and_propertyValue_is_a_string()
        {
            var propertyName  = "Property1";
            var propertyValue = "Value1";

            var propertyTransform = new AddPropertyTransform <string>(
                propertyName,
                propertyValue,
                t => true);
            var property = propertyTransform.Transform(null);

            property.Should().NotBeNull();
            property.Value.Should().Be(propertyValue);
        }
        public void Apply(MigrationSettings migrationSettings, MigrationRuleInputs migrationRuleInputs)
        {
            var projectContext        = migrationRuleInputs.DefaultProjectContext;
            var compilationOptions    = ResolveCompilationOptions(projectContext, "Debug");
            var sources               = GetCompilationSources(projectContext, compilationOptions);
            var assemblyAttributeList = GetWhitelistedKnownAssemblyAttributes(sources);

            foreach (var assemblyAttribute in assemblyAttributeList)
            {
                var propertyTransform = new AddPropertyTransform <string>(
                    assemblyAttribute.GenerateAssemblyAttributePropertyName,
                    a => "false",
                    a => true);

                _transformApplicator.Execute(
                    propertyTransform.Transform(assemblyAttribute.AttributeName),
                    migrationRuleInputs.CommonPropertyGroup,
                    true);
            }
        }
Ejemplo n.º 5
0
        public void Apply(MigrationSettings migrationSettings, MigrationRuleInputs migrationRuleInputs)
        {
            var projectContext     = migrationRuleInputs.DefaultProjectContext;
            var compilationOptions = ResolveCompilationOptions(projectContext, "Debug");
            var sources            = GetCompilationSources(projectContext, compilationOptions);
            var assemblyInfoList   = GetAssemblyInfo(sources);

            foreach (var assemblyInfo in assemblyInfoList)
            {
                var propertyTransform = new AddPropertyTransform <string>(
                    $"Generate{assemblyInfo}Attribute",
                    a => "false",
                    a => true);

                _transformApplicator.Execute(
                    propertyTransform.Transform(assemblyInfo),
                    migrationRuleInputs.CommonPropertyGroup,
                    true);
            }
        }
Ejemplo n.º 6
0
        public void Apply(MigrationSettings migrationSettings, MigrationRuleInputs migrationRuleInputs)
        {
            var projectContext           = migrationRuleInputs.DefaultProjectContext;
            var raw                      = projectContext.ProjectFile.RawRuntimeOptions;
            var outputRuntimeOptionsFile = Path.Combine(migrationSettings.OutputDirectory, s_runtimeOptionsFileName);

            if (!string.IsNullOrEmpty(raw))
            {
                if (File.Exists(outputRuntimeOptionsFile))
                {
                    MigrationErrorCodes.MIGRATE1015(
                        String.Format(LocalizableStrings.ProjAlreadyExistsError, outputRuntimeOptionsFile)).Throw();
                }

                var runtimeOptions = JObject.Parse(raw);
                if (HasServerGCProperty(runtimeOptions))
                {
                    bool serverGCValue = GetServerGCValue(runtimeOptions);

                    if (!IsServerGCValueInjectedBySdk(serverGCValue, projectContext.ProjectFile.GetProjectType()))
                    {
                        var propertyTransform = new AddPropertyTransform <bool>(
                            "ServerGarbageCollection",
                            gcValue => gcValue.ToString().ToLower(),
                            gcValue => true);

                        _transformApplicator.Execute(
                            propertyTransform.Transform(serverGCValue),
                            migrationRuleInputs.CommonPropertyGroup,
                            true);
                    }

                    RemoveServerGCProperty(runtimeOptions);
                }

                if (runtimeOptions.HasValues)
                {
                    File.WriteAllText(outputRuntimeOptionsFile, runtimeOptions.ToString());
                }
            }
        }