public void CreatedWithConstantConsumer()
        {
            var local = new DocumentLocal <int>(4);
            var value = local.Get(Document);

            Assert.Equal(4, value);
        }
        public void CreatedWithDynamicConsumer()
        {
            var local = new DocumentLocal <List <object> >(() => new List <object>());
            var value = local.Get(Document);

            Assert.NotNull(value);
            Assert.Empty(value);
        }
        public void SetterSuccess()
        {
            var local = new DocumentLocal <int>(0);

            local[Document] = 2;
            var value = local[Document];

            Assert.Equal(2, value);
        }
        public void GetterSuccess()
        {
            var local = new DocumentLocal <List <object> >(() => new List <object>());
            var value = local[Document];

            value.Add(2);
            var again = local[Document];

            Assert.Equal(again, value);
            Assert.Equal(2, again[0]);
        }
        public void PerDocumentValue()
        {
            var local = new DocumentLocal <int>(0);

            local[Document] = 5;
            var doc = new Document();

            local[doc] = 10;

            Assert.Equal(5, local[Document]);
            Assert.Equal(10, local[doc]);
        }
        public void NullConsumerValue()
        {
            var local = new DocumentLocal <object>(() => null);

            Assert.Null(local.Get(new Document()));
        }
        public void NullDefaultValue()
        {
            var local = new DocumentLocal <object>((object)null);

            Assert.Null(local.Get(new Document()));
        }