SongList容器

SongList容器class Song
SongList容器  def initialize(name, artist, duration)
SongList容器    @name=name
SongList容器    @artist=artist
SongList容器    @duration=duration
SongList容器  end
SongList容器  
SongList容器  attr_accessor :name, :duration, :artist 
SongList容器end
SongList容器
class KaraokeSong < Song
SongList容器  def initialize(name, artist, duration, lyrics)
SongList容器    super(name, artist, duration)
SongList容器    @lyrics=lyrics
SongList容器  end
SongList容器    
SongList容器  attr_writer :lyrics 
SongList容器  attr_reader :lyrics
SongList容器    
SongList容器end
SongList容器
class SongList
SongList容器  
SongList容器  def initialize
SongList容器    @songs= Array.new
SongList容器  end
SongList容器  
SongList容器  def append(song)
SongList容器    @songs.push(song)
SongList容器    self
SongList容器  end
SongList容器  
SongList容器  def delete_first
SongList容器    @songs.shift
SongList容器  end
SongList容器  
SongList容器  def delete_last
SongList容器    @songs.pop
SongList容器  end
SongList容器  
SongList容器  def [](index)
SongList容器    @songs[index]
SongList容器  end
SongList容器end
SongList容器
require 'test/unit'
SongList容器class TestSongList < Test::Unit::TestCase
SongList容器  def test_delete
SongList容器    list = SongList.new
SongList容器    s1 =Song.new('title1','artist1',1)
SongList容器    s2 =Song.new('title2','artist2',2)
SongList容器    s3 =Song.new('title3','artist3',3)
SongList容器    s4 =Song.new('title4','artist4',4)
SongList容器    
SongList容器    list.append(s1).append(s2).append(s3).append(s4)
SongList容器    
SongList容器    assert_equal(s1, list[0])
SongList容器    assert_equal(s3,list[2])
SongList容器    assert_nil(list[9])
SongList容器
    assert_equal(s1,list.delete_first)
SongList容器    assert_equal(s2,list.delete_first)
SongList容器    assert_equal(s4,list.delete_last)
SongList容器    assert_equal(s3,list.delete_last)
SongList容器  end
SongList容器end
SongList容器




本文转自 fsjoy1983 51CTO博客,原文链接:http://blog.51cto.com/fsjoy/64010,如需转载请自行联系原作者
上一篇:如何基于编排工具打造可扩展的容器环境


下一篇:渗透测试 对文件上传安全检测与webshell分析