public void LoadModalTableWithData() { // Initialse data FMainDS.LoadAll(); FMainDS.DeleteAllRows(); FMainDS.InsertStandardModalRows(); FMainDS.SaveChanges(); FLedgerDS.CreateTestLedger(); decimal selectedRate; DateTime selectedDate; int selectedTime; // Open the screen modally on our test ledger and a from currency of GBP TFrmSetupDailyExchangeRate mainScreen = new TFrmSetupDailyExchangeRate(null); DialogBoxHandler = delegate(string name, IntPtr hWnd) { LoadModalTableHandler(); }; DialogResult dlgResult = mainScreen.ShowDialog(STANDARD_TEST_LEDGER_NUMBER, FStandardEffectiveDate, "GBP", 1.0m, out selectedRate, out selectedDate, out selectedTime); if (dlgResult == DialogResult.Abort) { Assert.Fail(FModalAssertResult); } Assert.AreEqual(DialogResult.OK, dlgResult); Assert.AreEqual(new DateTime(1900, 7, 1), selectedDate); Assert.AreEqual(0.51m, selectedRate); }
public void ExchangeRateUsage() { FMainDS.LoadAll(); FMainDS.DeleteAllRows(); FMainDS.InsertStandardModalRows(); FMainDS.SaveChanges(); FGiftAndJournal.InitialiseData("load-data.sql"); decimal selectedRate; DateTime selectedDate; int selectedTime; // Open the screen modally on our test ledger and a from currency of GBP TFrmSetupDailyExchangeRate mainScreen = new TFrmSetupDailyExchangeRate(null); mainScreen.ShowUsedRates(); DialogBoxHandler = delegate(string name, IntPtr hWnd) { ExchangeRateUsageHandler(); }; DialogResult dlgResult = mainScreen.ShowDialog(STANDARD_TEST_LEDGER_NUMBER, FStandardEffectiveDate, "GBP", 1.0m, out selectedRate, out selectedDate, out selectedTime); if (dlgResult == DialogResult.Abort) { Assert.Fail(FModalAssertResult); } Assert.AreEqual(DialogResult.OK, dlgResult); }
public void GetRateForDate() { // First test is with empty data FMainDS.LoadAll(); FMainDS.DeleteAllRows(); FMainDS.SaveChanges(); FLedgerDS.CreateTestLedger(); // define our working date range DateTime dtStart = new DateTime(2000, 01, 01); DateTime dtEnd = new DateTime(2000, 12, 31); // First test is with empty data - should return 1.0m TFrmSetupDailyExchangeRate mainScreen = new TFrmSetupDailyExchangeRate(null); decimal result = mainScreen.GetLastExchangeValueOfInterval(STANDARD_TEST_LEDGER_NUMBER, dtStart, dtEnd, "GBP"); Assert.AreEqual(1.0m, result, "The result should be 1.0m when the table contains no data"); // Repeat test with data but outside the date range - again should return 1.0m FMainDS.InsertStandardModalRows(); FMainDS.SaveChanges(); mainScreen = new TFrmSetupDailyExchangeRate(null); result = mainScreen.GetLastExchangeValueOfInterval(STANDARD_TEST_LEDGER_NUMBER, dtStart, dtEnd, "GBP"); Assert.AreEqual(1.0m, result, "The result should be 1.0m because there is no data in the date range"); // Repeat again with data inside the range FMainDS.AddARow("GBP", STANDARD_TEST_CURRENCY, new DateTime(2000, 6, 1), 2.0m); FMainDS.AddARow("GBP", STANDARD_TEST_CURRENCY, new DateTime(2000, 6, 10), 2.05m); FMainDS.AddARow("GBP", STANDARD_TEST_CURRENCY, new DateTime(2000, 6, 30), 2.15m); // This is the latest FMainDS.AddARow("GBP", STANDARD_TEST_CURRENCY, new DateTime(2000, 6, 20), 2.10m); FMainDS.SaveChanges(); mainScreen = new TFrmSetupDailyExchangeRate(null); result = mainScreen.GetLastExchangeValueOfInterval(STANDARD_TEST_LEDGER_NUMBER, dtStart, dtEnd, "GBP"); Assert.AreEqual(2.15m, result); }