View | Details | Raw Unified | Return to bug 447851
Collapse All | Expand All

(-)SplitContainerProviderTest.cs (-123 / +63 lines)
Lines 60-72 Link Here
60
			IRawElementProviderSimple provider = 
60
			IRawElementProviderSimple provider = 
61
				ProviderFactory.GetProvider (splitContainer);
61
				ProviderFactory.GetProvider (splitContainer);
62
			
62
			
63
			object transformProvider =
64
				provider.GetPatternProvider (TransformPatternIdentifiers.Pattern.Id);
65
			Assert.IsNotNull (transformProvider,
66
			                  "Not returning TransformPatternIdentifiers.");
67
			Assert.IsTrue (transformProvider is ITransformProvider,
68
			               "Not returning TransformPatternIdentifiers.");
69
			
70
			object dockProvider =
63
			object dockProvider =
71
				provider.GetPatternProvider (DockPatternIdentifiers.Pattern.Id);
64
				provider.GetPatternProvider (DockPatternIdentifiers.Pattern.Id);
72
			Assert.IsNotNull (dockProvider,
65
			Assert.IsNotNull (dockProvider,
Lines 77-265 Link Here
77
		
70
		
78
		#endregion
71
		#endregion
79
		
72
		
80
		#region ITransformProvider Test
73
		#region SplitterPanel ITransformProvider Test
81
		
74
		
82
		[Test]
75
		[Test]
83
		public void ITransformProviderCanMoveTest ()
76
		public void SplitterPanelITransformProviderCanMoveTest ()
84
		{
77
		{
85
			SplitContainer splitContainer = new SplitContainer ();
78
			SplitContainer splitContainer = new SplitContainer ();
86
			IRawElementProviderSimple provider = 
79
			IRawElementProviderFragmentRoot rootProvider = 
87
				ProviderFactory.GetProvider (splitContainer);
80
				(IRawElementProviderFragmentRoot) GetProviderFromControl (splitContainer);
81
			IRawElementProviderFragment childProvider =
82
				rootProvider.Navigate (NavigateDirection.FirstChild);
88
			
83
			
89
			ITransformProvider transformProvider = (ITransformProvider)
84
			ITransformProvider transformProvider = (ITransformProvider)
90
				provider.GetPatternProvider (TransformPatternIdentifiers.Pattern.Id);
85
				childProvider.GetPatternProvider (TransformPatternIdentifiers.Pattern.Id);
91
			Assert.IsNotNull (transformProvider,
86
			Assert.IsNotNull (transformProvider,
92
			                  "Not returning TransformPatternIdentifiers.");
87
			                  "Not returning TransformPatternIdentifiers.");
93
			
88
			
94
			// Default DockStyle is None
89
			// Default DockStyle is None
95
			Assert.IsTrue (transformProvider.CanMove,
96
			               "SplitContainer can be moved by default.");
97
			splitContainer.Dock = DockStyle.Bottom;
98
			Assert.IsFalse (transformProvider.CanMove,
90
			Assert.IsFalse (transformProvider.CanMove,
99
			                "SplitContainer can't be moved when Bottom.");
91
			                "SplitterPanel can't be moved by default.");
100
			splitContainer.Dock = DockStyle.Top;
101
			Assert.IsFalse (transformProvider.CanMove,
102
			                "SplitContainer can't be moved when Top.");
103
			splitContainer.Dock = DockStyle.Left;
104
			Assert.IsFalse (transformProvider.CanMove,
105
			                "SplitContainer can't be moved when Left.");
106
			splitContainer.Dock = DockStyle.Right;
107
			Assert.IsFalse (transformProvider.CanMove,
108
			                "SplitContainer can't be moved when Right.");
109
			splitContainer.Dock = DockStyle.Fill;
110
			Assert.IsFalse (transformProvider.CanMove,
111
			                "SplitContainer can't be moved when Fill.");
112
		}
92
		}
113
		
93
		
114
		[Test]
94
		[Test]
115
		public void ITransformProviderCanResizeTest ()
95
		public void SplitterPanelITransformProviderCanResizeTest ()
116
		{
96
		{
117
			SplitContainer splitContainer = new SplitContainer ();
97
			SplitContainer splitContainer = new SplitContainer ();
118
			IRawElementProviderSimple provider = 
98
			IRawElementProviderFragmentRoot rootProvider = 
119
				ProviderFactory.GetProvider (splitContainer);
99
				(IRawElementProviderFragmentRoot) GetProviderFromControl (splitContainer);
100
			IRawElementProviderFragment childProvider =
101
				rootProvider.Navigate (NavigateDirection.FirstChild);
120
			
102
			
121
			ITransformProvider transformProvider = (ITransformProvider)
103
			ITransformProvider transformProvider = (ITransformProvider)
122
				provider.GetPatternProvider (TransformPatternIdentifiers.Pattern.Id);
104
				childProvider.GetPatternProvider (TransformPatternIdentifiers.Pattern.Id);
123
			Assert.IsNotNull (transformProvider,
105
			Assert.IsNotNull (transformProvider,
124
			                  "Not returning TransformPatternIdentifiers.");
106
			                  "Not returning TransformPatternIdentifiers.");
125
			
107
126
			// Default DockStyle is None
127
			Assert.IsTrue (transformProvider.CanResize,
108
			Assert.IsTrue (transformProvider.CanResize,
128
			               "SplitContainer can be resized by default.");
109
			               "SplitterPanel can be resized by default.");
129
			splitContainer.Dock = DockStyle.Bottom;
110
130
			Assert.IsTrue (transformProvider.CanResize,
111
			splitContainer.Panel1Collapsed = true;
131
			               "SplitContainer can be resized when Bottom.");
112
			splitContainer.Panel2Collapsed = false;
132
			splitContainer.Dock = DockStyle.Top;
133
			Assert.IsTrue (transformProvider.CanResize,
134
			               "SplitContainer can be resized when Top.");
135
			splitContainer.Dock = DockStyle.Left;
136
			Assert.IsTrue (transformProvider.CanResize,
137
			               "SplitContainer can be resized when Left.");
138
			splitContainer.Dock = DockStyle.Right;
139
			Assert.IsTrue (transformProvider.CanResize,
140
			               "SplitContainer can be resized when Right.");
141
			splitContainer.Dock = DockStyle.Fill;
142
			Assert.IsFalse (transformProvider.CanResize,
113
			Assert.IsFalse (transformProvider.CanResize,
143
			                "SplitContainer can't be resized when Fill.");
114
			               "SplitterPanel1 can't be resized.");
115
116
			splitContainer.Panel1Collapsed = false;
117
			splitContainer.Panel2Collapsed = true;
118
			Assert.IsFalse (transformProvider.CanResize,
119
			               "SplitterPanel2 can't be resized.");
144
		}
120
		}
145
		
121
		
146
		[Test]
122
		[Test]
147
		public void ITransformProviderCanRotateTest ()
123
		public void SplitterPanelITransformProviderCanRotateTest ()
148
		{
124
		{
149
			SplitContainer splitContainer = new SplitContainer ();
125
			SplitContainer splitContainer = new SplitContainer ();
150
			IRawElementProviderSimple provider = 
126
			IRawElementProviderFragmentRoot rootProvider = 
151
				ProviderFactory.GetProvider (splitContainer);
127
				(IRawElementProviderFragmentRoot) GetProviderFromControl (splitContainer);
128
			IRawElementProviderFragment childProvider =
129
				rootProvider.Navigate (NavigateDirection.FirstChild);
152
			
130
			
153
			ITransformProvider transformProvider = (ITransformProvider)
131
			ITransformProvider transformProvider = (ITransformProvider)
154
				provider.GetPatternProvider (TransformPatternIdentifiers.Pattern.Id);
132
				childProvider.GetPatternProvider (TransformPatternIdentifiers.Pattern.Id);
155
			Assert.IsNotNull (transformProvider,
133
			Assert.IsNotNull (transformProvider,
156
			                  "Not returning TransformPatternIdentifiers.");
134
			                  "Not returning TransformPatternIdentifiers.");
157
			
135
			
158
			Assert.IsFalse (transformProvider.CanRotate,
136
			Assert.IsFalse (transformProvider.CanRotate,
159
			                "SplitContainer can't be rotated.");
137
			                "SplitterPanel can't be rotated.");
160
		}
138
		}
161
		
139
		
162
		[Test]
140
		[Test]
163
		public void ITransformProviderMoveTest ()
141
		public void SplitterPanelITransformProviderMoveTest ()
164
		{
142
		{
165
			SplitContainer splitContainer = new SplitContainer ();
143
			SplitContainer splitContainer = new SplitContainer ();
166
			IRawElementProviderSimple provider = 
144
			IRawElementProviderFragmentRoot rootProvider = 
167
				ProviderFactory.GetProvider (splitContainer);
145
				(IRawElementProviderFragmentRoot) GetProviderFromControl (splitContainer);
146
			IRawElementProviderFragment childProvider =
147
				rootProvider.Navigate (NavigateDirection.FirstChild);
168
			
148
			
169
			ITransformProvider transformProvider = (ITransformProvider)
149
			ITransformProvider transformProvider = (ITransformProvider)
170
				provider.GetPatternProvider (TransformPatternIdentifiers.Pattern.Id);
150
				childProvider.GetPatternProvider (TransformPatternIdentifiers.Pattern.Id);
171
			Assert.IsNotNull (transformProvider,
151
			Assert.IsNotNull (transformProvider,
172
			                  "Not returning TransformPatternIdentifiers.");
152
			                  "Not returning TransformPatternIdentifiers.");
173
			
153
			
174
			double x = 10, y = 10;
175
			transformProvider.Move (x, y);
176
			Assert.AreEqual (x, splitContainer.Location.X, "X axis");
177
			Assert.AreEqual (y, splitContainer.Location.Y, "Y axis");
178
			
179
			try {
154
			try {
180
				splitContainer.Dock = DockStyle.Bottom;
155
				double x = 10, y = 10;
181
				transformProvider.Move (x, y);
156
				transformProvider.Move (x, y);
182
				Assert.Fail ("InvalidOperationException not thrown");
157
				Assert.Fail ("InvalidOperationException not thrown");
183
			} catch (InvalidOperationException) { }
158
			} catch (InvalidOperationException) { }
184
			
185
			try {
186
				splitContainer.Dock = DockStyle.Top;
187
				transformProvider.Move (x, y);
188
				Assert.Fail ("InvalidOperationException not thrown");
189
			} catch (InvalidOperationException) { }
190
			
191
			try {
192
				splitContainer.Dock = DockStyle.Left;
193
				transformProvider.Move (x, y);
194
				Assert.Fail ("InvalidOperationException not thrown");
195
			} catch (InvalidOperationException) { }
196
			
197
			try {
198
				splitContainer.Dock = DockStyle.Right;
199
				transformProvider.Move (x, y);
200
				Assert.Fail ("InvalidOperationException not thrown");
201
			} catch (InvalidOperationException) { }
202
			
203
			try {
204
				splitContainer.Dock = DockStyle.Fill;
205
				transformProvider.Move (x, y);
206
				Assert.Fail ("InvalidOperationException not thrown");
207
			} catch (InvalidOperationException) { }
208
		}
159
		}
209
		
160
		
210
		[Test]
161
		[Test]
211
		public void ITransformProviderResizeTest ()
162
		public void SplitterPanelITransformProviderResizeTest ()
212
		{
163
		{
213
			SplitContainer splitContainer = new SplitContainer ();
164
			SplitContainer splitContainer = new SplitContainer ();
214
			IRawElementProviderSimple provider = 
165
			IRawElementProviderFragmentRoot rootProvider = 
215
				ProviderFactory.GetProvider (splitContainer);
166
				(IRawElementProviderFragmentRoot) GetProviderFromControl (splitContainer);
167
			IRawElementProviderFragment childProvider =
168
				rootProvider.Navigate (NavigateDirection.FirstChild);
216
			
169
			
217
			ITransformProvider transformProvider = (ITransformProvider)
170
			ITransformProvider transformProvider = (ITransformProvider)
218
				provider.GetPatternProvider (TransformPatternIdentifiers.Pattern.Id);
171
				childProvider.GetPatternProvider (TransformPatternIdentifiers.Pattern.Id);
219
			Assert.IsNotNull (transformProvider,
172
			Assert.IsNotNull (transformProvider,
220
			                  "Not returning TransformPatternIdentifiers.");
173
			                  "Not returning TransformPatternIdentifiers.");
174
175
			try {
176
				double width1 = 50, heitht1 = 50;
177
				splitContainer.Panel1Collapsed = true;
178
				splitContainer.Panel2Collapsed = false;
179
				transformProvider.Resize (width1, heitht1);
180
				Assert.Fail ("InvalidOperationException not thrown");
181
			} catch (InvalidOperationException) { }
221
			
182
			
222
			double width = 50, heitht = 50;
223
			transformProvider.Resize (width, heitht);
224
			Assert.AreEqual (width, splitContainer.Size.Width, "Width");
225
			Assert.AreEqual (heitht, splitContainer.Size.Height, "Height");
226
			
227
			splitContainer.Dock = DockStyle.Bottom;
228
			transformProvider.Resize (width, heitht);
229
			Assert.AreEqual (width, splitContainer.Size.Width, "Width");
230
			Assert.AreEqual (heitht, splitContainer.Size.Height, "Height");
231
			
232
			splitContainer.Dock = DockStyle.Top;
233
			transformProvider.Resize (width, heitht);
234
			Assert.AreEqual (width, splitContainer.Size.Width, "Width");
235
			Assert.AreEqual (heitht, splitContainer.Size.Height, "Height");
236
			
237
			splitContainer.Dock = DockStyle.Left;
238
			transformProvider.Resize (width, heitht);
239
			Assert.AreEqual (width, splitContainer.Size.Width, "Width");
240
			Assert.AreEqual (heitht, splitContainer.Size.Height, "Height");
241
			
242
			splitContainer.Dock = DockStyle.Right;
243
			transformProvider.Resize (width, heitht);
244
			Assert.AreEqual (width, splitContainer.Size.Width, "Width");
245
			Assert.AreEqual (heitht, splitContainer.Size.Height, "Height");
246
			
247
			try {
183
			try {
248
				splitContainer.Dock = DockStyle.Fill;
184
				double width2 = 50, heitht2 = 50;
249
				transformProvider.Resize (width, heitht);
185
				splitContainer.Panel1Collapsed = false;
186
				splitContainer.Panel2Collapsed = true;
187
				transformProvider.Resize (width2, heitht2);
250
				Assert.Fail ("InvalidOperationException not thrown");
188
				Assert.Fail ("InvalidOperationException not thrown");
251
			} catch (InvalidOperationException) { }
189
			} catch (InvalidOperationException) { }
252
		}
190
		}
253
		
191
		
254
		[Test]
192
		[Test]
255
		public void ITransformProviderRotateTest ()
193
		public void SplitterPanelITransformProviderRotateTest ()
256
		{
194
		{
257
			SplitContainer splitContainer = new SplitContainer ();
195
			SplitContainer splitContainer = new SplitContainer ();
258
			IRawElementProviderSimple provider = 
196
			IRawElementProviderFragmentRoot rootProvider = 
259
				ProviderFactory.GetProvider (splitContainer);
197
				(IRawElementProviderFragmentRoot) GetProviderFromControl (splitContainer);
198
			IRawElementProviderFragment childProvider =
199
				rootProvider.Navigate (NavigateDirection.FirstChild);
260
			
200
			
261
			ITransformProvider transformProvider = (ITransformProvider)
201
			ITransformProvider transformProvider = (ITransformProvider)
262
				provider.GetPatternProvider (TransformPatternIdentifiers.Pattern.Id);
202
				childProvider.GetPatternProvider (TransformPatternIdentifiers.Pattern.Id);
263
			Assert.IsNotNull (transformProvider,
203
			Assert.IsNotNull (transformProvider,
264
			                  "Not returning TransformPatternIdentifiers.");
204
			                  "Not returning TransformPatternIdentifiers.");
265
			
205
			

Return to bug 447851