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