|
80 | 80 | end
|
81 | 81 | end
|
82 | 82 |
|
83 |
| - context 'modifying datasets' do |
| 83 | + context 'safe datasets update' do |
84 | 84 | before do
|
85 | 85 | @plot_math = Plot.new(['sin(x)', title: 'Just a sin'])
|
86 | 86 | @dataset = Dataset.new('exp(-x)')
|
|
173 | 173 | end
|
174 | 174 | end
|
175 | 175 |
|
| 176 | + context 'destructive datasets update' do |
| 177 | + before :each do |
| 178 | + @plot = Plot.new('sin(x)') |
| 179 | + end |
| 180 | + |
| 181 | + it 'should update datasets in the existing Plot' do |
| 182 | + expect(@plot.update_dataset!(lw: 3)).to equal(@plot) |
| 183 | + expect(@plot.datasets[0].lw).to eql(3) |
| 184 | + end |
| 185 | + |
| 186 | + it 'should replace dataset in the existing Plot' do |
| 187 | + expect(@plot.replace_dataset!('exp(x)')).to equal(@plot) |
| 188 | + expect(@plot.datasets[0].data).to eql('exp(x)') |
| 189 | + @plot[0] = 'cos(x)' |
| 190 | + expect(@plot.datasets[0].data).to eql('cos(x)') |
| 191 | + end |
| 192 | + |
| 193 | + it 'should add datasets to the existing Plot' do |
| 194 | + expect(@plot.add_dataset!('exp(x)')).to equal(@plot) |
| 195 | + expect(@plot.datasets[0].data).to eql('exp(x)') |
| 196 | + expect(@plot.datasets[1].data).to eql('sin(x)') |
| 197 | + end |
| 198 | + |
| 199 | + it 'should remove dataset from the existing Plot' do |
| 200 | + @plot.add_dataset!(1, 'exp(x)', 'cos(x)') |
| 201 | + expect(@plot.datasets.size).to eql(3) |
| 202 | + expect(@plot.remove_dataset!).to equal(@plot) |
| 203 | + expect(@plot.datasets.size).to eql(2) |
| 204 | + expect(@plot.datasets[0].data).to eql('sin(x)') |
| 205 | + expect(@plot.datasets[1].data).to eql('exp(x)') |
| 206 | + expect(@plot.datasets[2]).to be nil |
| 207 | + end |
| 208 | + end |
| 209 | + |
176 | 210 | context '#to_iruby' do
|
177 | 211 | it 'should handle output to iRuby' do
|
178 | 212 | available_terminals = {
|
|
0 commit comments