require 'fluent_plugins_spec_helper' require 'flydata/mysql/binlog_position' module Flydata module Mysql describe BinLogPosition do let(:pos1) { BinLogPosition.new('mysql-bin.000064 107') } let(:pos2) { BinLogPosition.new('mysql-bin.000064 978') } let(:pos3) { BinLogPosition.new('mysql-bin.000065 107') } let(:pos4) { BinLogPosition.new('mysql-bin.000064 1107') } let(:pos5) { BinLogPosition.new('mysql-bin.000064 1107') } it 'should respond to greater than or equal to operator' do expect(pos1.respond_to?('>=')).to be_truthy end context 'when testing greater than or equal to operator' do it 'should return true when it is compared with another object with smaller position value' do expect(pos2 >= pos1).to be_truthy end it 'should return false when it is compared with another object with bigger binlogfile value' do expect(pos2 >= pos3).to be_falsey end it 'should compare the position as an integer (and not string)' do expect(pos2 >= pos4).to be_falsey end it 'should return true when it is compared with another object with equal value' do expect(pos4 >= pos5).to be_truthy end end end end end