public void EnumsListEnumListTTRequiresEnum() { // arrange / act var result = Assert.Throws <ArgumentException>(() => Enums.EnumList <int, int>()); // assert Assert.That(result.Message, Is.EqualTo("T must be an enumerated type")); }
public void EnumsListByteEnumIntListError() { // arrange / act var result = Assert.Throws <NotSupportedException>(() => Enums.EnumList <ByteEnum, int>()); // assert Assert.That(result.Message, Is.EqualTo("DeuceGear.UnitTests.EnumExtensions.ByteEnum can not be converted to a list of type System.Int32")); }
public void EnumsListLongEnumTypeList() { // arrange / act var result = Enums.EnumList <LongEnum, long>(); // assert Assert.That(result.Length, Is.EqualTo(4)); Assert.That(result[0], Is.EqualTo(0)); Assert.That(result[1], Is.EqualTo(1)); Assert.That(result[2], Is.EqualTo(2)); Assert.That(result[3], Is.EqualTo(3)); }
public void EnumsListLongEnumGenericList() { // arrange / act var result = Enums.EnumList <LongEnum>().ToList(); // assert Assert.That(result.Count, Is.EqualTo(4)); Assert.That(result[0], Is.EqualTo(LongEnum.Empty)); Assert.That(result[1], Is.EqualTo(LongEnum.Single1)); Assert.That(result[2], Is.EqualTo(LongEnum.Single2)); Assert.That(result[3], Is.EqualTo(LongEnum.List)); }
private void EnumsListEnumPerformanceTestExcludingTheFirstCall <Tenum, TdataType>(int testLength) where Tenum : struct, IConvertible { lock (_performanceLock) { // arrange var stopwatch = new Stopwatch(); // act - 1 - Enum.GetValues var values1 = (TdataType[])Enum.GetValues(typeof(Tenum)); stopwatch.Start(); for (int i = 0; i < testLength; i++) { var values = (TdataType[])Enum.GetValues(typeof(Tenum)); } stopwatch.Stop(); var enumGetValues = stopwatch.ElapsedTicks; // act - 2 - typeof().GetEnumValues var values2 = (TdataType[])typeof(Tenum).GetEnumValues(); stopwatch.Restart(); for (int i = 0; i < testLength; i++) { var values = (TdataType[])typeof(Tenum).GetEnumValues(); } stopwatch.Stop(); var typeofGetValues = stopwatch.ElapsedTicks; // act - 3 - deucegear var values3 = Enums.EnumList <Tenum, TdataType>(); stopwatch.Restart(); for (int i = 0; i < testLength; i++) { var values = Enums.EnumList <Tenum, TdataType>(); } stopwatch.Stop(); var deucegear = stopwatch.ElapsedTicks; // assert Console.WriteLine("Enum.GetValues: " + enumGetValues); Console.WriteLine("Typeof.GetEnumValues: " + typeofGetValues); Console.WriteLine("Deucegear: " + deucegear); Assert.That(deucegear, Is.LessThanOrEqualTo(enumGetValues)); Assert.That(deucegear, Is.LessThanOrEqualTo(typeofGetValues)); } }