test/factbase/test_looged.rb in factbase-0.0.45 vs test/factbase/test_looged.rb in factbase-0.0.46
- old
+ new
@@ -20,10 +20,11 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
require 'minitest/autorun'
require 'loog'
+require_relative '../../lib/factbase'
require_relative '../../lib/factbase/looged'
# Test.
# Author:: Yegor Bugayenko (yegor256@gmail.com)
# Copyright:: Copyright (c) 2024 Yegor Bugayenko
@@ -43,19 +44,28 @@
assert_equal(1, found)
assert_equal(2, fb.size)
end
def test_with_txn
- fb = Factbase::Looged.new(Factbase.new, Loog::NULL)
+ log = Loog::Buffer.new
+ fb = Factbase::Looged.new(Factbase.new, log)
assert(
fb.txn do |fbt|
fbt.insert.foo = 42
end
)
assert_equal(1, fb.size)
+ assert(log.to_s.include?('modified'), log)
end
+ def test_with_empty_txn
+ log = Loog::Buffer.new
+ fb = Factbase::Looged.new(Factbase.new, log)
+ assert(!fb.txn { |fbt| fbt.query('(always)').each.to_a })
+ assert(log.to_s.include?('didn\'t touch'), log)
+ end
+
def test_returns_int
fb = Factbase.new
fb.insert
fb.insert
assert_equal(2, Factbase::Looged.new(fb, Loog::NULL).query('(always)').each(&:to_s))
@@ -100,10 +110,10 @@
'Inserted new fact #1',
'Inserted new fact #2',
'Set \'bar\' to 3 (Integer)',
'Set \'str\' to "Он поскорей звонит. Вбегает\n ... Отъехать в поле к двум дубкам." (String)',
'Found 1 fact(s) by \'(exists bar)\'',
- 'Deleted 3 fact(s) by \'(not (exists bar))\''
+ 'Deleted 3 fact(s) out of 4 by \'(not (exists bar))\''
].each do |s|
assert(log.to_s.include?(s), "#{log}\n")
end
end
end