示例#1
0
        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);
        }