public void DocumentPlayer_Play_SetsIsPlayingTrue() { DocumentViewModel document = new DocumentViewModel(); FakeDocumentPlayer player = new FakeDocumentPlayer(document); player.Play(); Assert.AreEqual(player.IsPlaying, true, "IsPlaying should be 'true'."); }
public void DocumentPlayer_Play_SetsIsPausedFalse() { DocumentViewModel document = new DocumentViewModel(); FakeDocumentPlayer player = new FakeDocumentPlayer(document); player.Play(); Assert.AreEqual(player.IsPaused, false, "IsPlused should be 'false'."); }
public DocumentPlayer(DocumentViewModel document) { _document = document; _bgw = new BackgroundWorker(); _bgw.WorkerReportsProgress = true; _bgw.ProgressChanged += new ProgressChangedEventHandler(_bgw_ProgressChanged); _bgw.DoWork += new DoWorkEventHandler(_bgw_DoWork); }
public void DocumentPlayer_GetBeatDurationAsSeconds_80bpm() { DocumentViewModel document = new DocumentViewModel(); DocumentPlayer player = new DocumentPlayer(document); var result = player.GetBeatDurationAsSeconds(80); Assert.AreEqual(result, 0.75, "120 bps should correspond to 0.75sec pr beat"); }
public void DataStore_Save_WithoutPath_RunsSaveAsAndSaves() { DocumentViewModel document = new DocumentViewModel(); StubbDataStore dataStore = new StubbDataStore(); dataStore.Save(document); Assert.IsTrue(dataStore.SaveAsRun && dataStore.DidSerialize, "Both 'SaveAsRun' and 'DidSerialize' should be true."); }
public void DataStore_Open_OpensTestDocument() { DocumentViewModel document = new DocumentViewModel(); StubbDataStore dataStore = new StubbDataStore(); dataStore.Open(ref document); Assert.IsTrue(document.ChordLines.Count == 1, "There should be 1 line in the document"); }
public void DataStore_SaveAs_SavesFile() { DocumentViewModel document = new DocumentViewModel(); StubbDataStore dataStore = new StubbDataStore(); dataStore.SaveAs(document); Assert.IsTrue(dataStore.DidSerialize, "File should have been saved, but was not."); }
protected virtual void OpenSerializedFile(ref DocumentViewModel document) { using (Stream fs = new FileStream(document.DocumentPath, FileMode.Open)) { XmlSerializer serializer = new XmlSerializer(document.GetType()); document = (DocumentViewModel)serializer.Deserialize(fs); } }
public void MainWindowVM_CloseDocument_ClosesDocument() { var model = new MainWindowModel(); var document = new DocumentViewModel(model); model.Documents.Add(document); model.CloseDocument(document); Assert.IsTrue(!model.Documents.Contains(document), "The Documents collection should not contain this document now."); }
public override void Open(ref DocumentViewModel document) { var line = new ChordLine(); line.Chords.Add(new Chord{ Name = "C"}); line.Chords.Add(new Chord{ Name = "F"}); line.Chords.Add(new Chord{ Name = "G"}); document.ChordLines.Add(line); document.DocumentPath = "C:\\MyDocument.chords"; }
public void DocumentPlayer_Pause_SetsIsPausedTrue() { DocumentViewModel document = new DocumentViewModel(); FakeDocumentPlayer player = new FakeDocumentPlayer(document); player.Pause(); Assert.AreEqual(player.IsPaused, true, "IsPlused should be 'true'."); }
public void DataStore_Save_WithPathSavesFile() { DocumentViewModel document = new DocumentViewModel(); document.DocumentPath = "C:\\MyDocument.chords"; StubbDataStore dataStore = new StubbDataStore(); dataStore.Save(document); Assert.IsTrue(dataStore.DidSerialize, "File should have been saved, but was not."); }
public void MainWindowVM_Insert_InsertsChordLine() { MainWindowModel model = new MainWindowModel(); var doc = new DocumentViewModel(); model.Documents.Add(doc); model.InsertCommand.Execute(null); var selectedDoc = (model.DocumentsView.CurrentItem as DocumentViewModel); var lineAdded = (selectedDoc.ChordLines.Count == 1); Assert.IsTrue(lineAdded, "The line should have been added."); }
public virtual void Save(DocumentViewModel document) { if (document.DocumentPath != "") { SerializeAsFile(document); } else { SaveAs(document); } }
public void DocumentPlayer_Stop_SetsIsPlayingAndIsPausedToFalse() { DocumentViewModel document = new DocumentViewModel(); FakeDocumentPlayer player = new FakeDocumentPlayer(document); player.Stop(); Assert.AreEqual(player.IsPaused, false, "IsPlused should be 'false'."); Assert.AreEqual(player.IsPlaying, false, "IsPlaying should be 'false'."); }
private void BuildDocument(DocumentViewModel model) { ChordDocument.PageWidth = 850; ChordDocument.PageHeight = 1190; char[] sep = { '.' }; var songTitle = model.Title.Split(sep)[0]; Run title = new Run(songTitle); title.FontSize=40; Paragraph titlePar = new Paragraph(); titlePar.Inlines.Add(title); titlePar.TextAlignment = TextAlignment.Center; titlePar.Margin = new Thickness(30); ChordDocument.Blocks.Add(titlePar); foreach (ChordLine line in model.ChordLines) { var section = new Section(); var chordsPar = new Paragraph(); chordsPar.Margin = new Thickness(0, 0, 10, 0); var grid = new NoteGrid(); grid.DataContext = line; var gridPar = new Paragraph(new InlineUIContainer(grid)); gridPar.Margin = new Thickness(10,0,10,0); var chords = new Canvas(); chords.Height = 30; foreach (Chord chord in line.Chords) { var chordView = new ChordView(); chordView.DataContext = chord; chordView.MainBorder.BorderThickness = new Thickness(0); chordView.MainBorder.BorderBrush = Brushes.Transparent; chordView.MainBorder.BitmapEffect = null; chordView.ChordLabel.FontSize = 20; chords.Children.Add(chordView); } chordsPar.KeepWithNext = true; chordsPar.Inlines.Add(new InlineUIContainer(chords)); section.Blocks.Add(chordsPar); section.Blocks.Add(gridPar); ChordDocument.Blocks.Add(section); } }
public void DocumentVM_ChordLinesCollectionChanged_UpdatesNewFirstLine() { DocumentViewModel doc = new DocumentViewModel(); var line1 = new ChordLine(); var line2 = new ChordLine(); var line3 = new ChordLine(); doc.ChordLines.Add(line1); doc.ChordLines.Add(line2); doc.ChordLines.Add(line3); Assert.IsTrue(line1.FirstLine == true, "Line 1 should now be 'FirstLine'."); doc.ChordLines.Remove(line1); doc.ChordLines.Remove(line2); Assert.IsTrue(line3.FirstLine == true, "Line 3 should now be 'FirstLine'."); }
public virtual void SaveAs(DocumentViewModel document) { bool? ok; SaveFileDialog saveDialog = new SaveFileDialog(); saveDialog.Filter = "Data files (*.chords)|*.chords;"; if (!TEST_MODE) { ok = saveDialog.ShowDialog(); } else { ok = true; } if (ok.HasValue && ok.Value == true) { document.DocumentPath = saveDialog.FileName; SerializeAsFile(document); } }
public virtual void Open(ref DocumentViewModel document) { bool? ok; OpenFileDialog openDialog = new OpenFileDialog(); openDialog.Filter = "Data files (*.chords)|*.chords;"; if (!TEST_MODE) { ok = openDialog.ShowDialog(); } else { ok = true; } if (ok.HasValue && ok.Value == true) { document.DocumentPath = openDialog.FileName; OpenSerializedFile(ref document); } }
public void MainWindowVM_TransposeDown_AllChordsWereTransposed() { var model = new MainWindowModel(); var doc = new DocumentViewModel(model); var chordLine = new ChordLine(); var chordA = new StubbChord(); var chordB = new StubbChord(); chordLine.Chords.Add(chordA); chordLine.Chords.Add(chordB); doc.ChordLines.Add(chordLine); model.Documents.Add(doc); model.TransposeDown.Execute(null); var wasTransposed = (chordA.WasTransposedDown && chordB.WasTransposedDown); Assert.IsTrue(wasTransposed, "All chords should have been transposed"); }
public override void SaveAs(DocumentViewModel document) { base.SaveAs(document); SaveAsRun = true; }
public override void SaveAs(DocumentViewModel document) { SaveAsWasRun = true; }
public override void Open(ref DocumentViewModel document) { document = new DocumentViewModel(); document.DocumentPath = "C:\\TestDocument.chords"; }
protected void NewDocumentExecute() { DocumentViewModel newDocument = new DocumentViewModel(this); Documents.Add(newDocument); DocumentsView.MoveCurrentTo(newDocument); }
public void OpenDocumentExecute() { DocumentViewModel newDocument = new DocumentViewModel(this); _dataStore.Open(ref newDocument); if (newDocument.DocumentPath != "") { Documents.Add(newDocument); newDocument.SetMainWindowModel(this); DocumentsView.MoveCurrentTo(newDocument); } }
// ------------------------------------- // [MEMBERS] // ------------------------------------- public void CloseDocument(DocumentViewModel doc) { Documents.Remove(doc); }
public void DocumentVM_SetsTitleWhenDocumentPathIsUpdated() { DocumentViewModel document = new DocumentViewModel(); document.Title = ""; document.DocumentPath = "C:\\MyDocument.chords"; Assert.AreEqual(document.Title, "MyDocument.chords", "Title should be equal to the file name."); }
public void DocumentVM_CM_AddLine_AddsChordLine() { DocumentViewModel document = new DocumentViewModel(); document.CM_AddLine.Execute(null); Assert.AreEqual(document.ChordLines.Count, 1, "There should be 1 line now."); }
public StubbDocumentPlayer(DocumentViewModel model) : base(model) { }
public PrintWindow(DocumentViewModel model ) { InitializeComponent(); DataContext = this; BuildDocument(model); }