public void Test_Common() { Assert.AreEqual("Иванова Ивана Ивановича", RusDeclension.GetDeclension("Иванов Иван Иванович", DeclensionCase.Genitive)); Assert.AreEqual("Иванова-Петрова Ивана Ивановича", RusDeclension.GetDeclension("Иванов-Петров Иван Иванович", DeclensionCase.Genitive)); //Assert.AreEqual("атому", RusDeclension.GetDeclension("атом", DeclensionCase.Dative)); //Assert.AreEqual("лугу", RusDeclension.GetDeclension("луг", DeclensionCase.Dative)); }
public string GetPossessiveName(GEDCOMIndividualRecord iRec) { var nameParts = GKUtils.GetNameParts(iRec); var gender = DeclGenders[(int)iRec.Sex]; string result = ""; string surname = nameParts.Surname.Trim(); int p = surname.IndexOf('('); if (p >= 0) { string part = surname.Substring(0, p).Trim(); if (part != "") { result = RusDeclension.GetDeclension(part, DeclensionCase.Genitive, gender, "1", 1); result += " "; } part = surname.Substring(p).Trim(); part = part.Substring(1, part.Length - 2); result += "("; string[] parts = part.Split(','); for (int i = 0; i < parts.Length; i++) { if (i > 0) { result += "("; } part = RusDeclension.GetDeclension(parts[i], DeclensionCase.Genitive, gender, "1", 1); result += part; } result += ")"; } else { result = RusDeclension.GetDeclension(surname, DeclensionCase.Genitive, gender, "1", 1); } result += " " + RusDeclension.GetDeclension(nameParts.Name + " " + nameParts.Patronymic, DeclensionCase.Genitive, gender, "23", 2); return(result); }
public string GetPossessiveName(string name) { // (genitive) "[the] sailor's / [of the] sailor" // (e.g. Сын моряка — художник – the sailor's son is an artist) return(RusDeclension.GetDeclension(name, DeclensionCase.Genitive)); }