public void VerifyThatTreeIsCorrectlyBuilt() { var possibleFiniteStateList = new PossibleFiniteStateList(Guid.NewGuid(), this.cache, this.uri); this.iteration.PossibleFiniteStateList.Add(possibleFiniteStateList); var possibleFiniteState = new PossibleFiniteState(Guid.NewGuid(), this.cache, this.uri); possibleFiniteStateList.PossibleState.Add(possibleFiniteState); var actualFiniteStateList = new ActualFiniteStateList(Guid.NewGuid(), this.cache, this.uri); actualFiniteStateList.PossibleFiniteStateList.Add(possibleFiniteStateList); this.iteration.ActualFiniteStateList.Add(actualFiniteStateList); var row = new ActualFiniteStateListRowViewModel(actualFiniteStateList, this.session.Object, null); Assert.IsEmpty(row.ContainedRows); var state = new ActualFiniteState(Guid.NewGuid(), this.cache, this.uri); state.PossibleState.Add(possibleFiniteState); actualFiniteStateList.ActualState.Add(state); this.rev.SetValue(actualFiniteStateList, 2); CDPMessageBus.Current.SendObjectChangeEvent(actualFiniteStateList, EventKind.Updated); var staterow = (ActualFiniteStateRowViewModel)row.ContainedRows.SingleOrDefault(); Assert.IsNotNull(staterow); }
public void VerifyThatTreeIsCorrectlyUpdated() { var possibleStateList = new PossibleFiniteStateList(Guid.NewGuid(), this.cache, this.uri); var possibleState1 = new PossibleFiniteState(Guid.NewGuid(), this.cache, this.uri) { Name = "1" }; var possibleState2 = new PossibleFiniteState(Guid.NewGuid(), this.cache, this.uri) { Name = "2" }; var possibleState3 = new PossibleFiniteState(Guid.NewGuid(), this.cache, this.uri) { Name = "3" }; possibleStateList.PossibleState.Add(possibleState1); possibleStateList.PossibleState.Add(possibleState2); possibleStateList.PossibleState.Add(possibleState3); this.iteration.PossibleFiniteStateList.Add(possibleStateList); var actualStateList = new ActualFiniteStateList(Guid.NewGuid(), this.cache, this.uri); var actualState1 = new ActualFiniteState(Guid.NewGuid(), this.cache, this.uri) { PossibleState = new List <PossibleFiniteState> { possibleState1 } }; var actualState2 = new ActualFiniteState(Guid.NewGuid(), this.cache, this.uri) { PossibleState = new List <PossibleFiniteState> { possibleState2 } }; var actualState3 = new ActualFiniteState(Guid.NewGuid(), this.cache, this.uri) { PossibleState = new List <PossibleFiniteState> { possibleState3 } }; actualStateList.ActualState.Add(actualState1); actualStateList.ActualState.Add(actualState2); actualStateList.ActualState.Add(actualState3); actualStateList.PossibleFiniteStateList.Add(possibleStateList); this.iteration.ActualFiniteStateList.Add(actualStateList); var actualFiniteStateListRow = new ActualFiniteStateListRowViewModel(actualStateList, this.session.Object, null); Assert.AreEqual(3, actualFiniteStateListRow.ContainedRows.Count); Assert.AreEqual(possibleState1.Name, ((ActualFiniteStateRowViewModel)actualFiniteStateListRow.ContainedRows[0]).Name); Assert.AreEqual(possibleState2.Name, ((ActualFiniteStateRowViewModel)actualFiniteStateListRow.ContainedRows[1]).Name); Assert.AreEqual(possibleState3.Name, ((ActualFiniteStateRowViewModel)actualFiniteStateListRow.ContainedRows[2]).Name); var possibleState4 = new PossibleFiniteState(Guid.NewGuid(), this.cache, this.uri) { Name = "4" }; var actualState4 = new ActualFiniteState(Guid.NewGuid(), this.cache, this.uri) { PossibleState = new List <PossibleFiniteState> { possibleState4 } }; possibleStateList.PossibleState.Add(possibleState4); possibleStateList.PossibleState.Remove(possibleStateList.PossibleState[1]); actualStateList.ActualState.Add(actualState4); actualStateList.ActualState.Remove(actualStateList.ActualState[1]); possibleStateList.RevisionNumber = 1; CDPMessageBus.Current.SendObjectChangeEvent(possibleStateList, EventKind.Updated); Assert.AreEqual(3, actualFiniteStateListRow.ContainedRows.Count); Assert.AreEqual(possibleState1.Name, ((ActualFiniteStateRowViewModel)actualFiniteStateListRow.ContainedRows[0]).Name); Assert.AreEqual(possibleState3.Name, ((ActualFiniteStateRowViewModel)actualFiniteStateListRow.ContainedRows[1]).Name); Assert.AreEqual(possibleState4.Name, ((ActualFiniteStateRowViewModel)actualFiniteStateListRow.ContainedRows[2]).Name); }