예제 #1
0
        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);
            }
        }
예제 #2
0
        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());
        }