- iterator tests

- container_test fix
pull/12/head
Emir Pasic 9 years ago
parent 342ccbef84
commit 6fefe7cc24

@ -34,28 +34,28 @@ import (
) )
// For testing purposes // For testing purposes
type Container struct { type ContainerTest struct {
values []interface{} values []interface{}
} }
func (container Container) Empty() bool { func (container ContainerTest) Empty() bool {
return len(container.values) == 0 return len(container.values) == 0
} }
func (container Container) Size() int { func (container ContainerTest) Size() int {
return len(container.values) return len(container.values)
} }
func (container Container) Clear() { func (container ContainerTest) Clear() {
container.values = []interface{}{} container.values = []interface{}{}
} }
func (container Container) Values() []interface{} { func (container ContainerTest) Values() []interface{} {
return container.values return container.values
} }
func TestGetSortedValuesInts(t *testing.T) { func TestGetSortedValuesInts(t *testing.T) {
container := Container{} container := ContainerTest{}
container.values = []interface{}{5, 1, 3, 2, 4} container.values = []interface{}{5, 1, 3, 2, 4}
values := GetSortedValues(container, utils.IntComparator) values := GetSortedValues(container, utils.IntComparator)
for i := 1; i < container.Size(); i++ { for i := 1; i < container.Size(); i++ {
@ -66,7 +66,7 @@ func TestGetSortedValuesInts(t *testing.T) {
} }
func TestGetSortedValuesStrings(t *testing.T) { func TestGetSortedValuesStrings(t *testing.T) {
container := Container{} container := ContainerTest{}
container.values = []interface{}{"g", "a", "d", "e", "f", "c", "b"} container.values = []interface{}{"g", "a", "d", "e", "f", "c", "b"}
values := GetSortedValues(container, utils.StringComparator) values := GetSortedValues(container, utils.StringComparator)
for i := 1; i < container.Size(); i++ { for i := 1; i < container.Size(); i++ {

@ -55,19 +55,20 @@ type Iterator struct {
} }
func (list *List) Iterator() Iterator { func (list *List) Iterator() Iterator {
return Iterator{list: list, current: 0} return Iterator{list: list, current: -1}
} }
func (iterator *Iterator) Next() bool { func (iterator *Iterator) Next() bool {
return false iterator.current += 1
return iterator.list.withinRange(iterator.current)
} }
func (iterator *Iterator) Value() interface{} { func (iterator *Iterator) Value() interface{} {
return nil return iterator.list.elements[iterator.current]
} }
func (iterator *Iterator) Index() interface{} { func (iterator *Iterator) Index() interface{} {
return nil return iterator.list.elements[iterator.current]
} }
const ( const (

Loading…
Cancel
Save