Ejemplo n.º 1
0
        public void MappingBuilderAbstractionIntegration()
        {
            using (var builder = XmlRepository.GetPropertyMappingBuilderFor <Person>())
            {
                builder.Map(p => p.Id).ToAttribute("sexy");
                builder.Map(p => p.LastName).ToContent();
            }

            //// builder.Map(p => p.Geek).ToElement("TESTGEEK"); ??

            string xml = "<root></root>";

            var delegateProvider = new DelegateDataProvider(() => xml, data => xml = data);

            XmlRepository.DataProvider = delegateProvider;

            using (var repository = XmlRepository.Get(RepositoryFor <Person> .WithIdentity(p => p.Id)))
            {
                var person = new Person
                {
                    FirstName = "Peter&",
                    LastName  = "Bucher",
                    Geek      = new Geek
                    {
                        Alias   = "YeahAlias",
                        SuperId = "test"
                    }
                };

                repository.SaveOnSubmit(person);
                repository.SubmitChanges();

                var data = repository.LoadAll();
            }
        }
Ejemplo n.º 2
0
        public void WithEmptyStringDelegate_EmptyRootElementIsReturned()
        {
            string dataReference = string.Empty;
            var    provider      = new DelegateDataProvider(
                () => dataReference,
                data => dataReference = data);

            Assert.That(provider.Load <Person>(), Is.EqualTo(XmlRepository.RootElementXml));
        }
Ejemplo n.º 3
0
        public void WithCorrectStringDelegate_SameValueIsReturned()
        {
            string dataReference =
                "<root></root>";

            var provider = new DelegateDataProvider(
                () => dataReference,
                data => dataReference = data);

            Assert.That(provider.Load <Person>(), Is.EqualTo(dataReference));
        }
Ejemplo n.º 4
0
        public void WithManipulatedInput_ThisInputWillOnLoadReturned()
        {
            string dataReference =
                "<root></root>";

            var provider = new DelegateDataProvider(
                () => dataReference,
                data => dataReference = data);

            string newInput = "<root><Person /></root>";

            provider.Save <Person>(newInput);

            Assert.That(provider.Load <Person>(), Is.EqualTo(newInput));
            Assert.That(dataReference, Is.EqualTo(newInput));
        }