refactor: [test] use same files

上级 ef0d8e6a
package cocatest
import (
"github.com/phodal/coca/cmd/cmd_util"
"github.com/phodal/coca/core/adapter/cocafile"
"github.com/phodal/coca/core/context/analysis"
"github.com/phodal/coca/core/domain"
"path/filepath"
)
func BuildTestAnalysisResultsByPath(codePath string) (map[string]domain.JIdentifier, []domain.JClassNode) {
files := cocafile.GetJavaTestFiles(codePath)
var identifiers []domain.JIdentifier
identifiers = cmd_util.LoadTestIdentify(files)
identifiersMap := domain.BuildIdentifierMap(identifiers)
var classes []string = nil
for _, node := range identifiers {
classes = append(classes, node.Package+"."+node.ClassName)
}
analysisApp := analysis.NewJavaFullApp()
classNodes := analysisApp.AnalysisFiles(identifiers, files, classes)
return identifiersMap, classNodes
}
func BuildAnalysisDeps(codePath string) ([]domain.JClassNode, map[string]domain.JIdentifier) {
func BuildAnalysisDeps(codePath string) ([]domain.JClassNode, map[string]domain.JIdentifier, []domain.JIdentifier) {
codePath = filepath.FromSlash(codePath)
identifierApp := new(analysis.JavaIdentifierApp)
......@@ -39,6 +20,6 @@ func BuildAnalysisDeps(codePath string) ([]domain.JClassNode, map[string]domain.
callNodes := callApp.AnalysisPath(codePath, classes, identifiers)
identifiersMap := domain.BuildIdentifierMap(identifiers)
return callNodes, identifiersMap
return callNodes, identifiersMap, identifiers
}
......@@ -14,7 +14,7 @@ func TestConceptAnalyser_Analysis(t *testing.T) {
g := NewGomegaWithT(t)
codePath := "../../../_fixtures/arch/step2-java"
callNodes, identifiersMap := cocatest.BuildAnalysisDeps(codePath)
callNodes, identifiersMap, _ := cocatest.BuildAnalysisDeps(codePath)
app := NewArchApp()
results := app.Analysis(callNodes, identifiersMap)
......@@ -42,7 +42,7 @@ func TestConceptAnalyser_AnalysisWithFans(t *testing.T) {
g := NewGomegaWithT(t)
codePath := "../../../_fixtures/arch/step2-java"
callNodes, identifiersMap := cocatest.BuildAnalysisDeps(codePath)
callNodes, identifiersMap, _ := cocatest.BuildAnalysisDeps(codePath)
app := NewArchApp()
result := app.Analysis(callNodes, identifiersMap)
......
......@@ -4,7 +4,7 @@ import (
"encoding/json"
. "github.com/onsi/gomega"
"github.com/phodal/coca/cmd/cmd_util"
"github.com/phodal/coca/core/context/analysis"
"github.com/phodal/coca/cocatest"
"github.com/phodal/coca/core/context/api"
"github.com/phodal/coca/core/context/call"
"github.com/phodal/coca/core/domain"
......@@ -41,15 +41,8 @@ func Test_ShouldBuildSuccessDataFromSourceData(t *testing.T) {
g := NewGomegaWithT(t)
codePath := "../../../_fixtures/examples/api"
identApp := analysis.NewJavaIdentifierApp()
identifiers := identApp.AnalysisPath(filepath.FromSlash(codePath))
var classes []string = nil
for _, node := range identifiers {
classes = append(classes, node.Package+"."+node.ClassName)
}
callApp := analysis.NewJavaFullApp()
callNodes := callApp.AnalysisPath(codePath, classes, identifiers)
identifiersMap := domain.BuildIdentifierMap(identifiers)
callNodes, identifiersMap, identifiers := cocatest.BuildAnalysisDeps(codePath)
diMap := domain.BuildDIMap(identifiers, identifiersMap)
app := new(api.JavaApiApp)
restApis := app.AnalysisPath(codePath, callNodes, identifiersMap, diMap)
......
......@@ -23,7 +23,7 @@ func Test_ShouldCountDeps_WhenHadClassNodes(t *testing.T) {
g := NewGomegaWithT(t)
codePath := "../../../_fixtures/examples/api/"
_, classNodes := cocatest.BuildTestAnalysisResultsByPath(codePath)
classNodes, _, _ := cocatest.BuildAnalysisDeps(codePath)
depApp := NewDepApp()
depApp.CountDeps(classNodes)
......
......@@ -4,7 +4,7 @@ import (
"encoding/json"
. "github.com/onsi/gomega"
"github.com/phodal/coca/cmd/cmd_util"
"github.com/phodal/coca/core/context/analysis"
"github.com/phodal/coca/cocatest"
"github.com/phodal/coca/core/context/evaluate/evaluator"
"github.com/phodal/coca/core/domain"
"path/filepath"
......@@ -104,16 +104,7 @@ func Test_CheckFornull(t *testing.T) {
}
func buildEvaluateResult(codePath string) evaluator.EvaluateModel {
codePath = filepath.FromSlash(codePath)
identifierApp := new(analysis.JavaIdentifierApp)
identifiers := identifierApp.AnalysisPath(codePath)
var classes []string = nil
for _, node := range identifiers {
classes = append(classes, node.Package+"."+node.ClassName)
}
callApp := analysis.NewJavaFullApp()
callNodes := callApp.AnalysisPath(codePath, classes, identifiers)
callNodes, _, identifiers := cocatest.BuildAnalysisDeps(codePath)
analyser := NewEvaluateAnalyser()
result := analyser.Analysis(callNodes, identifiers)
......
......@@ -2,7 +2,10 @@ package tbs
import (
. "github.com/onsi/gomega"
"github.com/phodal/coca/cocatest"
"github.com/phodal/coca/cmd/cmd_util"
"github.com/phodal/coca/core/adapter/cocafile"
"github.com/phodal/coca/core/context/analysis"
"github.com/phodal/coca/core/domain"
"path/filepath"
"testing"
)
......@@ -129,9 +132,26 @@ func TestTbsApp_ShouldReturnMultipleResult(t *testing.T) {
}
func buildTbsResult(codePath string) []TestBadSmell {
identifiersMap, classNodes := cocatest.BuildTestAnalysisResultsByPath(codePath)
identifiersMap, classNodes := BuildTestAnalysisResultsByPath(codePath)
app := NewTbsApp()
result := app.AnalysisPath(classNodes, identifiersMap)
return result
}
func BuildTestAnalysisResultsByPath(codePath string) (map[string]domain.JIdentifier, []domain.JClassNode) {
files := cocafile.GetJavaTestFiles(codePath)
var identifiers []domain.JIdentifier
identifiers = cmd_util.LoadTestIdentify(files)
identifiersMap := domain.BuildIdentifierMap(identifiers)
var classes []string = nil
for _, node := range identifiers {
classes = append(classes, node.Package+"."+node.ClassName)
}
analysisApp := analysis.NewJavaFullApp()
classNodes := analysisApp.AnalysisFiles(identifiers, files, classes)
return identifiersMap, classNodes
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册