1
0
mirror of https://github.com/MontFerret/ferret.git synced 2025-07-15 01:25:00 +02:00

Added element syncrhonization

This commit is contained in:
Tim Voronov
2018-09-27 00:26:56 -04:00
parent 59d5e3c111
commit 447f9504a9
8 changed files with 404 additions and 23 deletions

View File

@ -271,4 +271,89 @@ func TestArray(t *testing.T) {
So(len(s2), ShouldEqual, arr.Length()-2)
})
})
Convey(".Insert", t, func() {
Convey("Should insert an item in the middle of an array", func() {
arr := values.NewArrayWith(
values.NewInt(0),
values.NewInt(1),
values.NewInt(2),
values.NewInt(3),
values.NewInt(4),
values.NewInt(5),
)
lenBefore := arr.Length()
arr.Insert(3, values.NewInt(100))
lenAfter := arr.Length()
So(lenAfter, ShouldBeGreaterThan, lenBefore)
So(arr.Get(3), ShouldEqual, 100)
})
})
Convey(".RemoveAt", t, func() {
Convey("Should remove an item from the middle", func() {
arr := values.NewArrayWith(
values.NewInt(0),
values.NewInt(1),
values.NewInt(2),
values.NewInt(3),
values.NewInt(4),
values.NewInt(5),
)
lenBefore := arr.Length()
arr.RemoveAt(3)
lenAfter := arr.Length()
So(lenAfter, ShouldBeLessThan, lenBefore)
So(arr.Get(3), ShouldEqual, 4)
})
Convey("Should remove an item from the end", func() {
arr := values.NewArrayWith(
values.NewInt(0),
values.NewInt(1),
values.NewInt(2),
values.NewInt(3),
values.NewInt(4),
values.NewInt(5),
)
lenBefore := arr.Length()
arr.RemoveAt(5)
lenAfter := arr.Length()
So(lenAfter, ShouldBeLessThan, lenBefore)
So(lenAfter, ShouldEqual, 5)
So(arr.Get(4), ShouldEqual, 4)
})
Convey("Should remove an item from the beginning", func() {
arr := values.NewArrayWith(
values.NewInt(0),
values.NewInt(1),
values.NewInt(2),
values.NewInt(3),
values.NewInt(4),
values.NewInt(5),
)
lenBefore := arr.Length()
arr.RemoveAt(0)
lenAfter := arr.Length()
So(lenAfter, ShouldBeLessThan, lenBefore)
So(arr.Get(0), ShouldEqual, 1)
})
})
}