spec/dydx_spec.rb in dydx-0.1.4 vs spec/dydx_spec.rb in dydx-0.1.25
- old
+ new
@@ -3,18 +3,37 @@
describe Dydx do
it 'has a version number' do
expect(Dydx::VERSION).not_to be nil
end
- it 'demo' do
- f(x, y) <= x + x * y + y
- expect(f(x, y)).to eq(x * (1 + y) + y)
- expect(f(a, 2)).to eq(3 * a + 2)
- expect(f(1, a + b)).to eq(1 + 2 * ( a + b ))
- expect(f(1, 2)).to eq(5)
- expect(d/dx(f(x, y))).to eq(1 + y)
+ context 'ex1' do
+ $a = (:x ^ :n)
+ let(:d1){ da/dx }
+ let(:d2){ d/dx($a) }
+ it{ expect(d1.to_s).to eq('( n * ( x ^ ( n - 1 ) ) )') }
+ it{ expect(d2.to_s).to eq('( n * ( x ^ ( n - 1 ) ) )') }
+ end
- g(x) <= sin(x)
- expect(d/dx(g(x))).to eq(cos(x))
- expect(S(g(x), dx)[0, pi / 2]).to eq(1.0)
+ context 'ex2' do
+ $b = (:x ^ (:x * 2))
+ let(:d1){ db/dx }
+ let(:d2){ d/dx($b) }
+ it{ expect(d1.to_s).to eq('( ( x * 2 ) * ( x ^ ( ( x * 2 ) - 1 ) ) )') }
+ it{ expect(d2.to_s).to eq('( ( x * 2 ) * ( x ^ ( ( x * 2 ) - 1 ) ) )') }
+ end
+
+ context 'ex3' do
+ $c = (:t ^ 2) / 2
+ let(:d1){ dc/dt }
+ let(:d2){ d/dt($c) }
+ it{ expect(d1.to_s).to eq('t') }
+ it{ expect(d2.to_s).to eq('t') }
+ end
+
+ context 'ex4' do
+ $i = 2 * (e ^ (2 * :z))
+ let(:d1){ di/dz }
+ let(:d2){ d/dz($i) }
+ it{ expect(d1.to_s).to eq('( 4 * ( e ^ ( 2 * z ) ) )') }
+ it{ expect(d2.to_s).to eq('( 4 * ( e ^ ( 2 * z ) ) )') }
end
end