public static IConjugation Get3(VerbPrincipalParts parts) { if (parts.Present.EndsWith("io")) { return new Present(parts.Present.TruncateEnding("io"), "i", "e", "i", "iu"); } return new Present(parts.Present.TruncateEnding("o"), "", "e", "i", "u"); }
public static IConjugation Get3(VerbPrincipalParts parts) { return new Present( parts.Present.TruncateEnding("o"), string.Empty, parts.Present.EndsWith("io") ? string.Empty : "i", "u"); }
public static IConjugation Get4(VerbPrincipalParts parts) { return new Present( parts.Present.TruncateEnding("o"), string.Empty, string.Empty, "u"); }
protected PastParticipleBase(VerbPrincipalParts parts) { string pastParticiple = parts.Supine; if (!pastParticiple.EndsWithOneOf("us", "um")) { throw new NotSupportedException(string.Format("Past participle '{0}' does not end in 'um' or 'us'", pastParticiple)); } _stem = pastParticiple.TruncateLastChars(2); }
public Participles(VerbPrincipalParts parts) { ActivePresent = parts.Present.EndsWith("io") ? string.Format("{0}ens", parts.Present.TruncateEnding("o")) : string.Format("{0}ns", parts.Infinitive.TruncateEnding("re")); PassivePerfect = parts.Supine.EndsWith("us") ? parts.Supine : string.Format("{0}us", parts.Supine.TruncateEnding("um")); ActiveFuture = string.Format("{0}urus", PassivePerfect.TruncateEnding("us")); }
public Infinitives(VerbPrincipalParts parts) { ActivePresent = parts.Infinitive; ActiveFuture = string.Format("{0} {1}", parts.FutureParticiple, "esse"); ActivePerfect = string.Format("{0}sse", parts.Perfect); PassivePresent = string.Format("{0}i", parts.Infinitive.TruncateEnding(parts.Conjugation == Conjugation.Third ? "ere" : "e")); string supineStem = parts.Supine.TruncateLastChars(2); PassiveFuture = string.Format("{0}um iri", supineStem); PassivePerfect = string.Format("{0}us esse", supineStem); }
public static IConjugation Get3(VerbPrincipalParts parts) { return new FuturePerfect(parts); }
private FuturePerfect(VerbPrincipalParts parts) : base(parts) { }
private static IConjugation Get12(VerbPrincipalParts parts) { return new Imperfect(parts.Infinitive.TruncateEnding("re")); }
public static IConjugation Get4(VerbPrincipalParts parts) { return new Imperfect(parts.Infinitive.TruncateEnding("re") + "e"); }
public static IConjugation Get3(VerbPrincipalParts parts) { return new Imperfect(parts.Present.TruncateEnding("o") + "e"); }
public static IConjugation Get2(VerbPrincipalParts parts) { return Get12(parts); }
private static IConjugation Get34(VerbPrincipalParts parts) { return new Future(parts.Present.TruncateEnding("o"), Endings.Am); }
private Pluperfect(VerbPrincipalParts parts) : base(parts) { }
public static IConjugation Get4(VerbPrincipalParts parts) { return new Present(parts); }
public static IConjugation Get2(VerbPrincipalParts parts) { return new Present(parts.Present.TruncateEnding("o")); }
private Present(VerbPrincipalParts parts, string infix = "a") { _stem = string.Format("{0}{1}", parts.Present.TruncateEnding("o"), infix); }
private Imperfect(VerbPrincipalParts parts) { _stem = parts.Infinitive; }
private Present(VerbPrincipalParts parts, Endings endings = Endings.Am) { _stem = string.Format("{0}{1}", parts.Present.TruncateEnding("o"), endings == Endings.Em ? "e" : "a"); }
protected bool Equals(VerbPrincipalParts other) { List<string> parts = Parts; List<string> otherParts = other.Parts; return parts.Count == otherParts.Count && Enumerable.Range(0, parts.Count).All(i => parts[i] == otherParts[i]); }
public static IConjugation Get1(VerbPrincipalParts parts) { return new Present(parts, Endings.Em); }
private static IConjugation Get12(VerbPrincipalParts parts) { return new Future(parts.Infinitive.TruncateEnding("re"), Endings.Bo); }
public static IConjugation Get4(VerbPrincipalParts parts) { return new Imperfect(parts.Infinitive); }
public static IConjugation Get34(VerbPrincipalParts parts) { return new Imperfect(string.Format("{0}e", parts.Present.TruncateEnding("o"))); }
public static IConjugation Get4(VerbPrincipalParts parts) { return new Pluperfect(parts); }
protected PerfectStemBase(VerbPrincipalParts parts) { _stem = parts.Perfect.TruncateEnding("i"); }