예제 #1
0
        public void SetMissingComponentData_DontOverrideExistingValues()
        {
            // Arrange
            var vsaMock = new Mock <IVisualStudioAccess>();

            vsaMock.Setup(m => m.IsDdexProviderInstalled(It.IsAny <Guid>())).Returns(true);
            vsaMock.Setup(m => m.IsSqLiteDbProviderInstalled()).Returns(true);
            var adoNetProviderVersion = new Version(50, 10);
            var dnaMock = new Mock <IDotNetAccess>();

            dnaMock.Setup(m => m.DoesDbProviderFactoryExist(It.IsNotNull <string>())).Returns(true);
            dnaMock.Setup(m => m.GetAssemblyVersion(It.IsNotNull <string>())).Returns(adoNetProviderVersion);
            IInstalledComponentsService ics = new InstalledComponentsService(vsaMock.Object, dnaMock.Object);
            var aem = new AboutExtensionModel
            {
                SqlLiteSimpleDdexProviderInstalled = false,
                SqLiteDdexProviderInstalled        = false,
                SqLiteEf6DbProviderInstalled       = false,
                SqLiteAdoNetProviderVersion        = new Version(4, 0, 1),
            };

            // Act
            ics.SetMissingComponentData(aem);

            // Assert
            Assert.AreNotSame(adoNetProviderVersion, aem.SqLiteAdoNetProviderVersion);
            Assert.IsFalse(aem.SqLiteEf6DbProviderInstalled);
            Assert.IsFalse(aem.SqLiteDdexProviderInstalled);
            Assert.IsFalse(aem.SqlLiteSimpleDdexProviderInstalled);
        }
예제 #2
0
        public void SetMissingComponentData_SetMissingValues()
        {
            // Arrange
            var vsaMock = new Mock <IVisualStudioAccess>();

            vsaMock.Setup(m => m.IsDdexProviderInstalled(It.IsAny <Guid>())).Returns(true);
            vsaMock.Setup(m => m.IsSqLiteDbProviderInstalled()).Returns(true);
            var sqlCe40Version = new Version(30, 0, 14);
            var fsaMock        = new Mock <IFileSystemAccess>();

            fsaMock.Setup(m => m.GetInstalledSqlCe40Version()).Returns(sqlCe40Version);
            var adoNetProviderVersion = new Version(50, 10);
            var dnaMock = new Mock <IDotNetAccess>();

            dnaMock.Setup(m => m.DoesDbProviderFactoryExist(It.IsNotNull <string>())).Returns(true);
            dnaMock.Setup(m => m.GetAssemblyVersion(It.IsNotNull <string>())).Returns(adoNetProviderVersion);
            IInstalledComponentsService ics = new InstalledComponentsService(vsaMock.Object, fsaMock.Object, dnaMock.Object);
            var aem = new AboutExtensionModel();

            // Act
            ics.SetMissingComponentData(aem);

            // Assert
            Assert.AreSame(sqlCe40Version, aem.SqlServerCompact40GacVersion);
            Assert.IsTrue(aem.SqlServerCompact40DbProviderInstalled);
            Assert.IsTrue(aem.SqlServerCompact40DdexProviderInstalled);
            Assert.IsTrue(aem.SqlServerCompact40SimpleDdexProviderInstalled);
            Assert.AreSame(adoNetProviderVersion, aem.SqLiteAdoNetProviderVersion);
            Assert.IsTrue(aem.SqLiteEf6DbProviderInstalled);
            Assert.IsTrue(aem.SqLiteDdexProviderInstalled);
            Assert.IsTrue(aem.SqlLiteSimpleDdexProviderInstalled);
        }
예제 #3
0
        public void SetMissingComponentData_ArgumentNullException()
        {
            // Arrange
            var vsa = Mock.Of <IVisualStudioAccess>();
            var dna = Mock.Of <IDotNetAccess>();
            IInstalledComponentsService ics = new InstalledComponentsService(vsa, dna);

            // Act & Assert
            Assert.Throws <ArgumentNullException>(() => ics.SetMissingComponentData(null));
        }