Skip to content

Commit 57adf22

Browse files
committed
Address FeedBacks
1 parent 44bf738 commit 57adf22

File tree

1 file changed

+76
-222
lines changed

1 file changed

+76
-222
lines changed

src/test/unit/System.Windows.Forms/System/Windows/Forms/DataGridViewComboBoxColumnTests.cs

Lines changed: 76 additions & 222 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,20 @@ public class DataGridViewComboBoxColumnTests : IDisposable
1111

1212
public DataGridViewComboBoxColumnTests() => _dataGridViewComboBoxColumn = new();
1313

14-
[Fact]
15-
public void AutoComplete_DefaultValue_IsTrue() =>
14+
[WinFormsFact]
15+
public void DataGridViewComboBoxColumn_DefaultValues_AreExpected()
16+
{
1617
_dataGridViewComboBoxColumn.AutoComplete.Should().BeTrue();
18+
_dataGridViewComboBoxColumn.DisplayMember.Should().BeEmpty();
19+
_dataGridViewComboBoxColumn.DataSource.Should().BeNull();
20+
_dataGridViewComboBoxColumn.ValueMember.Should().BeEmpty();
21+
_dataGridViewComboBoxColumn.DisplayStyle.Should().Be(DataGridViewComboBoxDisplayStyle.DropDownButton);
22+
_dataGridViewComboBoxColumn.DisplayStyleForCurrentCellOnly.Should().BeFalse();
23+
_dataGridViewComboBoxColumn.DropDownWidth.Should().Be(1);
24+
_dataGridViewComboBoxColumn.FlatStyle.Should().Be(FlatStyle.Standard);
25+
_dataGridViewComboBoxColumn.MaxDropDownItems.Should().Be(DataGridViewComboBoxCell.DefaultMaxDropDownItems);
26+
_dataGridViewComboBoxColumn.Sorted.Should().BeFalse();
27+
}
1728

1829
[Fact]
1930
public void AutoComplete_SetValue_PropagatesToTemplate()
@@ -42,28 +53,6 @@ public void AutoComplete_SetValue_PropagatesToCellsInGrid()
4253
}
4354
}
4455

45-
[Fact]
46-
public void AutoComplete_ThrowsIfCellTemplateIsNull()
47-
{
48-
_dataGridViewComboBoxColumn.CellTemplate = null;
49-
Action getAutoComplete = () => { var _ = _dataGridViewComboBoxColumn.AutoComplete; };
50-
Action setAutoCompleteFalse = () => _dataGridViewComboBoxColumn.AutoComplete = false;
51-
52-
getAutoComplete.Should().Throw<InvalidOperationException>();
53-
setAutoCompleteFalse.Should().Throw<InvalidOperationException>();
54-
}
55-
56-
[Fact]
57-
public void AutoComplete_SetValue_WhenNotInGrid_OnlyAffectsTemplate()
58-
{
59-
_dataGridViewComboBoxColumn.AutoComplete = false;
60-
((DataGridViewComboBoxCell)_dataGridViewComboBoxColumn.CellTemplate!).AutoComplete.Should().BeFalse();
61-
}
62-
63-
[WinFormsFact]
64-
public void DataSource_DefaultValue_IsNull() =>
65-
_dataGridViewComboBoxColumn.DataSource.Should().BeNull();
66-
6756
[WinFormsFact]
6857
public void DataSource_SetValue_PropagatesToTemplate()
6958
{
@@ -94,30 +83,6 @@ public void DataSource_SetValue_PropagatesToCellsInGrid()
9483
}
9584
}
9685

97-
[WinFormsFact]
98-
public void DataSource_ThrowsIfCellTemplateIsNull()
99-
{
100-
_dataGridViewComboBoxColumn.CellTemplate = null;
101-
Action getDataSource = () => { var _ = _dataGridViewComboBoxColumn.DataSource; };
102-
Action setDataSourceToNewArray = () => _dataGridViewComboBoxColumn.DataSource = new[] { "A" };
103-
104-
getDataSource.Should().Throw<InvalidOperationException>();
105-
setDataSourceToNewArray.Should().Throw<InvalidOperationException>();
106-
}
107-
108-
[WinFormsFact]
109-
public void DataSource_SetValue_WhenNotInGrid_OnlyAffectsTemplate()
110-
{
111-
object dataSource = new[] { "A", "B" };
112-
_dataGridViewComboBoxColumn.DataSource = dataSource;
113-
114-
((DataGridViewComboBoxCell)_dataGridViewComboBoxColumn.CellTemplate!).DataSource.Should().BeSameAs(dataSource);
115-
}
116-
117-
[WinFormsFact]
118-
public void DisplayMember_DefaultValue_IsEmpty() =>
119-
_dataGridViewComboBoxColumn.DisplayMember.Should().BeEmpty();
120-
12186
[WinFormsFact]
12287
public void DisplayMember_SetValue_PropagatesToTemplate()
12388
{
@@ -146,28 +111,6 @@ public void DisplayMember_SetValue_PropagatesToCellsInGrid()
146111
}
147112
}
148113

