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); }
public void KarlWendtvIntlHarvester() { var testContract = new ComLawContract <Promise> { Offer = new OfferFarmEquipDealerAgreement(), Acceptance = o => o is OfferFarmEquipDealerAgreement ? new AcceptanctFarmEquipDealerAgreement() : null, Assent = new MutualAssent { IsApprovalExpressed = lp => true, TermsOfAgreement = lp => { switch (lp) { case KarlWendt _: return(((KarlWendt)lp).GetTerms()); case IntlHarvester _: return(((IntlHarvester)lp).GetTerms()); default: return(null); } } } }; testContract.Consideration = new Consideration <Promise>(testContract) { IsGivenByOfferee = (lp, p) => true, IsSoughtByOfferor = (lp, p) => true }; var testResult = testContract.IsValid(new KarlWendt(), new IntlHarvester()); Assert.IsTrue(testResult); ExcuseBase <Promise> testSubject = new ImpracticabilityOfPerformance <Promise>(testContract) { IsAtFault = lp => false, IsContraryInForm = lp => false, //IH argues that Farm Crisis of 1980s was sufficient to this excuse //the court found this false IsBasicAssumptionGone = lp => false, }; testResult = testSubject.IsValid(new KarlWendt(), new IntlHarvester()); Assert.IsFalse(testResult); testSubject = new FrustrationOfPurpose <Promise>(testContract) { IsAtFault = lp => false, IsContraryInForm = lp => false, IsBasicAssumptionGone = lp => false, IsFrustrationSubstantial = lp => false, IsPrincipalPurposeFrustrated = lp => false }; testResult = testSubject.IsValid(new KarlWendt(), new IntlHarvester()); Assert.IsFalse(testResult); //test if the conditions had indeed been met testSubject = new FrustrationOfPurpose <Promise>(testContract) { IsAtFault = lp => false, IsContraryInForm = lp => false, IsBasicAssumptionGone = lp => lp is IntlHarvester, IsFrustrationSubstantial = lp => lp is IntlHarvester, IsPrincipalPurposeFrustrated = lp => lp is IntlHarvester }; testResult = testSubject.IsValid(new KarlWendt(), new IntlHarvester()); Console.WriteLine(testSubject.ToString()); Assert.IsTrue(testResult); }