public void VisualStatesFromStyleXaml(bool useCompiledXaml) { var layout = new VisualStateManagerTests(useCompiledXaml); var entry0 = layout.Entry0; // Verify that Entry0 has no VisualStateGroups Assert.False(entry0.HasVisualStateGroups()); Assert.That(Color.Default, Is.EqualTo(entry0.TextColor)); Assert.That(Color.Default, Is.EqualTo(entry0.PlaceholderColor)); var entry1 = layout.Entry1; // Verify that the correct groups are set up for Entry1 var groups = VisualStateManager.GetVisualStateGroups(entry1); Assert.AreEqual(3, groups.Count); Assert.That(groups[0].Name, Is.EqualTo("CommonStates")); Assert.Contains("Normal", groups[0].States.Select(state => state.Name).ToList()); Assert.Contains("Disabled", groups[0].States.Select(state => state.Name).ToList()); Assert.AreEqual(Color.Default, entry1.TextColor); Assert.AreEqual(Color.Default, entry1.PlaceholderColor); // Change the state of Entry1 Assert.True(VisualStateManager.GoToState(entry1, "Disabled")); // And verify that the changes took Assert.AreEqual(Color.Gray, entry1.TextColor); Assert.AreEqual(Color.LightGray, entry1.PlaceholderColor); // Verify that Entry0 was unaffected Assert.AreEqual(Color.Default, entry0.TextColor); Assert.AreEqual(Color.Default, entry0.PlaceholderColor); }
public void VisualElementGoesToCorrectStateWhenAvailable(bool useCompiledXaml) { var layout = new VisualStateManagerTests(useCompiledXaml); var button = layout.Button1; Assert.That(button.BackgroundColor, Is.EqualTo(Color.Lime)); }
public void EmptyGroupDirectlyOnElement(bool useCompiledXaml) { var layout = new VisualStateManagerTests(useCompiledXaml); var entry3 = layout.Entry3; var groups = VisualStateManager.GetVisualStateGroups(entry3); Assert.NotNull(groups); Assert.True(groups.Count == 1); }
public void VisualStateGroupsDirectlyOnElement(bool useCompiledXaml) { var layout = new VisualStateManagerTests(useCompiledXaml); var entry = layout.Entry2; var groups = VisualStateManager.GetVisualStateGroups(entry); Assert.NotNull(groups); Assert.That(groups.Count, Is.EqualTo(2)); }
public void TargetedVisualElementGoesToCorrectState(bool useCompiledXaml) { var layout = new VisualStateManagerTests(useCompiledXaml); var label1 = layout.TargetLabel1; VisualStateManager.GoToState(layout, "Red"); Assert.That(label1.Text, Is.EqualTo("Red")); VisualStateManager.GoToState(layout, "Blue"); Assert.That(label1.Text, Is.EqualTo("Blue")); }
public void SettersAreAddedToCorrectState(bool useCompiledXaml) { var layout = new VisualStateManagerTests(useCompiledXaml); var entry = layout.Entry4; var groups = VisualStateManager.GetVisualStateGroups(entry); Assert.That(groups.Count, Is.EqualTo(1)); var common = groups[0]; var normal = common.States.Single(state => state.Name == "Normal"); var disabled = common.States.Single(state => state.Name == "Disabled"); Assert.That(normal.Setters.Count, Is.EqualTo(0)); Assert.That(disabled.Setters.Count, Is.EqualTo(2)); }
public void VisualStateGroupsFromStylesAreDistinct(bool useCompiledXaml) { var layout = new VisualStateManagerTests(useCompiledXaml); var label1 = layout.ErrorLabel1; var label2 = layout.ErrorLabel2; var groups1 = VisualStateManager.GetVisualStateGroups(label1); var groups2 = VisualStateManager.GetVisualStateGroups(label2); Assert.AreNotSame(groups1, groups2); var currentState1 = groups1[0].CurrentState; var currentState2 = groups2[0].CurrentState; Assert.That(currentState1.Name, Is.EqualTo("Normal")); Assert.That(currentState2.Name, Is.EqualTo("Normal")); VisualStateManager.GoToState(label1, "Invalid"); Assert.That(groups1[0].CurrentState.Name, Is.EqualTo("Invalid")); Assert.That(groups2[0].CurrentState.Name, Is.EqualTo("Normal")); }
public void UnapplyVisualState(bool useCompiledXaml) { var layout = new VisualStateManagerTests(useCompiledXaml); var entry1 = layout.Entry1; Assert.AreEqual(Color.Default, entry1.TextColor); Assert.AreEqual(Color.Default, entry1.PlaceholderColor); // Change the state of Entry1 var groups = VisualStateManager.GetVisualStateGroups(entry1); Assert.True(VisualStateManager.GoToState(entry1, "Disabled")); // And verify that the changes took Assert.AreEqual(Color.Gray, entry1.TextColor); Assert.AreEqual(Color.LightGray, entry1.PlaceholderColor); // Now change it to Normal Assert.True(VisualStateManager.GoToState(entry1, "Normal")); // And verify that the changes reverted Assert.AreEqual(Color.Default, entry1.TextColor); Assert.AreEqual(Color.Default, entry1.PlaceholderColor); }