Ejemplo n.º 1
0
 public ClassGenerator_(string name, ClassModifiers modifiers, bool skipProperties)
 {
     this.name           = name;
     this.modifiers      = modifiers;
     this.skipProperties = skipProperties;
     this.properties     = new List <PropertyInfo>();
 }
Ejemplo n.º 2
0
        public void CalculateChangeHandlesAllPossibleValues(ClassModifiers oldValue, ClassModifiers newValue)
        {
            var sut = new ClassModifiersChangeTable();

            Action action = () => sut.CalculateChange(oldValue, newValue);

            action.Should().NotThrow();
        }
Ejemplo n.º 3
0
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (parameter is ClassModifiers mask)
            {
                modifiers ^= mask;
                return(modifiers);
            }

            throw new NotImplementedException();
        }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
        public void CalculateChangeReturnsExpectedValue(ClassModifiers oldValue,
                                                        ClassModifiers newValue,
                                                        SemVerChangeType expected)
        {
            var sut = new ClassModifiersChangeTable();

            var actual = sut.CalculateChange(oldValue, newValue);

            actual.Should().Be(expected);
        }
Ejemplo n.º 6
0
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (parameter is ClassModifiers mask)
            {
                modifiers ^= mask;
                return(modifiers);
            }

            return(ClassModifiers.Internal);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
 /// <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();
 }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
 public Class_ExSoldier()
 {
     cModifiers = new ClassModifiers(2, 0, 1, 0, 1, 0, 0, 0, 0, 0);
 }
Ejemplo n.º 12
0
 public Class_Orator()
 {
     cModifiers = new ClassModifiers(0, 2, 0, 0, 0, 0, 0, 0, 0, 2);
 }
Ejemplo n.º 13
0
 public Class_Researcher()
 {
     cModifiers = new ClassModifiers(0, 2, 0, 0, 0, 0, 0, 1, 1, 0);
 }
Ejemplo n.º 14
0
 public Class_Investigator()
 {
     cModifiers = new ClassModifiers(1, 1, 0, 1, 0, 1, 0, 0, 0, 0);
 }
Ejemplo n.º 15
0
 public Class_Engineer()
 {
     cModifiers = new ClassModifiers(1, 0, 0, 0, 0, 0, 2, 0, 0, 0);
 }
Ejemplo n.º 16
0
 public static string ToCode(this ClassModifiers modifiers)
 => modifiers == ClassModifiers.Static ? "static partial" : "partial";