github.com/petergtz/pegomock@v2.9.1-0.20230424204322-eb0e044013df+incompatible/modelgen/loader/loader_test.go (about)

     1  package loader_test
     2  
     3  import (
     4  	. "github.com/onsi/ginkgo"
     5  	. "github.com/onsi/gomega"
     6  
     7  	. "github.com/petergtz/pegomock/modelgen/loader"
     8  )
     9  
    10  var _ = Describe("Loader", func() {
    11  	Describe("GenerateModel", func() {
    12  		It("finds all methods within interface", func() {
    13  			pkg, e := GenerateModel("io", "Reader")
    14  			Expect(e).NotTo(HaveOccurred())
    15  			Expect(pkg.Interfaces).To(HaveLen(1))
    16  			Expect(pkg.Interfaces[0].Name).To(Equal("Reader"))
    17  			Expect(pkg.Interfaces[0].Methods).To(HaveLen(1))
    18  			Expect(pkg.Interfaces[0].Methods[0].Name).To(Equal("Read"))
    19  		})
    20  
    21  		Context("using an interface with embedded interfaces", func() {
    22  			It("finds all methods", func() {
    23  				pkg, e := GenerateModel("io", "ReadCloser")
    24  				Expect(e).NotTo(HaveOccurred())
    25  				Expect(pkg.Interfaces).To(HaveLen(1))
    26  				Expect(pkg.Interfaces[0].Name).To(Equal("ReadCloser"))
    27  				Expect(pkg.Interfaces[0].Methods).To(HaveLen(2))
    28  				Expect(pkg.Interfaces[0].Methods[0].Name).To(Equal("Read"))
    29  				Expect(pkg.Interfaces[0].Methods[1].Name).To(Equal("Close"))
    30  
    31  			})
    32  		})
    33  	})
    34  })