public void Serialize(bool hasCategory)
        {
            var category = new CategoryEntityImp();
            var standingOrder = new StandingOrderEntityImp
            {
                Category = hasCategory ? category : null,
                Description =  "Test",
                FirstBookDate = new DateTime(2015, 4, 1),
                LastBookDate = new DateTime(2016, 4, 1),
                LastBookedDate = new DateTime(2015, 5, 1),
                MonthPeriodStep = 1,
                ReferenceDay = 1,
                ReferenceMonth = 4,
                Value = 45.22
            };
            var standingOrderPersistence = new StandingOrderEntityPersistence(standingOrder);

            var data = standingOrderPersistence.Serialize();
            Assert.That(data.Attribute("CategoryId").Value, Is.EqualTo(hasCategory ? category.PersistentId : string.Empty));
            Assert.That(data.Attribute("Description").Value, Is.EqualTo("Test"));
            Assert.That(data.Attribute("FirstBookDate").Value, Is.EqualTo(standingOrder.FirstBookDate.ToString(CultureInfo.InvariantCulture)));
            Assert.That(data.Attribute("LastBookDate").Value, Is.EqualTo(standingOrder.LastBookDate.ToString(CultureInfo.InvariantCulture)));
            Assert.That(data.Attribute("LastBookedDate").Value, Is.EqualTo(standingOrder.LastBookedDate.ToString(CultureInfo.InvariantCulture)));
            Assert.That(data.Attribute("MonthPeriodStep").Value, Is.EqualTo(standingOrder.MonthPeriodStep.ToString(CultureInfo.InvariantCulture)));
            Assert.That(data.Attribute("ReferenceDay").Value, Is.EqualTo(standingOrder.ReferenceDay.ToString(CultureInfo.InvariantCulture)));
            Assert.That(data.Attribute("ReferenceMonth").Value, Is.EqualTo(standingOrder.ReferenceMonth.ToString(CultureInfo.InvariantCulture)));
            Assert.That(data.Attribute("Value").Value, Is.EqualTo(standingOrder.Value.ToString(CultureInfo.InvariantCulture)));
        }
 public void InitialState()
 {
     var request = new CategoryEntityImp();
     Assert.That(request.PersistentId, Is.Not.Null.Or.Empty);
     Assert.That(request.Name, Is.EqualTo(""));
     Assert.That(request.HasChanged, Is.True);
 }
        public void ConstructorWorks(bool hasCategory)
        {
            var category = new CategoryEntityImp();
            var standingOrder = new StandingOrderEntityImp
            {
                Category = hasCategory ? category : null,
                Description = "Test",
                FirstBookDate = new DateTime(2015, 4, 1),
                LastBookDate = new DateTime(2016, 4, 1),
                LastBookedDate = new DateTime(2015, 5, 1),
                MonthPeriodStep = 1,
                ReferenceDay = 1,
                ReferenceMonth = 4,
                Value = 45.22
            };
            var standingOrderPersistence = new StandingOrderEntityPersistence(standingOrder);

            Assert.That(standingOrderPersistence.PersistentId, Is.EqualTo(standingOrder.PersistentId));
            Assert.That(standingOrderPersistence.Description, Is.EqualTo(standingOrder.Description));
            Assert.That(standingOrderPersistence.FirstBookDate, Is.EqualTo(standingOrder.FirstBookDate));
            Assert.That(standingOrderPersistence.LastBookDate, Is.EqualTo(standingOrder.LastBookDate));
            Assert.That(standingOrderPersistence.LastBookedDate, Is.EqualTo(standingOrder.LastBookedDate));
            Assert.That(standingOrderPersistence.MonthPeriodStep, Is.EqualTo(standingOrder.MonthPeriodStep));
            Assert.That(standingOrderPersistence.ReferenceDay, Is.EqualTo(standingOrder.ReferenceDay));
            Assert.That(standingOrderPersistence.ReferenceMonth, Is.EqualTo(standingOrder.ReferenceMonth));
            Assert.That(standingOrderPersistence.Value, Is.EqualTo(standingOrder.Value));
            Assert.That(standingOrderPersistence.Category, Is.InstanceOf<CategoryEntityStub>());
            Assert.That(standingOrderPersistence.Category.PersistentId, Is.EqualTo(hasCategory ? category.PersistentId : ""));
        }
        public void ConstructorWorks()
        {
            var category = new CategoryEntityImp { Name = "Category1" };

            var categoryPersistence = new CategoryEntityPersistenceImp(category);
            Assert.That(categoryPersistence.PersistentId, Is.EqualTo(category.PersistentId));
            Assert.That(categoryPersistence.Name, Is.EqualTo(category.Name));
        }
        public string CreateCategory(string name)
        {
            EnsureRepositoryOpen("CreateRequest");

            var categoryImp = new CategoryEntityImp { Name = name };
            _allCategories.Add(categoryImp);
            _persistenceHandler.SaveChanges(new SavingTask(FilePath, categoryImp.Clone()));

            return categoryImp.PersistentId;
        }
        internal void AddCategory(CategoryEntityImp categoryEntity)
        {
            if (categoryEntity == null) throw new ArgumentNullException("categoryEntity");
            if (_allCategories.Any(r => r.PersistentId == categoryEntity.PersistentId))
            {
                throw new InvalidOperationException(string.Format("Entity with Id {0} alread exists.", categoryEntity.PersistentId));
            }

            _allCategories.Add(categoryEntity);
        }
        public void ChangePropertyUpdatesHasChanged()
        {
            var element = new XElement("Category",
                new XAttribute("Id", "testId"),
                new XAttribute("Name", "Name"));

            var categoryImp = new CategoryEntityImp(element);
            Assert.That(categoryImp.HasChanged, Is.False);

            categoryImp.Name = "My New Name";
            Assert.That(categoryImp.HasChanged, Is.True);
        }
        public void Serialize(bool nameisNull)
        {
            var category = new CategoryEntityImp { Name = nameisNull ? null : "Category1" };

            var categoryPersistence = new CategoryEntityPersistenceImp(category);
            var serialized = categoryPersistence.Serialize();

            Assert.That(serialized.Name.LocalName, Is.EqualTo("Category"));
            Assert.That(serialized.Attributes().Count(), Is.EqualTo(2));
            Assert.That(serialized.Attribute("Id").Value, Is.EqualTo(category.PersistentId));
            Assert.That(serialized.Attribute("Name").Value, Is.EqualTo(nameisNull ? "" : category.Name));
        }
