summaryrefslogtreecommitdiff
path: root/ICSharpCode.Decompiler/Tests/InitializerTests.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ICSharpCode.Decompiler/Tests/InitializerTests.cs')
-rw-r--r--ICSharpCode.Decompiler/Tests/InitializerTests.cs885
1 files changed, 0 insertions, 885 deletions
diff --git a/ICSharpCode.Decompiler/Tests/InitializerTests.cs b/ICSharpCode.Decompiler/Tests/InitializerTests.cs
deleted file mode 100644
index 29e3d1d5..00000000
--- a/ICSharpCode.Decompiler/Tests/InitializerTests.cs
+++ /dev/null
@@ -1,885 +0,0 @@
-// Copyright (c) AlphaSierraPapa for the SharpDevelop Team
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy of this
-// software and associated documentation files (the "Software"), to deal in the Software
-// without restriction, including without limitation the rights to use, copy, modify, merge,
-// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
-// to whom the Software is furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all copies or
-// substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
-// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-// DEALINGS IN THE SOFTWARE.
-
-using System;
-using System.Collections.Generic;
-
-public class InitializerTests
-{
- private enum MyEnum
- {
- a,
- b
- }
-
- private enum MyEnum2
- {
- c,
- d
- }
-
- private class Data
- {
- public List<InitializerTests.MyEnum2> FieldList = new List<InitializerTests.MyEnum2>();
- public InitializerTests.MyEnum a
- {
- get;
- set;
- }
- public List<InitializerTests.MyEnum2> PropertyList
- {
- get;
- set;
- }
-
- public InitializerTests.Data MoreData
- {
- get;
- set;
- }
-
- public InitializerTests.StructData NestedStruct
- {
- get;
- set;
- }
- }
-
- private struct StructData
- {
- public int Field;
- public int Property
- {
- get;
- set;
- }
-
- public InitializerTests.Data MoreData
- {
- get;
- set;
- }
-
- public StructData(int initialValue)
- {
- this = default(InitializerTests.StructData);
- this.Field = initialValue;
- this.Property = initialValue;
- }
- }
-
- // Helper methods used to ensure initializers used within expressions work correctly
- private static void X(object a, object b)
- {
- }
-
- private static object Y()
- {
- return null;
- }
-
- #region Array Initializers
- public static void Array1()
- {
- InitializerTests.X(InitializerTests.Y(), new int[]
- {
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10
- });
- }
-
- public static void Array2(int a, int b, int c)
- {
- InitializerTests.X(InitializerTests.Y(), new int[]
- {
- a,
- 0,
- b,
- 0,
- c
- });
- }
-
- public static void NestedArray(int a, int b, int c)
- {
- InitializerTests.X(InitializerTests.Y(), new int[][]
- {
- new int[]
- {
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10
- },
- new int[]
- {
- a,
- b,
- c
- },
- new int[]
- {
- 1,
- 2,
- 3,
- 4,
- 5,
- 6
- }
- });
- }
-
- public static void ArrayBoolean()
- {
- InitializerTests.X(InitializerTests.Y(), new bool[]
- {
- true,
- false,
- true,
- false,
- false,
- false,
- true,
- true
- });
- }
-
- public static void ArrayByte()
- {
- InitializerTests.X(InitializerTests.Y(), new byte[]
- {
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 254,
- 255
- });
- }
-
- public static void ArraySByte()
- {
- InitializerTests.X(InitializerTests.Y(), new sbyte[]
- {
- -128,
- -127,
- 0,
- 1,
- 2,
- 3,
- 4,
- 127
- });
- }
-
- public static void ArrayShort()
- {
- InitializerTests.X(InitializerTests.Y(), new short[]
- {
- -32768,
- -1,
- 0,
- 1,
- 32767
- });
- }
-
- public static void ArrayUShort()
- {
- InitializerTests.X(InitializerTests.Y(), new ushort[]
- {
- 0,
- 1,
- 32767,
- 32768,
- 65534,
- 65535
- });
- }
-
- public static void ArrayInt()
- {
- InitializerTests.X(InitializerTests.Y(), new int[]
- {
- 1,
- -2,
- 2000000000,
- 4,
- 5,
- -6,
- 7,
- 8,
- 9,
- 10
- });
- }
-
- public static void ArrayUInt()
- {
- InitializerTests.X(InitializerTests.Y(), new uint[]
- {
- 1u,
- 2000000000u,
- 3000000000u,
- 4u,
- 5u,
- 6u,
- 7u,
- 8u,
- 9u,
- 10u
- });
- }
-
- public static void ArrayLong()
- {
- InitializerTests.X(InitializerTests.Y(), new long[]
- {
- -4999999999999999999L,
- -1L,
- 0L,
- 1L,
- 4999999999999999999L
- });
- }
-
- public static void ArrayULong()
- {
- InitializerTests.X(InitializerTests.Y(), new ulong[]
- {
- 1uL,
- 2000000000uL,
- 3000000000uL,
- 4uL,
- 5uL,
- 6uL,
- 7uL,
- 8uL,
- 4999999999999999999uL,
- 9999999999999999999uL
- });
- }
-
- public static void ArrayFloat()
- {
- InitializerTests.X(InitializerTests.Y(), new float[]
- {
- -1.5f,
- 0f,
- 1.5f,
- float.NegativeInfinity,
- float.PositiveInfinity,
- float.NaN
- });
- }
-
- public static void ArrayDouble()
- {
- InitializerTests.X(InitializerTests.Y(), new double[]
- {
- -1.5,
- 0.0,
- 1.5,
- double.NegativeInfinity,
- double.PositiveInfinity,
- double.NaN
- });
- }
-
- public static void ArrayDecimal()
- {
- InitializerTests.X(InitializerTests.Y(), new decimal[]
- {
- -100m,
- 0m,
- 100m,
- -79228162514264337593543950335m,
- 79228162514264337593543950335m,
- 0.0000001m
- });
- }
-
- public static void ArrayString()
- {
- InitializerTests.X(InitializerTests.Y(), new string[]
- {
- "",
- null,
- "Hello",
- "World"
- });
- }
-
- public static void ArrayEnum()
- {
- InitializerTests.X(InitializerTests.Y(), new InitializerTests.MyEnum[]
- {
- InitializerTests.MyEnum.a,
- InitializerTests.MyEnum.b,
- InitializerTests.MyEnum.a,
- InitializerTests.MyEnum.b
- });
- }
-
- public static void RecursiveArrayInitializer()
- {
- int[] array = new int[3];
- array[0] = 1;
- array[1] = 2;
- array[2] = array[1] + 1;
- array[0] = 0;
- }
- #endregion
-
- public static void CollectionInitializerList()
- {
- InitializerTests.X(InitializerTests.Y(), new List<int>
- {
- 1,
- 2,
- 3
- });
- }
-
- public static object RecursiveCollectionInitializer()
- {
- List<object> list = new List<object>();
- list.Add(list);
- return list;
- }
-
- public static void CollectionInitializerDictionary()
- {
- InitializerTests.X(InitializerTests.Y(), new Dictionary<string, int>
- {
- {
- "First",
- 1
- },
- {
- "Second",
- 2
- },
- {
- "Third",
- 3
- }
- });
- }
-
- public static void CollectionInitializerDictionaryWithEnumTypes()
- {
- InitializerTests.X(InitializerTests.Y(), new Dictionary<InitializerTests.MyEnum, InitializerTests.MyEnum2>
- {
- {
- InitializerTests.MyEnum.a,
- InitializerTests.MyEnum2.c
- },
- {
- InitializerTests.MyEnum.b,
- InitializerTests.MyEnum2.d
- }
- });
- }
-
- public static void NotACollectionInitializer()
- {
- List<int> list = new List<int>();
- list.Add(1);
- list.Add(2);
- list.Add(3);
- InitializerTests.X(InitializerTests.Y(), list);
- }
-
- public static void ObjectInitializer()
- {
- InitializerTests.X(InitializerTests.Y(), new InitializerTests.Data
- {
- a = InitializerTests.MyEnum.a
- });
- }
-
- public static void NotAObjectInitializer()
- {
- InitializerTests.Data data = new InitializerTests.Data();
- data.a = InitializerTests.MyEnum.a;
- InitializerTests.X(InitializerTests.Y(), data);
- }
-
- public static void ObjectInitializerAssignCollectionToField()
- {
- InitializerTests.X(InitializerTests.Y(), new InitializerTests.Data
- {
- a = InitializerTests.MyEnum.a,
- FieldList = new List<InitializerTests.MyEnum2>
- {
- InitializerTests.MyEnum2.c,
- InitializerTests.MyEnum2.d
- }
- });
- }
-
- public static void ObjectInitializerAddToCollectionInField()
- {
- InitializerTests.X(InitializerTests.Y(), new InitializerTests.Data
- {
- a = InitializerTests.MyEnum.a,
- FieldList =
- {
- InitializerTests.MyEnum2.c,
- InitializerTests.MyEnum2.d
- }
- });
- }
-
- public static void ObjectInitializerAssignCollectionToProperty()
- {
- InitializerTests.X(InitializerTests.Y(), new InitializerTests.Data
- {
- a = InitializerTests.MyEnum.a,
- PropertyList = new List<InitializerTests.MyEnum2>
- {
- InitializerTests.MyEnum2.c,
- InitializerTests.MyEnum2.d
- }
- });
- }
-
- public static void ObjectInitializerAddToCollectionInProperty()
- {
- InitializerTests.X(InitializerTests.Y(), new InitializerTests.Data
- {
- a = InitializerTests.MyEnum.a,
- PropertyList =
- {
- InitializerTests.MyEnum2.c,
- InitializerTests.MyEnum2.d
- }
- });
- }
-
- public static void ObjectInitializerWithInitializationOfNestedObjects()
- {
- InitializerTests.X(InitializerTests.Y(), new InitializerTests.Data
- {
- MoreData =
- {
- a = InitializerTests.MyEnum.a
- }
- });
- }
-
- public static void StructInitializer_DefaultConstructor()
- {
- InitializerTests.X(InitializerTests.Y(), new InitializerTests.StructData
- {
- Field = 1,
- Property = 2
- });
- }
-
- public static void StructInitializer_ExplicitConstructor()
- {
- InitializerTests.X(InitializerTests.Y(), new InitializerTests.StructData(0)
- {
- Field = 1,
- Property = 2
- });
- }
-
- public static void StructInitializerWithInitializationOfNestedObjects()
- {
- InitializerTests.X(InitializerTests.Y(), new InitializerTests.StructData
- {
- MoreData =
- {
- a = InitializerTests.MyEnum.a,
- FieldList =
- {
- InitializerTests.MyEnum2.c,
- InitializerTests.MyEnum2.d
- }
- }
- });
- }
-
- public static void StructInitializerWithinObjectInitializer()
- {
- InitializerTests.X(InitializerTests.Y(), new InitializerTests.Data
- {
- NestedStruct = new InitializerTests.StructData(2)
- {
- Field = 1,
- Property = 2
- }
- });
- }
-
- public int[,] MultidimensionalInit()
- {
- return new int[,]
- {
-
- {
- 0,
- 0,
- 0,
- 0
- },
-
- {
- 1,
- 1,
- 1,
- 1
- },
-
- {
- 0,
- 0,
- 0,
- 0
- },
-
- {
- 0,
- 0,
- 0,
- 0
- },
-
- {
- 0,
- 0,
- 1,
- 0
- },
-
- {
- 0,
- 0,
- 1,
- 0
- },
-
- {
- 0,
- 0,
- 1,
- 0
- },
-
- {
- 0,
- 0,
- 1,
- 0
- },
-
- {
- 0,
- 0,
- 0,
- 0
- },
-
- {
- 1,
- 1,
- 1,
- 1
- },
-
- {
- 0,
- 0,
- 0,
- 0
- },
-
- {
- 0,
- 0,
- 0,
- 0
- },
-
- {
- 0,
- 0,
- 1,
- 0
- },
-
- {
- 0,
- 0,
- 1,
- 0
- },
-
- {
- 0,
- 0,
- 1,
- 0
- },
-
- {
- 0,
- 0,
- 1,
- 0
- }
- };
- }
-
- public int[][,] MultidimensionalInit2()
- {
- return new int[][,]
- {
- new int[,]
- {
-
- {
- 0,
- 0,
- 0,
- 0
- },
-
- {
- 1,
- 1,
- 1,
- 1
- },
-
- {
- 0,
- 0,
- 0,
- 0
- },
-
- {
- 0,
- 0,
- 0,
- 0
- }
-
- },
- new int[,]
- {
-
- {
- 0,
- 0,
- 1,
- 0
- },
-
- {
- 0,
- 0,
- 1,
- 0
- },
-
- {
- 0,
- 0,
- 1,
- 0
- },
-
- {
- 0,
- 0,
- 1,
- 0
- }
-
- },
- new int[,]
- {
-
- {
- 0,
- 0,
- 0,
- 0
- },
-
- {
- 1,
- 1,
- 1,
- 1
- },
-
- {
- 0,
- 0,
- 0,
- 0
- },
-
- {
- 0,
- 0,
- 0,
- 0
- }
- },
- new int[,]
- {
-
- {
- 0,
- 0,
- 1,
- 0
- },
-
- {
- 0,
- 0,
- 1,
- 0
- },
-
- {
- 0,
- 0,
- 1,
- 0
- },
-
- {
- 0,
- 0,
- 1,
- 0
- }
-
- }
- };
- }
-
- public int[][,,] ArrayOfArrayOfArrayInit()
- {
- return new int[][,,]
- {
- new int[,,]
- {
- {
- {
- 1,
- 2,
- 3
- },
- {
- 4,
- 5,
- 6
- },
- {
- 7,
- 8,
- 9
- }
- },
- {
- {
- 11,
- 12,
- 13
- },
- {
- 14,
- 15,
- 16
- },
- {
- 17,
- 18,
- 19
- }
- }
- },
-
- new int[,,]
- {
- {
- {
- 21,
- 22,
- 23
- },
- {
- 24,
- 25,
- 26
- },
- {
- 27,
- 28,
- 29
- }
- },
- {
- {
- 31,
- 32,
- 33
- },
- {
- 34,
- 35,
- 36
- },
- {
- 37,
- 38,
- 39
- }
- }
- }
- };
- }
-}