public void ConvertToAssemblyMetadataAttributeCode_WithAllOptionsDisabled() { var configuration = ImplicitNullabilityConfiguration.AllDisabled; var result = AssemblyAttributeConfigurationTranslator.GenerateAttributeCode(configuration); Assert.That(result, Is.EqualTo("[assembly: System.Reflection.AssemblyMetadataAttribute(\"ImplicitNullability.AppliesTo\", \"\")]")); }
public void GenerateAttributeCode_WithNoAppliesTo() { var configuration = ImplicitNullabilityConfiguration.AllDisabled; var result = AssemblyAttributeConfigurationTranslator.GenerateAttributeCode(configuration); Assert.That(result, Is.EqualTo(ExpectedAssemblyMetadataAttribute("ImplicitNullability.AppliesTo", "None"))); }
public void ConvertToAssemblyMetadataAttributeCode_WithAllOptionsEnabled() { var configuration = new ImplicitNullabilityConfiguration(true, true, true); var result = AssemblyAttributeConfigurationTranslator.GenerateAttributeCode(configuration); Assert.That(result, Is.EqualTo("[assembly: System.Reflection.AssemblyMetadataAttribute(\"ImplicitNullability.AppliesTo\", " + "\"InputParameters, RefParameters, OutParametersAndResult\")]")); }
private void CopyAssemblyAttributeCode() { var currentImplicitNullabilitySettings = OptionsSettingsSmartContext.GetKey <ImplicitNullabilitySettings>(_settingsOptimization); var assemblyMetadataCode = AssemblyAttributeConfigurationTranslator.GenerateAttributeCode( ImplicitNullabilityConfiguration.CreateFromSettings(currentImplicitNullabilitySettings)); _clipboard.SetText(assemblyMetadataCode); MessageBox.ShowInfo("The following code has been copied to your clipboard:\n\n\n" + assemblyMetadataCode); }
public void GenerateAttributeCode_WithFieldOrPropertyOptions_ButAppliesToFieldsOrPropertiesDisabled() { var configuration = new ImplicitNullabilityConfiguration( ImplicitNullabilityAppliesTo.InputParameters, AllFieldOptions, AllPropertyOptions, GeneratedCodeOptions.Exclude); var result = AssemblyAttributeConfigurationTranslator.GenerateAttributeCode(configuration); Assert.That(result, Is.EqualTo( ExpectedAssemblyMetadataAttribute("ImplicitNullability.AppliesTo", "InputParameters") + NewLine + ExpectedAssemblyMetadataAttribute("ImplicitNullability.GeneratedCode", "Exclude")), "'options'-attribute should not be rendered"); }
public void GenerateAttributeCode_WithIncludeGeneratedCode() { var configuration = new ImplicitNullabilityConfiguration( ImplicitNullabilityAppliesTo.InputParameters, ImplicitNullabilityFieldOptions.NoOption, ImplicitNullabilityPropertyOptions.NoOption, GeneratedCodeOptions.Include); var result = AssemblyAttributeConfigurationTranslator.GenerateAttributeCode(configuration); Assert.That(result, Is.EqualTo( ExpectedAssemblyMetadataAttribute("ImplicitNullability.AppliesTo", "InputParameters") + NewLine + ExpectedAssemblyMetadataAttribute("ImplicitNullability.GeneratedCode", "Include"))); }
public void GenerateAttributeCode_WithAllOptionsEnabled() { var configuration = new ImplicitNullabilityConfiguration( ImplicitNullabilityAppliesTo.InputParameters | ImplicitNullabilityAppliesTo.RefParameters | ImplicitNullabilityAppliesTo.OutParametersAndResult | ImplicitNullabilityAppliesTo.Fields | ImplicitNullabilityAppliesTo.Properties, AllFieldOptions, AllPropertyOptions, GeneratedCodeOptions.Exclude); var result = AssemblyAttributeConfigurationTranslator.GenerateAttributeCode(configuration); Assert.That(result, Is.EqualTo( ExpectedAssemblyMetadataAttribute( "ImplicitNullability.AppliesTo", "InputParameters, RefParameters, OutParametersAndResult, Fields, Properties") + NewLine + ExpectedAssemblyMetadataAttribute("ImplicitNullability.Fields", "RestrictToReadonly, RestrictToReferenceTypes") + NewLine + ExpectedAssemblyMetadataAttribute("ImplicitNullability.Properties", "RestrictToGetterOnly, RestrictToReferenceTypes") + NewLine + ExpectedAssemblyMetadataAttribute("ImplicitNullability.GeneratedCode", "Exclude"))); }