Exemplo n.º 1
0
        public void FileSystem_GivenAllData_ShouldSaveBatchesOf20Customers()
        {
            // Arrange
            var customers        = GetCustomCustomerList();
            var fileSystem       = Substitute.For <IFileSystem>();
            var dublicates       = new Duplicates();
            var csvFileGenerator = new CsvFileGenerator(fileSystem, dublicates);
            var filename         = "customers";

            // Act
            csvFileGenerator.GetBatchOfCustomers("customers", customers, 20);

            // Assert
            fileSystem.Received(20).WriteLine($"{filename}1.csv", Arg.Any <string>());
            fileSystem.Received(12).WriteLine($"{filename}2.csv", Arg.Any <string>());
        }
Exemplo n.º 2
0
        public void CreateCSVFile_GivenCustomerBatchOf10Or1500_ShouldSave2Files(int numberOfCustomers, int maximumLineLimit, int access)
        {
            // Arrange
            var customers = Builder <Customer> .CreateListOfSize(numberOfCustomers).Build().ToList();

            var filename         = "customers";
            var fileSystem       = Substitute.For <IFileSystem>();
            var dublicates       = new Duplicates();
            var csvFileGenerator = new CsvFileGenerator(fileSystem, dublicates);

            // Act
            csvFileGenerator.GetBatchOfCustomers("customers", customers, maximumLineLimit);

            // Assert
            fileSystem.Received(maximumLineLimit).WriteLine($"{filename}1.csv", Arg.Any <string>());
            fileSystem.Received(access).WriteLine($"{filename}2.csv", Arg.Any <string>());
        }
Exemplo n.º 3
0
        public void RemoveDuplicates_GivenDuplicateCustomers_ShouldRemoveDuplicates()
        {
            // Arrange
            var oldListOfCustomers = new List <Customer> {
                new Customer {
                    Name = "Apple", ContactNumber = "0784455812"
                },
                new Customer {
                    Name = "Banana", ContactNumber = "0784455812"
                },
                new Customer {
                    Name = "Grape", ContactNumber = "0784455812"
                },
                new Customer {
                    Name = "Apple", ContactNumber = "0784455812"
                }
            };
            var cleanListOfCustomers = new List <Customer> {
                new Customer {
                    Name = "Apple", ContactNumber = "0784455812"
                },
                new Customer {
                    Name = "Banana", ContactNumber = "0784455812"
                },
                new Customer {
                    Name = "Grape", ContactNumber = "0784455812"
                }
            };
            var duplicates = new Duplicates();

            // Act
            var result = duplicates.RemoveDuplicates(oldListOfCustomers);

            // Assert
            CollectionAssert.AreNotEqual(oldListOfCustomers, result);
            Assert.AreEqual(cleanListOfCustomers.Count, result.Count);
        }