public void LinkLeftElementWrongPositionsReturnsFalse() { var elementA = GetElementA(); var elementB = GetElementB(); var elementC = GetElementC(); var model = new SequenceModel(new MockEventAggregator()); model.Tracks.Add(new Track { TrackType = TrackType.Visual }); model.Tracks[0].Shots.Add(elementA); model.Tracks[0].Shots.Add(elementB); model.Tracks[0].Shots.Add(elementC); var result = model.LinkPreviousElement(elementC, elementA); var linkA = model.GetElementLink(elementA); var linkB = model.GetElementLink(elementB); Assert.IsFalse(result); Assert.AreEqual(Guid.Empty, linkA.PreviousElementId); Assert.AreEqual(Guid.Empty, linkA.NextElementId); Assert.AreEqual(Guid.Empty, linkB.PreviousElementId); Assert.AreEqual(Guid.Empty, linkB.NextElementId); }
public void LinkLeftElement() { var elementA = GetElementA(); var elementB = GetElementB(); var model = new SequenceModel(new MockEventAggregator()); model.Tracks.Add(new Track { TrackType = TrackType.Visual }); model.Tracks[0].Shots.Add(elementA); model.Tracks[0].Shots.Add(elementB); var result = model.LinkPreviousElement(elementB, elementA); var linkA = model.GetElementLink(elementA); var linkB = model.GetElementLink(elementB); Assert.IsTrue(result); Assert.IsNotNull(linkA); Assert.IsNotNull(linkB); Assert.AreEqual(elementB.Id, linkA.NextElementId); Assert.AreEqual(elementA.Id, linkB.PreviousElementId); Assert.AreEqual(Guid.Empty, linkA.PreviousElementId); Assert.AreEqual(Guid.Empty, linkB.NextElementId); }
public void UnlinkMiddleElementRemovesAllLinks() { var elementA = GetElementA(); var elementB = GetElementB(); var elementC = GetElementC(); var model = new SequenceModel(new MockEventAggregator()); model.Tracks.Add(new Track { TrackType = TrackType.Visual }); model.Tracks[0].Shots.Add(elementA); model.Tracks[0].Shots.Add(elementB); model.Tracks[0].Shots.Add(elementC); // link var result = model.LinkNextElement(elementA, elementB); Assert.IsTrue(result); result = model.LinkNextElement(elementB, elementC); Assert.IsTrue(result); // unlink model.UnlinkElement(elementB); var linkA = model.GetElementLink(elementA); Assert.AreEqual(Guid.Empty, linkA.PreviousElementId); Assert.AreEqual(Guid.Empty, linkA.NextElementId); var linkB = model.GetElementLink(elementB); Assert.AreEqual(Guid.Empty, linkB.PreviousElementId); Assert.AreEqual(Guid.Empty, linkB.NextElementId); var linkC = model.GetElementLink(elementC); Assert.AreEqual(Guid.Empty, linkC.PreviousElementId); Assert.AreEqual(Guid.Empty, linkC.NextElementId); }