⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filesystemtest.vb

📁 大名鼎鼎的mono是.NET平台的跨平台(支持linux
💻 VB
📖 第 1 页 / 共 5 页
字号:
' FileSystemTest.vb - NUnit Test Cases for Microsoft.VisualBasic.FileIO.FileSystem'' Rolf Bjarne Kvinge  (RKvinge@novell.com)'' ' Copyright (C) 2007 Novell, Inc (http://www.novell.com)'' Permission is hereby granted, free of charge, to any person obtaining' a copy of this software and associated documentation files (the' "Software"), to deal in the Software without restriction, including' without limitation the rights to use, copy, modify, merge, publish,' distribute, sublicense, and/or sell copies of the Software, and to' permit persons to whom the Software is furnished to do so, subject to' the following conditions:' ' The above copyright notice and this permission notice shall be' included in all copies or substantial portions of the Software.' ' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,' EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF' MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND' NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE' LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION' OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION' WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.#If NET_2_0 ThenImports FS = Microsoft.VisualBasic.FileIO.FileSystemImports System.IONamespace FileIO    <TestFixture()> _Public Class FileSystemTest        Private BASEDIR As String        Private SLOWFILESIZE As Integer = 10000000        Sub New()        End Sub        <SetUp()> _        Public Sub Init()            BASEDIR = StripBS(Path.Combine(Environment.CurrentDirectory, "FSTestData")) & Path.DirectorySeparatorChar            If FS.DirectoryExists(BASEDIR) Then                FS.DeleteDirectory(BASEDIR, Microsoft.VisualBasic.FileIO.DeleteDirectoryOption.DeleteAllContents)            End If            FS.CreateDirectory(BASEDIR)        End Sub        <TearDown()> _        Public Sub CleanUp()            Try                FS.DeleteDirectory(BASEDIR, Microsoft.VisualBasic.FileIO.DeleteDirectoryOption.DeleteAllContents)            Catch ex As Exception#If Not TARGET_JVM Then                Throw ex#End If            End Try        End Sub        <Test()> _        Public Sub CombinePathTest()            Assert.AreEqual(StripBS(IO.Path.Combine(IO.Path.GetFullPath("a"), "b")), FS.CombinePath("a", "b"), "#01")            Assert.AreEqual(StripBS(IO.Path.Combine(IO.Path.GetFullPath("a/"), "b/")), FS.CombinePath("a/", "b/"), "#02")            Assert.AreEqual(StripBS(IO.Path.Combine(IO.Path.GetFullPath("a\"), "b\")), FS.CombinePath("a\", "b\"), "#03")        End Sub        <Category("Slow")> _        <Test()> _        Public Sub CopyDirectoryTest1()            Dim dira As String = BASEDIR & "CDT1_a"            Dim filea1 As String = Path.Combine(dira, "filea1")            Dim filea2 As String = Path.Combine(dira, "filea2")            Dim filea3 As String = Path.Combine(dira, "filea3")            Dim dirb As String = BASEDIR & "CDT1_b"            Dim fileb1 As String = Path.Combine(dirb, "filea1")            Dim fileb2 As String = Path.Combine(dirb, "filea2")            Dim fileb3 As String = Path.Combine(dirb, "filea3")            Dim smallgarbage As String = "somesmallgarbagehere"            Dim mediumgarbage As String = CreateBigString(smallgarbage, 1024)            Dim biggarbage As String = CreateBigString(mediumgarbage, 1024)            FS.CreateDirectory(dira)            FS.WriteAllText(filea1, smallgarbage, False)            FS.WriteAllText(filea2, mediumgarbage, False)            FS.WriteAllText(filea3, biggarbage, False)            FS.CopyDirectory(dira, dirb)            Helper.CompareDirectory(dira, dirb, "#CDT1-1")            Try                FS.CopyDirectory(dira, dirb)                Assert.Fail("#CDT1-2 Expected 'IOException'")            Catch ex As IOException                Assert.AreEqual("Could not complete operation on some files and directories. See the Data property of the exception for more details.", ex.Message, "#CDT1-3")            Catch ex As Exception                Assert.Fail("#CDT1-4 Expected 'IOException'")            End Try        End Sub        <Test()> _        Public Sub CopyDirectoryTest2()            Dim dira As String = BASEDIR & "CDT2_a"            Dim filea1 As String = Path.Combine(dira, "filea1")            Dim dirb As String = BASEDIR & "CDT2_b"            Dim fileb1 As String = Path.Combine(dirb, "filea1")            Dim smallgarbage As String = "thisisgarbage"            FS.CreateDirectory(dira)            FS.WriteAllText(filea1, smallgarbage, False)            FS.CopyDirectory(dira, dirb)            Helper.CompareDirectory(dira, dirb, "#CDT2-1")            Try                FS.CopyDirectory(dira, dirb)                Assert.Fail("#CDT2-2 Expected 'IOException'")            Catch ex As IOException                Assert.AreEqual("Could not complete operation on some files and directories. See the Data property of the exception for more details.", ex.Message, "#CDT2-3")            Catch ex As Exception                Assert.Fail("#CDT2-4 Expected 'IOException'")            End Try            Try                FS.CopyDirectory(dira, dirb, False)                Assert.Fail("#CDT2-5 Expected 'IOException'")            Catch ex As IOException                Assert.AreEqual("Could not complete operation on some files and directories. See the Data property of the exception for more details.", ex.Message, "#CDT2-6")            Catch ex As Exception                Assert.Fail("#CDT2-7 Expected 'IOException'")            End Try        End Sub        <Test()> _        Public Sub CopyDirectoryTest3()            Dim dira As String = BASEDIR & "CDT3_a"            Dim filea1 As String = Path.Combine(dira, "filea1")            Dim dirb As String = BASEDIR & "CDT3_b"            Dim fileb1 As String = Path.Combine(dirb, "filea1")            Dim smallgarbage As String = "moreGarBaGe"            FS.CreateDirectory(dira)            FS.WriteAllText(filea1, smallgarbage, False)            FS.CopyDirectory(dira, dirb)            Helper.CompareDirectory(dira, dirb, "#CDT3-1")            FS.CopyDirectory(dira, dirb, True)            Helper.CompareDirectory(dira, dirb, "#CDT3-2")        End Sub        'TargetJvm - Cancle UI NotSupported        <Category("TargetJvmNotSupported")> _        <Category("UI")> _        <Test()> _        Public Sub CopyDirectoryTest4()            Dim dira As String = BASEDIR & "CDT4_a"            Dim dirb As String = BASEDIR & "CDT4_b"            CreateComplicatedFileHierarchy(dira, True)            FS.CopyDirectory(dira, dirb, Microsoft.VisualBasic.FileIO.UIOption.AllDialogs, Microsoft.VisualBasic.FileIO.UICancelOption.ThrowException)            MsgBox("On the next dialog press 'Cancel'")            Try                FS.CopyDirectory(dira, dirb, Microsoft.VisualBasic.FileIO.UIOption.AllDialogs, Microsoft.VisualBasic.FileIO.UICancelOption.ThrowException)                Assert.Fail("#CDT4-1 Expected 'IOException', got no exception.")            Catch ex As OperationCanceledException                Assert.AreEqual("The operation was canceled.", ex.Message, "#CDT4-2")            Catch ex As Exception                Assert.Fail("#CDT4-3 Expected 'OperationCanceledException', got '" & ex.GetType.Name & "'")            End Try        End Sub        <Category("UI")> _        <Test()> _        Public Sub CopyDirectoryTest5()            Dim dira As String = BASEDIR & "CDT5_a"            Dim dirb As String = BASEDIR & "CDT5_b"            CreateComplicatedFileHierarchy(dira, True)            FS.CopyDirectory(dira, dirb, Microsoft.VisualBasic.FileIO.UIOption.AllDialogs, Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)            MsgBox("On the next dialogs you may press any option")            FS.CopyDirectory(dira, dirb, Microsoft.VisualBasic.FileIO.UIOption.AllDialogs, Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)        End Sub        <Category("UI")> _        <Test()> _        Public Sub CopyDirectoryTest6()            Dim dira As String = BASEDIR & "CDT6_a"            Dim dirb As String = BASEDIR & "CDT6_b"            CreateComplicatedFileHierarchy(dira, True)            FS.CopyDirectory(dira, dirb, Microsoft.VisualBasic.FileIO.UIOption.OnlyErrorDialogs, Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)            FS.CopyDirectory(dira, dirb, Microsoft.VisualBasic.FileIO.UIOption.OnlyErrorDialogs, Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)        End Sub        <Category("UI")> _        <Test()> _        Public Sub CopyDirectoryTest7()            Dim dira As String = BASEDIR & "CDT7_a"            Dim dirb As String = BASEDIR & "CDT7_b"            CreateComplicatedFileHierarchy(dira, True)            FS.CopyDirectory(dira, dirb, Microsoft.VisualBasic.FileIO.UIOption.OnlyErrorDialogs, Microsoft.VisualBasic.FileIO.UICancelOption.ThrowException)            FS.CopyDirectory(dira, dirb, Microsoft.VisualBasic.FileIO.UIOption.OnlyErrorDialogs, Microsoft.VisualBasic.FileIO.UICancelOption.ThrowException)        End Sub        <Category("Slow")> _        <Test()> _        Public Sub CopyFileTest1()            Dim testname As String = "CFT1"            Dim dir As String = Path.Combine(BASEDIR, testname)            Dim a As String = Path.Combine(dir, "a.txt")            Dim b As String = Path.Combine(dir, "b.txt")            FS.CreateDirectory(dir)            CreateFile(a, 100000)            FS.CopyFile(a, b)            Helper.CompareFile(a, b, testname)            FS.DeleteDirectory(dir, Microsoft.VisualBasic.FileIO.DeleteDirectoryOption.DeleteAllContents)        End Sub        <Test()> _        Public Sub CopyFileTest2()            Dim testname As String = "CFT2"            Dim dir As String = Path.Combine(BASEDIR, testname)            Dim a As String = Path.Combine(dir, "a.txt")            Dim b As String = Path.Combine(dir, "b.txt")            FS.CreateDirectory(dir)            CreateFile(a, 10)            FS.CopyFile(a, b)            Try                FS.CopyFile(a, b)                Assert.Fail(testname & "-1" & " Expected 'IOException'")            Catch ex As IOException                Assert.AreEqual(String.Format("The file '{0}' already exists.", b), ex.Message, testname & "-2")            End Try            FS.DeleteDirectory(dir, Microsoft.VisualBasic.FileIO.DeleteDirectoryOption.DeleteAllContents)        End Sub        <Test()> _        Public Sub CopyFileTest3()            Dim testname As String = "CFT3"            Dim dir As String = Path.Combine(BASEDIR, testname)            Dim a As String = Path.Combine(dir, "a.txt")            Dim b As String = Path.Combine(dir, "b.txt")            FS.CreateDirectory(dir)            CreateFile(a, 10)            FS.CopyFile(a, b)            FS.CopyFile(a, b, True)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -