Sha256: df04c457f83b1706c493b7be65dd21014d00bc687c22b143884770f9eae0512c

Contents?: true

Size: 1.21 KB

Versions: 35

Compression:

Stored size: 1.21 KB

Contents

require 'test_helper'

class CassandraObject::AttributeMethodsTest < CassandraObject::TestCase
  test 'read and write attributes' do
    issue = Issue.new
    assert_nil issue.read_attribute(:description)

    issue.write_attribute(:description, nil)
    assert_nil issue.read_attribute(:description)

    issue.write_attribute(:description, 'foo')
    assert_equal 'foo', issue.read_attribute(:description)
  end

  test 'hash accessor aliases' do
    issue = Issue.new

    issue[:description] = 'bar'

    assert_equal 'bar', issue[:description]
  end

  test 'attributes setter' do
    issue = Issue.new

    issue.attributes = {
      description: 'foo'
    }

    assert_equal 'foo', issue.description
  end

  class ChildIssue < Issue
    def title=(val)
      self[:title] = val + ' lol'
    end
  end

  test 'override' do
    issue = ChildIssue.new(title: 'hey')

    assert_equal 'hey lol', issue.title
  end

  # test 'attribute_exists' do
  #   assert !Issue.new.attribute_exists?(:description)
  #   assert Issue.new(description: nil).attribute_exists?(:description)
  #   assert Issue.new(description: false).attribute_exists?(:description)
  #   assert Issue.new(description: 'hey').attribute_exists?(:description)
  # end
end

Version data entries

35 entries across 35 versions & 2 rubygems

Version Path
extendi-cassandra_object-1.1.1 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.1.0 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.0.20 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.0.19 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.0.18 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.0.17 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.0.16 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.0.15 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.0.14 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.0.13 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.0.12 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.0.11 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.0.10 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.0.9 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.0.8 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.0.7 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.0.6 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.0.5 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.0.4 test/unit/attribute_methods_test.rb
extendi-cassandra_object-1.0.1 test/unit/attribute_methods_test.rb