public void VsImports_ImportsAddRemoveCheck() { var dispImportsEventsMock = new Mock <_dispImportsEvents>(); const string importName = "Something"; dispImportsEventsMock.Setup(d => d.ImportAdded(It.Is <string>(s => s == importName))) .Verifiable(); dispImportsEventsMock.Setup(d => d.ImportRemoved(It.Is <string>(s => s == importName))) .Verifiable(); var vsimports = CreateInstance( Mock.Of <VSLangProj.VSProject>(), Mock.Of <IProjectThreadingService>(), Mock.Of <ActiveConfiguredProject <ConfiguredProject> >(), Mock.Of <IProjectAccessor>(), Mock.Of <IUnconfiguredProjectVsServices>(), VisualBasicNamespaceImportsListFactory.CreateInstance("A", "B")); vsimports.OnSinkAdded(dispImportsEventsMock.Object); vsimports.OnImportAdded(importName); vsimports.OnImportRemoved(importName); dispImportsEventsMock.VerifyAll(); vsimports.OnSinkRemoved(dispImportsEventsMock.Object); vsimports.OnImportAdded(importName); vsimports.OnImportRemoved(importName); dispImportsEventsMock.Verify(d => d.ImportAdded(It.IsAny <string>()), Times.Once); dispImportsEventsMock.Verify(d => d.ImportRemoved(It.IsAny <string>()), Times.Once); Assert.Equal(2, vsimports.Count); }
public void UnderlyingListBasedPropertiesTest() { var list = VisualBasicNamespaceImportsListFactory.CreateInstance("A", "B"); //Count Assert.Equal(2, list.Count); //GetEnumerator var enumerator = list.GetEnumerator(); Assert.True(enumerator.MoveNext()); Assert.True(string.Compare(enumerator.Current, "A") == 0); Assert.True(enumerator.MoveNext()); Assert.True(string.Compare(enumerator.Current, "B") == 0); Assert.False(enumerator.MoveNext()); //IsPresent(string) Assert.Throws <ArgumentException>("bstrImport", () => { list.IsPresent(null); }); Assert.Throws <ArgumentException>("bstrImport", () => { list.IsPresent(""); }); Assert.True(list.IsPresent("A")); Assert.False(list.IsPresent("C")); //IsPresent(int) Assert.Throws <ArgumentException>("indexInt", () => { list.IsPresent(0); }); Assert.Throws <ArgumentException>("indexInt", () => { list.IsPresent(3); }); Assert.True(list.IsPresent(1)); Assert.True(list.IsPresent(2)); //Item(int) Assert.Throws <ArgumentException>("lIndex", () => { list.Item(0); }); Assert.Throws <ArgumentException>("lIndex", () => { list.Item(3); }); Assert.True(string.Compare(list.Item(1), "A") == 0); Assert.True(string.Compare(list.Item(2), "B") == 0); }
public void UpdateNamespaceImportListTest() { var list = VisualBasicNamespaceImportsListFactory.CreateInstance(); var dataList = new List <string>(); list.SetList(dataList); // Initial add list.OnNamespaceImportChanged( IProjectVersionedValueFactory <IProjectSubscriptionUpdate> .Create(GetProjectSubscriptionUpdate("A", "B", "C", "D"))); VerifyList(dataList, "A", "B", "C", "D"); // Remove from the end list.OnNamespaceImportChanged( IProjectVersionedValueFactory <IProjectSubscriptionUpdate> .Create(GetProjectSubscriptionUpdate("A", "B", "C"))); VerifyList(dataList, "A", "B", "C"); // Remove from the beginning list.OnNamespaceImportChanged( IProjectVersionedValueFactory <IProjectSubscriptionUpdate> .Create(GetProjectSubscriptionUpdate("B", "C"))); VerifyList(dataList, "B", "C"); // Add at the beginning list.OnNamespaceImportChanged( IProjectVersionedValueFactory <IProjectSubscriptionUpdate> .Create(GetProjectSubscriptionUpdate("A", "B", "C"))); VerifyList(dataList, "A", "B", "C"); // Add at the end list.OnNamespaceImportChanged( IProjectVersionedValueFactory <IProjectSubscriptionUpdate> .Create(GetProjectSubscriptionUpdate("A", "B", "C", "E"))); VerifyList(dataList, "A", "B", "C", "E"); // Add in the middle list.OnNamespaceImportChanged( IProjectVersionedValueFactory <IProjectSubscriptionUpdate> .Create(GetProjectSubscriptionUpdate("A", "B", "C", "D", "E"))); VerifyList(dataList, "A", "B", "C", "D", "E"); // Remove from the middle list.OnNamespaceImportChanged( IProjectVersionedValueFactory <IProjectSubscriptionUpdate> .Create(GetProjectSubscriptionUpdate("A", "B", "D", "E"))); VerifyList(dataList, "A", "B", "D", "E"); // Addition and Deletion in jumbled order with the same no of elements as before list.OnNamespaceImportChanged( IProjectVersionedValueFactory <IProjectSubscriptionUpdate> .Create(GetProjectSubscriptionUpdate("F", "C", "B", "E"))); VerifyList(dataList, "B", "C", "E", "F"); }