/DLR_Main/Languages/IronPython/IronPythonTest/Enums.cs

https://bitbucket.org/mdavid/dlr · C# · 266 lines · 245 code · 7 blank · 14 comment · 0 complexity · 320f2340e0466daa0c0c8652dd936b5d MD5 · raw file

  1. /* ****************************************************************************
  2. *
  3. * Copyright (c) Microsoft Corporation.
  4. *
  5. * This source code is subject to terms and conditions of the Apache License, Version 2.0. A
  6. * copy of the license can be found in the License.html file at the root of this distribution. If
  7. * you cannot locate the Apache License, Version 2.0, please send an email to
  8. * ironpy@microsoft.com. By using this source code in any fashion, you are agreeing to be bound
  9. * by the terms of the Apache License, Version 2.0.
  10. *
  11. * You must not remove this notice, or any other, from this software.
  12. *
  13. *
  14. * ***************************************************************************/
  15. using System;
  16. namespace IronPythonTest {
  17. [Flags]
  18. public enum DaysInt : int {
  19. Mon = 0x01,
  20. Tue = 0x02,
  21. Wed = 0x04,
  22. Thu = 0x08,
  23. Fri = 0x10,
  24. Sat = 0x20,
  25. Sun = 0x40,
  26. None = 0,
  27. Weekdays = Mon | Tue | Wed | Thu | Fri,
  28. Weekend = Sat | Sun,
  29. All = Weekdays | Weekend
  30. }
  31. [Flags]
  32. public enum DaysShort : short {
  33. Mon = 0x01,
  34. Tue = 0x02,
  35. Wed = 0x04,
  36. Thu = 0x08,
  37. Fri = 0x10,
  38. Sat = 0x20,
  39. Sun = 0x40,
  40. None = 0,
  41. Weekdays = Mon | Tue | Wed | Thu | Fri,
  42. Weekend = Sat | Sun,
  43. All = Weekdays | Weekend
  44. }
  45. [Flags]
  46. public enum DaysLong : long {
  47. Mon = 0x01,
  48. Tue = 0x02,
  49. Wed = 0x04,
  50. Thu = 0x08,
  51. Fri = 0x10,
  52. Sat = 0x20,
  53. Sun = 0x40,
  54. None = 0,
  55. Weekdays = Mon | Tue | Wed | Thu | Fri,
  56. Weekend = Sat | Sun,
  57. All = Weekdays | Weekend
  58. }
  59. [Flags]
  60. public enum DaysSByte : sbyte {
  61. Mon = 0x01,
  62. Tue = 0x02,
  63. Wed = 0x04,
  64. Thu = 0x08,
  65. Fri = 0x10,
  66. Sat = 0x20,
  67. Sun = 0x40,
  68. None = 0,
  69. Weekdays = Mon | Tue | Wed | Thu | Fri,
  70. Weekend = Sat | Sun,
  71. All = Weekdays | Weekend
  72. }
  73. [Flags]
  74. public enum DaysByte : byte {
  75. Mon = 0x01,
  76. Tue = 0x02,
  77. Wed = 0x04,
  78. Thu = 0x08,
  79. Fri = 0x10,
  80. Sat = 0x20,
  81. Sun = 0x40,
  82. None = 0,
  83. Weekdays = Mon | Tue | Wed | Thu | Fri,
  84. Weekend = Sat | Sun,
  85. All = Weekdays | Weekend
  86. }
  87. [Flags]
  88. public enum DaysUShort : ushort {
  89. Mon = 0x01,
  90. Tue = 0x02,
  91. Wed = 0x04,
  92. Thu = 0x08,
  93. Fri = 0x10,
  94. Sat = 0x20,
  95. Sun = 0x40,
  96. None = 0,
  97. Weekdays = Mon | Tue | Wed | Thu | Fri,
  98. Weekend = Sat | Sun,
  99. All = Weekdays | Weekend
  100. }
  101. [Flags]
  102. public enum DaysUInt : uint {
  103. Mon = 0x01,
  104. Tue = 0x02,
  105. Wed = 0x04,
  106. Thu = 0x08,
  107. Fri = 0x10,
  108. Sat = 0x20,
  109. Sun = 0x40,
  110. None = 0,
  111. Weekdays = Mon | Tue | Wed | Thu | Fri,
  112. Weekend = Sat | Sun,
  113. All = Weekdays | Weekend
  114. }
  115. [Flags]
  116. public enum DaysULong : ulong {
  117. Mon = 0x01,
  118. Tue = 0x02,
  119. Wed = 0x04,
  120. Thu = 0x08,
  121. Fri = 0x10,
  122. Sat = 0x20,
  123. Sun = 0x40,
  124. None = 0,
  125. Weekdays = Mon | Tue | Wed | Thu | Fri,
  126. Weekend = Sat | Sun,
  127. All = Weekdays | Weekend
  128. }
  129. public class EnumTest {
  130. public virtual DaysInt TestDaysInt() {
  131. return DaysInt.Weekend;
  132. }
  133. public virtual DaysShort TestDaysShort() {
  134. return DaysShort.Weekend;
  135. }
  136. public virtual DaysLong TestDaysLong() {
  137. return DaysLong.Weekend;
  138. }
  139. public virtual DaysSByte TestDaysSByte() {
  140. return DaysSByte.Weekend;
  141. }
  142. public virtual DaysByte TestDaysByte() {
  143. return DaysByte.Weekend;
  144. }
  145. public virtual DaysUShort TestDaysUShort() {
  146. return DaysUShort.Weekend;
  147. }
  148. public virtual DaysUInt TestDaysUInt() {
  149. return DaysUInt.Weekend;
  150. }
  151. public virtual DaysULong TestDaysULong() {
  152. return DaysULong.Weekend;
  153. }
  154. public static void TestEnumInt(int arg) {
  155. }
  156. public static void TestEnumShort(short arg) {
  157. }
  158. public static void TestEnumLong(long arg) {
  159. }
  160. public static void TestEnumSByte(sbyte arg) {
  161. }
  162. public static void TestEnumUInt(uint arg) {
  163. }
  164. public static void TestEnumUShort(ushort arg) {
  165. }
  166. public static void TestEnumULong(ulong arg) {
  167. }
  168. public static void TestEnumByte(byte arg) {
  169. }
  170. public static void TestEnumBoolean(bool arg) {
  171. }
  172. }
  173. public enum EnumSByte : sbyte {
  174. Zero = 0,
  175. MinSByte = SByte.MinValue,
  176. MaxSByte = SByte.MaxValue,
  177. }
  178. public enum EnumByte : byte {
  179. Zero = 0,
  180. MaxSByte = (byte)SByte.MaxValue,
  181. MinByte = Byte.MinValue,
  182. MaxByte = Byte.MaxValue,
  183. }
  184. public enum EnumShort : short {
  185. Zero = 0,
  186. MinSByte = SByte.MinValue,
  187. MaxSByte = SByte.MaxValue,
  188. MinByte = Byte.MinValue,
  189. MaxByte = Byte.MaxValue,
  190. MinShort = Int16.MinValue,
  191. MaxShort = Int16.MaxValue,
  192. }
  193. public enum EnumUShort : ushort {
  194. Zero = 0,
  195. MaxSByte = (ushort)SByte.MaxValue,
  196. MinByte = Byte.MinValue,
  197. MaxByte = Byte.MaxValue,
  198. MaxShort = (ushort)Int16.MaxValue,
  199. MinUShort = UInt16.MinValue,
  200. MaxUShort = UInt16.MaxValue,
  201. }
  202. public enum EnumInt : int {
  203. Zero = 0,
  204. MinSByte = SByte.MinValue,
  205. MaxSByte = SByte.MaxValue,
  206. MinByte = Byte.MinValue,
  207. MaxByte = Byte.MaxValue,
  208. MinShort = Int16.MinValue,
  209. MaxShort = Int16.MaxValue,
  210. MinUShort = UInt16.MinValue,
  211. MaxUShort = UInt16.MaxValue,
  212. MinInt = Int32.MinValue,
  213. MaxInt = Int32.MaxValue,
  214. }
  215. public enum EnumUInt : uint {
  216. Zero = 0,
  217. MaxSByte = (uint)SByte.MaxValue,
  218. MinByte = Byte.MinValue,
  219. MaxByte = Byte.MaxValue,
  220. MaxShort = (uint)Int16.MaxValue,
  221. MinUShort = UInt16.MinValue,
  222. MaxUShort = UInt16.MaxValue,
  223. MaxInt = Int32.MaxValue,
  224. MinUInt = UInt32.MinValue,
  225. MaxUInt = UInt32.MaxValue,
  226. }
  227. public enum EnumLong : long {
  228. Zero = 0,
  229. MinSByte = SByte.MinValue,
  230. MaxSByte = SByte.MaxValue,
  231. MinByte = Byte.MinValue,
  232. MaxByte = Byte.MaxValue,
  233. MinShort = Int16.MinValue,
  234. MaxShort = Int16.MaxValue,
  235. MinUShort = UInt16.MinValue,
  236. MaxUShort = UInt16.MaxValue,
  237. MinInt = Int32.MinValue,
  238. MaxInt = Int32.MaxValue,
  239. MinUInt = UInt32.MinValue,
  240. MaxUInt = UInt32.MaxValue,
  241. MinLong = Int64.MinValue,
  242. MaxLong = Int64.MaxValue,
  243. }
  244. public enum EnumULong : ulong {
  245. Zero = 0,
  246. MaxSByte = (ulong)SByte.MaxValue,
  247. MinByte = Byte.MinValue,
  248. MaxByte = Byte.MaxValue,
  249. MaxShort = (ulong)Int16.MaxValue,
  250. MinUShort = UInt16.MinValue,
  251. MaxUShort = UInt16.MaxValue,
  252. MaxInt = Int32.MaxValue,
  253. MinUInt = UInt32.MinValue,
  254. MaxUInt = UInt32.MaxValue,
  255. MaxLong = Int64.MaxValue,
  256. MinULong = UInt64.MinValue,
  257. MaxULong = UInt64.MaxValue,
  258. }
  259. }