describe "PM::Table utils" do before do @subject = TestTableScreen.new @subject.on_load @subject.update_table_data end it "should convert an index path to a section index" do index_path = NSIndexPath.indexPathForRow(12, inSection:2) given = {index_path: index_path} expected = { index_path: index_path, section: 2, index: 12 } @subject.index_path_to_section_index(given).should == expected end it "return the original param when converting an index path with incorrect values" do @subject.index_path_to_section_index(17).should == 17 end it "should properly determine if all members of an array are the same class" do @subject.array_all_members_of?([1, 2, 3, 4], Fixnum).should == true @subject.array_all_members_of?(["string", 'string2'], String).should == true @subject.array_all_members_of?([:sym1, :sym2, :sym3], Symbol).should == true @subject.array_all_members_of?([1, 2, 3, 4, 'String'], Fixnum).should == false @subject.array_all_members_of?([4.4, 2], Fixnum).should == false end end