public void T01_TreeViewFocusColor() { System.Console.WriteLine("-------T01_TreeViewFocusColor------------"); TFrmGLAccountHierarchyTester hierarchyTester = new TFrmGLAccountHierarchyTester(); hierarchyTester.mainForm.Show(); hierarchyTester.mainForm.LedgerNumber = fLedgerNumber; // Focus on the TreeView .. hierarchyTester.trvAccounts.Properties.Focus(); // Get a Node to operate ... int[] nodeList = { 0, 2 }; hierarchyTester.trvAccounts.SelectNode(nodeList); TreeNode node = hierarchyTester.trvAccounts.Properties.SelectedNode; // Colors form the node ... Color colorBackNode1 = node.BackColor; Color colorFontNode1 = node.ForeColor; // Focus to somewhere else hierarchyTester.txtDetailAccountCode.Properties.Focus(); // Colors from the node Color colorBackNode2 = node.BackColor; Color colorFontNode2 = node.ForeColor; // Focus back to the treeview hierarchyTester.trvAccounts.Properties.Focus(); // Colors from the node Color colorBackNode3 = node.BackColor; Color colorFontNode3 = node.ForeColor; // Different checks // 1. Colors 1&3 must be equal ... Assert.AreEqual(colorBackNode1, colorBackNode3, "Back-Color 1&3"); Assert.AreEqual(colorFontNode1, colorFontNode3, "Font-Color 1&3"); // 1. Colors 1&2 must be different ... Assert.AreNotEqual(colorBackNode1, colorBackNode2, "Back-Color 1&2"); Assert.AreNotEqual(colorFontNode1, colorFontNode2, "Font-Color 1&2"); }
public void T05_CreateBankAccount() { System.Console.WriteLine("-------T05_CreateBankAccount------------"); TFrmGLAccountHierarchyTester hierarchyTester = new TFrmGLAccountHierarchyTester(); hierarchyTester.mainForm.LedgerNumber = fLedgerNumber; hierarchyTester.mainForm.Show(); int[] nodeList1 = { 0, 1, 1 }; hierarchyTester.trvAccounts.SelectNode(nodeList1); // Create a new bank Account ... hierarchyTester.tbbAddNewAccount.Click(); string newAccountName = hierarchyTester.txtDetailAccountCode.Properties.Text; hierarchyTester.chkDetailBankAccountFlag.Properties.Checked = true; Assert.IsTrue(hierarchyTester.tbbSave.Properties.Enabled, "Save button should be enabled"); hierarchyTester.tbbSave.Click(); hierarchyTester.mainForm.Close(); // reopen the screen, check if the account is a bank account, and remove the bank account flag hierarchyTester = new TFrmGLAccountHierarchyTester(); hierarchyTester.mainForm.LedgerNumber = fLedgerNumber; hierarchyTester.mainForm.Show(); TreeNode[] nodes = hierarchyTester.trvAccounts.Properties.Nodes.Find(newAccountName, true); hierarchyTester.trvAccounts.Properties.SelectedNode = nodes[0]; Assert.AreEqual(newAccountName, hierarchyTester.txtDetailAccountCode.Properties.Text, "we want to look at the newly created account"); Assert.AreEqual(true, hierarchyTester.chkDetailBankAccountFlag.Checked, "this should have been stored as a bank account"); hierarchyTester.chkDetailBankAccountFlag.Properties.Checked = false; hierarchyTester.tbbSave.Click(); hierarchyTester.mainForm.Close(); // reopen the screen, check if the account is not a bank account anymore hierarchyTester = new TFrmGLAccountHierarchyTester(); hierarchyTester.mainForm.Show(); hierarchyTester.mainForm.LedgerNumber = fLedgerNumber; nodes = hierarchyTester.trvAccounts.Properties.Nodes.Find(newAccountName, true); hierarchyTester.trvAccounts.Properties.SelectedNode = nodes[0]; Assert.AreEqual(newAccountName, hierarchyTester.txtDetailAccountCode.Properties.Text, "we want to look at the newly created account, the second time"); Assert.AreEqual(false, hierarchyTester.chkDetailBankAccountFlag.Checked, "this should have been stored not as a bank account"); hierarchyTester.mainForm.Close(); }
public void T04_CreateNewAccountAndChangeTreeViewSelection() { System.Console.WriteLine("-------T04_CreateNewAccountAndChangeTreeViewSelection------------"); TFrmGLAccountHierarchyTester hierarchyTester = new TFrmGLAccountHierarchyTester(); hierarchyTester.mainForm.Show(); hierarchyTester.mainForm.LedgerNumber = fLedgerNumber; int[] nodeList1 = { 0, 2, 1 }; hierarchyTester.trvAccounts.SelectNode(nodeList1); // Create a first Account ... hierarchyTester.tbbAddNewAccount.Click(); // String strName1 = hierarchyTester.txtDetailAccountCode.Properties.Text; // Invalid Name resp. the name "BAL SHT" exists in the test db ... hierarchyTester.txtDetailAccountCode.Properties.Text = "BAL SHT"; // simulate a leave of the message box. It seems selecting another node in the tree would not trigger the leave event in the test WaitForMessageBox(MessageBoxTester.Command.OK); hierarchyTester.txtDetailAccountCode.FireEvent("Leave"); Assert.That(lastMessageTitle, Is.StringContaining("You cannot use an account name twice!"), "Error Message shall appear"); Assert.That(hierarchyTester.trvAccounts.Properties.SelectedNode.Text, Is.StringContaining("NewAccount"), "New Selection shall have been canceled"); WaitForMessageBox(MessageBoxTester.Command.No); hierarchyTester.mniClose.Click(); }
public void T03_CreateANewAccount() { System.Console.WriteLine("-------T03_CreateANewAccount------------"); TFrmGLAccountHierarchyTester hierarchyTester = new TFrmGLAccountHierarchyTester(); hierarchyTester.mainForm.Show(); hierarchyTester.mainForm.LedgerNumber = fLedgerNumber; int[] nodeList1 = { 0, 1, 1 }; hierarchyTester.trvAccounts.SelectNode(nodeList1); // Create a first Account ... hierarchyTester.tbbAddNewAccount.Click(); String strName1 = hierarchyTester.txtDetailAccountCode.Properties.Text; // Enable tbbSave hierarchyTester.txtDetailEngAccountCodeLongDesc.Properties.Text = "x"; hierarchyTester.tbbSave.Click(); // Create a second Account ... hierarchyTester.trvAccounts.SelectNode(nodeList1); hierarchyTester.tbbAddNewAccount.Click(); String strName2 = hierarchyTester.txtDetailAccountCode.Properties.Text; hierarchyTester.txtDetailEngAccountCodeLongDesc.Properties.Text = "y"; hierarchyTester.tbbSave.Click(); Assert.AreNotEqual(strName1, strName2, "Two Accounts must not have the same name"); // Create a third Account ... hierarchyTester.trvAccounts.SelectNode(nodeList1); hierarchyTester.tbbAddNewAccount.Click(); // String strName3 = hierarchyTester.txtDetailAccountCode.Properties.Text; hierarchyTester.txtDetailEngAccountCodeLongDesc.Properties.Text = "z"; // use an invalid name hierarchyTester.txtDetailAccountCode.Properties.Text = strName1; WaitForMessageBox(MessageBoxTester.Command.Yes); hierarchyTester.tbbSave.Click(); // Create a fourth Account ... hierarchyTester.trvAccounts.SelectNode(nodeList1); hierarchyTester.tbbAddNewAccount.Click(); // String strName4 = hierarchyTester.txtDetailAccountCode.Properties.Text; hierarchyTester.txtDetailEngAccountCodeLongDesc.Properties.Text = "zz"; // use an invalid name hierarchyTester.txtDetailAccountCode.Properties.Text = strName1; }
public void T02_SetAccountToForeigenCurrency() { System.Console.WriteLine("-------T02_SetAccountToForeigenCurrency------------"); TFrmGLAccountHierarchyTester hierarchyTester = new TFrmGLAccountHierarchyTester(); hierarchyTester.mainForm.Show(); hierarchyTester.mainForm.LedgerNumber = fLedgerNumber; // Select a node ... int[] nodeList1 = { 0, 0, 0, 0, 0 }; int[] nodeList2 = { 0, 2 }; hierarchyTester.trvAccounts.SelectNode(nodeList1); //TreeNode node = hierarchyTester.trvAccounts.Properties.SelectedNode; Boolean blnSaveBtn = hierarchyTester.tbbSave.Properties.Enabled; Assert.AreEqual(blnSaveBtn, false, "Save button shall be not enabled!"); String str1; String str2; Boolean blnCheckBoxSet; Boolean blnCheckBoxSet2; for (int i = 0; i <= 1; i++) { blnCheckBoxSet = (hierarchyTester.chkDetailForeignCurrencyFlag.Properties.CheckState == CheckState.Checked); if (blnCheckBoxSet) { // Actually it is not possiblie to write SetSelectedString("ALL") ín order to // reset a combobox. This is to be fixed with id 216 hierarchyTester.cmbDetailForeignCurrencyCode.Properties.SetSelectedString("ALL"); hierarchyTester.chkDetailForeignCurrencyFlag.Properties.CheckState = CheckState.Unchecked; } else { hierarchyTester.cmbDetailForeignCurrencyCode.Properties.SetSelectedString("CNY"); hierarchyTester.chkDetailForeignCurrencyFlag.Properties.CheckState = CheckState.Checked; } blnSaveBtn = hierarchyTester.tbbSave.Properties.Enabled; Assert.AreEqual(blnSaveBtn, true, "Save button must be enabled now!"); hierarchyTester.tbbSave.Click(); blnSaveBtn = hierarchyTester.tbbSave.Properties.Enabled; Assert.AreEqual(blnSaveBtn, false, "Save button must be disabled again!"); // Select an other node and switch back ... str1 = hierarchyTester.txtDetailAccountCode.Text; hierarchyTester.trvAccounts.SelectNode(nodeList2); str2 = hierarchyTester.txtDetailAccountCode.Text; Assert.AreNotEqual(str1, str2, "Value must change because node has changed"); hierarchyTester.trvAccounts.SelectNode(nodeList1); str2 = hierarchyTester.txtDetailAccountCode.Text; Assert.AreEqual(str1, str2, "Value must be equal because node has changed back"); // Get back the stored data ... blnCheckBoxSet2 = (hierarchyTester.chkDetailForeignCurrencyFlag.Properties.CheckState == CheckState.Checked); str1 = hierarchyTester.cmbDetailForeignCurrencyCode.Properties.GetSelectedString(); if (blnCheckBoxSet) { Assert.AreEqual("ALL", str1, "We shall find the stored data ..."); Assert.AreEqual(blnCheckBoxSet2, false, "Checkbox shall be unchecked now"); } else { Assert.AreEqual("CNY", str1, "We shall find the stored data ..."); Assert.AreEqual(blnCheckBoxSet2, true, "Checkbox shall be checked now"); } } }
public void T02_SetAccountToForeignCurrency() { System.Console.WriteLine("-------T02_SetAccountToForeignCurrency------------"); TFrmGLAccountHierarchyTester hierarchyTester = new TFrmGLAccountHierarchyTester(); hierarchyTester.mainForm.Show(); hierarchyTester.mainForm.LedgerNumber = fLedgerNumber; // Select a node ... int[] nodeList1 = { 0, 0, 0, 0, 0 }; int[] nodeList2 = { 0, 2 }; hierarchyTester.trvAccounts.SelectNode(nodeList1); //TreeNode node = hierarchyTester.trvAccounts.Properties.SelectedNode; Boolean blnSaveBtn = hierarchyTester.tbbSave.Properties.Enabled; Assert.AreEqual(blnSaveBtn, false, "Save button shall be not enabled!"); String str1; String str2; Boolean blnCheckBoxSet; Boolean blnCheckBoxSet2; // Problem: account 6000 is already fixed, ie. you cannot change it to a foreign currency account anymore. // TODO: create a new account, that can be changed to a foreign currency account. // or change another field, eg. the description, to check the save button Assert.IsTrue(hierarchyTester.chkDetailForeignCurrencyFlag.Properties.Enabled, "the currency must be changeable for account " + hierarchyTester.txtDetailAccountCode.Text); for (int i = 0; i <= 1; i++) { blnCheckBoxSet = (hierarchyTester.chkDetailForeignCurrencyFlag.Properties.CheckState == CheckState.Checked); if (blnCheckBoxSet) { hierarchyTester.chkDetailForeignCurrencyFlag.Properties.CheckState = CheckState.Unchecked; } else { hierarchyTester.chkDetailForeignCurrencyFlag.Properties.CheckState = CheckState.Checked; hierarchyTester.cmbDetailForeignCurrencyCode.Properties.SetSelectedString("CNY"); Assert.AreEqual("CNY", hierarchyTester.cmbDetailForeignCurrencyCode.Properties.GetSelectedString()); } blnSaveBtn = hierarchyTester.tbbSave.Properties.Enabled; Assert.AreEqual(blnSaveBtn, true, "Save button must be enabled now!"); hierarchyTester.tbbSave.Click(); blnSaveBtn = hierarchyTester.tbbSave.Properties.Enabled; Assert.AreEqual(blnSaveBtn, false, "Save button must be disabled again!"); // Select an other node and switch back ... str1 = hierarchyTester.txtDetailAccountCode.Text; hierarchyTester.trvAccounts.SelectNode(nodeList2); str2 = hierarchyTester.txtDetailAccountCode.Text; Assert.AreNotEqual(str1, str2, "Value must change because node has changed"); hierarchyTester.trvAccounts.SelectNode(nodeList1); str2 = hierarchyTester.txtDetailAccountCode.Text; Assert.AreEqual(str1, str2, "Value must be equal because node has changed back"); // Get back the stored data ... blnCheckBoxSet2 = (hierarchyTester.chkDetailForeignCurrencyFlag.Properties.CheckState == CheckState.Checked); str1 = hierarchyTester.cmbDetailForeignCurrencyCode.Properties.GetSelectedString(); if (blnCheckBoxSet) { Assert.AreEqual("ALL", str1, "We shall find the stored data ..."); Assert.AreEqual(blnCheckBoxSet2, false, "Checkbox shall be unchecked now"); } else { Assert.AreEqual("CNY", str1, "We shall find the stored data ..."); Assert.AreEqual(blnCheckBoxSet2, true, "Checkbox shall be checked now"); } } }