public void SerializeEnum_ValidEnums_HelperMethodFasterThanToString() { var cache = new ConcurrentDictionary <FakeTestingEnum, string>(); const int testIterations = 1000000; var swSerEnumMember = new Stopwatch(); swSerEnumMember.Start(); for (int i = 0; i < testIterations; i++) { string value = PrettyEnumHelpers <FakeTestingEnum> .SerializeEnum(FakeTestingEnum.YourValue, cache); } swSerEnumMember.Stop(); var swSerEnumToString = new Stopwatch(); swSerEnumToString.Start(); for (int i = 0; i < testIterations; i++) { string value = FakeTestingEnum.YourValue.ToString(); } swSerEnumToString.Stop(); _output.WriteLine($"Helper: {swSerEnumMember.Elapsed}"); _output.WriteLine($"ToString: {swSerEnumToString.Elapsed}"); _output.WriteLine($"Ratio: {swSerEnumToString.Elapsed.TotalMilliseconds / swSerEnumMember.Elapsed.TotalMilliseconds}"); Assert.True(swSerEnumMember.Elapsed <= swSerEnumToString.Elapsed); }
public void GetDescriptionFromEnum_InValidEnumValue_ReturnsIntValueAsString() { string enumString = PrettyEnumHelpers <FakeTestingEnum> .SerializeEnum((FakeTestingEnum)int.MaxValue); Assert.Equal(int.MaxValue.ToString(), enumString); }
public void SerializeEnum_ValidEnums_HelperMethodFasterThanToString() { var cache = new ConcurrentDictionary <FakeTestingEnum, string>(); const int testIterations = 100000; var swSerEnumMember = new Stopwatch(); swSerEnumMember.Start(); for (int i = 0; i < testIterations; i++) { string value = PrettyEnumHelpers <FakeTestingEnum> .SerializeEnum(FakeTestingEnum.YourValue, cache); } swSerEnumMember.Stop(); var swSerEnumToString = new Stopwatch(); swSerEnumToString.Start(); for (int i = 0; i < testIterations; i++) { string value = FakeTestingEnum.YourValue.ToString(); } swSerEnumToString.Stop(); Assert.True(swSerEnumMember.ElapsedTicks <= swSerEnumToString.ElapsedTicks); }
public void SerializeEnum_WithCacheAndValidDescription_CorrectEnumAddedToCache() { var cache = new ConcurrentDictionary <FakeTestingEnum, string>(); string serializedEnum = PrettyEnumHelpers <FakeTestingEnum> .SerializeEnum( FakeTestingEnum.YourValue, cache); Assert.Equal(YourValueEnumMemberValue, serializedEnum); Assert.Equal(1, cache.Count); Assert.True(cache.ContainsKey(FakeTestingEnum.YourValue)); }
public void GetDescriptionFromEnum_ValidEnumTypeWithoutAttr_ReturnsEnumString() { string enumString = PrettyEnumHelpers <FakeTestingEnum> .SerializeEnum(FakeTestingEnum.MyValue); Assert.Equal("MyValue", enumString); }
public void GetDescriptionFromEnum_ValidEnumTypeWithAttr_ReturnsAttrString() { string enumString = PrettyEnumHelpers <FakeTestingEnum> .SerializeEnum(FakeTestingEnum.YourValue); Assert.Equal(YourValueEnumMemberValue, enumString); }
public void GetDescriptionFromEnum_NonEnumType_ThrowsException() { Assert.Throws <InvalidOperationException>( () => PrettyEnumHelpers <DateTime> .SerializeEnum(new DateTime())); }