public void Deserialize([Values(true, false)]bool withCategory, [Values(true, false)]bool withStandingOrder)
        {
            const string persistentId = "TestId";
            var dateTime = new DateTime(2014, 7, 4);
            const double value = 12.77;
            const string description = "TestDescription";

            var categories = Enumerable.Range(1, 3).Select(i => new CategoryEntityImp()).ToArray();
            var categoryId = withCategory ? categories.First().PersistentId : "";

            var element = new XElement("Request",
                new XAttribute("Id", persistentId),
                new XAttribute("Date", dateTime.ToString(CultureInfo.InvariantCulture)),
                new XAttribute("Description", description),
                new XAttribute("Value", value.ToString(CultureInfo.InvariantCulture)),
                new XAttribute("CategoryId", categoryId));

            var request = new RequestEntityImp(element, categories);

            Assert.That(request.PersistentId, Is.EqualTo(persistentId));
            Assert.That(request.Date, Is.EqualTo(dateTime));
            Assert.That(request.Description, Is.EqualTo(description));
            Assert.That(request.Value, Is.EqualTo(value));
            Assert.That(request.HasChanged, Is.False);

            var categoryToReference = withCategory ? categories.First() : null;

            Assert.That(request.Category, Is.EqualTo(categoryToReference));
        }
Example #2
0
 private void SetRequestData(RequestEntityImp request, RequestEntityData data)
 {
     request.Date        = data.Date;
     request.Description = data.Description;
     request.Value       = data.Value;
     request.Category    = _allCategories.SingleOrDefault(c => c.PersistentId == data.CategoryPersistentId);
 }
        public void Deserialize([Values(true, false)] bool withCategory, [Values(true, false)] bool withStandingOrder)
        {
            const string persistentId = "TestId";
            var          dateTime     = new DateTime(2014, 7, 4);
            const double value        = 12.77;
            const string description  = "TestDescription";

            var categories = Enumerable.Range(1, 3).Select(i => new CategoryEntityImp()).ToArray();
            var categoryId = withCategory ? categories.First().PersistentId : "";

            var element = new XElement("Request",
                                       new XAttribute("Id", persistentId),
                                       new XAttribute("Date", dateTime.ToString(CultureInfo.InvariantCulture)),
                                       new XAttribute("Description", description),
                                       new XAttribute("Value", value.ToString(CultureInfo.InvariantCulture)),
                                       new XAttribute("CategoryId", categoryId));

            var request = new RequestEntityImp(element, categories);

            Assert.That(request.PersistentId, Is.EqualTo(persistentId));
            Assert.That(request.Date, Is.EqualTo(dateTime));
            Assert.That(request.Description, Is.EqualTo(description));
            Assert.That(request.Value, Is.EqualTo(value));
            Assert.That(request.HasChanged, Is.False);

            var categoryToReference = withCategory ? categories.First() : null;

            Assert.That(request.Category, Is.EqualTo(categoryToReference));
        }
 public void InitialState()
 {
     var request = new RequestEntityImp();
     Assert.That(request.PersistentId, Is.Not.Null.Or.Empty);
     Assert.That(request.Description, Is.EqualTo(""));
     Assert.That(request.Category, Is.Null);
     Assert.That(request.HasChanged, Is.True);
 }
        public void InitialState()
        {
            var request = new RequestEntityImp();

            Assert.That(request.PersistentId, Is.Not.Null.Or.Empty);
            Assert.That(request.Description, Is.EqualTo(""));
            Assert.That(request.Category, Is.Null);
            Assert.That(request.HasChanged, Is.True);
        }
        public string CreateRequest(RequestEntityData data)
        {
            EnsureRepositoryOpen("CreateRequest");

            var request = new RequestEntityImp();
            SetRequestData(request, data);
            _allRequests.Add(request);
            _persistenceHandler.SaveChanges(new SavingTask(FilePath, request.Clone()));

            return request.PersistentId;
        }
        internal void AddRequest(RequestEntityImp requestEntityImp)
        {
            if (requestEntityImp == null) throw new ArgumentNullException("requestEntityImp");
            if (_allRequests.Any(r => r.PersistentId == requestEntityImp.PersistentId))
            {
                throw new InvalidOperationException(string.Format("Entity with Id {0} alread exists.", requestEntityImp.PersistentId));
            }

            _allRequests.Add(requestEntityImp);
            _persistenceHandler.SaveChanges(new SavingTask(FilePath, requestEntityImp.Clone()));
        }
