public ClassGenerator_(string name, ClassModifiers modifiers, bool skipProperties) { this.name = name; this.modifiers = modifiers; this.skipProperties = skipProperties; this.properties = new List <PropertyInfo>(); }
public void CalculateChangeHandlesAllPossibleValues(ClassModifiers oldValue, ClassModifiers newValue) { var sut = new ClassModifiersChangeTable(); Action action = () => sut.CalculateChange(oldValue, newValue); action.Should().NotThrow(); }
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { if (parameter is ClassModifiers mask) { modifiers ^= mask; return(modifiers); } throw new NotImplementedException(); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value is ClassModifiers m && parameter is ClassModifiers mask) { modifiers = m; return((mask & m) != 0); } throw new NotImplementedException(); }
public void CalculateChangeReturnsExpectedValue(ClassModifiers oldValue, ClassModifiers newValue, SemVerChangeType expected) { var sut = new ClassModifiersChangeTable(); var actual = sut.CalculateChange(oldValue, newValue); actual.Should().Be(expected); }
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { if (parameter is ClassModifiers mask) { modifiers ^= mask; return(modifiers); } return(ClassModifiers.Internal); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value is ClassModifiers m && parameter is ClassModifiers mask) { modifiers = m; return((mask & m) != 0); } return(ClassModifiers.Internal); }
public async Task ModifiersReturnsExpectedValue(string modifiers, ClassModifiers expected) { var code = EmptyClass.Replace("public class MyClass", "public " + modifiers + " class MyClass"); var node = await TestNode.FindNode <ClassDeclarationSyntax>(code) .ConfigureAwait(false); var sut = new ClassDefinition(node); sut.Modifiers.Should().Be(expected); }
/// <summary> /// <paramref name="access"/> <paramref name="modifiers"/> <paramref name="keyword"/> <paramref name="className"/> [: <paramref name="baseNames"/>] /// { /// </summary> /// <param name="access">Access modifiers</param> /// <param name="modifiers">class modifiers</param> /// <param name="keyword">class, record or struct</param> /// <param name="className">Class name</param> /// <param name="baseNames">Base class and/or interface names.</param> public void StartClass(AccessModifiers access, ClassModifiers modifiers, ClassKeyword keyword, string className, params string[]? baseNames) { WriteIndent(); _writer.Write($"{access.ToCode()} {modifiers.ToCode()} {keyword.ToCode()} {className}"); if (baseNames is not null && baseNames.Length > 0) _writer.Write($" : {String.Join(", ", baseNames)}"); _writer.WriteLine(); WriteIndent(); _writer.WriteLine("{"); IncrementIndent(); }
public async Task MergePartialTypeMergesModifiers(string firstModifiers, string secondModifiers, ClassModifiers expected) { var firstClass = ClassWithFields.Replace("class", firstModifiers + " partial class"); var secondClass = ClassWithFields .Replace("class", secondModifiers + " partial class") .Replace("First", "Third") .Replace("Second", "Fourth"); var firstNode = await TestNode.FindNode <ClassDeclarationSyntax>(firstClass) .ConfigureAwait(false); var secondNode = await TestNode.FindNode <ClassDeclarationSyntax>(secondClass) .ConfigureAwait(false); var firstDefinition = new ClassDefinition(firstNode); var secondDefinition = new ClassDefinition(secondNode); firstDefinition.MergePartialType(secondDefinition); firstDefinition.Modifiers.Should().Be(expected); }
public Class_ExSoldier() { cModifiers = new ClassModifiers(2, 0, 1, 0, 1, 0, 0, 0, 0, 0); }
public Class_Orator() { cModifiers = new ClassModifiers(0, 2, 0, 0, 0, 0, 0, 0, 0, 2); }
public Class_Researcher() { cModifiers = new ClassModifiers(0, 2, 0, 0, 0, 0, 0, 1, 1, 0); }
public Class_Investigator() { cModifiers = new ClassModifiers(1, 1, 0, 1, 0, 1, 0, 0, 0, 0); }
public Class_Engineer() { cModifiers = new ClassModifiers(1, 0, 0, 0, 0, 0, 2, 0, 0, 0); }
public static string ToCode(this ClassModifiers modifiers) => modifiers == ClassModifiers.Static ? "static partial" : "partial";