Class: AdLint::Cc1::NontrivialTestEvidence

Inherits:
TestEvidence show all
Defined in:
lib/adlint/cc1/value.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from TestEvidence

#emit_context_messages

Constructor Details

#initialize(exact) ⇒ NontrivialTestEvidence

Returns a new instance of NontrivialTestEvidence.



1862
1863
1864
1865
1866
# File 'lib/adlint/cc1/value.rb', line 1862

def initialize(exact)
  @exact = exact
  @positive_contribs = []
  @negative_contribs = []
end

Instance Attribute Details

#negative_contribsObject (readonly)

Returns the value of attribute negative_contribs.



1869
1870
1871
# File 'lib/adlint/cc1/value.rb', line 1869

def negative_contribs
  @negative_contribs
end

#positive_contribsObject (readonly)

Returns the value of attribute positive_contribs.



1868
1869
1870
# File 'lib/adlint/cc1/value.rb', line 1868

def positive_contribs
  @positive_contribs
end

Instance Method Details

#add_negative_contributor(mval) ⇒ Object



1884
1885
1886
# File 'lib/adlint/cc1/value.rb', line 1884

def add_negative_contributor(mval)
  @negative_contribs.push(mval)
end

#add_positive_contributor(mval) ⇒ Object



1880
1881
1882
# File 'lib/adlint/cc1/value.rb', line 1880

def add_positive_contributor(mval)
  @positive_contribs.push(mval)
end

#fulfilled?Boolean

Returns:

  • (Boolean)


1871
1872
1873
1874
1875
1876
1877
1878
# File 'lib/adlint/cc1/value.rb', line 1871

def fulfilled?
  if @exact
    @negative_contribs.any? { |mval| mval._base.tag.traceable? }
  else
    @positive_contribs.any? { |mval| mval._base.tag.traceable? } &&
      @negative_contribs.any? { |mval| mval._base.tag.traceable? }
  end
end