From a775c800bc4463def88923e76b35d4e1146bdb73 Mon Sep 17 00:00:00 2001 From: Gil Brandao Date: Fri, 10 Dec 2010 10:24:10 +0000 Subject: [PATCH] original proxy tests (passing) --- .../lib/radia_source/lightweight/original.rb | 68 +++++-------------- .../test/unit/lightweight/original_test.rb | 41 +++++++++++ 2 files changed, 57 insertions(+), 52 deletions(-) create mode 100644 scheduler/test/unit/lightweight/original_test.rb diff --git a/scheduler/lib/radia_source/lightweight/original.rb b/scheduler/lib/radia_source/lightweight/original.rb index 5506e81..a88cccf 100644 --- a/scheduler/lib/radia_source/lightweight/original.rb +++ b/scheduler/lib/radia_source/lightweight/original.rb @@ -3,66 +3,30 @@ module LightWeight class Original < Broadcast - attr_accessor :program - def initialize(args=nil) - super(args) - unless args.nil? - @program = args[:program] - @structure_template = args[:structure_template] - end - end - - def program - return po.nil? ? @program : @po.program - end - - def program= x - if @po.nil? - return @program = x - end - return @po.program = x - end - - def structure_template - return po.nil? ? @structure_template : @po.structure_template - end + proxy_accessor :program, :structure_template - def structure_template= x - if @po.nil? - return @structure_template = x - end - return @po.structure_template = x + def initialize(args={}) + super args end def similar? bc return false unless bc.kind_of? self.class - super(bc) and @program == bc.program and @structure_template == bc.structure_template + super(bc) and program == bc.program and structure_template == bc.structure_template end - def save - super do - if @po.nil? - @po = create_persistent_object( - :program_schedule => Kernel::ProgramSchedule.active_instance, - :dtstart => @dtstart, - :dtend => @dtend, - :program => @program, - :structure_template => @structure_template ) - end - end - end - def po! - if @po.nil? - @po = create_persistent_object( - :program_schedule => Kernel::ProgramSchedule.active_instance, - :dtstart => @dtstart, - :dtend => @dtend, - :program => @program, - :structure_template => @structure_template ) - end - @po - end + #def save + # super do + # if @po.nil? + # @po = create_persistent_object( + # :program_schedule => Kernel::ProgramSchedule.active_instance, + # :dtstart => @dtstart, + # :dtend => @dtend, + # :program => @program, + # :structure_template => @structure_template ) + # end + # end + #end end diff --git a/scheduler/test/unit/lightweight/original_test.rb b/scheduler/test/unit/lightweight/original_test.rb new file mode 100644 index 0000000..05103fc --- /dev/null +++ b/scheduler/test/unit/lightweight/original_test.rb @@ -0,0 +1,41 @@ +require File.dirname(__FILE__) + '/../../test_helper' + +NS=RadiaSource::LightWeight + +class OrginalTest < ActiveSupport::TestCase + fixtures :programs, :structure_templates + + + def test_proxy_methods + assert NS::Original.instance_methods.include? "program" + assert NS::Original.instance_methods.include? "program=" + assert NS::Original.instance_methods.include? "structure_template" + assert NS::Original.instance_methods.include? "structure_template=" + end + + def test_save + t = Time.now + original = NS::Original.new :dtstart => t, :dtend => t + 30.minutes, + :program => Program.first,:structure_template => StructureTemplate.first + + assert original.save + + o2 = Original.find original.po.id + + assert_equal o2.program, original.program + end + + def test_similar? + orig1 = NS::Original.new_from_persistent_object Original.first + orig2 = NS::Original.new_from_persistent_object Original.first + + assert orig1.similar?(orig2) + + # I expect at least 2 structure templates from fixtures!!! + orig2.structure_template = StructureTemplate.last + + assert_not_equal orig1.structure_template, orig2.structure_template + assert !orig1.similar?(orig2) + end +end +