public void WhenIAddANewMember()
 {
     ClubMember clubMember;
     try
     {
         clubMember = new ClubMember("Francisco","Gomez-Caldito",null);
         membersManagementContextData.clubMember = clubMember;
     }
     catch
     {
         membersManagementContextData.clubMember = null;
     }
 }
 public void AnInvoiceIsCorrectlyCancelled()
 {
     clubMemberDataManager.MemberIDSequenceNumber = 5;
     ClubMember clubMember = new ClubMember("Francisco", "Gomez-Caldito", "Viseas");
     InvoiceCustomerData invoiceCustomerData = new InvoiceCustomerData(clubMember);
     Invoice invoice = new Invoice(
         new InvoiceCustomerData(clubMember),
         new List<Transaction>() { new Transaction("Kajak Rent", 1, 50, new Tax("No Tax", 0), 0) },
         DateTime.Now);
     InvoicesManager invoicesManager = new InvoicesManager();
     invoicesManager.AddInvoiceToClubMember(invoice, clubMember);
     invoicesManager.CancelInvoice(invoice, clubMember);
     Assert.AreEqual(Invoice.InvoicePaymentState.Cancelled, invoice.InvoiceState);
 }
        public void AnInvoiceIsCorrectlyAddedToClubMember()
        {
            clubMemberDataManager.MemberIDSequenceNumber = 5;
            ClubMember clubMember = new ClubMember("Francisco", "Gomez-Caldito", "Viseas");
            Assert.AreEqual(0, clubMember.InvoicesList.Count);

            InvoiceCustomerData invoiceCustomerData = new InvoiceCustomerData(clubMember);
            Invoice invoice = new Invoice(
                new InvoiceCustomerData(clubMember),
                new List<Transaction>() { new Transaction("Kajak Rent", 1, 50, new Tax("No Tax", 0), 0) },
                DateTime.Now);
            clubMember.AddInvoice(invoice);
            Assert.IsNotNull(clubMember.InvoicesList[invoice.InvoiceID]);
        }
 public void WhenCancellingAnInvoiceAnAmendingInvoiceIsCreatedAndAssignedToTheDebtor()
 {
     clubMemberDataManager.MemberIDSequenceNumber = 5;
     billDataManager.InvoiceSequenceNumber = 5;
     ClubMember clubMember = new ClubMember("Francisco", "Gomez-Caldito", "Viseas");
     InvoiceCustomerData invoiceCustomerData = new InvoiceCustomerData(clubMember);
     Invoice invoice = new Invoice(
         new InvoiceCustomerData(clubMember),
         new List<Transaction>() { new Transaction("Kajak Rent", 1, 50, new Tax("No Tax", 0), 0) },
         DateTime.Now);
     InvoicesManager invoicesManager = new InvoicesManager();
     invoicesManager.AddInvoiceToClubMember(invoice, clubMember);
     Assert.AreEqual(0, clubMember.AmendingInvoicesList.Count);
     invoicesManager.CancelInvoice(invoice, clubMember);
     Assert.IsNotNull(clubMember.AmendingInvoicesList["AMN2013000005"]);
 }
        public static void ClassInit(TestContext context)
        {
            BillingSequenceNumbersMock invoiceDataManagerMock = new BillingSequenceNumbersMock();
            BillingDataManager.Instance.SetBillingSequenceNumberCollaborator(invoiceDataManagerMock);

            transactionList = new List<Transaction>()
            {
                {new Transaction("Monthly Fee",1,80,new Tax("NOIGIC",0),0)},
                {new Transaction("Renting a Kajak",1,50,new Tax("NOIGIC",0),0)},
                {new Transaction("Blue cup",2,10,new Tax("NOIGIC",0),0)},
                {new Transaction("BIG Mouring",1,500,new Tax("NOIGIC",0),0)}
            };

            clubMember = new ClubMember("0002", "Francisco", "Gomez", "");
            invoiceCustomerData = new InvoiceCustomerData(clubMember);
        }
 public void WhenMember99999IsCreatedMemberIDSequenceNumberIsSetUpperLimit_ToMaxValuePlusOne_()
 {
     clubMemberDataManager.MemberIDSequenceNumber = 99999;
     ClubMember clubMember = new ClubMember("Francisco", "Gomez-Caldito", "Viseas");
     Assert.AreEqual("99999", clubMember.MemberID);
     Assert.AreEqual((uint)100000, clubMemberDataManager.MemberIDSequenceNumber);
 }
 public void IfITryToCreateMemeber100000AnExceptionIsThrown()
 {
     try
     {
         clubMemberDataManager.MemberIDSequenceNumber = 100000;
         ClubMember clubMember = new ClubMember("Francisco", "Gomez-Caldito", "Viseas");
     }
     catch (ArgumentOutOfRangeException exception)
     {
         Assert.AreEqual("Member ID out of range (1-99999)", exception.GetMessageWithoutParamName());
         Assert.AreEqual("memberIDSequenceNumber", exception.ParamName);
         throw exception;
     }
 }
 public void WhenAddingANewMemberTheIDIsCreated()
 {
     clubMemberDataManager.MemberIDSequenceNumber = 5;
     ClubMember clubMember = new ClubMember("Francisco","Gomez-Caldito","Viseas");
     Assert.AreEqual("00005", clubMember.MemberID);
 }
 public void WhenAddingANewMemberTheMemberIDSequenceNumberIsIncreasedByOne()
 {
     clubMemberDataManager.MemberIDSequenceNumber = 5;
     ClubMember clubMember = new ClubMember("Francisco", "Gomez-Caldito", "Viseas");
     Assert.AreEqual((uint)6, clubMemberDataManager.MemberIDSequenceNumber);
 }
 public void NamesAndSurnamesAreTrimmed()
 {
     ClubMember clubMember = new ClubMember("0002", "Francisco   ", "     Gómez-Caldito  ", "        ");
     Assert.AreEqual("Francisco", clubMember.Name);
     Assert.AreEqual("Gómez-Caldito", clubMember.FirstSurname);
     Assert.AreEqual("", clubMember.SecondSurname);
 }
 public void NullNameThrowsException()
 {
     try
     {
         ClubMember clubMebber = new ClubMember("0002", null, "Gómez-Caldito", "Viseas");
     }
     catch (ArgumentException exception)
     {
         Assert.AreEqual("Club Member name cannot be empty", exception.GetMessageWithoutParamName());
         Assert.AreEqual("name", exception.ParamName);
         throw exception;
     }
 }
 public void WhenIProcessTheNames()
 {
     ClubMember clubMember;
     membersManagementContextData.clubMemberDataManager.MemberIDSequenceNumber = 1;
     try
     {
         clubMember = new ClubMember(
             membersManagementContextData.givenName,
             membersManagementContextData.firstSurname,
             membersManagementContextData.secondSurname);
         membersManagementContextData.clubMember=clubMember;
     }
     catch
     {
         membersManagementContextData.clubMember = null;
     }
 }
 public void InstantiatingASimpleClubMember()
 {
     ClubMember clubMember = new ClubMember("0002", "Francisco", "Gómez-Caldito", "Viseas");
     Assert.IsNotNull(clubMember);
 }
 public void EmptyFirstSurnameThrowsException()
 {
     try
     {
         ClubMember clubMebber = new ClubMember("0002", "Francisco", "", "Viseas");
     }
     catch (ArgumentException exception)
     {
         Assert.AreEqual("Club Member first surname cannot be empty", exception.GetMessageWithoutParamName());
         Assert.AreEqual("firstSurname", exception.ParamName);
         throw exception;
     }
 }
 public InvoiceCustomerData(ClubMember clubMember)
 {
     this.fullName = clubMember.FullName;
 }
 public void FullNameIsWellCalculatedGivenNullSecondSurname()
 {
     ClubMember clubMember = new ClubMember("0002", "Francisco", "Gómez-Caldito", null);
     string expectedFullname = "Francisco Gómez-Caldito";
     Assert.AreEqual(expectedFullname, clubMember.FullName);
 }
 public void FullNameIsWellCalculatedGivenNameAndBothSurnames()
 {
     ClubMember clubMember = new ClubMember("0002", "Francisco", "Gómez-Caldito", "Viseas");
     string expectedFullname = "Francisco Gómez-Caldito Viseas";
     Assert.AreEqual(expectedFullname, clubMember.FullName);
 }
 public void CancelInvoice(Invoice invoiceToCancel, ClubMember debtor)
 {
     invoiceToCancel.Cancel();
     AmendingInvoice amendingInvoice = new AmendingInvoice(invoiceToCancel);
     debtor.AddAmendingInvoice(amendingInvoice);
 }
 public void AddProFormaInvoiceToClubMember(ProFormaInvoice proFormaInvoice, ClubMember debtor)
 {
     debtor.AddProFormainvoice(proFormaInvoice);
 }
 public void AddInvoiceToClubMember(Invoice invoice, ClubMember debtor)
 {
     debtor.AddInvoice(invoice);
 }
        public void Setup()
        {
            taxesDictionary = new Dictionary<string, Tax>{
                {"No IGIC", new Tax("No IGIC",0)},
                {"IGIC Reducido 1", new Tax("IGIC Reducido 1",2.75)},
                {"IGIC Reducido 2", new Tax("IGIC Reducido 2",3)},
                {"IGIC General", new Tax("IGIC General",7)},
                {"IGIC Incrementado 1", new Tax("IGIC Incrementado 1",9.50)},
                {"IGIC Incrementado 2", new Tax("IGIC Incrementado 2",13.50)},
                {"IGIC Especial", new Tax("IGIC Especial",20)}};

            transactionsList = new List<Transaction>()
            {
                {new Transaction("Monthly Fee",1,80,taxesDictionary["No IGIC"],0)},
                {new Transaction("Renting a Kajak",1,50,taxesDictionary["No IGIC"],0)},
                {new Transaction("Blue cup",2,10,taxesDictionary["No IGIC"],0)},
                {new Transaction("BIG Mouring",1,500,taxesDictionary["No IGIC"],0)}
            };

            clubMember = new ClubMember("0002", "Francisco", "Gomez", "");
            invoiceCustomerData= new InvoiceCustomerData(clubMember);
            invoicesManager = new InvoicesManager();
        }
 public void IfITryToCreateMemeber100000TheMemberIsNotCreated()
 {
     ClubMember clubMember = null;
     try
     {
         clubMemberDataManager.MemberIDSequenceNumber = 100000;
         clubMember = new ClubMember("Francisco", "Gomez-Caldito", "Viseas");
     }
     catch
     {
         Assert.IsNull(clubMember);
     }
 }
 public void GivenTheseClubMembers(Table membersTable)
 {
     Dictionary<string, ClubMember> membersCollection = new Dictionary<string, ClubMember>();
     Dictionary<string, string> bICDictionary = new Dictionary<string, string>();
     foreach (var row in membersTable.Rows)
     {
         BankAccount memberAccount = new BankAccount(new ClientAccountCodeCCC((string)row["Account"]));
         bICDictionary.Add(memberAccount.BankAccountFieldCodes.BankCode, row["BIC"]);
         ClubMember clubMember = new ClubMember(
             row["MemberID"],
             row["Name"],
             row["FirstSurname"],
             row["SecondSurname"]);
         DateTime mandateCreationDate = new DateTime(2009, 10, 30);
         int directDebitReferenceNumber = int.Parse(row["Reference"]);
         DirectDebitMandate directDebitMandate = new DirectDebitMandate(
             directDebitReferenceNumber,
             mandateCreationDate,
             memberAccount,
             clubMember.FullName);
         clubMember.AddDirectDebitMandate(directDebitMandate);
         membersCollection.Add(clubMember.MemberID, clubMember);
     }
     ScenarioContext.Current.Add("BICDictionary", bICDictionary);
     ScenarioContext.Current.Add("Members", membersCollection);
 }
 public void IfITryToCreateMemeber100000TheSequenceNumberIsNotIncreased()
 {
     try
     {
         clubMemberDataManager.MemberIDSequenceNumber = 100000;
         ClubMember clubMember = new ClubMember("Francisco", "Gomez-Caldito", "Viseas");
     }
     catch
     {
         Assert.AreEqual((uint)100000, clubMemberDataManager.MemberIDSequenceNumber);
     }
 }