public void ColumnsReadOnly() { var ints = new[] { new[] { 1, 2 }, new[] { 3, 4 }, new[] { 5, 6 } }; var view = new Lists2DTransposedView(ints); Assert.AreEqual(false, view[0].GetProperties()[0].IsReadOnly); Assert.AreEqual(false, view[0].GetProperties()[1].IsReadOnly); Assert.AreEqual(false, view[0].GetProperties()[2].IsReadOnly); Assert.AreEqual(false, view[1].GetProperties()[0].IsReadOnly); Assert.AreEqual(false, view[1].GetProperties()[1].IsReadOnly); Assert.AreEqual(false, view[1].GetProperties()[2].IsReadOnly); ints = new[] { new[] { 1 }, new[] { 3, 4 }, new[] { 5, 6 } }; view = new Lists2DTransposedView(ints); Assert.AreEqual(true, view[0].GetProperties()[0].IsReadOnly); Assert.AreEqual(false, view[0].GetProperties()[1].IsReadOnly); Assert.AreEqual(false, view[0].GetProperties()[2].IsReadOnly); Assert.AreEqual(true, view[1].GetProperties()[0].IsReadOnly); Assert.AreEqual(false, view[1].GetProperties()[1].IsReadOnly); Assert.AreEqual(false, view[1].GetProperties()[2].IsReadOnly); ints = new[] { new[] { 1 }, new[] { 3 }, new[] { 5, 6 } }; view = new Lists2DTransposedView(ints); Assert.AreEqual(true, view[0].GetProperties()[0].IsReadOnly); Assert.AreEqual(true, view[0].GetProperties()[1].IsReadOnly); Assert.AreEqual(false, view[0].GetProperties()[2].IsReadOnly); Assert.AreEqual(true, view[1].GetProperties()[0].IsReadOnly); Assert.AreEqual(true, view[1].GetProperties()[1].IsReadOnly); Assert.AreEqual(false, view[1].GetProperties()[2].IsReadOnly); }
public void CreateFromObservableCollections() { var ints = new ObservableCollection <ObservableCollection <int> > { new ObservableCollection <int>(new[] { 1, 2 }), new ObservableCollection <int>(new[] { 3, 4 }), new ObservableCollection <int>(new[] { 5, 6 }), }; using (var view = new Lists2DTransposedView(ints)) { Assert.AreEqual(2, view.Count); Assert.AreEqual(0, view[0].Index); Assert.AreEqual(3, view[0].Count); Assert.AreEqual(1, view[0].GetProperties()[0].GetValue(view[0])); Assert.AreEqual(3, view[0].GetProperties()[1].GetValue(view[0])); Assert.AreEqual(5, view[0].GetProperties()[2].GetValue(view[0])); Assert.AreEqual(1, view[1].Index); Assert.AreEqual(3, view[1].Count); Assert.AreEqual(2, view[1].GetProperties()[0].GetValue(view[1])); Assert.AreEqual(4, view[1].GetProperties()[1].GetValue(view[1])); Assert.AreEqual(6, view[1].GetProperties()[2].GetValue(view[1])); } }
public void EditTransposed(int r, int c, int value) { var ints = new[] { new[] { 1, 2 }, new[] { 3, 4 }, new[] { 5, 6 } }; var view = new Lists2DTransposedView(ints); var row = view[r]; var property = row.GetProperties()[c]; property.SetValue(row, value); Assert.AreEqual(value, ints[c][r]); Assert.AreEqual(value, property.GetValue(row)); }
public void SignalsWhenColumnIsAdded() { var ints = new ObservableCollection<ObservableCollection<int>> { new ObservableCollection<int>(new[] { 1, 2 }), new ObservableCollection<int>(new[] { 3, 4 }) }; var view = new Lists2DTransposedView(ints); int count = 0; view.ColumnsChanged += (_, __) => count++; ints.Add(new ObservableCollection<int>(new[] { 5, 6 })); Assert.AreEqual(1, count); }
public static void NoChangeWhenAlreadyReadOnly() { var ints = new ObservableCollection <ObservableCollection <int> > { new ObservableCollection <int>(new[] { 1, 2 }), new ObservableCollection <int>(new[] { 3, 4, 5 }), }; using var view = new Lists2DTransposedView(ints); var count = 0; view.ColumnsChanged += (_, __) => count++; ints[0].RemoveAt(0); Assert.AreEqual(0, count); }
public static void SignalsWhenColumnIsAdded() { var ints = new ObservableCollection <ObservableCollection <int> > { new ObservableCollection <int>(new[] { 1, 2 }), new ObservableCollection <int>(new[] { 3, 4 }), }; using var view = new Lists2DTransposedView(ints); var count = 0; view.ColumnsChanged += (_, __) => count++; ints.Add(new ObservableCollection <int>(new[] { 5, 6 })); Assert.AreEqual(1, count); }
public void SignalsWhenColumnBecomesReadOnly2() { var ints = new ObservableCollection<ObservableCollection<int>> { new ObservableCollection<int>(new[] { 2, 3 }), new ObservableCollection<int>(new[] { 3, 4 }), new ObservableCollection<int>(new[] { 5, 6 }) }; var view = new Lists2DTransposedView(ints); int count = 0; view.ColumnsChanged += (_, __) => count++; ints[0].Add(1); Assert.AreEqual(1, count); }
public void SignalsWhenColumnIsRemoved() { var ints = new ObservableCollection <ObservableCollection <int> > { new ObservableCollection <int>(new[] { 2 }), new ObservableCollection <int>(new[] { 3 }), new ObservableCollection <int>(new[] { 5, 6 }) }; var view = new Lists2DTransposedView(ints); int count = 0; view.ColumnsChanged += (_, __) => count++; ints.RemoveAt(0); Assert.AreEqual(1, count); }
public void SignalsWhenColumnBecomesEditable() { var ints = new ObservableCollection <ObservableCollection <int> > { new ObservableCollection <int>(new[] { 2 }), new ObservableCollection <int>(new[] { 3, 4 }), new ObservableCollection <int>(new[] { 5, 6 }) }; var view = new Lists2DTransposedView(ints); int count = 0; view.ColumnsChanged += (_, __) => count++; ints[0].Add(9); Assert.AreEqual(1, count); }
public static void SignalsWhenColumnsBecomesEditable() { var ints = new ObservableCollection <ObservableCollection <int> > { new ObservableCollection <int>(new[] { 2 }), new ObservableCollection <int>(new[] { 3 }), new ObservableCollection <int>(new[] { 5, 6 }), }; using var view = new Lists2DTransposedView(ints); var count = 0; view.ColumnsChanged += (_, __) => count++; ints.RemoveAt(2); Assert.AreEqual(1, count); }
public static void SignalsWhenColumnBecomesReadOnly2() { var ints = new ObservableCollection <ObservableCollection <int> > { new ObservableCollection <int>(new[] { 2, 3 }), new ObservableCollection <int>(new[] { 3, 4 }), new ObservableCollection <int>(new[] { 5, 6 }), }; using (var view = new Lists2DTransposedView(ints)) { var count = 0; view.ColumnsChanged += (_, __) => count++; ints[0].Add(1); Assert.AreEqual(1, count); } }
public void CreateFromArrays() { var ints = new[] { new[] { 1, 2 }, new[] { 3, 4 }, new[] { 5, 6 } }; var view = new Lists2DTransposedView(ints); Assert.AreEqual(2, view.Count); Assert.AreEqual(0, view[0].Index); Assert.AreEqual(3, view[0].Count); Assert.AreEqual(1, view[0].GetProperties()[0].GetValue(view[0])); Assert.AreEqual(3, view[0].GetProperties()[1].GetValue(view[0])); Assert.AreEqual(5, view[0].GetProperties()[2].GetValue(view[0])); Assert.AreEqual(1, view[1].Index); Assert.AreEqual(3, view[1].Count); Assert.AreEqual(2, view[1].GetProperties()[0].GetValue(view[1])); Assert.AreEqual(4, view[1].GetProperties()[1].GetValue(view[1])); Assert.AreEqual(6, view[1].GetProperties()[2].GetValue(view[1])); }
public static void CreateFromArrays() { var ints = new[] { new[] { 1, 2 }, new[] { 3, 4 }, new[] { 5, 6 } }; using var view = new Lists2DTransposedView(ints); Assert.AreEqual(2, view.Count); Assert.AreEqual(0, view[0].Index); Assert.AreEqual(3, view[0].Count); Assert.AreEqual(1, view[0].GetProperties()[0].GetValue(view[0])); Assert.AreEqual(3, view[0].GetProperties()[1].GetValue(view[0])); Assert.AreEqual(5, view[0].GetProperties()[2].GetValue(view[0])); Assert.AreEqual(1, view[1].Index); Assert.AreEqual(3, view[1].Count); Assert.AreEqual(2, view[1].GetProperties()[0].GetValue(view[1])); Assert.AreEqual(4, view[1].GetProperties()[1].GetValue(view[1])); Assert.AreEqual(6, view[1].GetProperties()[2].GetValue(view[1])); }
public static void NoChangeWhenUpdateCell() { var ints = new ObservableCollection <ObservableCollection <int> > { new ObservableCollection <int>(new[] { 1 }), new ObservableCollection <int>(new[] { 3, 4 }), new ObservableCollection <int>(new[] { 5, 6 }), }; using var view = new Lists2DTransposedView(ints); var count = 0; view.ColumnsChanged += (_, __) => count++; ints[0][0]++; Assert.AreEqual(0, count); ints[1][0]++; Assert.AreEqual(0, count); ints[2][1]++; Assert.AreEqual(0, count); }
public void CreateFromObservableCollections() { var ints = new ObservableCollection<ObservableCollection<int>> { new ObservableCollection<int>(new[] { 1, 2 }), new ObservableCollection<int>(new[] { 3, 4 }), new ObservableCollection<int>(new[] { 5, 6 }) }; var view = new Lists2DTransposedView(ints); Assert.AreEqual(2, view.Count); Assert.AreEqual(0, view[0].Index); Assert.AreEqual(3, view[0].Count); Assert.AreEqual(1, view[0].GetProperties()[0].GetValue(view[0])); Assert.AreEqual(3, view[0].GetProperties()[1].GetValue(view[0])); Assert.AreEqual(5, view[0].GetProperties()[2].GetValue(view[0])); Assert.AreEqual(1, view[1].Index); Assert.AreEqual(3, view[1].Count); Assert.AreEqual(2, view[1].GetProperties()[0].GetValue(view[1])); Assert.AreEqual(4, view[1].GetProperties()[1].GetValue(view[1])); Assert.AreEqual(6, view[1].GetProperties()[2].GetValue(view[1])); }
public void SignalsWhenColumnsBecomesEditable() { var ints = new ObservableCollection<ObservableCollection<int>> { new ObservableCollection<int>(new[] { 2 }), new ObservableCollection<int>(new[] { 3 }), new ObservableCollection<int>(new[] { 5, 6 }) }; var view = new Lists2DTransposedView(ints); int count = 0; view.ColumnsChanged += (_, __) => count++; ints.RemoveAt(2); Assert.AreEqual(1, count); }
public void NoChangeWhenUpdateCell() { var ints = new ObservableCollection<ObservableCollection<int>> { new ObservableCollection<int>(new[] { 1 }), new ObservableCollection<int>(new[] { 3, 4 }), new ObservableCollection<int>(new[] { 5, 6 }) }; var view = new Lists2DTransposedView(ints); int count = 0; view.ColumnsChanged += (_, __) => count++; ints[0][0]++; Assert.AreEqual(0, count); ints[1][0]++; Assert.AreEqual(0, count); ints[2][1]++; Assert.AreEqual(0, count); }
public void NoChangeWhenAlreadyReadOnly() { var ints = new ObservableCollection<ObservableCollection<int>> { new ObservableCollection<int>(new[] { 1, 2 }), new ObservableCollection<int>(new[] { 3, 4, 5 }), }; var view = new Lists2DTransposedView(ints); int count = 0; view.ColumnsChanged += (_, __) => count++; ints[0].RemoveAt(0); Assert.AreEqual(0, count); }