Beispiel #9
0
        public string CreateCategory(string name)
        {
            EnsureRepositoryOpen("CreateRequest");

            var categoryImp = new CategoryEntityImp {
                Name = name
            };

            _allCategories.Add(categoryImp);
            _persistenceHandler.SaveChanges(new SavingTask(FilePath, categoryImp.Clone()));

            return(categoryImp.PersistentId);
        }
Beispiel #10
0
        internal void AddCategory(CategoryEntityImp categoryEntity)
        {
            if (categoryEntity == null)
            {
                throw new ArgumentNullException("categoryEntity");
            }
            if (_allCategories.Any(r => r.PersistentId == categoryEntity.PersistentId))
            {
                throw new InvalidOperationException(string.Format("Entity with Id {0} alread exists.", categoryEntity.PersistentId));
            }

            _allCategories.Add(categoryEntity);
        }
Beispiel #11
0
        public void Serialize(bool nameisNull)
        {
            var category = new CategoryEntityImp {
                Name = nameisNull ? null : "Category1"
            };

            var categoryPersistence = new CategoryEntityPersistenceImp(category);
            var serialized          = categoryPersistence.Serialize();

            Assert.That(serialized.Name.LocalName, Is.EqualTo("Category"));
            Assert.That(serialized.Attributes().Count(), Is.EqualTo(2));
            Assert.That(serialized.Attribute("Id").Value, Is.EqualTo(category.PersistentId));
            Assert.That(serialized.Attribute("Name").Value, Is.EqualTo(nameisNull ? "" : category.Name));
        }
        public void Deserialize(bool withCategory)
        {
            const string persistentId = "TestId";
            const string name         = "Category1";

            var element = new XElement("Category",
                                       new XAttribute("Id", persistentId),
                                       new XAttribute("Name", name));

            var categoryImp = new CategoryEntityImp(element);

            Assert.That(categoryImp.PersistentId, Is.EqualTo(persistentId));
            Assert.That(categoryImp.Name, Is.EqualTo(name));
            Assert.That(categoryImp.HasChanged, Is.False);
        }
        public void Deserialize(bool withCategory)
        {
            const string persistentId = "TestId";
            const string name = "Category1";

            var element = new XElement("Category",
                new XAttribute("Id", persistentId),
                new XAttribute("Name", name));

            var categoryImp = new CategoryEntityImp(element);

            Assert.That(categoryImp.PersistentId, Is.EqualTo(persistentId));
            Assert.That(categoryImp.Name, Is.EqualTo(name));
            Assert.That(categoryImp.HasChanged, Is.False);
        }
        public void ConstructorWorks(bool hasCategory)
        {
            var category = new CategoryEntityImp();
            var request = new RequestEntityImp
            {
                Date = new DateTime(2014, 5, 6),
                Description = "TestDescription",
                Value = 11.27,
                Category = hasCategory ? category : null
            };

            var requestPersistence = new RequestEntityPersistenceImp(request);
            Assert.That(requestPersistence.PersistentId, Is.EqualTo(request.PersistentId));
            Assert.That(requestPersistence.Description, Is.EqualTo(request.Description));
            Assert.That(requestPersistence.Value, Is.EqualTo(request.Value));
            Assert.That(requestPersistence.Category, Is.InstanceOf<CategoryEntityStub>());
            Assert.That(requestPersistence.Category.PersistentId, Is.EqualTo( hasCategory ? category.PersistentId : string.Empty));
        }
        public void UpdateCategory()
        {
            var originalCategory = new CategoryEntityImp {Name = "Category"};
            var persistentId = originalCategory.PersistentId;

            Repository.AddCategory(originalCategory);
            Repository.UpdateCategory(persistentId, "New Category Name");

            var categoryQueried = Repository.QueryCategory(persistentId);

            Assert.That(categoryQueried.PersistentId, Is.EqualTo(persistentId));
            Assert.That(categoryQueried.Name, Is.EqualTo("New Category Name"));

            PersistenceHandler.Received(1).SaveChanges(Arg.Is<SavingTask>(t => t.RequestsToUpdate.Count == 0 &&
                                                                               t.CategoriesToUpdate.Count == 1 &&
                                                                               t.EntitiesToDelete.Count == 0 &&
                                                                               t.StandingOrdersToUpdate.Count == 0 &&
                                                                               t.FilePath == DatabaseFile));
        }
        public void DeleteCategoryReferencedByRequestRemovesCategoryFromRequest()
        {
            var category = new CategoryEntityImp { Name = "My Category" };
            Repository.AddCategory(category);

            var request = CreateRequestInRepository(DateTime.Now, "Test", 12.0);
            request.Category = category;

            PersistenceHandler.ClearReceivedCalls();

            Repository.DeleteCategory(category.PersistentId);
            Assert.That(request.Category, Is.Null);

            PersistenceHandler.Received(1).SaveChanges(Arg.Is<SavingTask>(t => t.RequestsToUpdate.Count == 1 &&
                                                                               t.CategoriesToUpdate.Count == 0 &&
                                                                               t.EntitiesToDelete.Count == 1 &&
                                                                               t.StandingOrdersToUpdate.Count == 0 &&
                                                                               t.FilePath == DatabaseFile));
        }
