public void Attach_NoStateNamesSet_DoesNothing() { Grid stateGrid = VisualStateHelper.CreateObjectWithStates <Grid>(); DataStateBehavior dataStateBehavior = CreateEmptyDataStateBehavior(); AttachBehavior(dataStateBehavior, stateGrid); // Attaching an empty DataStateBehavior should not cause any problems. }
private DataStateBehavior CreateDataStateBehaviorInFalseState() { DataStateBehavior dataStateBehavior = CreateDefaultDataStateBehavior(); dataStateBehavior.Binding = CreateObject(); dataStateBehavior.Value = CreateObject(); return(dataStateBehavior); }
private DataStateBehavior CreateDataStateBehaviorInTrueState() { DataStateBehavior dataStateBehavior = CreateDefaultDataStateBehavior(); dataStateBehavior.Binding = ConditionMatchValue; dataStateBehavior.Value = ConditionMatchValue; return(dataStateBehavior); }
public void TrueStateChangesToInvalidValue_ThrowsArgumentException() { Grid stateGrid = VisualStateHelper.CreateObjectWithStates <Grid>(); DataStateBehavior dataStateBehavior = CreateEmptyDataStateBehavior(); AttachBehavior(dataStateBehavior, stateGrid); dataStateBehavior.TrueState = "TrueState"; dataStateBehavior.TrueState = "NonExistantState"; }
private DataStateBehavior CreateDefaultDataStateBehavior() { DataStateBehavior dataStateBehavior = new DataStateBehavior() { TrueState = VisualStateHelper.DefaultTrueStateName, FalseState = VisualStateHelper.DefaultFalseStateName, }; return(dataStateBehavior); }
public void BindingChangesToNotMatchValue_TransitionsToFalseState() { Grid stateGrid = VisualStateHelper.CreateObjectWithStates <Grid>(); DataStateBehavior dataStateBehavior = CreateDataStateBehaviorInTrueState(); VisualStateManagerStub vsmStub = VisualStateHelper.AttachCustomVSM(stateGrid); AttachBehavior(dataStateBehavior, stateGrid); dataStateBehavior.Binding = CreateObject(); Assert.AreEqual(vsmStub.LastStateName, VisualStateHelper.DefaultFalseStateName, "Binding change to no longer match Value should have caused a transition to the FalseState"); }
public void ValueChangesToMatchBinding_TransitionsToTrueState() { Grid stateGrid = VisualStateHelper.CreateObjectWithStates <Grid>(); DataStateBehavior dataStateBehavior = CreateDataStateBehaviorInFalseState(); VisualStateManagerStub vsmStub = VisualStateHelper.AttachCustomVSM(stateGrid); AttachBehavior(dataStateBehavior, stateGrid); dataStateBehavior.Value = dataStateBehavior.Binding; Assert.AreEqual(vsmStub.LastStateName, VisualStateHelper.DefaultTrueStateName, "Value change to match Binding should have caused a transition to the TrueState"); }
public void FalseStateChanges_TransitionsToNewFalseState() { Grid stateGrid = VisualStateHelper.CreateObjectWithStates <Grid>(); DataStateBehavior dataStateBehavior = CreateDataStateBehaviorInFalseState(); VisualStateManagerStub vsmStub = VisualStateHelper.AttachCustomVSM(stateGrid); AttachBehavior(dataStateBehavior, stateGrid); dataStateBehavior.FalseState = VisualStateHelper.ArbitraryThirdStateName; Assert.AreEqual(vsmStub.LastStateName, VisualStateHelper.ArbitraryThirdStateName, "Change in FalseState should have caused a transition to the new state, as Binding does not match Value."); }
public void Attach_FalseStateDoesNotExist_ThrowsArgumentException() { Grid stateGrid = VisualStateHelper.CreateObjectWithStates <Grid>(); DataStateBehavior dataStateBehavior = CreateEmptyDataStateBehavior(); dataStateBehavior.FalseState = "NonExistantState"; using (new StubWindow(stateGrid)) { AttachBehavior(dataStateBehavior, stateGrid); } }