public void can_initialise() { Playlist playlist = new Playlist("playlist"); Track track0 = new Track( new Autor("autor"), new Bpm(null), new Code("12345"), new Interpret("interpret"), new Label("label"), new Laenge("04:30"), new Titel("titel__0"), new Verlag("verlag"), new Year(null), new Ending(Ending.Attribute.None) ); track0.addEinsatz(new Einsatz(playlist, track0)); string queryID = "1"; IList<Einsatz> einsaetze = new List<Einsatz>(new Einsatz[] { track0.Einsaetze[0]}); Expect.Once.On(view).GetProperty("QueryId").Will(Return.Value(queryID)); Expect.Once.On(dao).Method("GetById").WithAnyArguments().Will(Return.Value(track0)); Expect.Once.On(view).SetProperty("Entity").To(track0); Expect.Once.On(view).SetProperty("Einsaetze").To(einsaetze); this.presenter.initialise(); }
public void runOnceBeforEveryTest() { track1 = new Track( new Autor("autor"), new Bpm(100), new Code("12345"), new Interpret("interpret"), new Label("label"), new Laenge("04:30"), new Titel("titel"), new Verlag("verlag"), new Year(2000), new Ending(Ending.Attribute.None) ); track2 = new Track( new Autor("autor"), new Bpm(100), new Code("12345"), new Interpret("interpret"), new Label("label"), new Laenge("04:30"), new Titel("titel"), new Verlag("verlag"), new Year(2000), new Ending(Ending.Attribute.None) ); }
public Track addTrack(Track track) { this.tracks.Add(track); IEnumerator<Track> iet = this.tracks.Intersect(new HashedSet<Track>(new Track[1] { track })).GetEnumerator(); while(iet.MoveNext()) return iet.Current; throw new Exception("Something went awfully wrong."); }
public SearchItem_Between_Dto(Relator.Unary unary, Track.Property property, string phrase1, string phrase2) : base(unary, property, phrase1, phrase2) { Check.Require( property == Track.Property.Bpm || property == Track.Property.Year || property == Track.Property.Laenge, String.Format( "Argument must be of type {0}, {1}, {2}. It's of type {3}", Track.Property.Bpm.ToString(), Track.Property.Laenge.ToString(), Track.Property.Year.ToString(), property.ToString())); }
/// <remarks> /// Kann nicht der ganzer scheiss so behandelt werden, das wirklich erst am Ende der Session, quasi explicit, /// DB-Synchronisierung erfolgt? Was mein' ich bloss... /// </remarks> /// @todo Warum Einsatz saven? Nicht testbar public static void insertAt( int position, Track track, Playlist playlist ) { if(playlist.Einsaetze.count < 1 || position < 1 || position > playlist.Einsaetze.count + 1) { Playlist_Service.append( track, playlist ); return; } Einsatz einsatz = new Einsatz(playlist, track, position ); //einsatz = new NHibernateDaoFactory().getEinsatzDao().save(einsatz); playlist.Einsaetze.insert( position - 1, einsatz ); Playlist_Service.updatePositions( playlist ); }
public static ASimpleRelation getSimpleRelation(Relator.Unary unaryProperty, string searchPhrase, Track.Property trackProperty ) { string mappedTrackPropertyPropertyAsString = Track.getChildPropertyAsString(trackProperty); if( trackProperty == Track.Property.Bpm || trackProperty == Track.Property.Year) return new IntSearch( unaryProperty, int.Parse(searchPhrase), trackProperty.ToString(), mappedTrackPropertyPropertyAsString ); else return new StringSearch( unaryProperty, searchPhrase, trackProperty.ToString(), mappedTrackPropertyPropertyAsString ); }
public void cant_load_playlist_newFormat() { object template = BB080627; object isNewTemplate = false; object documentType = WdNewDocumentType.wdNewBlankDocument; object isVisible = false; Microsoft.Office.Interop.Word.ApplicationClass app = new Microsoft.Office.Interop.Word.ApplicationClass(); Microsoft.Office.Interop.Word.Document doc = app.Documents.Add(ref template, ref isNewTemplate, ref documentType, ref isVisible); Playlist playlist = new Playlist("x"); IList<Einsatz> einsaetze = new List<Einsatz>(); for(int i = 3; i <= doc.Tables[1].Rows.Count - 1; i++) { Row row = doc.Tables[1].Rows[i]; Track track = new Track( new Autor(" "), new Bpm(null), new Code(init(brush(row.Cells[4].Range.Text))), new Interpret(init(brush(row.Cells[5].Range.Text))), new Label(init(brush(row.Cells[3].Range.Text))), new Laenge(init(brush(row.Cells[7].Range.Text))), new Titel(init(brush(row.Cells[1].Range.Text))), new Verlag(" "), new Year(null), new Ending(Ending.Attribute.None)); einsaetze.Add(new Einsatz(playlist, track, row.Index - 2)); } /* * One dataset is actually missing. */ Assert.AreNotEqual(doc.Tables[1].Rows.Count - 2, einsaetze.Count); /* * Do throw PostconditionException! */ Check.Ensure(doc.Tables[1].Rows.Count - 2 == einsaetze.Count, String.Format("Playlist unvollstaendig! Lesbare Datensaezte: {0} von {1}.", einsaetze.Count, doc.Tables[1].Rows.Count - 2)); }
/// <summary> /// With explicit sorting. /// </summary> public static IList<Track> getTrackListing(ARelation relation, Track.Property sortExpression, SortDirection sortDirection) { ICriteria criteria = NHibernateSessionManager.Instance.GetSession().CreateCriteria(typeof(Track)); ISet<string> aliases = new HashedSet<string>(); Junction junction = relation.BinaryRelator == Relator.Binary.AND ? new Conjunction() : new Disjunction() as Junction; foreach(ARelation relatum in relation.Relata) TrackSearch_Service.loadJunctions(junction, relatum, aliases, criteria); criteria.Add(junction); if(!aliases.Contains(sortExpression.ToString().ToLower())) criteria.CreateAlias(sortExpression.ToString(), sortExpression.ToString().ToLower()); Order order; if(sortDirection == SortDirection.Ascending) order = Order.Asc(String.Format("{0}.{1}", sortExpression.ToString().ToLower(), Track.getChildPropertyAsString(sortExpression))); else order = Order.Desc(String.Format("{0}.{1}", sortExpression.ToString().ToLower(), Track.getChildPropertyAsString(sortExpression))); criteria.AddOrder(order); return criteria.List<Track>(); }
public void initialise() { Track t = new Track( new Autor("autor"), new Bpm(null), new Code("12345"), new Interpret("interpret"), new Label("label"), new Laenge("04:30"), new Titel("titel"), new Verlag("verlag"), new Year(null), new Ending(Ending.Attribute.None) ); new DomainObjectIdSetter().SetIdOf(t, 1L); IList<Track> tracks = new List<Track>(1); tracks.Add(t); string cmd = @" insert into Track values(1,1,1,1,1,1,1,1,1,1,1); insert into Playlist(Id, Name) values(1,'p'); insert into Einsatz values(1,1,1,1); "; new SQLiteCommand(cmd, this.conn).ExecuteNonQuery(); Playlist p = new Playlist("x"); new DomainObjectIdSetter().SetIdOf(p, 1L); using(mocks.Record()) { Expect.Call<String>(this.view.QueryId).Return("1"); this.view.Tracks = tracks; this.view.Playlist = p; } using(mocks.Playback()) { presenter.initialise(); } }
/* * neues, short Format * * Column Daten in einzeiliger Extra-Tabelle * ab Tabelle 2 Zeile 1 Daten */ private static IList<Einsatz> readShortFormat(Document doc, Playlist playlist) { IList<Einsatz> einsaetze = new List<Einsatz>(doc.Tables[2].Rows.Count); foreach(Row row in doc.Tables[2].Rows) { Track track = new Track( new Autor(" "), new Bpm(null), new Code(" "), new Interpret(init(brush(row.Cells[1].Range.Text))), new Label(init(brush(row.Cells[3].Range.Text))), new Laenge(" "), new Titel(init(brush(row.Cells[2].Range.Text))), new Verlag(" "), new Year(null), new Ending(Ending.Attribute.None)); einsaetze.Add(new Einsatz(playlist, track, row.Index)); } Check.Ensure(doc.Tables[2].Rows.Count == einsaetze.Count, String.Format( "Playlist unvollstaendig! Lesbare Datensaezte: {0} von {1}.", einsaetze.Count, doc.Tables[2].Rows.Count)); return einsaetze; }
public virtual void addTrack(Track track) { if(this.Tracks.add(track)) track.Laenge = this; }
public void load_playlist_newFormat() { string path = BB080627; object template = path; object isNewTemplate = false; object documentType = WdNewDocumentType.wdNewBlankDocument; object isVisible = false; Microsoft.Office.Interop.Word.ApplicationClass app = new Microsoft.Office.Interop.Word.ApplicationClass(); Microsoft.Office.Interop.Word.Document doc = app.Documents.Add(ref template, ref isNewTemplate, ref documentType, ref isVisible); Playlist playlist = new Playlist("whatever"); IList<Einsatz> einsaetze = new List<Einsatz>(); /* * This loop is specific for new Playlist format. */ for(int i = 3; i <= doc.Tables[1].Rows.Count; i++) { Row row = doc.Tables[1].Rows[i]; Track track = new Track( new Autor(" "), new Bpm(null), new Code(init(brush(row.Cells[4].Range.Text))), new Interpret(init(brush(row.Cells[5].Range.Text))), new Label(init(brush(row.Cells[3].Range.Text))), new Laenge(init(brush(row.Cells[7].Range.Text))), new Titel(init(brush(row.Cells[1].Range.Text))), new Verlag(" "), new Year(null), new Ending(Ending.Attribute.None)); einsaetze.Add(new Einsatz(playlist, track, row.Index)); Console.WriteLine("{0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}", track.Autor.Name, track.Bpm.ValueAsString, track.Code.Name, track.Interpret.Name, track.Label.Name, track.Laenge.Dauer, track.Titel.Name, track.Verlag.Name, track.Year.ValueAsString, track.Ending.EndingAsString); } Check.Ensure(doc.Tables[1].Rows.Count - 2 == einsaetze.Count, String.Format("Playlist unvollstaendig eingelesen: {0} statt {1} Datensaezte.", einsaetze.Count, doc.Tables[1].Rows.Count - 2)); Assert.AreEqual(doc.Tables[1].Rows.Count - 2, einsaetze.Count); }
/* * neues, eigenes Gema-Format */ private static IList<Einsatz> readNewFormat(Microsoft.Office.Interop.Word.Document doc, Playlist playlist) { IList<Einsatz> einsaetze = new List<Einsatz>(doc.Tables[1].Rows.Count - 2); for(int i = 3; i <= doc.Tables[1].Rows.Count; i++) { Row row = doc.Tables[1].Rows[i]; Track track = new Track( new Autor(" "), new Bpm(null), new Code(init(brush(row.Cells[4].Range.Text))), new Interpret(init(brush(row.Cells[5].Range.Text))), new Label(init(brush(row.Cells[3].Range.Text))), new Laenge(init(brush(row.Cells[7].Range.Text))), new Titel(init(brush(row.Cells[1].Range.Text))), new Verlag(" "), new Year(null), new Ending(Ending.Attribute.None)); einsaetze.Add(new Einsatz(playlist, track, row.Index - 2)); } Check.Ensure(doc.Tables[1].Rows.Count - 2 == einsaetze.Count, String.Format( "Playlist unvollstaendig! Lesbare Datensaezte: {0} von {1}.", einsaetze.Count, doc.Tables[1].Rows.Count - 2)); return einsaetze; }
private void prepareStateBag(StateBag sb, SortDirection dir, Track.Property exp) { StateBagTask.setSortDirection(dir, sb); StateBagTask.setSortExpression(exp, sb); Assert.AreEqual(dir, (SortDirection)StateBagTask.getSortDirection(stateBag)); Assert.AreEqual(exp, (Track.Property)StateBagTask.getSortExpression(stateBag)); }
public SearchItem_Between_Dto(Track.Property property) : this(Relator.Unary.IS, property, String.Empty, String.Empty) { }
public SearchItem_Like_Dto(Relator.Unary unary, Track.Property property, string searchPhrase) : base(unary, property, searchPhrase) { }
public override void addTrack(Track track) { if(this.Tracks.add(track)) track.Titel = this; }
public static string getChildPropertyAsString( Track.Property trackProperty) { string temp; switch(trackProperty) { case (Track.Property.Bpm): temp = Bpm.Property.Value.ToString(); break; case (Track.Property.Laenge): temp = Laenge.Property.Dauer.ToString(); break; case (Track.Property.Year): temp = Year.Property.Value.ToString(); break; default: temp = ATrackProperty.Property.Name.ToString(); break; } return temp; }
public bool add(Track track) { return this.tracks.Add(track); }
public void runOnceBeforEveryTest() { t = new Track( new Autor("autor"), new Bpm(null), new Code("12345"), new Interpret("interpret"), new Label("label"), new Laenge("04:30"), new Titel("titel"), new Verlag("verlag"), new Year(null), new Ending(Ending.Attribute.None) ); p = new Playlist("Playlist"); }
public override void addTrack(Track track) { throw new NotImplementedException(); }
public void load_playlist_oldFormat() { string path = BB080111; object template = path; object isNewTemplate = false; object documentType = 0; object isVisible = false; Microsoft.Office.Interop.Word.ApplicationClass app = new Microsoft.Office.Interop.Word.ApplicationClass(); Microsoft.Office.Interop.Word.Document doc = app.Documents.Add(ref template, ref isNewTemplate, ref documentType, ref isVisible); Playlist playlist = new Playlist("blah"); IList<Einsatz> einsaetze = new List<Einsatz>(doc.Tables[1].Rows.Count); foreach(Row row in doc.Tables[1].Rows) { Track track = new Track( new Autor(init(brush(row.Cells[1].Range.Text))), new Bpm(null), new Code(init(brush(row.Cells[2].Range.Text))), new Interpret(init(brush(row.Cells[3].Range.Text))), new Label(init(brush(row.Cells[4].Range.Text))), new Laenge(init(brush(row.Cells[5].Range.Text))), new Titel(init(brush(row.Cells[6].Range.Text))), new Verlag(init(brush(row.Cells[7].Range.Text))), new Year(null), new Ending(Ending.Attribute.None)); einsaetze.Add(new Einsatz(playlist, track, row.Index)); } Assert.AreEqual(doc.Tables[1].Rows.Count, einsaetze.Count); object saveChanges = false; object originalFormat = false; object routeDocument = false; app.Quit(ref saveChanges, ref originalFormat, ref routeDocument); }
public virtual void addTrack(Track track) { if(this.Tracks.add(track)) track.Year = this; }
public void runBeforTest() { track0 = new Track( new Autor("autor"), new Bpm(null), new Code("12345"), new Interpret("interpret"), new Label("label"), new Laenge("04:30"), new Titel("titel__0"), new Verlag("verlag"), new Year(null), new Ending(Ending.Attribute.None) ); track1 = new Track( new Autor("autor"), new Bpm(null), new Code("12345"), new Interpret("interpret"), new Label("label"), new Laenge("04:30"), new Titel("titel__1"), new Verlag("verlag"), new Year(null), new Ending(Ending.Attribute.None) ); track2 = new Track( new Autor("autor"), new Bpm(null), new Code("12345"), new Interpret("interpret"), new Label("label"), new Laenge("04:30"), new Titel("titel__2"), new Verlag("verlag"), new Year(null), new Ending(Ending.Attribute.None) ); playlist = new Playlist( "playlist" ); }
public override void addTrack(Track track) { if(this.Tracks.add(track)) track.Interpret = this; }
public void remove(Track track) { if(track == null) return; this.tracks.Remove(track); }
public virtual Track addUniqueTrack(Track track) { return this.Tracks.addTrack(track); }
public static void append( Track track, Playlist playlist ) { playlist.addEinsatz( new Einsatz( playlist, track ) ); Playlist_Service.updatePositions(playlist); }
public ASearchItemDto(Relator.Unary unary, Track.Property property, params string[] searchPhrase) { this.unaryRelator = unary; this.trackProperty = property; this.searchPhrase = searchPhrase; }
public override void addTrack(Track track) { if(this.Tracks.add(track)) track.Verlag = this; }