149-
[WinFormsFact]
150-
public void DisplayMember_ThrowsIfCellTemplateIsNull()
151-
{
152-
_dataGridViewComboBoxColumn.CellTemplate = null;
153-
Action getDisplayMember = () => { var _ = _dataGridViewComboBoxColumn.DisplayMember; };
154-
Action setDisplayMemberToName = () => _dataGridViewComboBoxColumn.DisplayMember = "Name";
155-
156-
getDisplayMember.Should().Throw<InvalidOperationException>();
157-
setDisplayMemberToName.Should().Throw<InvalidOperationException>();
158-
}
159-
160-
[WinFormsFact]
161-
public void DisplayMember_SetValue_WhenNotInGrid_OnlyAffectsTemplate()
162-
{
163-
_dataGridViewComboBoxColumn.DisplayMember = "Name";
164-
((DataGridViewComboBoxCell)_dataGridViewComboBoxColumn.CellTemplate!).DisplayMember.Should().Be("Name");
165-
}
166-
167-
[WinFormsFact]
168-
public void DisplayStyle_DefaultValue_IsDropDownButton() =>
169-
_dataGridViewComboBoxColumn.DisplayStyle.Should().Be(DataGridViewComboBoxDisplayStyle.DropDownButton);
170-
171114
[WinFormsFact]
172115
public void DisplayStyle_SetValue_PropagatesToTemplate()
173116
{
@@ -195,28 +138,6 @@ public void DisplayStyle_SetValue_PropagatesToCellsInGrid()
195138
}
196139
}
197140

198-
[WinFormsFact]
199-
public void DisplayStyle_ThrowsIfCellTemplateIsNull()
200-
{
201-
_dataGridViewComboBoxColumn.CellTemplate = null;
202-
Action getDisplayStyle = () => { var _ = _dataGridViewComboBoxColumn.DisplayStyle; };
203-
Action setDisplayStyle = () => _dataGridViewComboBoxColumn.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox;
204-
205-
getDisplayStyle.Should().Throw<InvalidOperationException>();
206-
setDisplayStyle.Should().Throw<InvalidOperationException>();
207-
}
208-
209-
[WinFormsFact]
210-
public void DisplayStyle_SetValue_WhenNotInGrid_OnlyAffectsTemplate()
211-
{
212-
_dataGridViewComboBoxColumn.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox;
213-
((DataGridViewComboBoxCell)_dataGridViewComboBoxColumn.CellTemplate!).DisplayStyle.Should().Be(DataGridViewComboBoxDisplayStyle.ComboBox);
214-
}
215-
216-
[WinFormsFact]
217-
public void DisplayStyleForCurrentCellOnly_DefaultValue_IsFalse() =>
218-
_dataGridViewComboBoxColumn.DisplayStyleForCurrentCellOnly.Should().BeFalse();
219-
220141
[WinFormsFact]
221142
public void DisplayStyleForCurrentCellOnly_SetValue_PropagatesToTemplate()
222143
{
@@ -245,28 +166,6 @@ public void DisplayStyleForCurrentCellOnly_SetValue_PropagatesToCellsInGrid()
245166
}
246167
}
247168

