public void BindingContext_AddCore_InvokeMultiple_Success()
        {
            var context     = new SubBindingContext();
            var source1     = new BindingSource();
            var source2     = new BindingSource();
            var dataSource1 = new DataSource();
            var dataSource2 = new DataSource();

            context.AddCore(dataSource1, source1.CurrencyManager);
            context.AddCore(dataSource2, source2.CurrencyManager);
            Assert.Equal(2, ((ICollection)context).Count);

            Assert.Same(source1.CurrencyManager, context[dataSource1]);
            Assert.Same(source2.CurrencyManager, context[dataSource2]);
        }
        public void BindingContext_AddCore_NullDataSource_ThrowsArgumentNullException()
        {
            var context = new SubBindingContext();
            var source  = new BindingSource();

            Assert.Throws <ArgumentNullException>("dataSource", () => context.AddCore(null, source.CurrencyManager));
        }
        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_AddCore_NullListManager_ThrowsArgumentNullException()
        {
            var context = new SubBindingContext();

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