public void BushvProtravelIntl() { var testContract = new ComLawContract <Promise> { Offer = new OfferTripToEastAfrica(), Acceptance = o => o is OfferTripToEastAfrica ? new AcceptanctTripToEastAfrica() : null, Assent = new MutualAssent { IsApprovalExpressed = lp => true, TermsOfAgreement = lp => { switch (lp) { case Bush _: return(((Bush)lp).GetTerms()); case ProtravelIntl _: return(((ProtravelIntl)lp).GetTerms()); default: return(null); } } } }; testContract.Consideration = new Consideration <Promise>(testContract) { IsGivenByOfferee = (lp, p) => true, IsSoughtByOfferor = (lp, p) => true }; var testResult = testContract.IsValid(new Bush(), new ProtravelIntl()); Assert.IsTrue(testResult); var testSubject = new ImpracticabilityOfPerformance <Promise>(testContract) { //the basic assumption being that NY NY would not suffer an attack IsBasicAssumptionGone = lp => lp is Bush, IsContraryInForm = lp => false, IsAtFault = lp => false }; testResult = testSubject.IsValid(new Bush(), new ProtravelIntl()); Console.WriteLine(testSubject.ToString()); Assert.IsTrue(testResult); }
public void UsBancorpvAmeriquest() { var testContract = new ComLawContract <Promise> { Offer = new OfferFinanceAirplanes(), Acceptance = o => o is OfferFinanceAirplanes ? new AcceptanctFinanceAirplanes() : null, Assent = new MutualAssent { IsApprovalExpressed = lp => true, TermsOfAgreement = lp => { switch (lp) { case UsBancorp _: return(((UsBancorp)lp).GetTerms()); case Ameriquest _: return(((Ameriquest)lp).GetTerms()); default: return(null); } } } }; testContract.Consideration = new Consideration <Promise>(testContract) { IsGivenByOfferee = (lp, p) => true, IsSoughtByOfferor = (lp, p) => true }; var testResult = testContract.IsValid(new UsBancorp(), new Ameriquest()); Assert.IsTrue(testResult); var testSubject = new ImpracticabilityOfPerformance <Promise>(testContract) { IsBasicAssumptionGone = lp => false, IsAtFault = lp => false, IsContraryInForm = lp => false }; testResult = testSubject.IsValid(new UsBancorp(), new Ameriquest()); Console.WriteLine(testSubject.ToString()); Assert.IsFalse(testResult); }