248-
[WinFormsFact]
249-
public void DisplayStyleForCurrentCellOnly_ThrowsIfCellTemplateIsNull()
250-
{
251-
_dataGridViewComboBoxColumn.CellTemplate = null;
252-
Action getDisplayStyleForCurrentCellOnly = () => { var _ = _dataGridViewComboBoxColumn.DisplayStyleForCurrentCellOnly; };
253-
Action setDisplayStyleForCurrentCellOnlyTrue = () => _dataGridViewComboBoxColumn.DisplayStyleForCurrentCellOnly = true;
254-
255-
getDisplayStyleForCurrentCellOnly.Should().Throw<InvalidOperationException>();
256-
setDisplayStyleForCurrentCellOnlyTrue.Should().Throw<InvalidOperationException>();
257-
}
258-
259-
[WinFormsFact]
260-
public void DisplayStyleForCurrentCellOnly_SetValue_WhenNotInGrid_OnlyAffectsTemplate()
261-
{
262-
_dataGridViewComboBoxColumn.DisplayStyleForCurrentCellOnly = true;
263-
((DataGridViewComboBoxCell)_dataGridViewComboBoxColumn.CellTemplate!).DisplayStyleForCurrentCellOnly.Should().BeTrue();
264-
}
265-
266-
[Fact]
267-
public void DropDownWidth_DefaultValue_IsOne() =>
268-
_dataGridViewComboBoxColumn.DropDownWidth.Should().Be(1);
269-
270169
[Fact]
271170
public void DropDownWidth_SetValue_PropagatesToTemplate()
272171
{
@@ -295,28 +194,6 @@ public void DropDownWidth_SetValue_PropagatesToCellsInGrid()
295194
}
296195
}
297196

298-
[Fact]
299-
public void DropDownWidth_ThrowsIfCellTemplateIsNull()
300-
{
301-
_dataGridViewComboBoxColumn.CellTemplate = null;
302-
Action getDropDownWidth = () => { var _ = _dataGridViewComboBoxColumn.DropDownWidth; };
303-
Action setDropDownWidth = () => _dataGridViewComboBoxColumn.DropDownWidth = 5;
304-
305-
getDropDownWidth.Should().Throw<InvalidOperationException>();
306-
setDropDownWidth.Should().Throw<InvalidOperationException>();
307-
}
308-
309-
[Fact]
310-
public void DropDownWidth_SetValue_WhenNotInGrid_OnlyAffectsTemplate()
311-
{
312-
_dataGridViewComboBoxColumn.DropDownWidth = 99;
313-
((DataGridViewComboBoxCell)_dataGridViewComboBoxColumn.CellTemplate!).DropDownWidth.Should().Be(99);
314-
}
315-
316-
[Fact]
317-
public void FlatStyle_DefaultValue_IsStandard() =>
318-
_dataGridViewComboBoxColumn.FlatStyle.Should().Be(FlatStyle.Standard);
319-
320197
[WinFormsFact]
321198
public void FlatStyle_SetValue_PropagatesToTemplate()
322199
{
@@ -344,24 +221,6 @@ public void FlatStyle_SetValue_PropagatesToCellsInGrid()
344221
}
345222
}
346223

347-
[WinFormsFact]
348-
public void FlatStyle_ThrowsIfCellTemplateIsNull()
349-
{
350-
_dataGridViewComboBoxColumn.CellTemplate = null;
351-
Action getFlatStyle = () => { var _ = _dataGridViewComboBoxColumn.FlatStyle; };
352-
Action setFlatStyleToFlat = () => _dataGridViewComboBoxColumn.FlatStyle = FlatStyle.Flat;
353-
354-
getFlatStyle.Should().Throw<InvalidOperationException>();
355-
setFlatStyleToFlat.Should().Throw<InvalidOperationException>();
356-
}
357-
358-
[WinFormsFact]
359-
public void FlatStyle_SetValue_WhenNotInGrid_OnlyAffectsTemplate()
360-
{
361-
_dataGridViewComboBoxColumn.FlatStyle = FlatStyle.System;
362-
((DataGridViewComboBoxCell)_dataGridViewComboBoxColumn.CellTemplate!).FlatStyle.Should().Be(FlatStyle.System);
363-
}
364-
365224
[Fact]
366225
public void Items_ReturnsTemplateItems()
367226
{
@@ -376,19 +235,6 @@ public void Items_ReturnsTemplateItems()
376235
_dataGridViewComboBoxColumn.Items[1].Should().Be("B");
377236
}
378237

