public void CreateConverterReturnsValidInstance() { var converter = new EnumSnakeCaseConverter().CreateConverter(typeof(Cartoon), null !); Assert.IsNotNull(converter); Assert.IsTrue(converter !.CanConvert(typeof(Cartoon))); Assert.IsFalse(converter !.CanConvert(typeof(int))); }
public void CanConvertReturnsFalseForEverythingElse() { var c = new EnumSnakeCaseConverter(); Assert.IsFalse(c.CanConvert(typeof(int))); Assert.IsFalse(c.CanConvert(typeof(object))); Assert.IsFalse(c.CanConvert(typeof(string))); }
public void ReadReturnsEnum() { var fc = new EnumSnakeCaseConverter(); var c = fc.CreateConverter(typeof(Cartoon), null !) as EnumSnakeCaseConverterInner <Cartoon>; var rawBytes = new ReadOnlySpan <byte>(Encoding.UTF8.GetBytes("\"cat_dog\"")); var reader = new Utf8JsonReader(rawBytes); reader.Read(); // Read always starts at none. See: https://stackoverflow.com/questions/59028159/exception-when-testing-custom-jsonconverter var e = c !.Read(ref reader, typeof(Cartoon), null !); Assert.AreEqual(Cartoon.CatDog, e); }
public void CanConvertReturnsFalseForFlags() { var c = new EnumSnakeCaseConverter(); Assert.IsFalse(c.CanConvert(typeof(FlagEnum))); }
public void CanConvertReturnsTrueForEnums() { var c = new EnumSnakeCaseConverter(); Assert.IsTrue(c.CanConvert(typeof(Cartoon))); }