Exemple #1
0
        public void StoreUpdateAllIssue1()
        {
            // issue is a Json reader error after a store, update all workflow.
            var person = new PersonEntity();
            person.Name = "Test Insert";
            person.Email = "Test Insert";

            using (var docStore = new DocumentStore(_dataDirectory))
            {
                docStore.DestroyAllData();
                docStore.Store<PersonEntity>(person);
            }

            using (var docStore = new DocumentStore(_dataDirectory))
            {
                person.Id = 0;
                docStore.Store<PersonEntity>(person);
            }

            using (var docStore = new DocumentStore(_dataDirectory))
            {
                person.Id = 1;
                docStore.Update<PersonEntity>(person);

                person.Name = "dftgyuhijmljmxdojijdioi4jdoij3io4jdjio3jdiojkdrftyguhijedrftgyuhiohuvhouv3huir" +
                    "thvuih3tiuvhuit4hvoi3uhvtiou3huivthui3vuth3iu";
                person.Name += person.Name;
                person.Name += person.Name;
                person.Name += person.Name;
                person.Name += person.Name;
                docStore.Update<PersonEntity>(person);
            }

            using (var docStore = new DocumentStore(_dataDirectory))
            {
                docStore.All<PersonEntity>();
            }

            Assert.True (true);
        }
        public void AllMultipleDocumentTypes()
        {
            // STORE
            using (var ds = new DocumentStore(_dataDirectory))
            {
                ds.DestroyAllData();

                for (int i = 0; i < 100; i++) {
                    var person = new PersonEntity() { Name = "MonoDS", Email = "test" };
                    var car = new CarEntity() { Name = "MonoDS", Make = "MonoDS", Model = "MonoDS GTI" };

                    ds.Store<PersonEntity>(person);
                    ds.Store<CarEntity>(car);
                }
            }

            // LOAD ALL
            using (var ds = new DocumentStore(_dataDirectory))
            {
                var loadedPersons = ds.All<PersonEntity>();
                var loadedCars = ds.All<CarEntity>();

                Assert.AreEqual(100, loadedPersons.Count());
                foreach(var person in loadedPersons)
                {
                    Assert.AreEqual("MonoDS", person.Name);
                    Assert.AreEqual("test", person.Email);
                }

                Assert.AreEqual(100, loadedCars.Count());
                foreach(var car in loadedCars)
                {
                    Assert.AreEqual("MonoDS", car.Name);
                    Assert.AreEqual("MonoDS", car.Make);
                    Assert.AreEqual("MonoDS GTI", car.Model);
                }
            }
        }
        public void StoreThreeDocumentsLoadFirstDocument()
        {
            using (var sp = new StorageProcessor(_dataDirectory, _entity, _serializer))
            {
                sp.DestroyExistingData();

                var person = new PersonEntity() { Name = "Test 2", Email = "Test 2" };
                sp.Store<PersonEntity>(person);
             	sp.Store<PersonEntity>(new PersonEntity() { Name = "Test 1", Email = "Test 1" });

                var loadPerson =  sp.Load<PersonEntity>(person.Id);

            Assert.AreEqual (person.Id, loadPerson.Id);
            }
        }
        public void StoreThreeDocumentsDeleteOneDocumentLoadDeletedDocumentReturnsNull()
        {
            using (var sp = new StorageProcessor(_dataDirectory, _entity, _serializer))
            {
                sp.DestroyExistingData();

             var person = new PersonEntity() { Name = "Test 2", Email = "Test 2" };
             sp.Store<PersonEntity>(person);
             sp.Store<PersonEntity>(new PersonEntity() { Name = "Test 1", Email = "Test 1" });
             sp.Delete(person.Id);

            var loadPerson =  sp.Load<PersonEntity>(person.Id);
            Assert.IsNull(loadPerson);
            }
        }
        public void InsertOneDocumentUpdateDocumentSoRelocatedInsertNewDocumentWithSameSizeCheckFileSizeIsSame()
        {
            using (var sp = new StorageProcessor(_dataDirectory, _entity, _serializer))
            {
                sp.DestroyExistingData();

                // insert one record and get file size
                var entity = new PersonEntity() { Name = "Test", Email = "Test" };
                var entity2 = new PersonEntity() { Name = "Test", Email = "Test" };
                sp.Store<PersonEntity>(entity);

                // store file size for the assert
                entity.Name = "1000000hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh";
                sp.Update<PersonEntity>(entity);

                var fileSize = sp.FileSize;
                Assert.AreEqual(fileSize, sp.FileSize);

                // store another documet file size should be the same.
                sp.Store<PersonEntity>(entity2);
                Assert.AreEqual(fileSize, sp.FileSize);
            }
        }
 public void Insert1RecordsCheckCount1RemoveCheckDocumentCountIs0()
 {
     using (var sp = new StorageProcessor(_dataDirectory, _entity, _serializer))
     {
         sp.DestroyExistingData();
     var person = new PersonEntity() { Name = "Person " + 1, Email = "Email " + 1 };
      sp.Store<PersonEntity>(person);
     Assert.AreEqual(1,  sp.Count());
      sp.Delete(person.Id);
     Assert.AreEqual (0,  sp.Count());
     }
 }
        public void Insert1RecordChangeDataAndUpdateCheckUpdated()
        {
            using (var sp = new StorageProcessor(_dataDirectory, _entity, _serializer))
            {
                sp.DestroyExistingData();
            var person = new PersonEntity() { Name = "Person", Email = "Email" };
             sp.Store<PersonEntity>(person);

                Assert.AreEqual(1,  sp.Count());

            var existingPerson =  sp.Load<PersonEntity>(person.Id);
            existingPerson.Name = "Person With Longer Name";
             sp.Update<PersonEntity>(existingPerson);
            Assert.AreEqual(1,  sp.Count());

            // check updated
            var updatedPerson =  sp.Load<PersonEntity>(person.Id);
            Assert.AreEqual ("Person With Longer Name", updatedPerson.Name);
            }
        }
        public void UpdateMultipleDocumentTypes()
        {
            using (var ds = new DocumentStore(_dataDirectory))
            {
                ds.DestroyAllData();

                var person = new PersonEntity() { Name = "MonoDS", Email = "test" };
                var car = new CarEntity() { Name = "MonoDS", Make = "MonoDS", Model = "MonoDS GTI" };

                ds.Store<PersonEntity>(person);
                ds.Store<CarEntity>(car);

                Assert.AreEqual(1, ds.Count<PersonEntity>());
                Assert.AreEqual(1, ds.Count<CarEntity>());
            }

            // update
            using (var ds = new DocumentStore(_dataDirectory))
            {
                var person = ds.All<PersonEntity>().First();
                var car = ds.All<CarEntity>().First();
                person.Name = "MonoDS2";
                car.Name = "MonoDS2";

                ds.Update<PersonEntity>(person);
                ds.Update<CarEntity>(car);
            }

            // check result
            using (var ds = new DocumentStore(_dataDirectory))
            {
                var person = ds.All<PersonEntity>().First();
                var car = ds.All<CarEntity>().First();
                Assert.AreEqual("MonoDS2", person.Name);
                Assert.AreEqual("MonoDS2", car.Name);
            }
        }
        public void StoreMultipleDocumentTypes()
        {
            using (var ds = new DocumentStore(_dataDirectory))
            {
                ds.DestroyAllData();

                var person = new PersonEntity() { Name = "MonoDS", Email = "test" };
                var car = new CarEntity() { Name = "MonoDS", Make = "MonoDS", Model = "MonoDS GTI" };

                ds.Store<PersonEntity>(person);
                ds.Store<CarEntity>(car);

                Assert.AreEqual(1, ds.Count<PersonEntity>());
                Assert.AreEqual(1, ds.Count<CarEntity>());
            }
        }
        public void FindMultipleDocumentTypes()
        {
            var person = new PersonEntity() { Name = "MonoDS", Email = "test" };
            var car = new CarEntity() { Name = "MonoDS", Make = "MonoDS", Model = "MonoDS GTI" };

            using (var ds = new DocumentStore(_dataDirectory))
            {
                ds.DestroyAllData();
                ds.Store<PersonEntity>(person);
                ds.Store<CarEntity>(car);
            }

            using (var ds = new DocumentStore(_dataDirectory))
            {
                var loadedPerson = ds.Find<PersonEntity>(person.Id);
                var loadedCar = ds.Find<CarEntity>(car.Id);

                Assert.AreEqual(person.Id, loadedPerson.Id);
                Assert.AreEqual(person.Name, loadedPerson.Name);
                Assert.AreEqual(person.Email, loadedPerson.Email);
                Assert.AreEqual(car.Id, loadedCar.Id);
                Assert.AreEqual(car.Name, loadedCar.Name);
                Assert.AreEqual(car.Make, loadedCar.Make);
                Assert.AreEqual(car.Model, loadedCar.Model);
            }
        }