mirror of
https://github.com/mudler/luet.git
synced 2025-08-01 23:41:37 +00:00
Drop State from package
Also tests for Clone()
This commit is contained in:
parent
9f3f715324
commit
caa7c788ec
@ -26,7 +26,7 @@ import (
|
||||
// FIXME: Currently some of the methods are returning DefaultPackages due to JSON serialization of the package
|
||||
type Package interface {
|
||||
Encode() (string, error)
|
||||
SetState(state State) Package
|
||||
|
||||
BuildFormula() ([]bf.Formula, error)
|
||||
IsFlagged(bool) Package
|
||||
Flagged() bool
|
||||
@ -95,26 +95,23 @@ func (p *DefaultPackage) Encode() (string, error) {
|
||||
return NewInMemoryDatabase().CreatePackage(p)
|
||||
}
|
||||
|
||||
func (p *DefaultPackage) WithState(state State) Package {
|
||||
return p.Clone().SetState(state)
|
||||
}
|
||||
func (p *DefaultPackage) IsFlagged(b bool) Package {
|
||||
p.IsSet = b
|
||||
return p
|
||||
}
|
||||
|
||||
func (p *DefaultPackage) Flagged() bool {
|
||||
return p.IsSet
|
||||
}
|
||||
|
||||
func (p *DefaultPackage) GetName() string {
|
||||
return p.Name
|
||||
}
|
||||
|
||||
func (p *DefaultPackage) GetVersion() string {
|
||||
return p.Version
|
||||
}
|
||||
func (p *DefaultPackage) SetState(state State) Package {
|
||||
p.State = state
|
||||
return p
|
||||
}
|
||||
|
||||
func (p *DefaultPackage) GetRequires() []*DefaultPackage {
|
||||
return p.PackageRequires
|
||||
}
|
||||
|
@ -97,4 +97,25 @@ var _ = Describe("Package", func() {
|
||||
Expect(f[1].String()).To(Equal("or(not(1c6f6460), not(039f5fc3))"))
|
||||
})
|
||||
})
|
||||
|
||||
Context("Clone", func() {
|
||||
a1 := NewPackage("A", "1.0", []*DefaultPackage{}, []*DefaultPackage{})
|
||||
a11 := NewPackage("A", "1.1", []*DefaultPackage{}, []*DefaultPackage{})
|
||||
a := NewPackage("A", ">=1.0", []*DefaultPackage{a1}, []*DefaultPackage{a11})
|
||||
|
||||
It("Clones correctly", func() {
|
||||
a2 := a.Clone()
|
||||
Expect(a2.GetVersion()).To(Equal(a.GetVersion()))
|
||||
Expect(a2.GetName()).To(Equal(a.GetName()))
|
||||
Expect(a2.Flagged()).To(Equal(a.Flagged()))
|
||||
Expect(a2.GetFingerPrint()).To(Equal(a.GetFingerPrint()))
|
||||
Expect(len(a2.GetConflicts())).To(Equal(len(a.GetConflicts())))
|
||||
Expect(len(a2.GetRequires())).To(Equal(len(a.GetRequires())))
|
||||
Expect(len(a2.GetRequires())).To(Equal(1))
|
||||
Expect(len(a2.GetConflicts())).To(Equal(1))
|
||||
Expect(a2.GetConflicts()[0].GetName()).To(Equal(a11.GetName()))
|
||||
Expect(a2.GetRequires()[0].GetName()).To(Equal(a1.GetName()))
|
||||
})
|
||||
|
||||
})
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user