Skip to content

Commit 9a3e7f5

Browse files
committed
Add tests
1 parent b61e9a8 commit 9a3e7f5

File tree

4 files changed

+84
-11
lines changed

4 files changed

+84
-11
lines changed

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6+
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7+
8+
9+
## [Unreleased](https://github.com/gravitton/x/compare/v1.0.0...master)
10+
11+
12+
## v1.0.0 (2025-10-17)
13+
### Added
14+
- Added `Heap` container implementation from proposal [#47632](https://github.com/golang/go/issues/47632)
15+
- Added `Queue` container implementation
16+
- Added `Map` function for slices
17+
- Added function for sorted slices
18+
- `Insert`
19+
- `Delete`
20+
- `Contains`
21+

reflect/reflect.go

Lines changed: 0 additions & 11 deletions
This file was deleted.

slices/slices_test.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package slices
2+
3+
import (
4+
"testing"
5+
6+
"github.com/gravitton/assert"
7+
)
8+
9+
func TestMap(t *testing.T) {
10+
si := []int{1, 2, 3}
11+
s1 := Map(si, func(i int) int {
12+
return i
13+
})
14+
15+
assert.Equal(t, s1, si)
16+
assert.NotSame(t, s1, si)
17+
18+
s2 := Map([]int{1, 2, 3}, func(i int) int {
19+
return 10 + i*2
20+
})
21+
22+
assert.Equal(t, s2, []int{12, 14, 16})
23+
}

slices/sort_test.go

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package slices
2+
3+
import (
4+
"testing"
5+
6+
"github.com/gravitton/assert"
7+
)
8+
9+
func TestInsert(t *testing.T) {
10+
ss := []int{1, 3, 5}
11+
12+
s1 := Insert(ss, 6, false)
13+
assert.NotSame(t, s1, ss)
14+
assert.Equal(t, s1, []int{1, 3, 5, 6})
15+
16+
s2 := Insert(s1, 6, true)
17+
assert.Same(t, s2, s1)
18+
assert.Equal(t, s2, []int{1, 3, 5, 6})
19+
20+
s3 := Insert(ss, 2, false)
21+
assert.Equal(t, s3, []int{1, 2, 3, 5})
22+
}
23+
24+
func TestDelete(t *testing.T) {
25+
ss := []int{1, 3, 5}
26+
27+
s1 := Delete(ss, 2)
28+
assert.Same(t, s1, ss)
29+
assert.Equal(t, s1, []int{1, 3, 5})
30+
31+
s2 := Delete(ss, 3)
32+
assert.Equal(t, s2, []int{1, 5})
33+
}
34+
35+
func TestContains(t *testing.T) {
36+
ss := []int{1, 3, 5}
37+
38+
assert.True(t, Contains(ss, 3))
39+
assert.False(t, Contains(ss, 2))
40+
}

0 commit comments

Comments
 (0)