Ejemplo n.º 1
0
 public RateFacade(IServiceProvider serviceProvider, SalesDbContext dbContext)
 {
     DbContext       = dbContext;
     DbSet           = DbContext.Set <Rate>();
     identityService = serviceProvider.GetService <IdentityService>();
     rateLogic       = serviceProvider.GetService <RateLogic>();
     ServiceProvider = serviceProvider;
 }
Ejemplo n.º 2
0
        public void CaclulateRateValue_WhenFirstArgZero_ReturnException()
        {
            //arrange
            _rateLogic = new RateLogic(MockHelper.GetDataLoadLogicWithMocks());

            // assert
            Assert.Throws <DivideByZeroException>(() => _rateLogic.CaclulateRateValue(0, 222, 20));
        }
Ejemplo n.º 3
0
        public void CaclulateRate_WhenRateFromZero_ReturnException()
        {
            //arrange
            _rateLogic = new RateLogic(MockHelper.GetDataLoadLogicWithMocks());

            // assert
            Assert.Throws <DivideByZeroException>(() => _rateLogic.CaclulateRate(0, (decimal)1.23));
        }
Ejemplo n.º 4
0
        public void CaclulateRateValue_WhenAmountZero_ReturnZero()
        {
            //arrange
            _rateLogic = new RateLogic(MockHelper.GetDataLoadLogicWithMocks());

            // act
            var result = _rateLogic.CaclulateRateValue(111, 0, 20);

            // assert
            Assert.Equal((decimal)0, result);
        }
Ejemplo n.º 5
0
        public void CaclulateRateValue_WhenDataCorrect_ReturnDecimal()
        {
            //arrange
            _rateLogic = new RateLogic(MockHelper.GetDataLoadLogicWithMocks());

            // act
            var result = _rateLogic.CaclulateRateValue(111, 222, 20);

            // assert
            Assert.Equal((decimal)40, result);
        }
Ejemplo n.º 6
0
        public void CaclulateRate_WhenDataValid_ReturnDecimal()
        {
            //arrange
            _rateLogic = new RateLogic(MockHelper.GetDataLoadLogicWithMocks());

            // act
            var result = _rateLogic.CaclulateRate((decimal)2.68, (decimal)1.23);

            // assert
            Assert.Equal((decimal)0.4590, result);
        }
Ejemplo n.º 7
0
        public void CaclulateRate_WhenRateToZero_ReturnZero()
        {
            //arrange
            _rateLogic = new RateLogic(MockHelper.GetDataLoadLogicWithMocks());

            // act
            var result = _rateLogic.CaclulateRate((decimal)1.23, 0);

            // assert
            Assert.Equal((decimal)0, result);
        }
Ejemplo n.º 8
0
        public async Task CalculateRates_WhenCurrencyDoesntExist_ReturnException()
        {
            //arrange
            _rateLogic = new RateLogic(MockHelper.GetDataLoadLogicWithMocks());
            var request = new CalculateRatesInputModel
            {
                FirstCurrency  = "USD",
                SecondCurrency = "AAA",
                Value          = 10
            };

            // assert
            await Assert.ThrowsAsync <CurrencyNotFoundException>(() => _rateLogic.CalculateRates(request));
        }
Ejemplo n.º 9
0
        static double RunThirdLabScript()
        {
            // отобразить оценки, полученные Яровой за последние 100 дней
            var startTime = DateTime.Now;
            var rates     = RateLogic.Read(new Rate {
                Id = 0
            })
                            .Where(rec => rec.Student.LastName.Equals("Яровая"))
                            .Where(rec => rec.Date > DateTime.Now.AddDays(-100));
            var finishTime = DateTime.Now;

            foreach (var r in rates)
            {
                Console.WriteLine($"{r.Mark} {r.Date.ToShortDateString()} {r.Subject.Name}");
            }
            Console.WriteLine("---Скрипт ThirdLabScript выполнен");
            return((finishTime - startTime).TotalMilliseconds);
        }
