java_identifier_app_test.go 2.2 KB
Newer Older
P
Phodal Huang 已提交
1 2 3 4
package identifier

import (
	. "github.com/onsi/gomega"
P
Phodal Huang 已提交
5
	"path/filepath"
P
Phodal Huang 已提交
6 7 8 9 10 11
	"testing"
)

func TestJavaIdentifierApp_AnalysisPath(t *testing.T) {
	g := NewGomegaWithT(t)

P
Phodal Huang 已提交
12
	identApp := NewJavaIdentifierApp()
P
Phodal Huang 已提交
13
	identifiers := identApp.AnalysisPath(filepath.FromSlash("../../../_fixtures/call"))
P
Phodal Huang 已提交
14 15

	g.Expect(len(identifiers)).To(Equal(1))
P
Phodal Huang 已提交
16
	g.Expect(identifiers[0].ClassName).To(Equal("BookController"))
P
Phodal Huang 已提交
17 18
	g.Expect(identifiers[0].Methods[0].Name).To(Equal("BookController"))
	g.Expect(identifiers[0].Methods[1].Name).To(Equal("createBook"))
P
Phodal Huang 已提交
19 20

	g.Expect(identifiers[0].Annotations[0].QualifiedName).To(Equal("RestController"))
P
Phodal Huang 已提交
21 22
}

P
Phodal Huang 已提交
23
func TestPolymorphism_Method(t *testing.T) {
P
Phodal Huang 已提交
24 25
	g := NewGomegaWithT(t)

P
Phodal Huang 已提交
26
	identApp := NewJavaIdentifierApp()
P
Phodal Huang 已提交
27
	identifiers := identApp.AnalysisPath(filepath.FromSlash("../../../_fixtures/suggest/polymorphism"))
P
Phodal Huang 已提交
28 29 30 31

	g.Expect(len(identifiers)).To(Equal(1))
	g.Expect(identifiers[0].ClassName).To(Equal("Overload"))
	g.Expect(len(identifiers[0].Methods)).To(Equal(3))
P
Phodal Huang 已提交
32 33 34 35 36
}

func TestPolymorphism_Constructor(t *testing.T) {
	g := NewGomegaWithT(t)

P
Phodal Huang 已提交
37
	identApp := NewJavaIdentifierApp()
P
Phodal Huang 已提交
38
	identifiers := identApp.AnalysisPath(filepath.FromSlash("../../../_fixtures/suggest/factory"))
P
Phodal Huang 已提交
39

P
Phodal Huang 已提交
40 41 42
	g.Expect(len(identifiers)).To(Equal(2))
	g.Expect(identifiers[0].ClassName).To(Equal("Insect"))
	g.Expect(identifiers[1].ClassName).To(Equal("Bee"))
P
Phodal Huang 已提交
43 44 45 46 47 48
}

func TestAddReturnNull(t *testing.T) {
	g := NewGomegaWithT(t)

	identApp := NewJavaIdentifierApp()
P
Phodal Huang 已提交
49
	identifiers := identApp.AnalysisPath(filepath.FromSlash("../../../_fixtures/evaluate/null"))
P
Phodal Huang 已提交
50

51 52
	g.Expect(identifiers[0].Methods[1].IsReturnNull).To(Equal(true))
	g.Expect(identifiers[0].Methods[2].IsReturnNull).To(Equal(true))
P
Phodal Huang 已提交
53 54 55 56 57 58
}

func TestStaticMethod(t *testing.T) {
	g := NewGomegaWithT(t)

	identApp := NewJavaIdentifierApp()
P
Phodal Huang 已提交
59
	identifiers := identApp.AnalysisPath(filepath.FromSlash("../../../_fixtures/suggest/static"))
P
Phodal Huang 已提交
60 61 62

	g.Expect(identifiers[0].Methods[0].Modifiers[0]).To(Equal("public"))
	g.Expect(identifiers[0].Methods[0].Modifiers[1]).To(Equal("static"))
P
Phodal Huang 已提交
63 64 65 66 67 68
}

func TestModifierLength(t *testing.T) {
	g := NewGomegaWithT(t)

	identApp := NewJavaIdentifierApp()
P
Phodal Huang 已提交
69
	identifiers := identApp.AnalysisPath(filepath.FromSlash("../../../_fixtures/bs/ComplexIf.java"))
P
Phodal Huang 已提交
70 71

	g.Expect(len(identifiers[0].Methods[0].Modifiers)).To(Equal(1))
P
Phodal Huang 已提交
72
}