using uCalcSoftware;

var uc = new uCalc();
var t = uc.NewTransformer();

// Priority Test: All start with "An"
// 1. Defined first (lowest priority for same start)
t.FromTo("An {item}", "Match1: {item}");

// 2. Defined second
t.FromTo("An {item}.", "Match2: {item}");

// 3. Defined last (Highest priority for same start)
t.FromTo("An orange.", "Match3: orange");

// Input text
var txt = "An orange. An apple. An elephant.";

// "An orange." matches Rule 3 (Specific, defined last)
// "An apple." fails Rule 3, matches Rule 2 (Ending in dot)
// If input is "An elephant" (no dot), it falls back to Rule 1.

Console.WriteLine(t.Transform("An orange."));   // Match3: Orange
Console.WriteLine(t.Transform("An apple."));    // Match2: apple
Console.WriteLine(t.Transform("An elephant"));  // Match1: elephant