// Parse lines giving number of verses for each chapter like // GEN 1:10 2:23 ... private static void ParseMappingLine(string fileName, VersificationTable versification, string line) { try { string[] parts = line.Split('='); string[] leftPieces = parts[0].Trim().Split('-'); string[] rightPieces = parts[1].Trim().Split('-'); BCVRef left = new BCVRef(leftPieces[0]); int leftLimit = leftPieces.GetUpperBound(0) == 0 ? 0 : int.Parse(leftPieces[1]); BCVRef right = new BCVRef(rightPieces[0]); while (true) { versification.toStandard[left.ToString()] = right.ToString(); versification.fromStandard[right.ToString()] = left.ToString(); if (left.Verse >= leftLimit) break; left.Verse = left.Verse + 1; right.Verse = right.Verse + 1; } } catch { // ENHANCE: Make it so the TE version of Localizer can have its own resources for stuff // like this. throw new Exception("Invalid [" + line + "] " + fileName); } }
public void ToString_NormalVerse() { BCVRef exodusTitleRef = new BCVRef(2004006); Assert.AreEqual("EXO 4:6", exodusTitleRef.ToString(BCVRef.RefStringFormat.General)); Assert.AreEqual("EXO 4:6", exodusTitleRef.ToString(BCVRef.RefStringFormat.Exchange)); }
public void ToString_Title() { BCVRef genesisTitleRef = new BCVRef(1000000); Assert.AreEqual("GEN 0:0", genesisTitleRef.ToString(BCVRef.RefStringFormat.General)); Assert.AreEqual("GEN Title", genesisTitleRef.ToString(BCVRef.RefStringFormat.Exchange)); }
public void ToString_BogusIntro() { BCVRef genesisTitleRef = new BCVRef(1002000); Assert.AreEqual("GEN 2:0", genesisTitleRef.ToString(BCVRef.RefStringFormat.General)); Assert.AreEqual("GEN 2:0", genesisTitleRef.ToString(BCVRef.RefStringFormat.Exchange)); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Gets the string representation of the specified BCVRef for serialization. /// </summary> /// ------------------------------------------------------------------------------------ private string GetRef(BCVRef bcvref) { // When writing pure OXES, don't use this attribute, use oxesRef return (m_serializingForOxes || bcvref == null || bcvref.IsEmpty ? null : bcvref.ToString(BCVRef.RefStringFormat.Exchange)); }