// PUT: api/Hobbit/5 public Hobbit Put(long id, Hobbit hobbit) { long hobbitId; if (!_hobbitDataManager.TryGet(hobbit, out hobbitId)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent("The Hobbit provided does not already exist.") }); } if(hobbitId != id) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent("The Hobbit provided already exists as another Hobbit.") }); } Hobbit updatedHobbit = _hobbitDataManager.Update(hobbit, id); if (updatedHobbit == null) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent("The body did not contain a valid Hobbit data type.") }); } return updatedHobbit; }
public void TryGet_ReturnsFalse_ForUnknownHobbit() { Hobbit testHobbit = new Hobbit("TryGet_ReturnsFalse hobbit", FAMILY_NAME, BIRTH_YEAR, DEATH_YEAR, ID); HobbitDataManager dataManager = new HobbitDataManager(); long hobbitId; bool foundHobbit = dataManager.TryGet(testHobbit, out hobbitId); Assert.False(foundHobbit); }
public void Insert_ReturnsHobbit() { Hobbit testHobbit = new Hobbit("Insert hobbit", FAMILY_NAME, BIRTH_YEAR, DEATH_YEAR, ID); HobbitDataManager dataManager = new HobbitDataManager(); Hobbit hobbit = dataManager.Insert(testHobbit); Assert.NotNull(hobbit); Assert.True(CompareHobbits(testHobbit, hobbit)); }
public void Get_ReturnsAllHobbits() { Hobbit[] _singleHobbitArray = new Hobbit[] { _testHobbit }; Mock<IDataManager<Hobbit>> mockHobbitManager = new Mock<IDataManager<Hobbit>>(); mockHobbitManager.Setup(m => m.GetAll()).Returns(_singleHobbitArray); HobbitController controller = new HobbitController(mockHobbitManager.Object); IEnumerable<Hobbit> hobbit = controller.Get(); Assert.Equal(_singleHobbitArray.Count(), hobbit.Count()); Assert.Equal(NAME, hobbit.First().Name); }
public void TryGet_ReturnsTrue_ForKnownHobbit() { Hobbit testHobbit = new Hobbit("TryGet_ReturnsTrue hobbit", FAMILY_NAME, BIRTH_YEAR, DEATH_YEAR, ID); HobbitDataManager dataManager = new HobbitDataManager(); Hobbit insertedHobbit = dataManager.Insert(testHobbit); long hobbitId; bool foundHobbit = dataManager.TryGet(insertedHobbit, out hobbitId); Assert.True(foundHobbit); Assert.True(hobbitId != default(long)); // SQLite ids/rownums start at 1 }
public void Insert_ReturnsHobbit_WhenUsingDefaultValues( string name, string familyName, int birthYear, int deathYear, long id) { Hobbit testHobbit = new Hobbit("Insert " + name, familyName, birthYear, deathYear, id); HobbitDataManager dataManager = new HobbitDataManager(); Hobbit hobbit = dataManager.Insert(testHobbit); Assert.NotNull(hobbit); Assert.True(CompareHobbits(testHobbit, hobbit)); }
// POST: api/Hobbit public Hobbit Post(Hobbit hobbit) { long hobbitId; if (_hobbitDataManager.TryGet(hobbit, out hobbitId)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent("The Hobbit provided already exists.") }); } Hobbit insertedHobbit = _hobbitDataManager.Insert(hobbit); if (insertedHobbit == null) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent("The body did not contain a valid Hobbit data type.") }); } return insertedHobbit; }
public void Insert_ReturnsNull_WhenNameIsNull() { Hobbit testHobbit = new Hobbit(null, FAMILY_NAME, BIRTH_YEAR, DEATH_YEAR, ID); HobbitDataManager dataManager = new HobbitDataManager(); Hobbit hobbit = dataManager.Insert(testHobbit); Assert.Null(hobbit); }
private bool CompareHobbits(Hobbit baselineHobbit, Hobbit comparisonHobbit, bool compareId = false) { if (baselineHobbit.Name != comparisonHobbit.Name) { return false; } if (baselineHobbit.FamilyName != comparisonHobbit.FamilyName) { return false; } if (baselineHobbit.BirthYear != comparisonHobbit.BirthYear) { return false; } if (baselineHobbit.DeathYear != comparisonHobbit.DeathYear) { return false; } if (compareId && baselineHobbit.Id != comparisonHobbit.Id) { return false; } return true; }
public void Delete_ReturnsTrue_ForKnownHobbit() { Hobbit testHobbit = new Hobbit("Deletable Hobbit", FAMILY_NAME, BIRTH_YEAR, DEATH_YEAR, ID); HobbitDataManager dataManager = new HobbitDataManager(); Hobbit insertedHobbit = dataManager.Insert(testHobbit); bool deleted = dataManager.Delete(insertedHobbit.Id); Hobbit hobbit; bool foundHobbit = dataManager.TryGet(insertedHobbit.Id, out hobbit); Assert.True(deleted); Assert.False(foundHobbit); }
public void Update_ReturnsHobbit_WhenUsingDefaultValues( string name, string familyName, int birthYear, int deathYear, long id) { Hobbit testHobbit = new Hobbit("Update " + name, familyName, birthYear, deathYear, id); HobbitDataManager dataManager = new HobbitDataManager(); Hobbit insertedHobbit = dataManager.Insert(testHobbit); Hobbit updatedHobbit = new Hobbit( "Updated and updated " + insertedHobbit.Name, insertedHobbit.FamilyName, insertedHobbit.BirthYear, insertedHobbit.DeathYear, insertedHobbit.Id); Hobbit hobbit = dataManager.Update(updatedHobbit, updatedHobbit.Id); Assert.NotNull(hobbit); Assert.True(CompareHobbits(updatedHobbit, hobbit)); }
public void Update_ReturnsUpdatedHobbit() { Hobbit testHobbit = new Hobbit("Insert hobbit", FAMILY_NAME, BIRTH_YEAR, DEATH_YEAR, ID); HobbitDataManager dataManager = new HobbitDataManager(); Hobbit insertedHobbit = dataManager.Insert(testHobbit); Hobbit updatedHobbit = new Hobbit( "Inserted and updated" + insertedHobbit.Name, insertedHobbit.FamilyName, insertedHobbit.BirthYear, insertedHobbit.DeathYear, insertedHobbit.Id); Hobbit hobbit = dataManager.Update(updatedHobbit, updatedHobbit.Id); Assert.True(CompareHobbits(updatedHobbit, hobbit)); }
public void DeathYear_StoresProvidedValue(int year) { Hobbit hobbit = new Hobbit(null, null, 0, year, 0); Assert.Equal(year, hobbit.DeathYear); }
public void FamilyName_StoresProvidedValue(string name) { Hobbit hobbit = new Hobbit(name, null, 0, 0, 0); Assert.Equal(name, hobbit.Name); }