public void ReplacingDonor() { var donation = new Donation(10, new DateTime(2011, 01, 01), "Markus Mustermann", 4711); donation.Donor = "ABC"; donation.DonorNo = 12345; Assert.AreEqual("20110101123451", donation.BookingId); }
public void TwoDonationsOnSameDate() { var donation = new Donation(10, new DateTime(2011, 01, 01), "Markus Mustermann", 4711); var secondDonation = new Donation(100, new DateTime(2011, 01, 01), "Markus Mustermann", 4711); Assert.AreEqual("20110101047111", donation.BookingId); Assert.AreEqual("20110101047112", secondDonation.BookingId); }
public void ApplyReplacements(Donation donation) { if (!ApplyDonationReplacements(donation)) return; if (!ApplyStringReplacements(donation)) return; ApplyRegexReplacements(RegexReplacements, donation); }
public int GetBookingId(Donation donation) { var donationInfo = GetDonationInfo(donation); if (m_Donations.ContainsKey(donationInfo)) { m_Donations[donationInfo].Add(donation.Amount); return m_Donations[donationInfo].Count; } m_Donations.Add(donationInfo, new List<decimal> { donation.Amount }); return 1; }
public static void DonationEqual(Donation expected, Donation actual) { if (expected.DonorNo != UInt32.MaxValue) Assert.AreEqual(expected.DonorNo, actual.DonorNo); Assert.AreEqual(expected.Donor, actual.Donor); Assert.AreEqual(expected.Date, actual.Date); Assert.AreEqual(expected.Amount, actual.Amount); Assert.AreEqual(expected.Remarks, actual.Remarks); Assert.AreEqual(expected.TenderedAmount, actual.TenderedAmount); Assert.AreEqual(expected.TenderedCurrency, actual.TenderedCurrency); }
public void AccountSpecificReplacement() { MyReplacementManager.CreateReplacementFile(@" # Comment [999] Markus Mustermann=997; ""Mustermann, Markus"" F. Mueller=996; Mueller, Franz Anton=995;Berta"); var donation = new Donation(80, new DateTime(2010, 06, 01), "ungen. ueberw. durch Markus Mustermann", 999); MyReplacementManager.Instance.ApplyReplacements(donation); AssertEx.DonationEqual(new Donation(80, new DateTime(2010, 06, 01), "Mustermann, Markus", 997), donation); }
protected override Donation CreateDonation(string[] partsOfLine, CultureInfo cultureInfo) { var donation = new Donation { DonorNo = 998, Date = Convert.ToDateTime(partsOfLine[1], cultureInfo), Amount = Convert.ToDecimal(partsOfLine[2], cultureInfo) }; if (partsOfLine[3] == "S") { donation.Amount = -donation.Amount; } donation.Donor = partsOfLine[5]; return donation; }
protected override Donation CreateDonation(string[] partsOfLine, CultureInfo cultureInfo) { if (!Replacements.IncludeEntry(m_AccountNo, partsOfLine[DonorIndex])) return null; // 30.10.2012 100,00 H UM 867 Umb. von Frieder Friederich // [1] [2] [3] [4] [5] var donation = new Donation { Date = Convert.ToDateTime(partsOfLine[1], cultureInfo), Amount = Convert.ToDecimal(partsOfLine[2], cultureInfo), Donor = partsOfLine[5], DonorNo = (uint)partsOfLine[5].GetHashCode() }; if (partsOfLine[3] == "S") { donation.Amount = -donation.Amount; } return donation; }
protected override Donation CreateDonation(string[] partsOfLine, CultureInfo cultureInfo) { if (Replacements.ExcludeEntry(m_AccountNo, partsOfLine[DonorIndex])) return null; // 23.11.2012 US$ 209,64 162,20 H 8021 SWZ Member gift // [1] [2] [3] [4] [5] [6] [7] var donation = new Donation { Date = Convert.ToDateTime(partsOfLine[1], cultureInfo), Amount = Convert.ToDecimal(partsOfLine[4], cultureInfo), Donor = partsOfLine[DonorIndex], Remarks = string.Format("Netto; {0} {1}", partsOfLine[2], partsOfLine[3]), TenderedAmount = Convert.ToDecimal(partsOfLine[3], cultureInfo), TenderedCurrency = partsOfLine[2] == "US$" ? "USD" : partsOfLine[2] }; if (partsOfLine[5] == "S") { donation.Amount = -donation.Amount; } donation.DonorNo = (uint)donation.Donor.GetHashCode(); return donation; }
protected virtual void AppendSecondLine(Donation donation, string[] partsOfLine) { if (donation != null) donation.Donor = string.Format("{0} {1}", donation.Donor, partsOfLine[DonorIndex]); }
protected override void AppendSecondLine(Donation donation, string[] partsOfLine) { // just ignore }
public void AddDonation() { var donation = new Donation(10, new DateTime(2010, 11, 12), "Mustermann", 12345); Assert.AreEqual(1, m_Manager.GetBookingId(donation)); }
private bool ApplyStringReplacements(Donation donation) { if (ReplacementInfo.ContainsKey(Replacements)) { foreach (var searchText in ReplacementInfo[Replacements].Keys) { if (donation.Donor.Contains(searchText)) { donation.Donor = GetReplacement(Replacements, searchText).Donor; } } } return !string.IsNullOrEmpty(donation.Donor); }
public void Regex_ReplaceEntireString() { MyReplacementManager.CreateReplacementFile(@" [Regex] Pattern=^Umb\..+Friederich$ Replace=Friederich, Frieder"); var donation = new Donation(0, DateTime.Now, "Umb. von Frieder Friederich", 0); MyReplacementManager.Instance.ApplyReplacements(donation); Assert.AreEqual("Friederich, Frieder", donation.Donor); }
private bool ApplyDonationReplacements(Donation donation) { if (ReplacementInfo.ContainsKey((int)donation.DonorNo)) { foreach (var searchText in ReplacementInfo[(int)donation.DonorNo].Keys) { if (donation.Donor.Contains(searchText)) { var newDonor = GetReplacement((int)donation.DonorNo, searchText) as NewDonor; donation.DonorNo = newDonor.DonorNo; donation.Donor = newDonor.Donor; break; } } } return !string.IsNullOrEmpty(donation.Donor); }
public void Regex_ComplexPattern() { MyReplacementManager.CreateReplacementFile(@" [Regex] Pattern=^.+(F[^ ]+) (F[a-z]+)$ Replace=$2, $1"); var donation = new Donation(0, DateTime.Now, "Umb. von Frieder Friederich", 0); MyReplacementManager.Instance.ApplyReplacements(donation); Assert.AreEqual("Friederich, Frieder", donation.Donor); }
public void Replacements_AnonDonation() { MyReplacementManager.CreateReplacementFile(@" # Comment [999] Markus Mustermann=997; ""Mustermann, Markus"" F. Mueller=996; Mueller, Franz Anton=995;Berta [Replacements] Umb. von Frieder Friederich=Friederich, Frieder Berta=Caesar"); var donation = new Donation(80, new DateTime(2010, 06, 01), "ungen. ueberw. durch Anton", 999); MyReplacementManager.Instance.ApplyReplacements(donation); AssertEx.DonationEqual(new Donation(80, new DateTime(2010, 06, 01), "Caesar", 995), donation); }
public void Regex_UseSearchText() { MyReplacementManager.CreateReplacementFile(@" [Regex] Pattern=^.+(Frieder Friederich)$ Replace=$1"); var donation = new Donation(0, DateTime.Now, "Umb. von Frieder Friederich", 0); MyReplacementManager.Instance.ApplyReplacements(donation); Assert.AreEqual("Frieder Friederich", donation.Donor); }
public void Regex_ReplacePartOfString() { MyReplacementManager.CreateReplacementFile(@" [Regex] Pattern=ie Replace=ei"); var donation = new Donation(0, DateTime.Now, "Umb. von Frieder Friederich", 0); MyReplacementManager.Instance.ApplyReplacements(donation); Assert.AreEqual("Umb. von Freider Freiderich", donation.Donor); }
protected virtual Donation CreateDonation(string[] partsOfLine, CultureInfo cultureInfo) { var donation = new Donation { DonorNo = Convert.ToUInt32(partsOfLine[1]), Date = Convert.ToDateTime(partsOfLine[2], cultureInfo), Amount = Convert.ToDecimal(partsOfLine[3], cultureInfo) }; if (partsOfLine[4] == "S") { donation.Amount = -donation.Amount; } donation.Donor = partsOfLine[6]; return donation; }
private bool ApplyRegexReplacements(int index, Donation donation) { if (ReplacementInfo.ContainsKey(index)) { foreach (var pattern in ReplacementInfo[index].Keys) { donation.Donor = Regex.Replace(donation.Donor, pattern, GetReplacement(index, pattern).Donor); } } return !string.IsNullOrEmpty(donation.Donor); }
protected virtual Donation EndDonation(Donation donation) { if (donation != null) Replacements.ApplyReplacements(donation); return donation; }
public void Regex_MultiplePatterns() { MyReplacementManager.CreateReplacementFile(@" [Regex] Pattern=ie Replace=ei Pattern=""Umb\. von "" Replace= Pattern=Frieder Replace=Hugo Pattern=r Replace=x"); var donation = new Donation(0, DateTime.Now, "Umb. von Frieder Friederich", 0); MyReplacementManager.Instance.ApplyReplacements(donation); Assert.AreEqual("Fxeidex Fxeidexich", donation.Donor); }
private DonationInfo GetDonationInfo(Donation donation) { return new DonationInfo(donation.Date, donation.DonorNo); }
public void BookingIdFromDate() { var donation = new Donation(10, new DateTime(2011, 01, 01), "Markus Mustermann", 4711); Assert.AreEqual("20110101047111", donation.BookingId); }