123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- package feed
- import (
- "servitor/object"
- "servitor/pub"
- "testing"
- )
- var post1, _ = pub.NewPostFromObject(object.Object{
- "type": "Note",
- "content": "Here from post1",
- }, nil)
- var post2, _ = pub.NewPostFromObject(object.Object{
- "type": "Video",
- "content": "Here from post2",
- }, nil)
- func TestCreate(t *testing.T) {
- feed := Create(post1)
- shouldBePost1 := feed.Get(0)
- if shouldBePost1 != post1 {
- t.Fatalf("Center Posts differ after Create, is %#v but should be %#v", shouldBePost1, post1)
- }
- }
- func TestCreateCreateAndAppend(t *testing.T) {
- feed := CreateAndAppend([]pub.Tangible{post1})
- shouldBePost1 := feed.Get(0)
- if shouldBePost1 != post1 {
- t.Fatalf("Posts differed after create centerless, is %#v but should be %#v", shouldBePost1, post1)
- }
- defer func() {
- if recover() == nil {
- t.Fatalf("After create centerless, Get(0) should have panicked but did not")
- }
- }()
- feed.Get(-1)
- }
- func TestAppend(t *testing.T) {
- feed := Create(post1)
- feed.Append([]pub.Tangible{post2})
- shouldBePost1 := feed.Get(0)
- shouldBePost2 := feed.Get(1)
- if shouldBePost1 != post1 {
- t.Fatalf("Center Posts differ after Append, is %#v but should be %#v", shouldBePost1, post1)
- }
- if shouldBePost2 != post2 {
- t.Fatalf("Appended posts differ, is %#v but should be %#v", shouldBePost2, post2)
- }
- }
- func TestPrepend(t *testing.T) {
- feed := Create(post1)
- feed.Prepend([]pub.Tangible{post2})
- shouldBePost1 := feed.Get(0)
- shouldBePost2 := feed.Get(-1)
- if shouldBePost1 != post1 {
- t.Fatalf("Center Posts differ after Prepend, is %#v but should be %#v", shouldBePost1, post1)
- }
- if shouldBePost2 != post2 {
- t.Fatalf("Prepended posts differ, is %#v but should be %#v", shouldBePost2, post2)
- }
- }
- func TestMoveDown(t *testing.T) {
- feed := CreateAndAppend([]pub.Tangible{post1, post2})
- feed.MoveDown()
- shouldBePost2 := feed.Current()
- if shouldBePost2 != post2 {
- t.Fatalf("is %#v but should be %#v", shouldBePost2, post2)
- }
- shouldBePost1 := feed.Get(-1)
- if shouldBePost1 != post1 {
- t.Fatalf("is %#v but should be %#v", shouldBePost1, post1)
- }
- defer func() {
- if recover() == nil {
- t.Fatalf("Get(1) should have panicked but did not")
- }
- }()
- feed.Get(1)
-
- feed.MoveDown()
- shouldBePost2 = feed.Current()
- if shouldBePost2 != post2 {
- t.Fatalf("is %#v but should be %#v", shouldBePost2, post2)
- }
- shouldBePost1 = feed.Get(-1)
- if shouldBePost1 != post1 {
- t.Fatalf("is %#v but should be %#v", shouldBePost1, post1)
- }
- defer func() {
- if recover() == nil {
- t.Fatalf("Get(1) should have panicked but did not")
- }
- }()
- feed.Get(1)
- }
- func TestMoveUp(t *testing.T) {
- feed := Create(post1)
- feed.Prepend([]pub.Tangible{post2})
- feed.MoveUp()
- shouldBePost2 := feed.Current()
- if shouldBePost2 != post2 {
- t.Fatalf("is %#v but should be %#v", shouldBePost2, post2)
- }
- shouldBePost1 := feed.Get(1)
- if shouldBePost1 != post1 {
- t.Fatalf("is %#v but should be %#v", shouldBePost1, post1)
- }
- defer func() {
- if recover() == nil {
- t.Fatalf("Get(-1) should have panicked but did not")
- }
- }()
- feed.Get(-1)
-
- feed.MoveUp()
- shouldBePost2 = feed.Current()
- if shouldBePost2 != post2 {
- t.Fatalf("is %#v but should be %#v", shouldBePost2, post2)
- }
- shouldBePost1 = feed.Get(1)
- if shouldBePost1 != post1 {
- t.Fatalf("is %#v but should be %#v", shouldBePost1, post1)
- }
- defer func() {
- if recover() == nil {
- t.Fatalf("Get(-1) should have panicked but did not")
- }
- }()
- feed.Get(-1)
- }
|