Ejemplo n.º 10
0
        static void TestNxRates(int nMobID)
        {
            var result = 0;

            var mob     = MobTemplates[nMobID];
            var mobName = StringData[StringDataType.Mob][nMobID].Name;

            var iterations = mob.Boss ? 10 : 1000;

            //if (mob.Boss)
            {
                for (var i = 0; i < 1000; i++)
                {
                    result += run();
                }

                result /= 1000;
            }
            //else
            //{
            //	result = run();
            //}

            Log.Info($"Testing Mob: {mobName,-17} (avg from killing 10 mobs) => {result,-5} Mob Level: {mob.Level,-3} Boss: {mob.Boss,-5} MaxHP: {mob.MaxHP}");

            int run()
            {
                if (mob is null)
                {
                    throw new Exception("invalid mob passed");
                }

                var retval = 0;

                for (var i = 0; i < 10; i++)
                {
                    retval += RateLogic.NxGainFromMob(Constants.Rand, mob.Level, mob.MaxHP, mob.Boss);
                }

                return(retval);
            }
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Constructs a <see cref="BasicTween"/> for a range-limited variable.
        /// </summary>
        /// <param name="v">TODO</param>
        /// <param name="r0">TODO</param>
        /// <param name="r1">TODO</param>
        /// <param name="easingFunction">TODO</param>
        /// <param name="rateLogic">TODO</param>
        /// <param name="r">TODO</param>
        public BasicTween(float v, float r0, float r1, EasingFunction easingFunction, RateLogic rateLogic, float r)
        {
            this.easingFunction = easingFunction;
            this.rateLogic      = rateLogic;
            this.vmin           = r0;
            this.vmax           = r1;
            this.r = r;

            if (!float.IsNaN(vmin) && !float.IsNaN(vmax))
            {
                if (vmin > vmax)
                {
                    float f = vmin;
                    vmin = vmax;
                    vmax = f;
                }
            }

            SetImmediate(v, false);
        }
Ejemplo n.º 12
0
        public async Task CalculateRates_WhenDataValid_ReturnRateObject()
        {
            //arrange
            _rateLogic = new RateLogic(MockHelper.GetDataLoadLogicWithMocks());
            var request = new CalculateRatesInputModel
            {
                FirstCurrency  = "USD",
                SecondCurrency = "JPY",
                Value          = 10
            };

            // act
            var result = await _rateLogic.CalculateRates(request);

            // assert
            Assert.Equal(request.FirstCurrency, result.FirtsCurrency);
            Assert.Equal(request.SecondCurrency, result.SecondCurrency);
            Assert.Equal(request.Value, result.Amount);
            Assert.Equal((decimal)1050.59, result.RateValue);
            Assert.Equal((decimal)105.0595, result.Rate);
        }
Ejemplo n.º 13
0
        static double CreateRate()
        {
            var rate = new Rate
            {
                Mark      = 3,
                Date      = DateTime.Now,
                SubjectId = context.Subjects
                            .FirstOrDefault(rec => rec.Name.Equals("Физика")).Id,
                StudentRecordBookNumber = context.Students
                                          .FirstOrDefault(rec => rec.LastName.Equals("Яровая")).RecordBookNumber,
                TeacherPassportNumber = context.Teachers
                                        .FirstOrDefault(rec => rec.LastName.Equals("Лазарев")).PassportNumber
            };
            var startTime = DateTime.Now;

            RateLogic.Create(rate);
            var finishTime = DateTime.Now;

            Console.WriteLine("---Скрипт CreateRate выполнен");
            return((finishTime - startTime).TotalMilliseconds);
        }
Ejemplo n.º 14
0
 /// <summary>
 /// Constructs a <see cref="BasicTween"/> for an non-limited variable.
 /// </summary>
 /// <param name="v">TODO</param>
 /// <param name="easingFunction">TODO</param>
 /// <param name="rateLogic">TODO</param>
 /// <param name="r">TODO</param>
 public BasicTween(float v, EasingFunction easingFunction, RateLogic rateLogic, float r) :
     this(v, float.NaN, float.NaN, easingFunction, rateLogic, r)
 {
 }