void IDL.removeTest(int testNumber)
        {
            XElement testElement = (from test in TestRoot.Elements()
                                    where int.Parse(test.Element("TestNumber").Value) == testNumber
                                    select test).FirstOrDefault();

            if (testElement == null)
            {
                throw new TestNumberNotFoundException("thrown from: DL.Dal_XML_imp.removeTest");
            }
            testElement.Remove();
            TestRoot.Save(TestPath);
        }
        void IDL.updateTest(int testNumber, Test updatedTest)
        {
            XElement testElement = (from testItem in TestRoot.Elements()
                                    where int.Parse(testItem.Element("TestNumber").Value) == testNumber
                                    select testItem).FirstOrDefault();

            if (testElement == null)
            {
                throw new TestNumberNotFoundException(testNumber);
            }
            testElement.Remove();
            TestRoot.Add(updatedTest.ToXmlTest());
            TestRoot.Save(TestPath);
        }
        //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        int IDL.addTest(Test testToAdd)
        {
            //to do: make a running code for tests
            int testCode   = int.Parse(ConfigRoot.Element("BeginningSerialTestNumber").Element("Value").Value);
            int testNumber = (from test in TestRoot.Elements()
                              where (int.Parse(test.Element("TestNumber").Value) == testToAdd.TestNumber)
                              select(int.Parse(test.Element("TestNumber").Value))).FirstOrDefault();

            if (testNumber != 0)
            {
                throw new TestNumberAlreadyExistsException(testNumber);
            }

            testToAdd.TestNumber = testCode;
            TestRoot.Add(testToAdd.ToXmlTest());
            TestRoot.Save(TestPath);
            ConfigRoot.Element("BeginningSerialTestNumber").Element("Value").Value = (testCode + 1).ToString();
            ConfigRoot.Save(ConfigPath);
            return(testCode);
        }