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);
        }
Beispiel #3
0
        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();
        }
Beispiel #4
0
        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);
        }