public void BindingContext_RemoveCore_Invoke_Success() { var context = new SubBindingContext(); var source1 = new BindingSource(); var dataSource1 = new DataSource(); var source2 = new BindingSource(); var dataSource2 = new DataSource(); context.Add(dataSource1, source1.CurrencyManager); context.Add(dataSource2, source2.CurrencyManager); context.RemoveCore(dataSource1); Assert.Single(context); // Remove again. context.RemoveCore(dataSource1); Assert.Single(context); context.RemoveCore(dataSource2); Assert.Empty(context); // Remove again. context.RemoveCore(dataSource2); Assert.Empty(context); }
public void BindingContext_KeyEquals_Invoke_ReturnsExpected() { var context1 = new SubBindingContext(); var context2 = new SubBindingContext(); var context3 = new SubBindingContext(); var context4 = new SubBindingContext(); using var source1 = new BindingSource(); using var source2 = new BindingSource(); var dataSource1 = new DataSource(); var dataSource2 = new DataSource(); context1.Add(dataSource1, source1.CurrencyManager); context2.Add(dataSource1, source1.CurrencyManager); context3.Add(dataSource2, source1.CurrencyManager); context4.Add(dataSource2, source2.CurrencyManager); DictionaryEntry entry1 = Assert.IsType <DictionaryEntry>(Assert.Single(context1)); DictionaryEntry entry2 = Assert.IsType <DictionaryEntry>(Assert.Single(context2)); DictionaryEntry entry3 = Assert.IsType <DictionaryEntry>(Assert.Single(context3)); DictionaryEntry entry4 = Assert.IsType <DictionaryEntry>(Assert.Single(context3)); Assert.True(entry1.Key.Equals(entry1.Key)); Assert.True(entry1.Key.Equals(entry2.Key)); Assert.False(entry1.Key.Equals(entry3.Key)); Assert.False(entry1.Key.Equals(entry4.Key)); Assert.False(entry1.Key.Equals(new object())); Assert.False(entry1.Key.Equals(null)); }
public void BindingContext_Add_InvokeMultiple_Success() { var context = new SubBindingContext(); using var source1 = new BindingSource(); using var source2 = new BindingSource(); var dataSource1 = new DataSource(); var dataSource2 = new DataSource(); context.Add(dataSource1, source1.CurrencyManager); context.Add(dataSource2, source2.CurrencyManager); Assert.Equal(2, ((ICollection)context).Count); Assert.Same(source1.CurrencyManager, context[dataSource1]); Assert.Same(source2.CurrencyManager, context[dataSource2]); }
public void BindingContext_Add_NullDataSource_ThrowsArgumentNullException() { var context = new SubBindingContext(); using var source = new BindingSource(); Assert.Throws <ArgumentNullException>("dataSource", () => context.Add(null, source.CurrencyManager)); }
public void BindingContext_Item_GetWithAddedDataSourceWithDataMember_ThrowsArgumentException() { var context = new SubBindingContext(); using var source = new BindingSource(); var dataSource = new DataSource(); context.Add(dataSource, source.CurrencyManager); Assert.Throws <ArgumentException>(null, () => context[dataSource, "Property"]); }
public void BindingContext_Add_Invoke_GetReturnsExpected() { var context = new SubBindingContext(); using var source1 = new BindingSource(); using var source2 = new BindingSource(); var dataSource = new DataSource(); context.Add(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.Add(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_ClearCore_NotEmpty_Success() { var context = new SubBindingContext(); var source = new BindingSource(); context.Add(new DataSource(), source.CurrencyManager); // Clear again. context.ClearCore(); Assert.Empty(context); context.ClearCore(); Assert.Empty(context); }
public void BindingContext_Contains_DataSource_ReturnsExpected() { var context = new SubBindingContext(); using var source = new BindingSource(); var dataSource = new DataSource(); context.Add(dataSource, source.CurrencyManager); Assert.True(context.Contains(dataSource)); Assert.True(context.Contains(dataSource, null)); Assert.True(context.Contains(dataSource, string.Empty)); Assert.False(context.Contains(1)); Assert.False(context.Contains(1, null)); Assert.False(context.Contains(1, string.Empty)); }
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_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_Add_NullListManager_ThrowsArgumentNullException() { var context = new SubBindingContext(); Assert.Throws <ArgumentNullException>("listManager", () => context.Add(1, null)); }