Beispiel #1
0
        public void BindingContext_CopyTo_Invoke_Success()
        {
            var context = new SubBindingContext();

            using var source = new BindingSource();
            var dataSource = new DataSource();

            context.Add(dataSource, source.CurrencyManager);

            var array = new object[] { 1, 2, 3 };

            ((ICollection)context).CopyTo(array, 1);
            Assert.Equal(1, array[0]);
            Assert.NotNull(Assert.IsType <DictionaryEntry>(array[1]).Key);
            Assert.Equal(source.CurrencyManager, Assert.IsType <WeakReference>(Assert.IsType <DictionaryEntry>(array[1]).Value).Target);
            Assert.Equal(3, array[2]);
        }
        public void BindingContext_AddCore_Invoke_GetReturnsExpected()
        {
            var context    = new SubBindingContext();
            var source1    = new BindingSource();
            var source2    = new BindingSource();
            var dataSource = new DataSource();

            context.AddCore(dataSource, source1.CurrencyManager);
            Assert.Single(context);

            Assert.Same(source1.CurrencyManager, context[dataSource]);
            Assert.Same(source1.CurrencyManager, context[dataSource, null]);
            Assert.Same(source1.CurrencyManager, context[dataSource, string.Empty]);

            // Set new value.
            context.AddCore(dataSource, source2.CurrencyManager);
            Assert.Single(context);
            Assert.Same(source2.CurrencyManager, context[dataSource]);
            Assert.Same(source2.CurrencyManager, context[dataSource, null]);
            Assert.Same(source2.CurrencyManager, context[dataSource, string.Empty]);
        }
        public void BindingContext_Contains_DataSourceDataMember_ReturnsExpected()
        {
            var context = new SubBindingContext();

            using var source = new BindingSource();
            var dataSource1 = new DataSource();
            var dataSource2 = new DataSource();

            context.Add(dataSource1, source.CurrencyManager);
            Assert.NotNull(context[dataSource2, "Property"]);

            Assert.True(context.Contains(dataSource1, null));
            Assert.True(context.Contains(dataSource1, string.Empty));
            Assert.False(context.Contains(dataSource1, "Property"));
            Assert.True(context.Contains(dataSource2, null));
            Assert.True(context.Contains(dataSource2, string.Empty));
            Assert.True(context.Contains(dataSource2, "Property"));
            Assert.True(context.Contains(dataSource2, "property"));
            Assert.False(context.Contains(dataSource2, "NoSuchProperty"));
            Assert.False(context.Contains(1, "Property"));
        }
        public void BindingContext_RemoveCore_NullDataSource_ThrowsArgumentNullException()
        {
            var context = new SubBindingContext();

            Assert.Throws <ArgumentNullException>("dataSource", () => context.RemoveCore(null));
        }
        public void BindingContext_AddCore_NullListManager_ThrowsArgumentNullException()
        {
            var context = new SubBindingContext();

            Assert.Throws <ArgumentNullException>("listManager", () => context.AddCore(1, null));
        }