Extract Reverse func

master
Peter Stuifzand 6 years ago
parent 7a064d33df
commit c9925a4320

@ -139,11 +139,7 @@ func (h *indexHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
indexPage.Me = sess.Me
if len(moments) > 0 {
a := moments
for i := len(a)/2 - 1; i >= 0; i-- {
opp := len(a) - 1 - i
a[i], a[opp] = a[opp], a[i]
}
Reverse(moments)
lastMoment := moments[0]
indexPage.LastMomentSeconds = lastMoment.Time.Unix()
}

@ -12,4 +12,13 @@ func RandStringBytes(n int) string {
b[i] = letterBytes[rand.Intn(len(letterBytes))]
}
return string(b)
}
}
func Reverse(moments []Moment) {
a := moments
for i := len(a)/2 - 1; i >= 0; i-- {
opp := len(a) - 1 - i
a[i], a[opp] = a[opp], a[i]
}
}

@ -0,0 +1,30 @@
package main
import (
"testing"
"time"
)
func TestReverse(t *testing.T) {
moments := []Moment{
{Key: "2018-01-01", Memo: "test", Time: time.Now()},
{Key: "2018-01-02", Memo: "test2", Time: time.Now()},
{Key: "2018-01-03", Memo: "test3", Time: time.Now()},
{Key: "2018-01-04", Memo: "test4", Time: time.Now()},
}
Reverse(moments)
if moments[0].Key != "2018-01-04" {
t.Errorf("wrong 1st key %q != %q", moments[0].Key, "2018-01-04")
}
if moments[1].Key != "2018-01-03" {
t.Errorf("wrong 2nd key %q != %q", moments[1].Key, "2018-01-03")
}
if moments[2].Key != "2018-01-02" {
t.Errorf("wrong 3rd key %q != %q", moments[2].Key, "2018-01-02")
}
if moments[3].Key != "2018-01-01" {
t.Errorf("wrong 4th key %q != %q", moments[3].Key, "2018-01-01")
}
}
Loading…
Cancel
Save