예제 #1
0
        public void Extensions_SetPhysicalFileName_Throws_If_FileName_Is_Not_Supported()
        {
            // Arrange
            string connectionString = @"data source=.;attachdbfilename=MyDatabase.mdf;integrated security=True;MultipleActiveResultSets=True";
            string fileName = @"\database:mdf";

            // Arrange
            DbConnectionStringBuilder value = new DbConnectionStringBuilder()
            {
                ConnectionString = connectionString,
            };

            // Act and Assert
            throw ErrorAssert.Throws<ArgumentException>(
                () => value.SetPhysicalFileName(fileName),
                "fileName");
        }
예제 #2
0
        public void Extensions_SetPhysicalFileName_Sets_Correct_Value_If_Relative_Path_Used()
        {
            // Arrange
            string connectionString = @"data source=.;attachdbfilename=MyDatabase.mdf;integrated security=True;MultipleActiveResultSets=True";
            string fileName = @".\MyDatabase.mdf";
            string expected = Path.GetFullPath(fileName);

            // Arrange
            DbConnectionStringBuilder value = new DbConnectionStringBuilder()
            {
                ConnectionString = connectionString,
            };

            // Act
            value.SetPhysicalFileName(fileName);

            // Assert
            string result = value.GetPhysicalFileName();
            Assert.AreEqual(expected, result, "SetPhysicalFileName() did not set the correct value.");
        }
예제 #3
0
        public void Extensions_SetPhysicalFileName_Sets_Correct_Value_If_Null_Specified()
        {
            // Arrange
            string connectionString = @"data source=.;attachdbfilename=MyDatabase.mdf;integrated security=True;MultipleActiveResultSets=True";
            string fileName = null;

            // Arrange
            DbConnectionStringBuilder value = new DbConnectionStringBuilder()
            {
                ConnectionString = connectionString,
            };

            // Act
            value.SetPhysicalFileName(fileName);

            // Assert
            string result = value.GetPhysicalFileName();
            Assert.IsNull(result, "SetPhysicalFileName() did not set the correct value.");
        }
예제 #4
0
        public void Extensions_SetPhysicalFileName_Sets_Correct_Value_If_Data_Directory_Used_And_Set()
        {
            // Arrange
            var appDomainData = new Dictionary<string, object>()
            {
                { "DataDirectory", @"C:\MyDatabases" },
            };

            Helpers.InvokeInNewAppDomain(
                () =>
                {
                    string connectionString = @"data source=.;attachdbfilename=MyDatabase.mdf;integrated security=True;MultipleActiveResultSets=True";
                    string fileName = @"|DataDirectory|\MyDatabase.mdf";
                    string expected = @"C:\MyDatabases\MyDatabase.mdf";

                    // Arrange
                    DbConnectionStringBuilder value = new DbConnectionStringBuilder()
                    {
                        ConnectionString = connectionString,
                    };

                    // Act
                    value.SetPhysicalFileName(fileName);

                    // Assert
                    string result = value.GetPhysicalFileName();
                    Assert.AreEqual(expected, result, "SetPhysicalFileName() did not set the correct value.");
                },
                appDomainData: appDomainData);
        }
예제 #5
0
        public void Extensions_SetPhysicalFileName_Sets_Correct_Value_If_Data_Directory_Used_And_Not_Set()
        {
            // Arrange
            Helpers.InvokeInNewAppDomain(
                () =>
                {
                    string connectionString = @"data source=.;attachdbfilename=MyDatabase.mdf;integrated security=True;MultipleActiveResultSets=True";
                    string fileName = @"|DataDirectory|\MyDatabase.mdf";

                    // Arrange
                    DbConnectionStringBuilder value = new DbConnectionStringBuilder()
                    {
                        ConnectionString = connectionString,
                    };

                    // Act and Assert
                    throw ErrorAssert.Throws<NotSupportedException>(
                        () => value.SetPhysicalFileName(fileName));
                });
        }
예제 #6
0
        public void Extensions_SetPhysicalFileName_Returns_Correct_File_Name()
        {
            // Arrange
            string connectionString = Convert.ToString(this.TestContext.DataRow["connectionString"], CultureInfo.InvariantCulture);
            string fileName = Convert.ToString(this.TestContext.DataRow["physicalFileName"], CultureInfo.InvariantCulture);

            // Arrange
            DbConnectionStringBuilder value = new DbConnectionStringBuilder()
            {
                ConnectionString = connectionString,
            };

            // Act
            value.SetPhysicalFileName(fileName);

            // Assert
            string result = value.GetPhysicalFileName();
            Assert.AreEqual(fileName, result, "SetPhysicalFileName() did not set the correct value.");
        }