require File.join(File.dirname(__FILE__), '..', 'test_helper')
class TestXMLRequired < ActiveSupport::TestCase
def setup
@full_book = <
This & that
Johnny
BOOK
@book_missing_attr = <
This & that
Johnny
BOOK
@book_missing_text = <
Johnny
BOOK
@book_missing_array = <
This & that
BOOK
@book_missing_hash = <
This & that
Johnny
BOOK
end
def test_required_passes_on_prescence
BookWithRequired.from_xml(@full_book)
end
def test_required_throws_on_attr_absence
assert_raise ROXML::RequiredElementMissing do
BookWithRequired.from_xml(@book_missing_attr)
end
end
def test_required_throws_on_text_absence
assert_raise ROXML::RequiredElementMissing do
BookWithRequired.from_xml(@book_missing_text)
end
end
def test_required_throws_on_array_absence
assert_raise ROXML::RequiredElementMissing do
BookWithRequired.from_xml(@book_missing_array)
end
end
def test_required_throws_on_hash_absence
assert_raise ROXML::RequiredElementMissing do
BookWithRequired.from_xml(@book_missing_hash)
end
end
end