Exemplo n.º 1
0
        public void NullCurrencyCode()
        {
            // Arrange
            var spec = new RateOfCurrencySpecification(null);

            // Act
            var hasAny = GetTestRates()
                         .AsQueryable()
                         .Any(spec.Criteria);

            // Assert
            Assert.False(hasAny);
        }
Exemplo n.º 2
0
        public void EthTooOld()
        {
            // Arrange
            var all  = GetTestRates();
            var spec = new RateOfCurrencySpecification(Currency.ETH, all[3].DateTime);

            // Act
            var result = all
                         .AsQueryable()
                         .Where(spec.Criteria);

            // Assert
            Assert.Empty(result);
        }
Exemplo n.º 3
0
        public void EthNotTooOld()
        {
            // Arrange
            var all     = GetTestRates();
            var ethRate = all[3];
            var spec    = new RateOfCurrencySpecification(Currency.ETH, ethRate.DateTime.AddMilliseconds(-1));

            // Act
            var result = all
                         .AsQueryable()
                         .Where(spec.Criteria);

            // Assert
            Assert.Collection(result,
                              item => Assert.Equal(ethRate.Id, item.Id)
                              );
        }
Exemplo n.º 4
0
        public void ThreeBTCsNonCanonicalCase()
        {
            // Arrange
            var spec = new RateOfCurrencySpecification("btc");

            // Act
            var result = GetTestRates()
                         .AsQueryable()
                         .Where(spec.Criteria);

            // Assert
            Assert.Collection(result,
                              item => Assert.Equal(Currency.BTC, item.Currency),
                              item => Assert.Equal(Currency.BTC, item.Currency),
                              item => Assert.Equal(Currency.BTC, item.Currency)
                              );
        }
Exemplo n.º 5
0
        public void RepoThreeBTCsNonCanonicalCase()
        {
            // Arrange
            var spec = new RateOfCurrencySpecification("btc");

            currencyRateContext.CurrencyRates.AddRange(RatesOfCurrency.GetTestRates(setIds: false));
            currencyRateContext.SaveChanges();

            // Act
            var result = currencyRateRepository.List(spec);

            Assert.Collection(result,
                              item => Assert.Equal(Currency.BTC, item.Currency),
                              item => Assert.Equal(Currency.BTC, item.Currency),
                              item => Assert.Equal(Currency.BTC, item.Currency)
                              );
        }