public void DoesntRaiseEventOnUnloadedFileModified() { int invocationsCount = 0; Action <FileLoadEventArgs> callback = (FileLoadEventArgs args) => { if (args.UnloadedFiles?.Any() ?? false) { invocationsCount++; } }; var @event = TestUtils.GetMockEvent <FileLoadEvent, FileLoadEventArgs>(callback); var aggregator = TestUtils.GetMockAggregator(); aggregator.Setup(a => a.GetEvent <FileLoadEvent>()).Returns(@event.Object); SourceProjectsViewModel vm = new SourceProjectsViewModel(aggregator.Object); var projFile = new CsProjFile(new XmlDocument()) { IsSelected = false }; vm.ProjectFiles.Add(projFile); vm.ProjectFiles.RemoveAt(0); // here invocationsCount has to be 1 projFile.IsSelected = true; // no change in invocationsCount should occur here Assert.AreEqual(1, invocationsCount); }
public void RaisesEventOnFileSelected() { int invocationsCount = 0; Action <FileLoadEventArgs> callback = (FileLoadEventArgs args) => { if (args.LoadedFiles?.Any() ?? false) { invocationsCount++; } }; var @event = TestUtils.GetMockEvent <FileLoadEvent, FileLoadEventArgs>(callback); var aggregator = TestUtils.GetMockAggregator(); aggregator.Setup(a => a.GetEvent <FileLoadEvent>()).Returns(@event.Object); SourceProjectsViewModel vm = new SourceProjectsViewModel(aggregator.Object); vm.ProjectFiles.Add(new CsProjFile(new XmlDocument()) { IsSelected = false }); Assert.AreEqual(1, invocationsCount); vm.ProjectFiles[0].IsSelected = true; Assert.AreEqual(2, invocationsCount); }
public void EmitsErrorOnInvalidXml() { SourceProjectsViewModel vm = new SourceProjectsViewModel(TestUtils.GetMockAggregator().Object); var ms = new MemoryStream(); ms.Write(Encoding.ASCII.GetBytes("lololo"), 0, 6); ms.Seek(0, SeekOrigin.Begin); SelectedItemViewModel <XmlDocument> sim = vm.GetXmlFileModel(ms); Assert.IsNull(sim.Item); Assert.IsNotNull(sim.Description); }
public void LoadsValidXmlCorrectly() { SourceProjectsViewModel vm = new SourceProjectsViewModel(TestUtils.GetMockAggregator().Object); using (MemoryStream ms = new MemoryStream()) { var xml = XmlWriter.Create(ms); xml.WriteStartElement("root"); xml.WriteStartElement("child1"); xml.WriteStartElement("child2"); xml.WriteEndElement(); xml.WriteStartElement("child2"); xml.WriteEndElement(); xml.WriteEndElement(); xml.WriteStartElement("child1"); xml.WriteEndElement(); xml.WriteEndElement(); xml.Flush(); ms.Position = 0; SelectedItemViewModel <XmlDocument> sim = vm.GetXmlFileModel(ms); Assert.AreEqual("root", sim.Item.DocumentElement.Name); } }