public void GetAll_ShouldReturnsAllAddedEntities() { string fileName = Guid.NewGuid().ToString("N") + ".xml"; int entityCount = 3; IEnumerable <Guid> entityIds = Enumerable.Range(0, entityCount).Select(x => Guid.NewGuid()).ToList(); IEnumerable <FakeEntity> entities = entityIds.Select(x => new FakeEntity() { Id = x, Name = x.ToString() }); XmlRepository <FakeEntity> repository = new XmlRepository <FakeEntity>(fileName); foreach (FakeEntity entity in entities) { repository.Add(entity); } repository.SaveChanges(); repository = new XmlRepository <FakeEntity>(fileName); entities = repository.GetAll(); Assert.AreEqual(entityCount, entities.Count()); foreach (Guid entityId in entityIds) { Assert.IsTrue(entities.SingleOrDefault(x => x.Id == entityId && x.Name == entityId.ToString()) != null); } File.Delete(fileName); }
public void GetAll_ShouldReturnsEmptyCollection_IfNoData() { string fileName = Guid.NewGuid().ToString("N") + ".xml"; XmlRepository <FakeEntity> repository = new XmlRepository <FakeEntity>(fileName); IEnumerable <FakeEntity> entities = repository.GetAll(); Assert.AreEqual(0, entities.Count()); File.Delete(fileName); }
public void Get_GetAll_and_Update_should_throw_for_unknown_Type() { const string file = "\\somefile.xml"; var repository = new XmlRepository(file, serializationProvider, pathResolver); Assert.Throws<InvalidOperationException>(() => repository.Get<MeetingRepository>(0)); Assert.Throws<InvalidOperationException>(() => repository.GetAll<MeetingRepository>()); Assert.Throws<InvalidOperationException>(() => repository.Update("", 0)); new FileInfo(file).Delete(); }
public void XmlRepo_can_add_Infektion_and_Laender_asign_later() { var testFile = "myFile.xml"; if (File.Exists(testFile)) { File.Delete(testFile); } var inf1 = new Infektion() { Person = "Bernd" }; var land = new Land() { Name = "Seuchenland" }; land.Region.Add(new Region() { Name = "Todeszones" }); { var repo = new XmlRepository(testFile); repo.Add(inf1); repo.Add(land); repo.SaveAll(); } { var repo = new XmlRepository(testFile); var iLoaded = repo.GetAll <Infektion>().FirstOrDefault(); var lLoaded = repo.GetAll <Land>().FirstOrDefault(); iLoaded.Wohnort = lLoaded.Region.FirstOrDefault(); //repo.Update(iLoaded); repo.SaveAll(); } }
public void XmlRepoTests_Can_CRUD_Baum() { var baum = new Tannenbaum() { Height = 17 }; var newHeight = 452; {//INSERT var repo = new XmlRepository(); repo.Add(baum); repo.Save(); } {//check Read var repo = new XmlRepository(); Assert.IsTrue(repo.GetAll <Tannenbaum>().Any(x => x.Height == baum.Height)); var loaded = repo.GetById <Tannenbaum>(baum.Id); Assert.IsNotNull(loaded); Assert.AreEqual(baum.Height, loaded.Height); //UPDATE loaded.Height = 452; repo.Save(); } {//check UPDATE + DELETE var repo = new XmlRepository(); var loaded = repo.GetById <Tannenbaum>(baum.Id); Assert.AreEqual(newHeight, loaded.Height); repo.Delete(loaded); repo.Save(); } {//check DELETE var repo = new XmlRepository(); var loaded = repo.GetById <Tannenbaum>(baum.Id); Assert.IsNull(loaded); } }
public void Remove_ShouldRemovesEntity_IfIdExists() { string fileName = Guid.NewGuid().ToString("N") + ".xml"; Guid entityId = Guid.NewGuid(); FakeEntity entity = new FakeEntity() { Id = entityId, Name = entityId.ToString() }; XmlRepository <FakeEntity> repository = new XmlRepository <FakeEntity>(fileName); repository.Add(entity); repository.SaveChanges(); repository.Remove(entityId); repository.SaveChanges(); repository = new XmlRepository <FakeEntity>(fileName); Assert.AreEqual(0, repository.GetAll().Count()); File.Delete(fileName); }