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 })