public void ShouldThrowErrorWhenFundsOfMandatesAreNotAvailableInFile()
        {
            //Arrange
            IFundsProcessor fileProcessor = new FundProcessor();
            string          filePath      = "FundOfMandatesDataWithBlankFundsOfMandates.xml";


            FluentActions.Invoking(() => fileProcessor.ReadFundOfMandatesFile(filePath)).Should().Throw <Exception>().WithMessage("Unable to Read blank FundOfMandatesFile. Please check the file.");
        }
        public void ShouldReturnNullWhileReadingBadFile()
        {
            //Arrange

            IFundsProcessor fileProcessor = new FundProcessor();
            //int counOfMandatesIntestFile = 2;
            string filePath = "FundOfMandatesDataWithBadXML.xml";

            //ACT - JUST USING STANDARD MSTEST ASSERTION FOR THIS METHOD

            var funds = fileProcessor.ReadFundOfMandatesFile(filePath);

            //Assertion using MSTest framework
        }
        //TEST IF TO TEST FUNCTIONALITY OF READFUNDOFMANDATESFILE
        public void ShouldReadValidXMLFileCorrectly()
        {
            //Arrange

            IFundsProcessor fileProcessor            = new FundProcessor();
            int             counOfMandatesIntestFile = 4;
            string          filePath = "FundOfMandatesDataWithValidFile.xml";

            //Act

            var funds = fileProcessor.ReadFundOfMandatesFile(filePath);


            //Assert

            Assert.IsNotNull(funds);
            Assert.AreEqual(funds.Count, counOfMandatesIntestFile); //Assuming we already know count of mandates inside the test file.
            Assert.IsInstanceOfType(funds, typeof(List <FundOfMandates>));

            //FLUENT ASSERTIONS IN USE
            funds.Should().HaveCount(counOfMandatesIntestFile, "we have passed 4 mandates to XML");
            funds.Should().NotBeNull();
            funds.Should().BeAssignableTo(typeof(List <FundOfMandates>));
        }