379-
[Fact]
380-
public void Items_ThrowsIfCellTemplateIsNull()
381-
{
382-
_dataGridViewComboBoxColumn.CellTemplate = null;
383-
Action getItems = () => { var _ = _dataGridViewComboBoxColumn.Items; };
384-
385-
getItems.Should().Throw<InvalidOperationException>();
386-
}
387-
388-
[WinFormsFact]
389-
public void ValueMember_DefaultValue_IsEmpty() =>
390-
_dataGridViewComboBoxColumn.ValueMember.Should().BeEmpty();
391-
392238
[WinFormsFact]
393239
public void ValueMember_SetValue_PropagatesToTemplate()
394240
{
@@ -416,28 +262,6 @@ public void ValueMember_SetValue_PropagatesToCellsInGrid()
416262
}
417263
}
418264

419-
[WinFormsFact]
420-
public void ValueMember_ThrowsIfCellTemplateIsNull()
421-
{
422-
_dataGridViewComboBoxColumn.CellTemplate = null;
423-
Action getValueMember = () => { var _ = _dataGridViewComboBoxColumn.ValueMember; };
424-
Action setValueMemberToId = () => _dataGridViewComboBoxColumn.ValueMember = "Id";
425-
426-
getValueMember.Should().Throw<InvalidOperationException>();
427-
setValueMemberToId.Should().Throw<InvalidOperationException>();
428-
}
429-
430-
[WinFormsFact]
431-
public void ValueMember_SetValue_WhenNotInGrid_OnlyAffectsTemplate()
432-
{
433-
_dataGridViewComboBoxColumn.ValueMember = "Id";
434-
((DataGridViewComboBoxCell)_dataGridViewComboBoxColumn.CellTemplate!).ValueMember.Should().Be("Id");
435-
}
436-
437-
[Fact]
438-
public void MaxDropDownItems_DefaultValue_IsExpected() =>
439-
_dataGridViewComboBoxColumn.MaxDropDownItems.Should().Be(DataGridViewComboBoxCell.DefaultMaxDropDownItems);
440-
441265
[Fact]
442266
public void MaxDropDownItems_SetValue_PropagatesToTemplate()
443267
{
@@ -466,28 +290,6 @@ public void MaxDropDownItems_SetValue_PropagatesToCellsInGrid()
466290
}
467291
}
468292

469-
[Fact]
470-
public void MaxDropDownItems_ThrowsIfCellTemplateIsNull()
471-
{
472-
_dataGridViewComboBoxColumn.CellTemplate = null;
473-
Action getMaxDropDownItems = () => { var _ = _dataGridViewComboBoxColumn.MaxDropDownItems; };
474-
Action setMaxDropDownItemsToFive = () => _dataGridViewComboBoxColumn.MaxDropDownItems = 5;
475-
476-
getMaxDropDownItems.Should().Throw<InvalidOperationException>();
477-
setMaxDropDownItemsToFive.Should().Throw<InvalidOperationException>();
478-
}
479-
480-
[Fact]
481-
public void MaxDropDownItems_SetValue_WhenNotInGrid_OnlyAffectsTemplate()
482-
{
483-
_dataGridViewComboBoxColumn.MaxDropDownItems = 9;
484-
((DataGridViewComboBoxCell)_dataGridViewComboBoxColumn.CellTemplate!).MaxDropDownItems.Should().Be(9);
485-
}
486-
487-
[Fact]
488-
public void Sorted_DefaultValue_IsFalse() =>
489-
_dataGridViewComboBoxColumn.Sorted.Should().BeFalse();
490-
491293
[Fact]
492294
public void Sorted_SetValue_PropagatesToTemplate()
493295
{
@@ -517,22 +319,74 @@ public void Sorted_SetValue_PropagatesToCellsInGrid()
517319
}
518320
}
519321

