spec/lib/danica/function_spec.rb in danica-0.3.0 vs spec/lib/danica/function_spec.rb in danica-1.0.0
- old
+ new
@@ -2,11 +2,11 @@
describe Danica::Function do
class Danica::Function
class Spatial < Danica::Function
attr_accessor :time, :acceleration, :initial_space, :initial_velocity
- delegate :to_tex, to: :sum
+ delegate :to_tex, :to_gnu, to: :sum
private
def sum
@sum ||= Sum.new(variables: parcels)
@@ -32,25 +32,36 @@
Power.new(base: time, exponent: 2)
end
end
end
+ let(:variables) do
+ {
+ time: :t,
+ acceleration: 'a',
+ initial_space: { name: :S0, latex: 'S_0' },
+ initial_velocity: { name: :V0, latex: 'V_0' }
+ }
+ end
+
+ let(:subject) { described_class::Spatial.new(variables) }
+
describe '#to_tex' do
context 'when creating the spatial function for constantly accelerated movement' do
- let(:variables) do
- {
- time: :t,
- acceleration: 'a',
- initial_space: { name: :S0, latex: 'S_0' },
- initial_velocity: { name: :V0, latex: 'V_0' }
- }
- end
-
- let(:subject) { described_class::Spatial.new(variables) }
let(:expected) { 'S_0 + V_0 \cdot t + \frac{a \cdot t^{2}}{2}' }
it 'return the latex format CAM' do
expect(subject.to_tex).to eq(expected)
+ end
+ end
+ end
+
+ describe '#to_gnu' do
+ context 'when creating the spatial function for constantly accelerated movement' do
+ let(:expected) { 'S0 + V0 * t + a * t**2/2' }
+
+ it 'return the latex format CAM' do
+ expect(subject.to_gnu).to eq(expected)
end
end
end
end