示例#1
0
        public void WillGetNpcsFromFileIfExists()
        {
            var mapName = SetupPersister.GetCurrentMethodName();
            var want    = new ObservableCollection <Person>();

            want.Add(new Person(2, "test guy", Vector3.Zero)
            {
                MapName = mapName
            });

            var persister = SetupPersister.SetupTestFilePersister();

            persister.FileName = SetupPersister.GetCurrentMethodName();

            var peopleOverseer = new PeopleOverseer(mapName, _testFileDirectory);

            peopleOverseer.PeopleManager.AddPerson(new Person(2, "test guy", Vector3.Zero));

            // Load up using what was just saved.
            var gotZone = new Zone("D");

            gotZone.Npcs = persister.Load <ObservableCollection <Person> >();

            var got = gotZone.Npcs;

            persister.Delete();

            Assert.Equal(want, got);
        }
示例#2
0
        public async void ConcurrentCallsWillNotLockUpFile()
        {
            var sw      = new Stopwatch();
            var mapName = SetupPersister.GetCurrentMethodName();

            var persister = SetupPersister.SetupTestFilePersister();

            persister.FileName = SetupPersister.GetCurrentMethodName();

            var peopleOverseer = new PeopleOverseer(mapName, _testFileDirectory);

            peopleOverseer.PeopleManager.AddPerson(new Person(0, "test guy", Vector3.Zero));
            peopleOverseer.PeopleManager.AddPerson(new Person(0, "test guy", Vector3.Zero));
            peopleOverseer.PeopleManager.AddPerson(new Person(0, "test guy", Vector3.Zero));

            var npcs = new List <Person>();

            for (var i = 2; i < 30; i++)
            {
                peopleOverseer.PeopleManager.AddPerson(new Person(i, "dummy" + i, Vector3.Zero));
            }

            await Init(peopleOverseer.PeopleManager, npcs);

            var want = new ObservableCollection <Person>();

            want.Add(new Person(0, "test guy", Vector3.Zero)
            {
                MapName = mapName
            });
            for (var i = 2; i < 30; i++)
            {
                want.Add(new Person(i, "dummy" + i, Vector3.Zero)
                {
                    MapName = mapName
                });
            }

            var got = persister.Load <ObservableCollection <Person> >();

            persister.Delete();

            Assert.Equal(want.Count, got.Count);
            Assert.Equal(want, got);
            sw.Stop();
        }
示例#3
0
        public void AddingPersonPersistsCollectionToFile()
        {
            var mapName = SetupPersister.GetCurrentMethodName();
            var want    = new ObservableCollection <Person>();

            want.Add(new Person(2, "test guy", Vector3.Zero)
            {
                MapName = mapName
            });

            var persister = SetupPersister.SetupTestFilePersister();

            persister.FileName = mapName;

            var peopleOverseer = new PeopleOverseer(mapName, _testFileDirectory);

            peopleOverseer.PeopleManager.AddPerson(new Person(2, "test guy", Vector3.Zero));
            var got = persister.Load <ObservableCollection <Person> >();

            persister.Delete();

            Assert.Equal(want, got);
        }