public void SomePartialClasses()
        {
            var source = @"
partial class C
{
    static int s1 = 1;
    int i1 = 1;
}
partial class C
{
    static int s2 = 2;
    int i2 = 2;
}
partial class C
{
    static int s3;
    int i3;
}";

            IEnumerable <ExpectedInitializer> expectedStaticInitializers = new ExpectedInitializer[]
            {
                new ExpectedInitializer("s1", "1", lineNumber: 3),
                new ExpectedInitializer("s2", "2", lineNumber: 8),
            };

            IEnumerable <ExpectedInitializer> expectedInstanceInitializers = new ExpectedInitializer[]
            {
                new ExpectedInitializer("i1", "1", lineNumber: 4),
                new ExpectedInitializer("i2", "2", lineNumber: 9),
            };

            CompileAndCheckInitializers(source, expectedInstanceInitializers, expectedStaticInitializers);
        }
        public void InitializerOrder()
        {
            var source = @"
class C
{
    static int s1 = 1;
    static int s2 = 2;
    static int s3 = 3;
    int i1 = 1;
    int i2 = 2;
    int i3 = 3;
}";

            IEnumerable <ExpectedInitializer> expectedStaticInitializers = new ExpectedInitializer[]
            {
                new ExpectedInitializer("s1", "1", lineNumber: 3),
                new ExpectedInitializer("s2", "2", lineNumber: 4),
                new ExpectedInitializer("s3", "3", lineNumber: 5),
            };

            IEnumerable <ExpectedInitializer> expectedInstanceInitializers = new ExpectedInitializer[]
            {
                new ExpectedInitializer("i1", "1", lineNumber: 6),
                new ExpectedInitializer("i2", "2", lineNumber: 7),
                new ExpectedInitializer("i3", "3", lineNumber: 8),
            };

            CompileAndCheckInitializers(source, expectedInstanceInitializers, expectedStaticInitializers);
        }
Example #3
0
        public void ExpressionInstanceInitializer()
        {
            var source =
                @"
class C
{
    static int s1;
    int i1 = 1 + Goo();

    static int Goo() { return 1; }
}";

            IEnumerable <ExpectedInitializer> expectedStaticInitializers = null;

            IEnumerable <ExpectedInitializer> expectedInstanceInitializers =
                new ExpectedInitializer[]
            {
                new ExpectedInitializer("i1", "1 + Goo()", lineNumber: 4),
            };

            CompileAndCheckInitializers(
                source,
                expectedInstanceInitializers,
                expectedStaticInitializers
                );
        }
Example #4
0
        public void Events()
        {
            var source =
                @"
class C
{
    static event System.Action e = MakeAction(1);
    event System.Action f = MakeAction(2);

    static System.Action MakeAction(int x) { return null; }
}}";

            IEnumerable <ExpectedInitializer> expectedStaticInitializers = new ExpectedInitializer[]
            {
                new ExpectedInitializer("e", "MakeAction(1)", lineNumber: 3),
            };

            IEnumerable <ExpectedInitializer> expectedInstanceInitializers =
                new ExpectedInitializer[]
            {
                new ExpectedInitializer("f", "MakeAction(2)", lineNumber: 4),
            };

            CompileAndCheckInitializers(
                source,
                expectedInstanceInitializers,
                expectedStaticInitializers
                );
        }
        public void ConstantStaticInitializer()
        {
            var source = @"
class C
{
    static int s1 = 1;
    int i1;
}";

            IEnumerable<ExpectedInitializer> expectedStaticInitializers = new ExpectedInitializer[]
            {
                new ExpectedInitializer("s1", "1", lineNumber: 3),
            };

            IEnumerable<ExpectedInitializer> expectedInstanceInitializers = null;

            CompileAndCheckInitializers(source, expectedInstanceInitializers, expectedStaticInitializers);
        }
        public void ConstantStaticInitializer()
        {
            var source = @"
class C
{
    static int s1 = 1;
    int i1;
}";

            IEnumerable <ExpectedInitializer> expectedStaticInitializers = new ExpectedInitializer[]
            {
                new ExpectedInitializer("s1", "1", lineNumber: 3),
            };

            IEnumerable <ExpectedInitializer> expectedInstanceInitializers = null;

            CompileAndCheckInitializers(source, expectedInstanceInitializers, expectedStaticInitializers);
        }
        public void ExpressionStaticInitializer()
        {
            var source = @"
class C
{
    static int s1 = 1 + Foo();
    int i1;

    static int Foo() { return 1; }
}";

            IEnumerable<ExpectedInitializer> expectedStaticInitializers = new ExpectedInitializer[]
            {
                new ExpectedInitializer("s1", "1 + Foo()", lineNumber: 3),
            };

            IEnumerable<ExpectedInitializer> expectedInstanceInitializers = null;

            CompileAndCheckInitializers(source, expectedInstanceInitializers, expectedStaticInitializers);
        }
        public void Events()
        {
            var source = @"
class C
{
    static event System.Action e = MakeAction(1);
    event System.Action f = MakeAction(2);

    static System.Action MakeAction(int x) { return null; }
}}";

            IEnumerable<ExpectedInitializer> expectedStaticInitializers = new ExpectedInitializer[]
            {
                new ExpectedInitializer("e", "MakeAction(1)", lineNumber: 3),
            };

            IEnumerable<ExpectedInitializer> expectedInstanceInitializers = new ExpectedInitializer[]
            {
                new ExpectedInitializer("f", "MakeAction(2)", lineNumber: 4),
            };

            CompileAndCheckInitializers(source, expectedInstanceInitializers, expectedStaticInitializers);
        }
        public void SomePartialClasses()
        {
            var source = @"
partial class C
{
    static int s1 = 1;
    int i1 = 1;
}
partial class C
{
    static int s2 = 2;
    int i2 = 2;
}
partial class C
{
    static int s3;
    int i3;
}";

            IEnumerable<ExpectedInitializer> expectedStaticInitializers = new ExpectedInitializer[]
            {
                new ExpectedInitializer("s1", "1", lineNumber: 3),
                new ExpectedInitializer("s2", "2", lineNumber: 8),
            };

            IEnumerable<ExpectedInitializer> expectedInstanceInitializers = new ExpectedInitializer[]
            {
                new ExpectedInitializer("i1", "1", lineNumber: 4),
                new ExpectedInitializer("i2", "2", lineNumber: 9),
            };

            CompileAndCheckInitializers(source, expectedInstanceInitializers, expectedStaticInitializers);
        }
        public void InitializerOrder()
        {
            var source = @"
class C
{
    static int s1 = 1;
    static int s2 = 2;
    static int s3 = 3;
    int i1 = 1;
    int i2 = 2;
    int i3 = 3;
}";

            IEnumerable<ExpectedInitializer> expectedStaticInitializers = new ExpectedInitializer[]
            {
                new ExpectedInitializer("s1", "1", lineNumber: 3),
                new ExpectedInitializer("s2", "2", lineNumber: 4),
                new ExpectedInitializer("s3", "3", lineNumber: 5),
            };

            IEnumerable<ExpectedInitializer> expectedInstanceInitializers = new ExpectedInitializer[]
            {
                new ExpectedInitializer("i1", "1", lineNumber: 6),
                new ExpectedInitializer("i2", "2", lineNumber: 7),
                new ExpectedInitializer("i3", "3", lineNumber: 8),
            };

            CompileAndCheckInitializers(source, expectedInstanceInitializers, expectedStaticInitializers);
        }