public async Task ReadAsync_ShouldSkipComments() { string s = "# This is a comment\n" + "再見 再见 [zai4 jian4] /goodbye/see you again later/"; byte[] b = Encoding.UTF8.GetBytes(s); var stream = new MemoryStream(b); using (var reader = new StreamReader(stream)) { var parser = new CedictParser(reader); CedictEntry entry = await parser.ReadAsync(); Assert.IsNotNull(entry); Assert.AreEqual("再見", entry.Traditional); Assert.AreEqual("再见", entry.Simplified); Assert.AreEqual("zai4 jian4", entry.Pinyin); Assert.IsNotNull(entry.Definitions); Assert.AreEqual(2, entry.Definitions.Length); Assert.AreEqual("goodbye", entry.Definitions[0]); Assert.AreEqual("see you again later", entry.Definitions[1]); } }
public async Task ReadAsync_ShouldReturnNull_WhenNothingToRead() { string s = ""; byte[] b = Encoding.UTF8.GetBytes(s); var stream = new MemoryStream(b); using (var reader = new StreamReader(stream)) { var parser = new CedictParser(reader); CedictEntry entry = await parser.ReadAsync(); Assert.IsNull(entry); } }
public async Task ReadAsync_ShouldReturnEntryWithDefaultPropertyValues_WhenEntryIsMalformed() { string s = "你好你好 [ni3 hao3] /hello/hi/"; byte[] b = Encoding.UTF8.GetBytes(s); var stream = new MemoryStream(b); using (var reader = new StreamReader(stream)) { var parser = new CedictParser(reader); CedictEntry entry = await parser.ReadAsync(); Assert.IsNotNull(entry); Assert.IsNull(entry.Traditional); Assert.IsNull(entry.Simplified); Assert.IsNull(entry.Pinyin); Assert.IsNull(entry.Definitions); } }