public void FileAddsUpdatesAndDeletesList() { _testName = MethodInfo.GetCurrentMethod().Name.GetHashCode().ToString(); Cleanup(); var list = TestResourceFactory.GetMockClassAObjects(22).Cast<MockClassC>().ToList(); list.ForEach(i => i.WithId(i.GetHashCode())); var container = new MockContainer() { AsList = list }; using (var repo = new MockFileRepository(_testName + ".xml", ".")) { repo.Load(); repo.Clear(); list.ForEach(i => i.Id = repo.Add(i)); repo.AddOrUpdate(list.First(), list.First().Id); repo.AddOrUpdate(TestResourceFactory.CreateRandom() as MockClassC, 0); repo.Flush(); } using (var repo = new MockFileRepository(_testName + ".xml", ".")) { repo.Load(); repo.Delete(list.Last().Id); list.Remove(list.Last()); foreach (var orig in list) { var item = repo.Fetch(orig.Id); Assert.AreEqual(item.Id, orig.Id); Assert.AreEqual(item.Name, orig.Name); Assert.AreEqual(item.GetSomeCheckSum[0], orig.GetSomeCheckSum[0]); Assert.AreEqual(item.Location.X, orig.Location.X); Assert.AreEqual(item.Location.Y, orig.Location.Y); Assert.AreEqual(item.Location.Z, orig.Location.Z); Assert.AreEqual(item.Location.W, orig.Location.W); Assert.AreEqual(item.ReferenceCode, orig.ReferenceCode); Assert.AreEqual(item.ReplicationID, orig.ReplicationID); } Assert.AreEqual(22, repo.Length); } }
public void WritePersonToFileSuccess() { Person person = new Person { FirstName = "Vladanss", LastName = "Neziri" }; File f = new File { FileName = person.FirstName + "_" + person.LastName, FilePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) }; var mockPersonRepo = new MockPersonRespository().MockCreatePerson(person); var mockFileRepo = new MockFileRepository().MockWriteFile(true); var writeJsonToFileService = new WriteJsonToFileService(mockFileRepo.Object, mockPersonRepo.Object); var result = writeJsonToFileService.WriteJsonToFile(person.FirstName, person.LastName, f.FileName, f.FilePath); Assert.IsTrue(result); mockPersonRepo.VerifyCreatePerson(Times.Once()); mockFileRepo.VerifyWriteFile(Times.Once()); }