public void GivenAnImporter_WhenInitializingWithNullDatabase_ThenAnExceptionIsThrown() { var streamReader = new StreamStubBuilder().Build(); var exception = Assert.Throws <ArgumentException>(() => new CustomerImporter(null, streamReader)); Assert.Equal(CustomerImporter.DATABASE_IS_NULL_EXCEPTION, exception.Message); }
public void GivenAnImporter_WhenImportingFromEmptyStream_ThenNoCustomerIsImported() { var streamReader = new StreamStubBuilder().Build(); var dataBase = new MemoryDataBase(); var customerImporter = new CustomerImporter(dataBase, streamReader); customerImporter.Import(); var customers = dataBase.GetCustomers(); Assert.Empty(customers); }
public void GivenAnImporter_WhenImportingStreamWithCustomerWithInvalidAmountOfFields_ThenAnExceptionIsThrown(string invalidRecord) { var streamReader = new StreamStubBuilder() .AddLine(invalidRecord) .Build(); var dataBase = new MemoryDataBase(); var customerImporter = new CustomerImporter(dataBase, streamReader); var exception = Assert.Throws <ArgumentException>(() => customerImporter.Import()); Assert.Equal(CustomerImporter.FIELD_AMOUNT_IS_INVALID_EXCEPTION, exception.Message); }
public void GivenAnImporter_WhenImportingUnrecognizedRecord_ThenAnExceptionIsThrown(string unrecognizedRecord) { var streamReader = new StreamStubBuilder() .AddLine(unrecognizedRecord) .Build(); var dataBase = new MemoryDataBase(); var customerImporter = new CustomerImporter(dataBase, streamReader); var exception = Assert.Throws <ArgumentException>(() => customerImporter.Import()); Assert.Equal(CustomerImporter.RECORD_IS_UNRECOGNIZED_EXCEPTION, exception.Message); }
public void GivenAnImporter_WhenImportingStreamWithIncompleteAddress_ThenAnExceptionIsThrown() { var streamReader = new StreamStubBuilder() .AddLine("C,Juan,Perez,C,23-25666777-9") .AddLine("A,Alem,1122,CABA,1001") .Build(); var dataBase = new MemoryDataBase(); var customerImporter = new CustomerImporter(dataBase, streamReader); var exception = Assert.Throws <ArgumentException>(() => customerImporter.Import()); Assert.Equal(CustomerImporter.FIELD_AMOUNT_IS_INVALID_EXCEPTION, exception.Message); }