コード例 #1
0
        public void IsDeleted_GetAndSetShould_WorkProperly(bool value)
        {
            var obj = new ReceivedPayment();

            obj.IsDeleted = value;

            Assert.AreEqual(value, obj.IsDeleted);
        }
コード例 #2
0
        public void AmountPaid_GetAndSetShould_WorkProperly(int randomNumber)
        {
            var obj = new ReceivedPayment();

            obj.AmountPaid = randomNumber;

            Assert.AreEqual(randomNumber, obj.AmountPaid);
        }
コード例 #3
0
        public void Client_GetAndSetShould_WorkProperly()
        {
            var mockedClient = new Mock <Client>();

            var obj = new ReceivedPayment();

            obj.Client = mockedClient.Object;

            Assert.AreSame(mockedClient.Object, obj.Client);
        }
コード例 #4
0
        public void ReceivedPayment_VerifyNumberOfProperties()
        {
            var obj = new ReceivedPayment();

            var result = obj.GetType()
                         .GetProperties()
                         .Count();

            Assert.AreEqual(7, result);
        }
コード例 #5
0
        public void ReceivedPayment_ShouldImplement_IDbModelInterface()
        {
            var obj = new ReceivedPayment();

            var result = obj.GetType()
                         .GetInterfaces()
                         .Where(x => x == typeof(IDbModel))
                         .Any();

            Assert.IsTrue(result);
        }
コード例 #6
0
        public void Client_ShouldBeVirtual()
        {
            var obj = new ReceivedPayment();

            var result = obj.GetType()
                         .GetProperty("Client")
                         .GetAccessors()
                         .Any(x => x.IsVirtual);

            Assert.IsTrue(result);
        }
コード例 #7
0
        public void AmountPaid_ShouldHave_RangeAttribute()
        {
            var obj = new ReceivedPayment();

            var result = obj.GetType()
                         .GetProperty("AmountPaid")
                         .GetCustomAttributes(false)
                         .Where(x => x.GetType() == typeof(System.ComponentModel.DataAnnotations.RangeAttribute))
                         .Any();

            Assert.IsTrue(result);
        }
コード例 #8
0
        public void Id_ShouldHave_KeyAttribute()
        {
            var obj = new ReceivedPayment();

            var result = obj.GetType()
                         .GetProperty("Id")
                         .GetCustomAttributes(false)
                         .Where(x => x.GetType() == typeof(KeyAttribute))
                         .Any();

            Assert.IsTrue(result);
        }
コード例 #9
0
        public void AmountPaid_ShouldHave_RightMaxValueFor_RangeAttribute()
        {
            var obj = new ReceivedPayment();

            var result = obj.GetType()
                         .GetProperty("AmountPaid")
                         .GetCustomAttributes(false)
                         .Where(x => x.GetType() == typeof(System.ComponentModel.DataAnnotations.RangeAttribute))
                         .Select(x => (System.ComponentModel.DataAnnotations.RangeAttribute)x)
                         .SingleOrDefault();

            Assert.IsNotNull(result);
            Assert.AreEqual(ValidationConstants.AmountPaidMaxValue, result.Maximum);
        }
コード例 #10
0
ファイル: Loan.cs プロジェクト: kramers72/c-sharp-course
        public void MakePayment(decimal paymentAmount)
        {
            ReceivedPayment?.Invoke(this, new PaymentEventArgs()
            {
                PaymentAmount = paymentAmount, Balance = Balance, TransactionDate = DateTime.Now
            });

            Balance -= paymentAmount;

            if (Balance <= 0)
            {
                PaidOut?.Invoke(this, new PaymentEventArgs()
                {
                    PaymentAmount = paymentAmount, Balance = Balance, TransactionDate = DateTime.Now
                });
            }
        }
コード例 #11
0
        public void ReceivedPayment_VerifyNumberOfConstructors()
        {
            var obj = new ReceivedPayment();

            var methodsCount = obj.GetType()
                               .GetMethods()
                               .Count();

            var propertiesCount = obj.GetType()
                                  .GetProperties()
                                  .Count();

            var result = obj.GetType()
                         .GetMembers()
                         .Count();

            result = result - propertiesCount - methodsCount;

            Assert.AreEqual(1, result);
        }
コード例 #12
0
        public void ReceivedPayment_VerifyNumberOfMethods()
        {
            var methodsFromFramework = 4;
            var expectedMethodsCount = 0;
            var totalMethodsCount    = methodsFromFramework + expectedMethodsCount;

            var obj = new ReceivedPayment();

            var numberOfMethodsComeFromProperties = obj.GetType()
                                                    .GetProperties()
                                                    .Select(x => 2)
                                                    .Sum();

            var result = obj.GetType()
                         .GetMethods()
                         .Count();

            result = result - numberOfMethodsComeFromProperties;

            Assert.AreEqual(totalMethodsCount, result);
        }
コード例 #13
0
ファイル: OrdersController.cs プロジェクト: dmptrluke/FurCoNZ
        public async Task <IActionResult> AddPayment(ReceivedPayment receivedPayment)
        {
            if (ModelState.IsValid)
            {
                if (!int.TryParse(receivedPayment.OrderReference, out var orderRefAsInt))
                {
                    return(ValidationProblem());
                }

                var order = await _orderService.GetOrderByRef(orderRefAsInt, HttpContext.RequestAborted);

                if (order == null)
                {
                    return(NotFound());
                }

                await _orderService.AddReceivedFundsForOrderAsync(
                    order.Id,
                    receivedPayment.AmountCents,
                    BankPaymentProvider.NAME, receivedPayment.OrderReference,
                    receivedPayment.When,
                    allowDuplicates : true,
                    HttpContext.RequestAborted);

                if (HttpContext.Request.Headers.ContainsKey("Referer"))
                {
                    return(Redirect(HttpContext.Request.Headers["Referer"].ToString()));
                }

                return(RedirectToAction("Index"));
            }

            if (HttpContext.Request.Headers.ContainsKey("Referer"))
            {
                return(Redirect(HttpContext.Request.Headers["Referer"].ToString()));
            }

            return(RedirectToAction("Index"));
        }
コード例 #14
0
        public void Constructor_ShouldNotSet_IsDeletedProperty()
        {
            var obj = new ReceivedPayment();

            Assert.AreEqual(false, obj.IsDeleted);
        }
コード例 #15
0
        public void Constructor_ShouldNotSet_AmountPaidProperty()
        {
            var obj = new ReceivedPayment();

            Assert.AreEqual(0, obj.AmountPaid);
        }
コード例 #16
0
        public void Constructor_ShouldNotSet_ClientProperty()
        {
            var obj = new ReceivedPayment();

            Assert.AreEqual(null, obj.Client);
        }
コード例 #17
0
        public void ReceivedPayment_ShouldHave_ParameterlessConstructor()
        {
            var obj = new ReceivedPayment();

            Assert.IsInstanceOf <ReceivedPayment>(obj);
        }