def test_retrieve_with_custom_composite(self): cf_std = ColumnFamily(pool, "CustomComposite1") cf_cust = ColumnFamily(pool, "CustomComposite1") cf_cust.column_name_class = CompositeType(TestCustomComposite.IntDateType(), TestCustomComposite.IntString()) std_col = (20120312, "321") cust_col = (date(2012, 3, 12), 321) cf_std.insert("cust_insert_key_2", {std_col: "cust_insert_val_2"}) assert_equal(cf_cust.get("cust_insert_key_2"), {cust_col: "cust_insert_val_2"})
def test_insert_with_custom_composite(self): cf_std = ColumnFamily(pool, 'CustomComposite1') cf_cust = ColumnFamily(pool, 'CustomComposite1') cf_cust.column_name_class = CompositeType( TestCustomComposite.IntDateType(), TestCustomComposite.IntString()) std_col = (20120311, '321') cust_col = (date(2012, 3, 11), 321) cf_cust.insert('cust_insert_key_1', {cust_col: 'cust_insert_val_1'}) assert_equal(cf_std.get('cust_insert_key_1'), {std_col: 'cust_insert_val_1'})
def test_composite_slicing(self): cf_std = ColumnFamily(pool, 'CustomComposite1') cf_cust = ColumnFamily(pool, 'CustomComposite1') cf_cust.column_name_class = CompositeType( TestCustomComposite.IntDateType(), TestCustomComposite.IntString2()) col0 = (20120101, '123') col1 = (20120102, '123') col2 = (20120102, '456') col3 = (20120102, '789') col4 = (20120103, '123') dt0 = date(2012, 1, 1) dt1 = date(2012, 1, 2) dt2 = date(2012, 1, 3) col0_cust = (dt0, 123) col1_cust = (dt1, 123) col2_cust = (dt1, 456) col3_cust = (dt1, 789) col4_cust = (dt2, 123) cf_std.insert('key2', {col0: '', col1: '', col2: '', col3: '', col4: ''}) def check(column_start, column_finish, col_reversed=False): result = cf_cust.get('key2', column_start=column_start, column_finish=column_finish, column_reversed=col_reversed) assert_equal(result, {col1_cust: '', col2_cust: '', col3_cust: ''}) # Defaults should be inclusive on both ends check((dt1,), (dt1,)) check((dt1,), (dt1,), True) check(((dt1, True),), ((dt1, True),)) check((dt1,), ((dt2, False),)) check(((dt1, True),), ((dt2, False),)) check(((dt0, False),), ((dt2, False),)) check((dt1, 123), (dt1, 789)) check((dt1, 123), (dt1, (789, True))) check((dt1, (123, True)), ((dt2, False),)) # Test inclusive ends for reversed check(((dt1, True),), ((dt1, True),), True) check( (dt1,), ((dt1, True),), True) check(((dt1, True),), (dt1,), True) # Test exclusive ends for reversed check(((dt2, False),), ((dt0, False),), True) check(((dt2, False),), (dt1,), True) check((dt1,), ((dt0, False),), True)
def test_composite_slicing(self): cf_std = ColumnFamily(pool, 'CustomComposite1') cf_cust = ColumnFamily(pool, 'CustomComposite1') cf_cust.column_name_class = CompositeType( TestCustomComposite.IntDateType(), TestCustomComposite.IntString2()) col0 = (20120101, '123') col1 = (20120102, '123') col2 = (20120102, '456') col3 = (20120102, '789') col4 = (20120103, '123') dt0 = date(2012, 1, 1) dt1 = date(2012, 1, 2) dt2 = date(2012, 1, 3) col0_cust = (dt0, 123) col1_cust = (dt1, 123) col2_cust = (dt1, 456) col3_cust = (dt1, 789) col4_cust = (dt2, 123) cf_std.insert('key2', {col0: '', col1: '', col2: '', col3: '', col4: ''}) result = cf_cust.get('key2', column_start=((dt1, True),), column_finish=((dt1, True),)) assert_equal(result, {col1_cust: '', col2_cust: '', col3_cust: ''}) result = cf_cust.get('key2', column_start=(dt1,), column_finish=((dt2, False), )) assert_equal(result, {col1_cust: '', col2_cust: '', col3_cust: ''}) result = cf_cust.get('key2', column_start=((dt1, True),), column_finish=((dt2, False), )) assert_equal(result, {col1_cust: '', col2_cust: '', col3_cust: ''}) result = cf_cust.get('key2', column_start=(dt1, ), column_finish=((dt2, False), )) assert_equal(result, {col1_cust: '', col2_cust: '', col3_cust: ''}) result = cf_cust.get('key2', column_start=((dt0, False), ), column_finish=((dt2, False), )) assert_equal(result, {col1_cust: '', col2_cust: '', col3_cust: ''}) result = cf_cust.get('key2', column_start=(dt1, 123), column_finish=(dt1, 789)) assert_equal(result, {col1_cust: '', col2_cust: '', col3_cust: ''}) result = cf_cust.get('key2', column_start=(dt1, 123), column_finish=(dt1, (789, True))) assert_equal(result, {col1_cust: '', col2_cust: '', col3_cust: ''}) result = cf_cust.get('key2', column_start=(dt1, (123, True)), column_finish=((dt2, False), )) assert_equal(result, {col1_cust: '', col2_cust: '', col3_cust: ''})