public void can_resolve_absolute_and_relative_positions() { sut = Builder.newPlaylist(); sut.append(ObjectMother.RandomAirplay()); sut.append(new Section()); sut.append(ObjectMother.RandomAirplay()); Assert.AreEqual(1, sut.getAirplayAt(1).RelativePosition); Assert.AreEqual(1, sut.getAirplayAt(2).RelativePosition); Assert.AreEqual(1, sut.getAirplayAt(1).Section.Position); Assert.AreEqual(2, sut.getAirplayAt(2).Section.Position); }
public void can_remove_Airplay() { sut = ObjectMother.RandomPlaylist(2); sut.getAirplayAt(1).Track.Title = "t1"; sut.getAirplayAt(2).Track.Title = "t2"; using(var s = sf.OpenSession()) using(var t = s.BeginTransaction()) { sut.Airplays.Select(x => x.Track).ForEach(s.SaveOrUpdate); s.Save(sut); t.Commit(); } using(var s = sf.OpenSession()) using(var t = s.BeginTransaction()) { var p = s.Load<Playlist>(sut.Id); p.removeAirplay(1); t.Commit(); } using(var s = sf.OpenSession()) { var playlists = s.Query<Playlist>().ToList(); Assert.AreEqual(1, playlists.Single().Airplays.Count()); Assert.AreEqual("t2", playlists.Single().getAirplayAt(1).Track.Title); } }