520-
[Fact]
521-
public void Sorted_ThrowsIfCellTemplateIsNull()
322+
[WinFormsFact]
323+
public void ComboBoxColumnAllProperties_ThrowInvalidOperationException_IfCellTemplateIsNull()
522324
{
523325
_dataGridViewComboBoxColumn.CellTemplate = null;
524-
Action getSorted = () => { var _ = _dataGridViewComboBoxColumn.Sorted; };
525-
Action setSortedToTrue = () => _dataGridViewComboBoxColumn.Sorted = true;
326+
327+
Action getAutoComplete = () => { bool _ = _dataGridViewComboBoxColumn.AutoComplete; };
328+
Action setAutoComplete = () => _dataGridViewComboBoxColumn.AutoComplete = false;
329+
330+
Action getDataSource = () => { object? _ = _dataGridViewComboBoxColumn.DataSource; };
331+
Action setDataSource = () => _dataGridViewComboBoxColumn.DataSource = new[] { "A" };
332+
333+
Action getDisplayMember = () => { string _ = _dataGridViewComboBoxColumn.DisplayMember; };
334+
Action setDisplayMember = () => _dataGridViewComboBoxColumn.DisplayMember = "Name";
335+
336+
Action getValueMember = () => { string _ = _dataGridViewComboBoxColumn.ValueMember; };
337+
Action setValueMember = () => _dataGridViewComboBoxColumn.ValueMember = "Id";
338+
339+
Action getItems = () => { var _ = _dataGridViewComboBoxColumn.Items; };
340+
341+
Action getDisplayStyle = () => { DataGridViewComboBoxDisplayStyle _ = _dataGridViewComboBoxColumn.DisplayStyle; };
342+
Action setDisplayStyle = () => _dataGridViewComboBoxColumn.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox;
343+
344+
Action getDisplayStyleForCurrentCellOnly = () => { bool _ = _dataGridViewComboBoxColumn.DisplayStyleForCurrentCellOnly; };
345+
Action setDisplayStyleForCurrentCellOnly = () => _dataGridViewComboBoxColumn.DisplayStyleForCurrentCellOnly = true;
346+
347+
Action getDropDownWidth = () => { int _ = _dataGridViewComboBoxColumn.DropDownWidth; };
348+
Action setDropDownWidth = () => _dataGridViewComboBoxColumn.DropDownWidth = 5;
349+
350+
Action getMaxDropDownItems = () => { int _ = _dataGridViewComboBoxColumn.MaxDropDownItems; };
351+
Action setMaxDropDownItems = () => _dataGridViewComboBoxColumn.MaxDropDownItems = 5;
352+
353+
Action getSorted = () => { bool _ = _dataGridViewComboBoxColumn.Sorted; };
354+
Action setSorted = () => _dataGridViewComboBoxColumn.Sorted = true;
355+
356+
Action getFlatStyle = () => { FlatStyle _ = _dataGridViewComboBoxColumn.FlatStyle; };
357+
Action setFlatStyle = () => _dataGridViewComboBoxColumn.FlatStyle = FlatStyle.Flat;
358+
359+
getAutoComplete.Should().Throw<InvalidOperationException>();
360+
setAutoComplete.Should().Throw<InvalidOperationException>();
361+
362+
getDataSource.Should().Throw<InvalidOperationException>();
363+
setDataSource.Should().Throw<InvalidOperationException>();
364+
365+
getDisplayMember.Should().Throw<InvalidOperationException>();
366+
setDisplayMember.Should().Throw<InvalidOperationException>();
367+
368+
getValueMember.Should().Throw<InvalidOperationException>();
369+
setValueMember.Should().Throw<InvalidOperationException>();
370+
371+
getItems.Should().Throw<InvalidOperationException>();
372+
373+
getDisplayStyle.Should().Throw<InvalidOperationException>();
374+
setDisplayStyle.Should().Throw<InvalidOperationException>();
375+
376+
getDisplayStyleForCurrentCellOnly.Should().Throw<InvalidOperationException>();
377+
setDisplayStyleForCurrentCellOnly.Should().Throw<InvalidOperationException>();
378+
379+
getDropDownWidth.Should().Throw<InvalidOperationException>();
380+
setDropDownWidth.Should().Throw<InvalidOperationException>();
381+
382+
getMaxDropDownItems.Should().Throw<InvalidOperationException>();
383+
setMaxDropDownItems.Should().Throw<InvalidOperationException>();
526384

527385
getSorted.Should().Throw<InvalidOperationException>();
528-
setSortedToTrue.Should().Throw<InvalidOperationException>();
529-
}
386+
setSorted.Should().Throw<InvalidOperationException>();
530387

531-
[Fact]
532-
public void Sorted_SetValue_WhenNotInGrid_OnlyAffectsTemplate()
533-
{
534-
_dataGridViewComboBoxColumn.Sorted = true;
535-
((DataGridViewComboBoxCell)_dataGridViewComboBoxColumn.CellTemplate!).Sorted.Should().BeTrue();
388+
getFlatStyle.Should().Throw<InvalidOperationException>();
389+
setFlatStyle.Should().Throw<InvalidOperationException>();
536390
}
537391

538392
[WinFormsFact]

0 commit comments

Comments
 (0)