Beispiel #17
0
        public void ConstructorWorks(bool hasCategory)
        {
            var category = new CategoryEntityImp();
            var request  = new RequestEntityImp
            {
                Date        = new DateTime(2014, 5, 6),
                Description = "TestDescription",
                Value       = 11.27,
                Category    = hasCategory ? category : null
            };

            var requestPersistence = new RequestEntityPersistenceImp(request);

            Assert.That(requestPersistence.PersistentId, Is.EqualTo(request.PersistentId));
            Assert.That(requestPersistence.Description, Is.EqualTo(request.Description));
            Assert.That(requestPersistence.Value, Is.EqualTo(request.Value));
            Assert.That(requestPersistence.Category, Is.InstanceOf <CategoryEntityStub>());
            Assert.That(requestPersistence.Category.PersistentId, Is.EqualTo(hasCategory ? category.PersistentId : string.Empty));
        }
        public void UpdateCategory()
        {
            var originalCategory = new CategoryEntityImp {
                Name = "Category"
            };
            var persistentId = originalCategory.PersistentId;

            Repository.AddCategory(originalCategory);
            Repository.UpdateCategory(persistentId, "New Category Name");

            var categoryQueried = Repository.QueryCategory(persistentId);

            Assert.That(categoryQueried.PersistentId, Is.EqualTo(persistentId));
            Assert.That(categoryQueried.Name, Is.EqualTo("New Category Name"));

            PersistenceHandler.Received(1).SaveChanges(Arg.Is <SavingTask>(t => t.RequestsToUpdate.Count == 0 &&
                                                                           t.CategoriesToUpdate.Count == 1 &&
                                                                           t.EntitiesToDelete.Count == 0 &&
                                                                           t.StandingOrdersToUpdate.Count == 0 &&
                                                                           t.FilePath == DatabaseFile));
        }
