From 9d1c25702d42869af0a7cec7428fd130c6483375 Mon Sep 17 00:00:00 2001 From: Jeffrey Phillips Freeman <the@jeffreyfreeman.me> Date: Thu, 17 Aug 2023 02:48:15 -0400 Subject: [PATCH] Moved seen to seen? --- lib/apex/frame/hop.rb | 4 +--- lib/apex/frame/immutable_hop.rb | 17 ++++++++++------- lib/apex/frame/immutable_path.rb | 4 ++-- spec/apex/frame/hop_spec.rb | 26 +++++++++++++------------- 4 files changed, 26 insertions(+), 25 deletions(-) diff --git a/lib/apex/frame/hop.rb b/lib/apex/frame/hop.rb index ca54411..d5cf965 100644 --- a/lib/apex/frame/hop.rb +++ b/lib/apex/frame/hop.rb @@ -6,8 +6,6 @@ module Apex include Apex::Entity include Abstractify::Abstract - abstract :toggle_seen, :decrement_ssid, :==, :eql?, :to_s - - attr_reader :seen + abstract :toggle_seen, :decrement_ssid, :==, :eql?, :to_s, :seen? end end diff --git a/lib/apex/frame/immutable_hop.rb b/lib/apex/frame/immutable_hop.rb index 79d6b6e..4645b81 100644 --- a/lib/apex/frame/immutable_hop.rb +++ b/lib/apex/frame/immutable_hop.rb @@ -6,8 +6,6 @@ module Apex class ImmutableHop < Apex::ImmutableEntity include Hop - attr_reader :seen - public def initialize(callsign, ssid, seen) @@ -51,16 +49,21 @@ module Apex return Apex::ImmutableHop.new(callsign, ssid, seen) end + public + def seen? + return @seen + end + public def toggle_seen - return Apex::ImmutableHop.new(self.callsign, self.ssid, !self.seen) + return Apex::ImmutableHop.new(self.callsign, self.ssid, !self.seen?) end public def decrement_ssid raise RangeError.new("SSID can not be decremented when it is currently 0 or nil") if (self.ssid.nil?) or (self.ssid <= 0) - return Apex::ImmutableHop.new(self.callsign, self.ssid - 1, self.seen) + return Apex::ImmutableHop.new(self.callsign, self.ssid - 1, self.seen?) end public @@ -74,8 +77,8 @@ module Apex def ==(other) return false if !super(other) - return false if not other.respond_to? :seen - return false if not self.seen.eql? other.seen + return false if not other.respond_to? :seen? + return false if not self.seen?.eql? other.seen? return true end @@ -83,7 +86,7 @@ module Apex public def to_s ret_val = super.dup - ret_val << "*" if self.seen + ret_val << "*" if self.seen? return ret_val end end diff --git a/lib/apex/frame/immutable_path.rb b/lib/apex/frame/immutable_path.rb index c402f7d..9c75a9a 100644 --- a/lib/apex/frame/immutable_path.rb +++ b/lib/apex/frame/immutable_path.rb @@ -13,8 +13,8 @@ module Apex hops.each do |hop| raise ArgumentError.new("All arguments must not be nil: #{hops.to_s}") if (hop.nil?) raise ArgumentError.new("All arguments must be of type Hop: #{hops.class.to_s}") if not hop.kind_of? Apex::Hop - raise ArgumentError.new("A seen hop can not follow an unseen hop") if (hop.seen) && (!last_seen) - last_seen = false if not hop.seen + raise ArgumentError.new("A seen hop can not follow an unseen hop") if (hop.seen?) && (!last_seen) + last_seen = false if not hop.seen? @path_array << hop end diff --git a/spec/apex/frame/hop_spec.rb b/spec/apex/frame/hop_spec.rb index 4f3c95d..e3af2b2 100644 --- a/spec/apex/frame/hop_spec.rb +++ b/spec/apex/frame/hop_spec.rb @@ -60,7 +60,7 @@ class HopEquiv end public - def seen + def seen? return true end end @@ -80,7 +80,7 @@ describe Apex::Hop do expect(hop.ssid).to eql(BASE_HOP_SSID) end it "set the seen property correctly" do - expect(hop.seen).to eql(BASE_HOP_SEEN) + expect(hop.seen?).to eql(BASE_HOP_SEEN) end end context "Given a valid callsign with nil ssid and with seen flag" do @@ -96,7 +96,7 @@ describe Apex::Hop do expect(hop.ssid).to eql(NOSSID_HOP_SSID) end it "set the seen property correctly" do - expect(hop.seen).to eql(NOSSID_HOP_SEEN) + expect(hop.seen?).to eql(NOSSID_HOP_SEEN) end end context "Given a valid callsign with zero for ssid and with seen flag" do @@ -112,7 +112,7 @@ describe Apex::Hop do expect(hop.ssid).to be_nil end it "set the seen property correctly" do - expect(hop.seen).to eql(ZEROSSID_HOP_SEEN) + expect(hop.seen?).to eql(ZEROSSID_HOP_SEEN) end end context "Given an invalid callsign with valid ssid and valid seen flag" do @@ -205,7 +205,7 @@ describe Apex::Hop do expect(hop.ssid).to eql(BASE_HOP_SSID) end it "set seen correctly" do - expect(hop.seen).to eql(BASE_HOP_SEEN) + expect(hop.seen?).to eql(BASE_HOP_SEEN) end end context "Given a valid callsign with ssid and without seen flag" do @@ -221,7 +221,7 @@ describe Apex::Hop do expect(hop.ssid).to eql(UNSEEN_HOP_SSID) end it "the seen field was parssed correctly" do - expect(hop.seen).to eql(UNSEEN_HOP_SEEN) + expect(hop.seen?).to eql(UNSEEN_HOP_SEEN) end end context "Given a valid callsign with 0 ssid and with seen flag" do @@ -237,7 +237,7 @@ describe Apex::Hop do expect(hop.ssid).to be_nil end it "the seen field was parssed correctly" do - expect(hop.seen).to eql(ZEROSSID_HOP_SEEN) + expect(hop.seen?).to eql(ZEROSSID_HOP_SEEN) end end context "Given a valid callsign with nil ssid and with seen flag" do @@ -253,7 +253,7 @@ describe Apex::Hop do expect(hop.ssid).to eql(NOSSID_HOP_SSID) end it "the seen field was parssed correctly" do - expect(hop.seen).to eql(NOSSID_HOP_SEEN) + expect(hop.seen?).to eql(NOSSID_HOP_SEEN) end end context "Given a valid callsign without ssid and without seen flag" do @@ -269,7 +269,7 @@ describe Apex::Hop do expect(hop.ssid).to eql(NOSSID_UNSEEN_HOP_SSID) end it "the seen field was parssed correctly" do - expect(hop.seen).to eql(NOSSID_UNSEEN_HOP_SEEN) + expect(hop.seen?).to eql(NOSSID_UNSEEN_HOP_SEEN) end end context "Given an invalid callsign with valid ssid and valid seen flag" do @@ -371,10 +371,10 @@ describe Apex::Hop do expect(hop).to_not eql(toggled_hop) end it "should have opposite value of seen" do - expect(toggled_hop.seen).to eql(!hop.seen) + expect(toggled_hop.seen?).to eql(!hop.seen?) end it "should have false for seen" do - expect(toggled_hop.seen).to be_falsey + expect(toggled_hop.seen?).to be_falsey end end end @@ -386,10 +386,10 @@ describe Apex::Hop do expect(hop).to_not eql(new_hop) end it "should have opposite value of seen" do - expect(new_hop.seen).to eql(!hop.seen) + expect(new_hop.seen?).to eql(!hop.seen?) end it "should have true for seen" do - expect(new_hop.seen).to be_truthy + expect(new_hop.seen?).to be_truthy end end end -- GitLab