public void BehaviorTest() { #region Init var behavior = new GridColumnConditionalWidthsBehavior(); var columnWidth1 = new GridLength(1, GridUnitType.Star); var columnWidth2 = new GridLength(200d); var columnWidth3 = GridLength.Auto; var columnNewWidth1 = new GridLength(1, GridUnitType.Star); var columnNewWidth2 = new GridLength(1, GridUnitType.Star); var columnNewWidth3 = new GridLength(100d); var conditionalWidth = new GridLength(2, GridUnitType.Star); var column1 = new ColumnDefinition() { Width = columnWidth1}; var column2 = new ColumnDefinition() { Width = columnWidth2 }; var column3 = new ColumnDefinition() { Width = columnWidth3 }; var grid = new Grid {Width = 1000d}; grid.ColumnDefinitions.Add(column1); grid.ColumnDefinitions.Add(column2); grid.ColumnDefinitions.Add(column3); behavior.Column = 2; behavior.ConditionalWidth = conditionalWidth; behavior.Attach(grid); #endregion Init behavior.Condition = true; //test ConditionalWidth Assert.AreEqual(column2.Width.Value, 200d); // grid layout changes column1.Width = columnNewWidth1; column2.Width = columnNewWidth2; column3.Width = columnNewWidth3; // test restore behavior.Condition = false; Assert.AreEqual(column1.Width, columnWidth1); Assert.AreEqual(column2.Width, columnWidth2); Assert.AreEqual(column3.Width, columnWidth3); // test saved behavior.Condition = true; Assert.AreEqual(column1.Width, columnNewWidth1); Assert.AreEqual(column2.Width, columnNewWidth2); Assert.AreEqual(column3.Width, columnNewWidth3); }
public void PublicPropertiesGetSetTest() { var behavior = new GridColumnConditionalWidthsBehavior(); const int column = 1; behavior.Column = column; Assert.AreEqual(behavior.Column, column); var condition = true; behavior.Condition = condition; Assert.AreEqual(behavior.Condition, condition); condition = false; behavior.Condition = condition; Assert.AreEqual(behavior.Condition, condition); var conditionalWidth = new GridLength(1.23d, GridUnitType.Star); behavior.ConditionalWidth = conditionalWidth; Assert.AreEqual(behavior.ConditionalWidth, conditionalWidth); }