Beispiel #19
0
        public void Serialize(bool descriptionIsNull)
        {
            var category = new CategoryEntityImp();
            var request  = new RequestEntityImp
            {
                Date        = new DateTime(2014, 5, 6),
                Description = descriptionIsNull ? null : "TestDescription",
                Value       = 11.27,
                Category    = category
            };

            var requestPersistence = new RequestEntityPersistenceImp(request);
            var serialized         = requestPersistence.Serialize();

            Assert.That(serialized.Name.LocalName, Is.EqualTo("Request"));
            Assert.That(serialized.Attributes().Count(), Is.EqualTo(5));
            Assert.That(serialized.Attribute("Id").Value, Is.EqualTo(request.PersistentId));
            Assert.That(serialized.Attribute("Description").Value, Is.EqualTo(descriptionIsNull ? "" : request.Description));
            Assert.That(serialized.Attribute("Value").Value, Is.EqualTo(request.Value.ToString(CultureInfo.InvariantCulture)));
            Assert.That(serialized.Attribute("Date").Value, Is.EqualTo(request.Date.ToString(CultureInfo.InvariantCulture)));
            Assert.That(serialized.Attribute("CategoryId").Value, Is.EqualTo(category.PersistentId));
        }
        public void Serialize(bool descriptionIsNull)
        {
            var category = new CategoryEntityImp();
            var request = new RequestEntityImp
            {
                Date = new DateTime(2014, 5, 6),
                Description = descriptionIsNull ? null : "TestDescription",
                Value = 11.27,
                Category = category
            };

            var requestPersistence = new RequestEntityPersistenceImp(request);
            var serialized = requestPersistence.Serialize();

            Assert.That(serialized.Name.LocalName, Is.EqualTo("Request"));
            Assert.That(serialized.Attributes().Count(), Is.EqualTo(5));
            Assert.That(serialized.Attribute("Id").Value, Is.EqualTo(request.PersistentId));
            Assert.That(serialized.Attribute("Description").Value, Is.EqualTo(descriptionIsNull ? "" : request.Description));
            Assert.That(serialized.Attribute("Value").Value, Is.EqualTo(request.Value.ToString(CultureInfo.InvariantCulture)));
            Assert.That(serialized.Attribute("Date").Value, Is.EqualTo(request.Date.ToString(CultureInfo.InvariantCulture)));
            Assert.That(serialized.Attribute("CategoryId").Value, Is.EqualTo(category.PersistentId));
        }
        public void DeleteCategoryReferencedByRequestRemovesCategoryFromRequest()
        {
            var category = new CategoryEntityImp {
                Name = "My Category"
            };

            Repository.AddCategory(category);

            var request = CreateRequestInRepository(DateTime.Now, "Test", 12.0);

            request.Category = category;

            PersistenceHandler.ClearReceivedCalls();

            Repository.DeleteCategory(category.PersistentId);
            Assert.That(request.Category, Is.Null);

            PersistenceHandler.Received(1).SaveChanges(Arg.Is <SavingTask>(t => t.RequestsToUpdate.Count == 1 &&
                                                                           t.CategoriesToUpdate.Count == 0 &&
                                                                           t.EntitiesToDelete.Count == 1 &&
                                                                           t.StandingOrdersToUpdate.Count == 0 &&
                                                                           t.FilePath == DatabaseFile));
        }
 protected CategoryEntityImp CreateCategory(string name)
 {
     var category = new CategoryEntityImp { Name = name };
     Repository.AddCategory(category);
     return category;
 }