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

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

Loading…
Cancel
Save