Example #8
0
        public string CreateRequest(RequestEntityData data)
        {
            EnsureRepositoryOpen("CreateRequest");

            var request = new RequestEntityImp();

            SetRequestData(request, data);
            _allRequests.Add(request);
            _persistenceHandler.SaveChanges(new SavingTask(FilePath, request.Clone()));

            return(request.PersistentId);
        }
        protected RequestEntityImp CreateRequestInRepository(DateTime date, string description, double value)
        {
            var request = new RequestEntityImp
            {
                Date        = date,
                Description = description,
                Value       = value
            };

            Repository.AddRequest(request);

            return(request);
        }
Example #10
0
        internal void AddRequest(RequestEntityImp requestEntityImp)
        {
            if (requestEntityImp == null)
            {
                throw new ArgumentNullException("requestEntityImp");
            }
            if (_allRequests.Any(r => r.PersistentId == requestEntityImp.PersistentId))
            {
                throw new InvalidOperationException(string.Format("Entity with Id {0} alread exists.", requestEntityImp.PersistentId));
            }

            _allRequests.Add(requestEntityImp);
            _persistenceHandler.SaveChanges(new SavingTask(FilePath, requestEntityImp.Clone()));
        }
        public void ChangePropertyUpdatesHasChanged(Action<RequestEntityImp> changeObject)
        {
            var categories = Enumerable.Range(1, 3).Select(i => new CategoryEntityImp()).ToArray();

            var element = new XElement("Request",
                new XAttribute("Id", "TestId"),
                new XAttribute("Date", new DateTime(2014, 7, 4).ToString(CultureInfo.InvariantCulture)),
                new XAttribute("Description", "TestDescription"),
                new XAttribute("Value", 12.77.ToString(CultureInfo.InvariantCulture)),
                new XAttribute("CategoryId", categories.First().PersistentId));

            var request = new RequestEntityImp(element, categories);
            Assert.That(request.HasChanged, Is.False);

            changeObject(request);
            Assert.That(request.HasChanged, Is.True);
        }
        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 ChangePropertyUpdatesHasChanged(Action <RequestEntityImp> changeObject)
        {
            var categories = Enumerable.Range(1, 3).Select(i => new CategoryEntityImp()).ToArray();

            var element = new XElement("Request",
                                       new XAttribute("Id", "TestId"),
                                       new XAttribute("Date", new DateTime(2014, 7, 4).ToString(CultureInfo.InvariantCulture)),
                                       new XAttribute("Description", "TestDescription"),
                                       new XAttribute("Value", 12.77.ToString(CultureInfo.InvariantCulture)),
                                       new XAttribute("CategoryId", categories.First().PersistentId));

            var request = new RequestEntityImp(element, categories);

            Assert.That(request.HasChanged, Is.False);

            changeObject(request);
            Assert.That(request.HasChanged, Is.True);
        }
Example #14
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));
        }
Example #15
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));
        }
 private void SetRequestData(RequestEntityImp request, RequestEntityData data)
 {
     request.Date = data.Date;
     request.Description = data.Description;
     request.Value = data.Value;
     request.Category = _allCategories.SingleOrDefault(c => c.PersistentId == data.CategoryPersistentId);
 }
        protected RequestEntityImp CreateRequestInRepository(DateTime date, string description, double value)
        {
            var request = new RequestEntityImp
            {
                Date = date,
                Description = description,
                Value = value
            };
            Repository.AddRequest(request);

            return request;
        }