public void Create_OnSparseCollection_AddsEntrant() { var dal = new EntrantDal(); var controller = new EntrantController(dal); var entrant1 = new Entrant { FirstName = "First1", LastName = "Last1" }; var action1 = controller.Create(entrant1); Assert.That(action1, Is.TypeOf <CreatedAtActionResult>()); var entrant2 = new Entrant { FirstName = "First2", LastName = "Last2" }; var action2 = controller.Create(entrant2); Assert.That(action2, Is.TypeOf <CreatedAtActionResult>()); // create a gap by removing first entrant var deleteAction = controller.Delete(1); Assert.That(deleteAction, Is.TypeOf <OkResult>()); var newEntrant = new Entrant { FirstName = "First2", LastName = "Last2" }; var action = controller.Create(newEntrant); Assert.That(action, Is.TypeOf <CreatedAtActionResult>()); }
public void GetAll_Returns_EmptyList() { var dal = new EntrantDal(); var items = dal.GetAll(); Assert.That(items, Is.Empty); }
public void Create_WithBlankNames_ThrowsArgumentExceptionException(string firstName, string lastName) { var entrantMap = new ConcurrentDictionary <int, Entrant>(); var dal = new EntrantDal(entrantMap); var entrant = new Entrant { FirstName = firstName, LastName = lastName }; Assert.Throws <ArgumentException>(() => dal.Create(entrant)); Assert.That(entrantMap, Is.Empty); }
public void Create_OnEmptyCollection_AddsEntrant() { var dal = new EntrantDal(); var controller = new EntrantController(dal); var entrant = new Entrant { FirstName = "First", LastName = "Last" }; var action = controller.Create(entrant); Assert.That(action, Is.TypeOf <CreatedAtActionResult>()); }
public void Delete_WithValidId_RemoveItem() { var entrant = new Entrant { FirstName = "firstName", LastName = "lastName", Id = 1 }; var entrantMap = new ConcurrentDictionary <int, Entrant>(); entrantMap.TryAdd(entrant.Id, entrant); var dal = new EntrantDal(entrantMap); dal.Delete(entrant.Id); Assert.That(entrantMap, Is.Empty); }
public void Create_WithValidEntrant_AddToMap() { var entrantMap = new ConcurrentDictionary <int, Entrant>(); var dal = new EntrantDal(entrantMap); var entrant = new Entrant { FirstName = "firstName", LastName = "lastName" }; dal.Create(entrant); Assert.That(entrantMap.Count, Is.EqualTo(1)); var firstItem = entrantMap.First().Value; Assert.That(firstItem.Id, Is.EqualTo(1)); }
public void GetById_WithBadId_ThrowsNotFoundException() { var entrantMap = new ConcurrentDictionary <int, Entrant> { [1] = new Entrant { FirstName = "firstName", LastName = "lastName", Id = 1 }, [2] = new Entrant { FirstName = "firstName2", LastName = "lastName2", Id = 2 }, }; var dal = new EntrantDal(entrantMap); Assert.Throws <EntrantNotFoundException>(() => dal.GetById(4)); }
public void GetAll_Returns_ExpectEntrants() { var entrantMap = new ConcurrentDictionary <int, Entrant> { [1] = new Entrant { FirstName = "firstName", LastName = "lastName", Id = 1 }, [2] = new Entrant { FirstName = "firstName2", LastName = "lastName2", Id = 2 }, }; var dal = new EntrantDal(entrantMap); var items = dal.GetAll(); Assert.That(items, Is.EquivalentTo(entrantMap.Values.ToList())); }
public void GetById_WithValidId_ReturnsExpectedItem() { var entrantMap = new ConcurrentDictionary <int, Entrant> { [1] = new Entrant { FirstName = "firstName", LastName = "lastName", Id = 1 }, [2] = new Entrant { FirstName = "firstName2", LastName = "lastName2", Id = 2 }, }; var dal = new EntrantDal(entrantMap); var item = dal.GetById(1); Assert.That(item, Is.EqualTo(entrantMap[1])); }
public void Delete_WithBadId_ThrowsNotFoundException() { var entrant = new Entrant { FirstName = "firstName", LastName = "lastName", Id = 1 }; var entrantMap = new ConcurrentDictionary <int, Entrant>(); entrantMap.TryAdd(entrant.Id, entrant); var dal = new EntrantDal(entrantMap); Assert.Throws <EntrantNotFoundException>(() => dal.Delete(9)); Assert.That(entrantMap.Count, Is.EqualTo(1)); var firstItem = entrantMap.First().Value; Assert.That(firstItem.Id, Is.EqualTo(1)); }
public void Create_WithNullEntrant_ThrowsArgumentNullException() { var dal = new EntrantDal(); Assert.Throws <ArgumentNullException>(() => dal.Create(null)); }