예제 #1
0
        public static void Main()
        {
            var data = new PetStoreEntities();

            CountriesImporter.GenerateCountries(data);

            SpeciesImporter.GenerateSpecies(data);

            PetsImporter.GeneratePets(data);

            CategoriesImporter.GenerateCategories(data);

            Console.WriteLine("Products generation is slow and may take a while depending on your hardware...");
            Console.WriteLine("Set the GenerateProducts method's second parameter to a lower number if you wish!");

            ProductsImporter.GenerateProducts(data, 200);
        }
예제 #2
0
        public async Task ReturnImportResultForEachLine()
        {
            // arrange
            var product = new Product
            {
                Key           = "1",
                ArticleCode   = "2",
                ColorCode     = "3",
                Description   = "4",
                Price         = 5,
                DiscountPrice = 6,
                DeliveredIn   = "7",
                Q1            = "8",
                Size          = 9,
                Color         = "10"
            };

            var parser = new Mock <IProductParser>();

            parser.Setup(x => x.Parse("1,2,3,4,5,6,7,8,9,10")).Returns(ProductParsingResult.Ok(product));
            parser.Setup(x => x.Parse(",,,,,")).Returns(ProductParsingResult.Error("Error"));

            var repository = new Mock <IProductRepository>();

            var target = new ProductsImporter(parser.Object, repository.Object);

            ImportResult result;

            // act
            using (var stream = new MemoryStream(Encoding.UTF8.GetBytes("1,2,3,4,5,6,7,8,9,10\n,,,,,")))
            {
                result = await target.ImportAsync(stream);
            }

            repository.Verify(x => x.AddOrUpdate(product), Times.Once);
            repository.Verify(x => x.Save(), Times.Once);

            Assert.Equal(2, result.ProcessedItems);
            Assert.Equal(1, result.ImportedItems);
            Assert.Equal(1, result.SkippedItems);
            Assert.Single(result.SkippedItemsDetails);
            Assert.Equal((ulong)2, result.SkippedItemsDetails[0].LineNumber);
            Assert.Equal("Error", result.SkippedItemsDetails[0].Description);
            Assert.Equal(",,,,,", result.SkippedItemsDetails[0].OriginalLine);
        }
예제 #3
0
        public void setUpProducts()
        {
            String path = @"..\..\..\ConsoleApp1\Resources\product_list.csv";

            productsArray = ProductsImporter.importFromFile(path);
        }