I have the model MessageBoard acts_as_list for Forum, but for some reason, the function move_higher/lower doesn''t seem to do its job in the test file I wrote for forum_test.rb: ----------------------------------- def test_board_up forum = Forum.new(:title => ''basic'') assert forum.valid?, "forum is invalid, expect more failures" assert_equal forum.title, ''basic'' board = [] #initialize three boards in this order: #1, #3, #2 #board array holds = [#1, #2, #3] board[0] = forum.message_boards.build(:title => ''#1'', :description => ''one'') board[2] = forum.message_boards.build(:title => ''#3'', :description => ''three'') board[1] = forum.message_boards.build(:title => ''#2'', :description => ''two'') #save, just in case forum.save # move the index #2 lower (so that it''s less than #3) forum.message_boards[2].move_lower # and save. forum.save board_temp = forum.message_boards board_temp.each{|b| puts "\ntest_board_up order #{b.title}"} for num in 0..2 assert_equal board_temp[num].title, board[num].title assert_equal board_temp[num].description, board[num].description end forum.destroy end def test_board_down forum = Forum.new(:title => ''basic'') assert forum.valid?, "forum is invalid, expect more failures" assert_equal forum.title, ''basic'' board = [] #initialize three boards in this order: #1, #3, #2 #board array holds = [#1, #2, #3] board[0] = forum.message_boards.build(:title => ''#1'', :description => ''one'') board[2] = forum.message_boards.build(:title => ''#3'', :description => ''three'') board[1] = forum.message_boards.build(:title => ''#2'', :description => ''two'') #save, just in case forum.save # move the index #3 higher (so that it''s greater than #2) forum.message_boards[1].move_higher # and save. forum.save board_temp = forum.message_boards board_temp.each{|b| puts "\ntest_board_down order #{b.title}"} for num in 0..2 assert_equal board_temp[num].title, board[num].title assert_equal board_temp[num].description, board[num].description end forum.destroy end ----------------------------------- Loaded suite forum_test Started . test_board_down order #1 test_board_down order #3 test_board_down order #2 F. test_board_up order #1 test_board_up order #3 test_board_up order #2 F...... Finished in 0.615307 seconds. 1) Failure: test_board_down(ForumTest) [forum_test.rb:152:in `test_board_down'' forum_test.rb:151:in `each'' forum_test.rb:151:in `test_board_down'']: <"#3"> expected but was <"#2">. 2) Failure: test_board_up(ForumTest) [forum_test.rb:125:in `test_board_up'' forum_test.rb:124:in `each'' forum_test.rb:124:in `test_board_up'']: <"#3"> expected but was <"#2">. 10 tests, 43 assertions, 2 failures, 0 errors ----------------------------------- While it may be possible I confused myself with the first test, and thus, see no activity there, the second test SHOULD result in some change. I saved object forum before calling move_higher in the middle index, then saved again. However, according to my puts statement, nothing seemed to have happened at all in the middle index! Why is that? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On 9 Jan 2008, at 13:26, Taro wrote:> > I have the model MessageBoard acts_as_list for Forum, but for some > reason, the function move_higher/lower doesn''t seem to do its job in > the test file I wrote for forum_test.rb:move_higher/lower are calling update_all : you''ll need to reload forum.message_boards to see any change. Fred> > ----------------------------------- > def test_board_up > forum = Forum.new(:title => ''basic'') > assert forum.valid?, "forum is invalid, expect more failures" > assert_equal forum.title, ''basic'' > board = [] > #initialize three boards in this order: #1, #3, #2 > #board array holds = [#1, #2, #3] > board[0] = forum.message_boards.build(:title => ''#1'', > :description => ''one'') > board[2] = forum.message_boards.build(:title => ''#3'', > :description => ''three'') > board[1] = forum.message_boards.build(:title => ''#2'', > :description => ''two'') > #save, just in case > forum.save > # move the index #2 lower (so that it''s less than #3) > forum.message_boards[2].move_lower > # and save. > forum.save > board_temp = forum.message_boards > board_temp.each{|b| puts "\ntest_board_up order #{b.title}"} > for num in 0..2 > assert_equal board_temp[num].title, board[num].title > assert_equal board_temp[num].description, board[num].description > end > forum.destroy > end > > def test_board_down > forum = Forum.new(:title => ''basic'') > assert forum.valid?, "forum is invalid, expect more failures" > assert_equal forum.title, ''basic'' > board = [] > #initialize three boards in this order: #1, #3, #2 > #board array holds = [#1, #2, #3] > board[0] = forum.message_boards.build(:title => ''#1'', > :description => ''one'') > board[2] = forum.message_boards.build(:title => ''#3'', > :description => ''three'') > board[1] = forum.message_boards.build(:title => ''#2'', > :description => ''two'') > #save, just in case > forum.save > # move the index #3 higher (so that it''s greater than #2) > forum.message_boards[1].move_higher > # and save. > forum.save > board_temp = forum.message_boards > board_temp.each{|b| puts "\ntest_board_down order #{b.title}"} > for num in 0..2 > assert_equal board_temp[num].title, board[num].title > assert_equal board_temp[num].description, board[num].description > end > forum.destroy > end > ----------------------------------- > Loaded suite forum_test > Started > . > test_board_down order #1 > > test_board_down order #3 > > test_board_down order #2 > F. > test_board_up order #1 > > test_board_up order #3 > > test_board_up order #2 > F...... > Finished in 0.615307 seconds. > > 1) Failure: > test_board_down(ForumTest) > [forum_test.rb:152:in `test_board_down'' > forum_test.rb:151:in `each'' > forum_test.rb:151:in `test_board_down'']: > <"#3"> expected but was > <"#2">. > > 2) Failure: > test_board_up(ForumTest) > [forum_test.rb:125:in `test_board_up'' > forum_test.rb:124:in `each'' > forum_test.rb:124:in `test_board_up'']: > <"#3"> expected but was > <"#2">. > > 10 tests, 43 assertions, 2 failures, 0 errors > ----------------------------------- > > While it may be possible I confused myself with the first test, and > thus, see no activity there, the second test SHOULD result in some > change. I saved object forum before calling move_higher in the middle > index, then saved again. However, according to my puts statement, > nothing seemed to have happened at all in the middle index! Why is > that? > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Ahhh....I see. Yes it works, thank you! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Out of curiosity, where can I find that method in the rails framework documentation? Being able to see the source would really help! On Jan 9, 8:35 am, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> On 9 Jan 2008, at 13:26, Taro wrote: > > > > > I have the model MessageBoard acts_as_list for Forum, but for some > > reason, the function move_higher/lower doesn''t seem to do its job in > > the test file I wrote for forum_test.rb: > > move_higher/lower are calling update_all : you''ll need to reload > forum.message_boards to see any change. > > Fred > > > > > ----------------------------------- > > def test_board_up > > forum = Forum.new(:title => ''basic'') > > assert forum.valid?, "forum is invalid, expect more failures" > > assert_equal forum.title, ''basic'' > > board = [] > > #initialize three boards in this order: #1, #3, #2 > > #board array holds = [#1, #2, #3] > > board[0] = forum.message_boards.build(:title => ''#1'', > > :description => ''one'') > > board[2] = forum.message_boards.build(:title => ''#3'', > > :description => ''three'') > > board[1] = forum.message_boards.build(:title => ''#2'', > > :description => ''two'') > > #save, just in case > > forum.save > > # move the index #2 lower (so that it''s less than #3) > > forum.message_boards[2].move_lower > > # and save. > > forum.save > > board_temp = forum.message_boards > > board_temp.each{|b| puts "\ntest_board_up order #{b.title}"} > > for num in 0..2 > > assert_equal board_temp[num].title, board[num].title > > assert_equal board_temp[num].description, board[num].description > > end > > forum.destroy > > end > > > def test_board_down > > forum = Forum.new(:title => ''basic'') > > assert forum.valid?, "forum is invalid, expect more failures" > > assert_equal forum.title, ''basic'' > > board = [] > > #initialize three boards in this order: #1, #3, #2 > > #board array holds = [#1, #2, #3] > > board[0] = forum.message_boards.build(:title => ''#1'', > > :description => ''one'') > > board[2] = forum.message_boards.build(:title => ''#3'', > > :description => ''three'') > > board[1] = forum.message_boards.build(:title => ''#2'', > > :description => ''two'') > > #save, just in case > > forum.save > > # move the index #3 higher (so that it''s greater than #2) > > forum.message_boards[1].move_higher > > # and save. > > forum.save > > board_temp = forum.message_boards > > board_temp.each{|b| puts "\ntest_board_down order #{b.title}"} > > for num in 0..2 > > assert_equal board_temp[num].title, board[num].title > > assert_equal board_temp[num].description, board[num].description > > end > > forum.destroy > > end > > ----------------------------------- > > Loaded suite forum_test > > Started > > . > > test_board_down order #1 > > > test_board_down order #3 > > > test_board_down order #2 > > F. > > test_board_up order #1 > > > test_board_up order #3 > > > test_board_up order #2 > > F...... > > Finished in 0.615307 seconds. > > > 1) Failure: > > test_board_down(ForumTest) > > [forum_test.rb:152:in `test_board_down'' > > forum_test.rb:151:in `each'' > > forum_test.rb:151:in `test_board_down'']: > > <"#3"> expected but was > > <"#2">. > > > 2) Failure: > > test_board_up(ForumTest) > > [forum_test.rb:125:in `test_board_up'' > > forum_test.rb:124:in `each'' > > forum_test.rb:124:in `test_board_up'']: > > <"#3"> expected but was > > <"#2">. > > > 10 tests, 43 assertions, 2 failures, 0 errors > > ----------------------------------- > > > While it may be possible I confused myself with the first test, and > > thus, see no activity there, the second test SHOULD result in some > > change. I saved object forum before calling move_higher in the middle > > index, then saved again. However, according to my puts statement, > > nothing seemed to have happened at all in the middle index! Why is > > that?--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---