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 = 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 DeserializeEnum_ValidEnums_HelperMethodFasterThanEnumMethod() { var cache = new ConcurrentDictionary <string, FakeTestingEnum>(); const int testIterations = 100000; var swDeserializeEnumMember = new Stopwatch(); swDeserializeEnumMember.Start(); for (int i = 0; i < testIterations; i++) { FakeTestingEnum value = PrettyEnumHelpers <FakeTestingEnum> .DeserializeEnum("YourValue", cache); } swDeserializeEnumMember.Stop(); var swDeserializeStringTo = new Stopwatch(); swDeserializeStringTo.Start(); for (int i = 0; i < testIterations; i++) { object value = Enum.Parse(typeof(FakeTestingEnum), "YourValue"); } swDeserializeStringTo.Stop(); Assert.True(swDeserializeEnumMember.ElapsedTicks <= swDeserializeStringTo.ElapsedTicks); }
public void GetEnumFromDescription_FromEnumMemberAttributeName_ReturnsCorrectEnum() { FakeTestingEnum deserializedEnum = PrettyEnumHelpers <FakeTestingEnum> .DeserializeEnum(YourValueEnumMemberValue); Assert.Equal(FakeTestingEnum.YourValue, deserializedEnum); }
public void GetEnumFromDescription_EmptyStringValue_ReturnsDefaultEnumValue() { FakeTestingEnum deserializedEnum = PrettyEnumHelpers <FakeTestingEnum> .DeserializeEnum(string.Empty); Assert.Equal(default(FakeTestingEnum), deserializedEnum); }
public void GetEnumFromDescription_WhiteSpacePaddedEnumMemberAttrName_ReturnsCorrectEnum() { FakeTestingEnum deserializedEnum = PrettyEnumHelpers <FakeTestingEnum> .DeserializeEnum("\t" + YourValueEnumMemberValue + " "); Assert.Equal(FakeTestingEnum.YourValue, deserializedEnum); }
public void GetEnumFromDescription_WhitespacePaddedEnum_ResturnsCorrectEnum() { FakeTestingEnum deserializedEnum = PrettyEnumHelpers <FakeTestingEnum> .DeserializeEnum("\tYourValue "); Assert.Equal(FakeTestingEnum.YourValue, deserializedEnum); }
public void GetEnumFromDescription_FromEnumNameMixedCase_ResturnsCorrectEnum() { FakeTestingEnum deserializedEnum = PrettyEnumHelpers <FakeTestingEnum> .DeserializeEnum( "YoURvaLuE"); Assert.Equal(FakeTestingEnum.YourValue, deserializedEnum); }
public void GetEnumFromDescription_InvalidEnumString_ReturnsDefaultEnum() { FakeTestingEnum deserializedEnum = PrettyEnumHelpers <FakeTestingEnum> .DeserializeEnum("Invalid Value"); Assert.Equal(default(FakeTestingEnum), deserializedEnum); }
public void DeserializeEnum_ValidEnums_HelperMethodFasterThanEnumMethod() { var cache = new ConcurrentDictionary <string, FakeTestingEnum>(); const int testIterations = 1000000; var swDeserializeEnumMember = new Stopwatch(); swDeserializeEnumMember.Start(); for (int i = 0; i < testIterations; i++) { FakeTestingEnum value = PrettyEnumHelpers <FakeTestingEnum> .DeserializeEnum("YourValue", cache); } swDeserializeEnumMember.Stop(); var swDeserializeToString = new Stopwatch(); swDeserializeToString.Start(); for (int i = 0; i < testIterations; i++) { object value = Enum.Parse(typeof(FakeTestingEnum), "YourValue"); } swDeserializeToString.Stop(); _output.WriteLine($"Helper: {swDeserializeEnumMember.Elapsed}"); _output.WriteLine($"ToString: {swDeserializeToString.Elapsed}"); _output.WriteLine($"Ratio: {swDeserializeToString.Elapsed.TotalMilliseconds / swDeserializeEnumMember.Elapsed.TotalMilliseconds}"); Assert.True(swDeserializeEnumMember.Elapsed <= swDeserializeToString.Elapsed); }
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 DeserializeEnum_WithCacheAndNullString_DefaultEnumAndNothingAddedToCache() { var cache = new ConcurrentDictionary <string, FakeTestingEnum>(); FakeTestingEnum deserializedEnum = PrettyEnumHelpers <FakeTestingEnum> .DeserializeEnum(null, cache); Assert.Equal(default(FakeTestingEnum), deserializedEnum); Assert.Equal(0, cache.Count); }
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 DeserializeEnum_WithCacheAndEmptyString_DefaultEnumAndAddedToCache() { var cache = new ConcurrentDictionary <string, FakeTestingEnum>(); FakeTestingEnum deserializedEnum = PrettyEnumHelpers <FakeTestingEnum> .DeserializeEnum( string.Empty, cache); Assert.Equal(default(FakeTestingEnum), deserializedEnum); Assert.Equal(1, cache.Count); Assert.True(cache.ContainsKey(string.Empty)); }
public void DeserializeEnum_WithCacheAndWhiteSpaceString_DefaultEnumAndAddedToCache() { const string Whitespace = " \r \t "; var cache = new ConcurrentDictionary <string, FakeTestingEnum>(); FakeTestingEnum deserializedEnum = PrettyEnumHelpers <FakeTestingEnum> .DeserializeEnum(Whitespace, cache); Assert.Equal(default(FakeTestingEnum), deserializedEnum); Assert.Equal(1, cache.Count); Assert.True(cache.ContainsKey(Whitespace)); }
public void SerializeEnum_DefaultCache_CorrectEnumAddedToCache() { lock (StaticTestingLocks.SerializeCacheLockObject) { PrettyEnumHelpers <FakeTestingEnum> .SerializeCache = new ConcurrentDictionary <FakeTestingEnum, string>(); string serializedEnum = PrettyEnumHelpers <FakeTestingEnum> .GetOptimalEnumDescription(FakeTestingEnum.YourValue); Assert.Equal(YourValueEnumMemberValue, serializedEnum); Assert.Equal(1, PrettyEnumHelpers <FakeTestingEnum> .SerializeCache.Count); Assert.True( PrettyEnumHelpers <FakeTestingEnum> .SerializeCache.ContainsKey(FakeTestingEnum.YourValue)); } }
public void DeserializeEnum_WithDefaultCache_EnumAddedToCache() { lock (StaticTestingLocks.DeserializeCacheLockObject) { PrettyEnumHelpers <FakeTestingEnum> .DeserializeCache = new ConcurrentDictionary <string, FakeTestingEnum>(); const int YourvalueInt = 123; FakeTestingEnum yourvalueEnum = PrettyEnumHelpers <FakeTestingEnum> .GetEnumFrom(YourvalueInt.ToString()); Assert.Equal(FakeTestingEnum.YourValue, yourvalueEnum); Assert.Equal(1, PrettyEnumHelpers <FakeTestingEnum> .DeserializeCache.Count); Assert.True( PrettyEnumHelpers <FakeTestingEnum> .DeserializeCache.ContainsKey(YourvalueInt.ToString())); } }
public void DeserializeEnum_WithCache_EnumsAddedToCache() { const int YourvalueInt = 123; const int MyValueInt = 99; var cache = new ConcurrentDictionary <string, FakeTestingEnum>(); FakeTestingEnum yourvalueEnum = PrettyEnumHelpers <FakeTestingEnum> .DeserializeEnum(YourvalueInt.ToString(), cache); FakeTestingEnum myvalueEnum = PrettyEnumHelpers <FakeTestingEnum> .DeserializeEnum( MyValueInt.ToString(), cache); Assert.Equal(FakeTestingEnum.YourValue, yourvalueEnum); Assert.Equal(FakeTestingEnum.MyValue, myvalueEnum); Assert.Equal(2, cache.Count); Assert.True(cache.ContainsKey(YourvalueInt.ToString())); Assert.True(cache.ContainsKey(MyValueInt.ToString())); }
public void GetEnumFromDescription_FromInt_ReturnsCorrectEnum() { FakeTestingEnum deserializedEnum = PrettyEnumHelpers <FakeTestingEnum> .DeserializeEnum("123"); Assert.Equal(FakeTestingEnum.YourValue, deserializedEnum); }
public void GetEnumFromDescription_NonEnumType_ThrowsException() { Assert.Throws <InvalidOperationException>( () => PrettyEnumHelpers <DateTime> .DeserializeEnum("yup")); }
public void GetDescriptionFromEnum_NonEnumType_ThrowsException() { Assert.Throws <InvalidOperationException>( () => PrettyEnumHelpers <DateTime> .SerializeEnum(new DateTime())); }
public void GetDescriptionFromEnum_ValidEnumTypeWithAttr_ReturnsAttrString() { string enumString = PrettyEnumHelpers <FakeTestingEnum> .SerializeEnum(FakeTestingEnum.YourValue); Assert.Equal(YourValueEnumMemberValue, enumString); }
public void GetDescriptionFromEnum_ValidEnumTypeWithoutAttr_ReturnsEnumString() { string enumString = PrettyEnumHelpers <FakeTestingEnum> .SerializeEnum(FakeTestingEnum.MyValue); Assert.Equal("MyValue", enumString); }