spec/test-ships.cr: tests are passing.
This commit is contained in:
parent
61020dfd59
commit
39b427886f
@ -71,11 +71,11 @@ describe "DODB::DataBase" do
|
|||||||
end
|
end
|
||||||
|
|
||||||
# The two #each test iteration.
|
# The two #each test iteration.
|
||||||
db.each_with_index do |item, index|
|
db.each_with_key do |item, index|
|
||||||
item.should eq Ship.all_ships[index]
|
item.should eq Ship.all_ships[index]
|
||||||
end
|
end
|
||||||
|
|
||||||
db.each_with_index(reversed: true) do |item, index|
|
db.each_with_key(reversed: true) do |item, index|
|
||||||
item.should eq Ship.all_ships[index]
|
item.should eq Ship.all_ships[index]
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -90,11 +90,11 @@ describe "DODB::DataBase" do
|
|||||||
db << ship
|
db << ship
|
||||||
end
|
end
|
||||||
|
|
||||||
db.to_a(start_offset: 0, end_offset: 0)[0]?.should eq Ship.mutsuki
|
db.to_a(offset: 0, limit: 1)[0]?.should eq Ship.mutsuki
|
||||||
db.to_a(start_offset: 1, end_offset: 1)[0]?.should eq Ship.kisaragi
|
db.to_a(offset: 1, limit: 1)[0]?.should eq Ship.kisaragi
|
||||||
db.to_a(start_offset: 2, end_offset: 2)[0]?.should eq Ship.yayoi
|
db.to_a(offset: 2, limit: 1)[0]?.should eq Ship.yayoi
|
||||||
|
|
||||||
db.to_a(start_offset: 0, end_offset: 2).should eq [
|
db.to_a(offset: 0, limit: 3).should eq [
|
||||||
Ship.mutsuki, Ship.kisaragi, Ship.yayoi
|
Ship.mutsuki, Ship.kisaragi, Ship.yayoi
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
@ -362,7 +362,7 @@ describe "DODB::DataBase" do
|
|||||||
new_ships_by_class = new_db.new_partition "class", &.klass
|
new_ships_by_class = new_db.new_partition "class", &.klass
|
||||||
new_ships_by_tags = new_db.new_tags "tags", &.tags
|
new_ships_by_tags = new_db.new_tags "tags", &.tags
|
||||||
|
|
||||||
old_db.each_with_index do |ship, index|
|
old_db.each_with_key do |ship, index|
|
||||||
new_ship = Ship.new ship.name,
|
new_ship = Ship.new ship.name,
|
||||||
klass: ship.class_name,
|
klass: ship.class_name,
|
||||||
id: ship.id,
|
id: ship.id,
|
||||||
@ -376,7 +376,7 @@ describe "DODB::DataBase" do
|
|||||||
# At this point, the conversion is done, so… we’re making a few
|
# At this point, the conversion is done, so… we’re making a few
|
||||||
# arbitrary tests on the new data.
|
# arbitrary tests on the new data.
|
||||||
|
|
||||||
old_db.each_with_index do |old_ship, old_index|
|
old_db.each_with_key do |old_ship, old_index|
|
||||||
ship = new_db[old_index]
|
ship = new_db[old_index]
|
||||||
|
|
||||||
ship.id.should eq(old_ship.id)
|
ship.id.should eq(old_ship.id)
|
||||||
@ -555,11 +555,11 @@ describe "DODB::CachedDataBase" do
|
|||||||
end
|
end
|
||||||
|
|
||||||
# The two #each test iteration.
|
# The two #each test iteration.
|
||||||
db.each_with_index do |item, index|
|
db.each_with_key do |item, index|
|
||||||
item.should eq Ship.all_ships[index]
|
item.should eq Ship.all_ships[index]
|
||||||
end
|
end
|
||||||
|
|
||||||
db.each_with_index(reversed: true) do |item, index|
|
db.each_with_key(reversed: true) do |item, index|
|
||||||
item.should eq Ship.all_ships[index]
|
item.should eq Ship.all_ships[index]
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -576,11 +576,11 @@ describe "DODB::CachedDataBase" do
|
|||||||
db << ship
|
db << ship
|
||||||
end
|
end
|
||||||
|
|
||||||
db.to_a(start_offset: 0, end_offset: 0)[0]?.should eq Ship.mutsuki
|
db.to_a(offset: 0, limit: 1)[0]?.should eq Ship.mutsuki
|
||||||
db.to_a(start_offset: 1, end_offset: 1)[0]?.should eq Ship.kisaragi
|
db.to_a(offset: 1, limit: 1)[0]?.should eq Ship.kisaragi
|
||||||
db.to_a(start_offset: 2, end_offset: 2)[0]?.should eq Ship.yayoi
|
db.to_a(offset: 2, limit: 1)[0]?.should eq Ship.yayoi
|
||||||
|
|
||||||
db.to_a(start_offset: 0, end_offset: 2).should eq [
|
db.to_a(offset: 0, limit: 3).should eq [
|
||||||
Ship.mutsuki, Ship.kisaragi, Ship.yayoi
|
Ship.mutsuki, Ship.kisaragi, Ship.yayoi
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -874,7 +874,7 @@ describe "DODB::CachedDataBase" do
|
|||||||
new_ships_by_class = new_db.new_partition "class", &.klass
|
new_ships_by_class = new_db.new_partition "class", &.klass
|
||||||
new_ships_by_tags = new_db.new_tags "tags", &.tags
|
new_ships_by_tags = new_db.new_tags "tags", &.tags
|
||||||
|
|
||||||
old_db.each_with_index do |ship, index|
|
old_db.each_with_key do |ship, index|
|
||||||
new_ship = Ship.new ship.name,
|
new_ship = Ship.new ship.name,
|
||||||
klass: ship.class_name,
|
klass: ship.class_name,
|
||||||
id: ship.id,
|
id: ship.id,
|
||||||
@ -888,7 +888,7 @@ describe "DODB::CachedDataBase" do
|
|||||||
# At this point, the conversion is done, so… we’re making a few
|
# At this point, the conversion is done, so… we’re making a few
|
||||||
# arbitrary tests on the new data.
|
# arbitrary tests on the new data.
|
||||||
|
|
||||||
old_db.each_with_index do |old_ship, old_index|
|
old_db.each_with_key do |old_ship, old_index|
|
||||||
ship = new_db[old_index]
|
ship = new_db[old_index]
|
||||||
|
|
||||||
ship.id.should eq(old_ship.id)
|
ship.id.should eq(old_ship.id)
|
||||||
|
@ -84,6 +84,11 @@ class DODB::CachedDataBase(V) < DODB::Storage(V)
|
|||||||
|
|
||||||
# :inherit:
|
# :inherit:
|
||||||
def each_with_key(reversed : Bool = false, offset = 0, limit : Int32? = -1)
|
def each_with_key(reversed : Bool = false, offset = 0, limit : Int32? = -1)
|
||||||
|
limit = if l = limit
|
||||||
|
l
|
||||||
|
else
|
||||||
|
-1
|
||||||
|
end
|
||||||
(reversed ? @data.reverse : @data).each do |key, v|
|
(reversed ? @data.reverse : @data).each do |key, v|
|
||||||
offset -= 1 if offset >= 0
|
offset -= 1 if offset >= 0
|
||||||
next if offset >= 0
|
next if offset >= 0
|
||||||
|
@ -473,6 +473,12 @@ class DODB::DataBase(V) < DODB::Storage(V)
|
|||||||
def each_with_key(reversed : Bool = false, offset = 0, limit : Int32? = -1)
|
def each_with_key(reversed : Bool = false, offset = 0, limit : Int32? = -1)
|
||||||
dirname = data_path
|
dirname = data_path
|
||||||
|
|
||||||
|
limit = if l = limit
|
||||||
|
l
|
||||||
|
else
|
||||||
|
-1
|
||||||
|
end
|
||||||
|
|
||||||
each_key(reversed) do |key, path|
|
each_key(reversed) do |key, path|
|
||||||
offset -= 1 if offset >= 0
|
offset -= 1 if offset >= 0
|
||||||
next if offset >= 0
|
next if offset >= 0
|
||||||
|
Loading…
Reference in New Issue
Block a user