public void CanCreateStoreWithDefaultCapacity()
        {
            var store = new JewelleryStore();

            Assert.NotNull(store);
            Assert.NotNull(store.Jewelleries);
            Assert.Equal(0, store.JewelleriesCount);
            Assert.Equal(4, store.Jewelleries.Capacity);
        }
        public void CanCreateStoreWithSpecifiedCapacity()
        {
            const int capacity = 18;
            var       store    = new JewelleryStore(18);


            Assert.NotNull(store);
            Assert.NotNull(store.Jewelleries);
            Assert.Equal(0, store.JewelleriesCount);
            Assert.Equal(capacity, store.Jewelleries.Capacity);
        }
Example #3
0
        public void GetSortedJewelleriesFromStoresTest()
        {
            var store = new JewelleryStore();

            store.Address = "Lviv";
            var       random = new Random();
            const int count  = 25;

            store.GetRandomJewelleries(count, random);

            var result = new List <Jewellery>();

            result.AddRange(store.Jewelleries.OrderBy(j => j.Title));

            Assert.Equal(25, result.Count);
        }
        public void GetSortedJewelleriesFromStoresTest()
        {
            var store = new JewelleryStore();

            store.Address = "Lviv";
            var       random = new Random();
            const int count  = 25;

            store.GetRandomJewelleries(count, random);

            var result = new List <Jewellery>();

            result.AddRange(store.Jewelleries.OrderBy(j => j.Title));

            CollectionAssert.AreEqual(
                new[] { 106.7, 106.2, 105.2, 103.9 }, result);
        }
Example #5
0
        public List <Jewellery> GetSortedJewelleriesFromStores(JewelleryStore store, int jewelleriesCount)
        {
            if (store == null)
            {
                _logger.LogError($"Invalid argument: {nameof(store)}");
                throw new ArgumentNullException(nameof(store));
            }

            var result = new List <Jewellery>();

            if (store.JewelleriesCount > jewelleriesCount)
            {
                result.AddRange(store.Jewelleries.OrderBy(j => j.Title));
            }

            return(result);
        }
Example #6
0
        public List <MetalCountPair> GetAllMetalsCountDistinct(JewelleryStore store)
        {
            if (store == null)
            {
                _logger.LogError($"Invalid argument: {nameof(store)}");
                throw new ArgumentNullException(nameof(store));
            }

            var query = from j in store.Jewelleries
                        group j by j.Metal
                        into gr
                        select new MetalCountPair {
                Name = gr.Key.ToString(), Count = gr.Count()
            };

            return(query.ToList());
        }
        public void RandomValuesSetCorrectly()
        {
            var store = new JewelleryStore();

            store.Address = "Lviv";
            var       random = new Random();
            const int count  = 25;

            store.GetRandomJewelleries(count, random);

            Assert.NotNull(store);
            Assert.NotNull(store.Jewelleries);
            Assert.Equal("Lviv", store.Address);
            Assert.Equal(count, store.JewelleriesCount);

            foreach (var j in store.Jewelleries)
            {
                Assert.NotNull(j);
                Assert.False(string.IsNullOrEmpty(j.Title.ToString()));
                Assert.True(j.Price >= 1000 && j.Price < 20000);
            }
        }