示例#1
0
        public void Test_Do_ReturnsNumber()
        {
            // テスト用のファイルを用意
            var fileName     = MethodBase.GetCurrentMethod().Name;
            var filePath     = Path.Combine(this.DirectoryPath, fileName);
            var fileEncoding = Encoding.GetEncoding("shift-jis");

            using (var stream = File.Create(filePath))
                using (var writer = new StreamWriter(stream, fileEncoding))
                {
                    var script = @"
Public Declare Function MoveFile Lib ""kernel32"" Alias ""MoveFileA"" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String) As Long

Declare Function CopyFile Lib ""kernel32"" Alias ""CopyFileA"" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
";

                    writer.Write(script);
                    writer.Flush();
                }

            // テスト対象の処理を実行
            var method = new NumberOfVB6PublicReferencesToProcedureImplementedInExternalFileScoutingMethod();
            var actual = method.Do(new ScoutingClue()
            {
                FilePath = filePath,
                Encoding = fileEncoding
            });

            // テスト結果を検証
            Assert.AreEqual("2", actual);
        }
示例#2
0
        public void Test_Do_ReturnsZero_WhenFileIsBinary()
        {
            // テスト用のファイルを用意
            var fileName = MethodBase.GetCurrentMethod().Name;
            var filePath = Path.Combine(this.DirectoryPath, fileName);

            using (var stream = File.Create(filePath))
            {
                stream.Write(new byte[] { 0x0 }, 0, 1);
                stream.Flush();
            }

            // テスト対象の処理を実行
            var method = new NumberOfVB6PublicReferencesToProcedureImplementedInExternalFileScoutingMethod();
            var actual = method.Do(new ScoutingClue()
            {
                FilePath = filePath,
                Encoding = null,
            });

            // テスト結果を検証
            Assert.AreEqual("0", actual);
        }