Skip to content

Commit f823c38

Browse files
committed
Tests for functions
1 parent be4bf07 commit f823c38

File tree

1 file changed

+224
-0
lines changed

1 file changed

+224
-0
lines changed

spec/functions_spec.rb

Lines changed: 224 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,229 @@
4242
end
4343
end
4444

45+
describe '#csc' do
46+
context 'calculation of csc pi div 2' do
47+
it 'returns one' do
48+
f = SymEngine::csc(@pi/2)
49+
expect(f).to eql(1)
50+
end
51+
end
52+
end
53+
54+
describe '#sec' do
55+
context 'calculation of sec pi' do
56+
it 'returns minus one' do
57+
f = SymEngine::sec(@pi)
58+
expect(f).to eql(-1)
59+
end
60+
end
61+
end
62+
63+
describe '#cot' do
64+
context 'calculation of cot pi div 4' do
65+
it 'returns one' do
66+
f = SymEngine::cot(@pi/4)
67+
expect(f).to eql(1)
68+
end
69+
end
70+
end
71+
72+
describe '#asin' do
73+
context 'calculation of asin 1' do
74+
it 'returns pi div 2' do
75+
f = SymEngine::asin(1)
76+
expect(f).to eql(@pi/2)
77+
end
78+
end
79+
end
80+
81+
describe '#acos' do
82+
context 'calculation of acos 1' do
83+
it 'returns zer0' do
84+
f = SymEngine::acos(1)
85+
expect(f).to eql(0)
86+
end
87+
end
88+
end
89+
90+
describe '#atan' do
91+
context 'calculation of atan 1' do
92+
it 'returns pi div 4' do
93+
f = SymEngine::atan(1)
94+
expect(f).to eql(@pi/4)
95+
end
96+
end
97+
end
98+
99+
describe '#acsc' do
100+
context 'calculation of acsc 1' do
101+
it 'returns pi div 2' do
102+
f = SymEngine::acsc(1)
103+
expect(f).to eql(@pi/2)
104+
end
105+
end
106+
end
107+
108+
describe '#asec' do
109+
context 'calculation of asec 1' do
110+
it 'returns zero' do
111+
f = SymEngine::asec(@pi)
112+
expect(f).to eql(0)
113+
end
114+
end
115+
end
116+
117+
describe '#acot' do
118+
context 'calculation of acot 1' do
119+
it 'returns pi div 4' do
120+
f = SymEngine::acot(1)
121+
expect(f).to eql(@pi/4)
122+
end
123+
end
124+
end
125+
126+
describe '#sinh' do
127+
context 'calculation of sinh zero' do
128+
it 'returns zero' do
129+
f = SymEngine::sinh(0)
130+
expect(f).to eql(0)
131+
end
132+
end
133+
end
134+
135+
describe '#cosh' do
136+
context 'calculation of cosh zero' do
137+
it 'returns one' do
138+
f = SymEngine::cosh(0)
139+
expect(f).to eql(1)
140+
end
141+
end
142+
end
143+
144+
describe '#tanh' do
145+
context 'calculation of tanh zero' do
146+
it 'returns zero' do
147+
f = SymEngine::tanh(0)
148+
expect(f).to eql(0)
149+
end
150+
end
151+
end
152+
153+
describe '#csch' do
154+
context 'calculation of csch 1' do
155+
it 'returns csch(1)' do
156+
f = SymEngine::csch(@pi/2)
157+
expect(f.to_s).to eql('csch(1)')
158+
end
159+
end
160+
end
161+
162+
describe '#sech' do
163+
context 'calculation of sech zero' do
164+
it 'returns one' do
165+
f = SymEngine::sech(0)
166+
expect(f).to eql(1)
167+
end
168+
end
169+
end
170+
171+
describe '#coth' do
172+
context 'calculation of coth 1' do
173+
it 'returns coth(1)' do
174+
expect(f.to_s).to eql('coth(1)')
175+
end
176+
end
177+
end
178+
179+
describe '#asinh' do
180+
context 'calculation of asinh zero' do
181+
it 'returns 0' do
182+
f = SymEngine::asinh(0)
183+
expect(f).to eql(0)
184+
end
185+
end
186+
end
187+
188+
describe '#acosh' do
189+
context 'calculation of acosh 1' do
190+
it 'returns zero' do
191+
f = SymEngine::acosh(1)
192+
expect(f).to eql(0)
193+
end
194+
end
195+
end
196+
197+
describe '#atanh' do
198+
context 'calculation of atanh zero' do
199+
it 'returns zero' do
200+
f = SymEngine::atanh(0)
201+
expect(f).to eql(0)
202+
end
203+
end
204+
end
205+
206+
describe '#acsch' do
207+
context 'calculation of acsch 1' do
208+
it 'returns log(1 + 2**(1/2))' do
209+
f = SymEngine::acsch(1)
210+
expect(f.to_s).to eql('log(1 + 2**(1/2))')
211+
end
212+
end
213+
end
214+
215+
describe '#asech' do
216+
context 'calculation of asech 1' do
217+
it 'returns zero' do
218+
f = SymEngine::asech(1)
219+
expect(f).to eql(0)
220+
end
221+
end
222+
end
223+
224+
describe '#acoth' do
225+
context 'calculation of acoth 1' do
226+
it 'returns acoth(1)' do
227+
f = SymEngine::acot(1)
228+
expect(f.to_s).to eql('acoth(1)')
229+
end
230+
end
231+
end
232+
233+
describe '#lambertw' do
234+
context 'calculation of lambertw e**-1' do
235+
it 'returns -1' do
236+
f = SymEngine::atanh(@e**-1)
237+
expect(f).to eql(-1)
238+
end
239+
end
240+
end
241+
242+
describe '#zeta' do
243+
context 'calculation of zeta zero' do
244+
it 'returns minus half' do
245+
f = SymEngine::zeta(1)
246+
expect(f).to eql(-1/2)
247+
end
248+
end
249+
end
250+
251+
describe '#dirichlet_eta' do
252+
context 'calculation of dirichlet_eta 1' do
253+
it 'returns log(2)' do
254+
f = SymEngine::dirichlet_eta(1)
255+
expect(f.to_s).to eql('log(2)')
256+
end
257+
end
258+
end
259+
260+
describe '#gamma' do
261+
context 'calculation of gamma 1' do
262+
it 'returns one' do
263+
f = SymEngine::gamma(1)
264+
expect(f.to_s).to eql('1')
265+
end
266+
end
267+
end
268+
45269
end
46270
end

0 commit comments

Comments
 (0)