/// <summary> /// Create a trasnaction list with random transactions /// </summary> /// <param name="r"></param> /// <param name="txCount"></param> /// <returns></returns> public static TransactionList NextTransactionList(this Random r, int txCount) { TransactionList tl = new TransactionList(); for (int i = 0; i < txCount; i++) { Transaction tx = new Transaction() { Date = r.NextDate() }; int index = r.Next(tl.Count + 1); tl.Insert(index, tx); } return tl; }
void AssertAtIndex(TransactionList tl, int index, Transaction tx) { Assert.AreEqual(index, tl.IndexOf(tx), "Transaction at wrong index: " + tx.Date); }
Transaction newTx(String dateStr, String comment = "") { DateTime date = DateTime.ParseExact(dateStr, "yyyy-MM-dd", CultureInfo.InvariantCulture); Transaction tx = new Transaction() { Date = date, Comment = comment }; return tx; }
public void InsertRandom() { Console.WriteLine("Seed: " + RandomSeed); Random r = new Random(RandomSeed); TransactionList tl = new TransactionList(); for (int i = 0; i < RandomRunCount; i++) { Transaction tx = new Transaction() { Date = r.NextDate() }; int index = r.Next(tl.Count + 1); tl.Insert(index, tx); //Console.WriteLine(String.Format("{0}. {1:yyyy-MM-dd} {2}->?", i, tx.Date, index)); AssertInOrder(tl); } Console.WriteLine("<end>"); AssertInOrder(tl); }