public void Competition_Invoice_Test() { var fortKnox = FortKnox.Instance(); var invoices = fortKnox.ExportInvoices(); Assert.Empty(invoices); var memberFactory = new MemberFactory(400); var member1 = memberFactory.CreateMember("Test1", "1", true); var member2 = memberFactory.CreateMember("Test2", "2", true); var competitionFactory = new CompetitionFactory(); var testCompetition = competitionFactory.CreateCompetition("Test Cup", DateTime.Now, DateTime.Now.AddDays(7), 150); var matchDirector = new MatchDirector(); var competitionMatchBuilder = new CompetitionMatchBuilder(testCompetition, 100); matchDirector.Construct(competitionMatchBuilder, member1, member2); var expectedInvoice1 = "Name: " + member1.Name + " Address: " + member1.Address + " Amount: " + 100; var expectedInvoice2 = "Name: " + member2.Name + " Address: " + member2.Address + " Amount: " + 100; var expectedInvoice3 = "Name: " + member1.Name + " Address: " + member1.Address + " Amount: " + 150; var expectedInvoice4 = "Name: " + member2.Name + " Address: " + member2.Address + " Amount: " + 150; invoices = fortKnox.ExportInvoices(); Assert.Contains(expectedInvoice1, invoices); Assert.Contains(expectedInvoice2, invoices); Assert.Contains(expectedInvoice1, invoices); Assert.Contains(expectedInvoice2, invoices); }
public void CreateInvoice(Member playerOne, Member playerTwo) { var fortKnox = FortKnox.Instance(); fortKnox.NewInvoice(playerOne, _matchFee); fortKnox.NewInvoice(playerTwo, _matchFee); }
public void Match_Invoice_Test() { var fortKnox = FortKnox.Instance(); var invoices = fortKnox.ExportInvoices(); Assert.Empty(invoices); var memberFactory = new MemberFactory(400); var member1 = memberFactory.CreateMember("Test1", "1", true); var member2 = memberFactory.CreateMember("Test2", "2", true); var matchDirector = new MatchDirector(); var matchBuilder = new MatchBuilder(100); matchDirector.Construct(matchBuilder, member1, member2); var expectedInvoice1 = "Name: " + member1.Name + " Address: " + member1.Address + " Amount: " + 100; var expectedInvoice2 = "Name: " + member2.Name + " Address: " + member2.Address + " Amount: " + 100; invoices = fortKnox.ExportInvoices(); Assert.Contains(expectedInvoice1, invoices); Assert.Contains(expectedInvoice2, invoices); }
public void New_Member_Invoice_Test() { var fortKnox = FortKnox.Instance(); var memberFactory = new MemberFactory(400); var member = memberFactory.CreateMember("Test1", "Test1", false); var invoices = fortKnox.ExportInvoices(); var expectedInvoice = "Name: " + member.Name + " Address: " + member.Address + " Amount: " + 400; Assert.Single(invoices); Assert.Equal(expectedInvoice, invoices.Last()); }
public void New_Member_No_Invoice_Test() { var resultManager = ResultManager.Instance(); var fortKnox = FortKnox.Instance(); const double membershipFee = 400; var memberFactory = new MemberFactory(membershipFee); var member = memberFactory.CreateMember("Test2", "Test2", true); Assert.Equal(member, resultManager.Members.Last()); var invoices = fortKnox.ExportInvoices(); Assert.Empty(invoices); }
public void CreateInvoice(Member playerOne, Member playerTwo) { var fortKnox = FortKnox.Instance(); if (!_competition.IsParticipant(playerOne)) { fortKnox.NewInvoice(playerOne, _competition.Fee); _competition.AddParticipant(playerOne); } if (!_competition.IsParticipant(playerTwo)) { fortKnox.NewInvoice(playerTwo, _competition.Fee); _competition.AddParticipant(playerTwo); } fortKnox.NewInvoice(playerOne, _matchFee); fortKnox.NewInvoice(playerTwo, _matchFee); }
public Member CreateMember(string name, string address, bool paidMembership) { _member = new Member(name, address, paidMembership); var resultManager = ResultManager.Instance(); resultManager.Members.Add(_member); if (paidMembership) { return(_member); } var billingInterface = FortKnox.Instance(); billingInterface.NewInvoice(_member, _memberFee); _member.PaidMembership = true; Console.WriteLine("Membership invoice created for: " + _member.Name); return(_member); }
static void Main(string[] args) { var memberFactory = new MemberFactory(400); for (var i = 0; i < 11; i++) { memberFactory.CreateMember("TestMember" + i, "Test Street" + i, true); } var competitionFactory = new CompetitionFactory(); var testCompetition = competitionFactory.CreateCompetition("Test Competition", DateTime.Now, DateTime.Now.AddDays(7), 150); var matchDirector = new MatchDirector(); var testCupGameMatchBuilder = new CompetitionMatchBuilder(testCompetition, 100); Console.WriteLine("Competition games"); for (var j = 0; j < 11; j++) { for (var i = j + 1; i < 11; i++) { var player = ResultManager.Instance().Members[j]; var opponent = ResultManager.Instance().Members[i]; matchDirector.Construct(testCupGameMatchBuilder, player, opponent); testCupGameMatchBuilder.GetResult().GeneratePlayerScores(); } } Console.WriteLine(); Console.WriteLine("Champion playing games..."); var champ = memberFactory.CreateMember("Winner", "Winner Street", true); var loser = memberFactory.CreateMember("Loser", "Loser Street", true); var standaloneMatchBuilder = new MatchBuilder(100); for (var i = 0; i < 12; i++) { matchDirector.Construct(standaloneMatchBuilder, champ, loser); var testMatch = standaloneMatchBuilder.GetResult(); testMatch.SetPlayerOneScore(100, 100, 100); testMatch.SetPlayerTwoScore(50, 50, 50); } var resultManager = ResultManager.Instance(); resultManager.GetCompetitionResults(testCompetition); resultManager.GetYearChampion(DateTime.Now); Console.WriteLine(); Console.WriteLine("----------"); var fortKnox = FortKnox.Instance(); fortKnox.ExportInvoices(); Console.WriteLine("Press any key..."); Console.ReadLine(); }