コード例 #1
0
        public void GetEnumValueByCustomValue_Performance_Test()
        {
            /* 1 times takes 4 ms
             * 100 times takes 9 ms
             * 100.000 times takes 10200 ms
             * with caching
             * 1 times takes 5 ms
             * 100 times takes 0 ms
             * 100.000 times takes 1214 ms
             * TryGetValue in dictionary
             * 1 times takes 5 ms
             * 100 times takes 0 ms
             * 100.000 times takes 750 ms
             */
            using (Benchmark.InMiliseconds().ToConsole("1 times takes {0} ms"))
            {
                EnumExtendedInfoAttribute.GetEnumValueByCustomValue <TestEnum>(23);
            }

            using (Benchmark.InMiliseconds().ToConsole("100 times takes {0} ms"))
            {
                for (int i = 0; i < 100; i++)
                {
                    EnumExtendedInfoAttribute.GetEnumValueByCustomValue <TestEnum>(23);
                }
            }

            using (Benchmark.InMiliseconds().ToConsole("100.000 times takes {0} ms"))
            {
                for (int i = 0; i < 100000; i++)
                {
                    EnumExtendedInfoAttribute.GetEnumValueByCustomValue <TestEnum>(23);
                }
            }
        }
コード例 #2
0
 public void GetEnumValueByCustomValue_Decimal_FindsStringRepresentation()
 {
     Assert.AreEqual(TestEnum.Decimal, EnumExtendedInfoAttribute.GetEnumValueByCustomValue <TestEnum>(0.2M));
     Assert.Throws <ArgumentException>(delegate { EnumExtendedInfoAttribute.GetEnumValueByCustomValue <TestEnum>(12M); });
 }
コード例 #3
0
 public void GetEnumValueByCustomValue_NonExistingValueName_ThrowsArgumentException()
 {
     Assert.Throws <ArgumentException>(delegate { EnumExtendedInfoAttribute.GetEnumValueByCustomValue <TestEnum>("nie ma"); });
 }
コード例 #4
0
 public void GetEnumValueByCustomValue_InvalidTypeNotEnum_ThrowsArgumentException()
 {
     Assert.Throws <ArgumentException>(delegate { EnumExtendedInfoAttribute.GetEnumValueByCustomValue <string>("nie ma"); });
 }
コード例 #5
0
 public void GetEnumValueByCustomValue_ValidValueName_ReturnsValidValue(object databaseRepresentation, TestEnum expectedValue)
 {
     Assert.AreEqual(expectedValue, EnumExtendedInfoAttribute.GetEnumValueByCustomValue <TestEnum>(databaseRepresentation));
 }