public void GridRowNumberConverter_Convert_WhenValidRow_ReturnsRowIndex() { var converter = new GridRowNumberConverter(); var dataGrid = new DataGrid { AutoGenerateColumns = true }; var itemsSource = new List <string> { "Item 1 ", "Item 2" }; dataGrid.ItemsSource = itemsSource; dataGrid.SelectedItem = itemsSource[0]; IItemContainerGenerator generator = dataGrid.ItemContainerGenerator; var position = generator.GeneratorPositionFromIndex(0); using (generator.StartAt(position, GeneratorDirection.Forward, true)) { foreach (object o in dataGrid.Items) { var dp = generator.GenerateNext(); generator.PrepareItemContainer(dp); } } var row = (DataGridRow)dataGrid.ItemContainerGenerator.ContainerFromItem(dataGrid.SelectedItem); //------------Execute Test--------------------------- var result = converter.Convert(row, typeof(string), null, CultureInfo.CurrentCulture); //------------Assert Results------------------------- Assert.AreEqual(1, result); }
public void GridRowNumberConverter_Convert_WhenInputNotDataGridRow_ReturnsMinus1() { //------------Setup for test-------------------------- var converter = new GridRowNumberConverter(); var dataGrid = new DataGrid { AutoGenerateColumns = true }; var itemsSource = new List <string> { "Item 1 ", "Item 2" }; dataGrid.ItemsSource = itemsSource; dataGrid.SelectedItem = itemsSource[0]; var row = new Object(); //------------Execute Test--------------------------- var result = converter.Convert(row, typeof(string), null, CultureInfo.CurrentCulture); //------------Assert Results------------------------- Assert.AreEqual(-1, result); }