Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 573dd6e

Browse files
committed
update quiver test
not sure if this is the correct way of testing PlotlyErrors
1 parent 427d499 commit 573dd6e

File tree

1 file changed

+44
-216
lines changed

1 file changed

+44
-216
lines changed
Lines changed: 44 additions & 216 deletions
Original file line numberDiff line numberDiff line change
@@ -1,223 +1,51 @@
1-
import plotly
2-
from plotly.graph_objs import *
1+
from unittest import TestCase
2+
from plotly.graph_objs import graph_objs, Scatter, Data, Marker, Line, Trace
3+
from plotly.exceptions import PlotlyError
4+
5+
import plotly.plotly as py
36
import plotly.tools as tls
47
from nose.tools import raises
5-
import numpy as np
68

79

8-
@raises(Exception)
9-
def unequal_xy_length():
10+
@raises(PlotlyError)
11+
def test_unequal_xy_length():
1012
data = tls.Quiver(x=[1, 2], y=[1], u=[1, 2], v=[1, 2])
1113

1214

13-
@raises(Exception)
14-
def unequal_uv_length():
15-
data = tls.Quiver(x=[1, 2], y=[1, 3], u=[1], v=[1, 2])
16-
17-
18-
@raises(Exception)
19-
def test_wrong_kwarg():
20-
data = tls.Quiver(stuff='not gonna work')
21-
22-
23-
def test_one_arrow():
24-
nan = np.nan
25-
trace1 = Scatter(
26-
x=[0., 1., nan],
27-
y=[0., 1., nan],
28-
mode='lines',
29-
name='Barb',
30-
line=Line(color='rgb(114, 132, 314)', width=1)
31-
)
32-
trace2 = Scatter(
33-
x=[0.82069826, 1., 0.61548617, nan],
34-
y=[0.61548617, 1., 0.82069826, nan],
35-
mode='lines',
36-
name='Arrow',
37-
line=Line(color='rgb(114, 132, 314)', width=1)
38-
)
39-
expected = Data([trace1, trace2])
40-
41-
data = tls.Quiver(x=[0], y=[0], u=[1], v=[1], scale=1)
42-
43-
np.testing.assert_almost_equal(data[0]['y'], expected[0]['y'])
44-
np.testing.assert_almost_equal(data[0]['x'], expected[0]['x'])
45-
np.testing.assert_almost_equal(data[1]['y'], expected[1]['y'])
46-
np.testing.assert_almost_equal(data[1]['x'], expected[1]['x'])
47-
assert data[0].keys() == expected[0].keys()
48-
49-
50-
def test_complicated():
51-
nan = np.nan
52-
trace1 = Scatter(
53-
x=[0.0, 0.5, nan, 0.0, 0.5, nan, 0.0, 0.5, nan, 0.0, 0.5, nan, 0.0,
54-
.5, nan, 0.0, 0.5, nan, 0.0, 0.5, nan, 0.5, 0.9387912809451864,
55-
nan, 0.5, 0.9387912809451864, nan, 0.5, 0.9387912809451864, nan,
56-
0.5, 0.9387912809451864, nan, 0.5, 0.9387912809451864, nan, 0.5,
57-
0.9387912809451864, nan, 0.5, 0.9387912809451864, nan, 1.0,
58-
1.2701511529340699, nan, 1.0, 1.2701511529340699, nan, 1.0,
59-
1.2701511529340699, nan, 1.0, 1.2701511529340699, nan, 1.0,
60-
1.2701511529340699, nan, 1.0, 1.2701511529340699, nan, 1.0,
61-
1.2701511529340699, nan, 1.5, 1.5353686008338514, nan, 1.5,
62-
1.5353686008338514, nan, 1.5, 1.5353686008338514, nan, 1.5,
63-
1.5353686008338514, nan, 1.5, 1.5353686008338514, nan, 1.5,
64-
1.5353686008338514, nan, 1.5, 1.5353686008338514, nan, 2.0,
65-
1.7919265817264287, nan, 2.0, 1.7919265817264287, nan, 2.0,
66-
1.7919265817264287, nan, 2.0, 1.7919265817264287, nan, 2.0,
67-
1.7919265817264287, nan, 2.0, 1.7919265817264287, nan, 2.0,
68-
1.7919265817264287, nan, 2.5, 2.099428192226533, nan, 2.5,
69-
2.099428192226533, nan, 2.5, 2.099428192226533, nan, 2.5,
70-
2.099428192226533, nan, 2.5, 2.099428192226533, nan, 2.5,
71-
2.099428192226533, nan, 2.5, 2.099428192226533, nan, 3.0,
72-
2.5050037516997774, nan, 3.0, 2.5050037516997774, nan, 3.0,
73-
2.5050037516997774, nan, 3.0, 2.5050037516997774, nan, 3.0,
74-
2.5050037516997774, nan, 3.0, 2.5050037516997774, nan, 3.0,
75-
2.5050037516997774, nan],
76-
y=[0.0, 0.0, nan, 0.5, 0.7397127693021015, nan, 1.0,
77-
1.4207354924039484, nan, 1.5, 1.9987474933020273, nan, 2.0,
78-
2.454648713412841, nan, 2.5, 2.799236072051978, nan, 3.0,
79-
3.0705600040299337, nan, 0.0, 0.0, nan, 0.5, 0.7397127693021015,
80-
nan, 1.0, 1.4207354924039484, nan, 1.5, 1.9987474933020273, nan,
81-
2.0, 2.454648713412841, nan, 2.5, 2.799236072051978, nan, 3.0,
82-
3.0705600040299337, nan, 0.0, 0.0, nan, 0.5, 0.7397127693021015,
83-
nan, 1.0, 1.4207354924039484, nan, 1.5, 1.9987474933020273, nan,
84-
2.0, 2.454648713412841, nan, 2.5, 2.799236072051978, nan, 3.0,
85-
3.0705600040299337, nan, 0.0, 0.0, nan, 0.5, 0.7397127693021015,
86-
nan, 1.0, 1.4207354924039484, nan, 1.5, 1.9987474933020273, nan,
87-
2.0, 2.454648713412841, nan, 2.5, 2.799236072051978, nan, 3.0,
88-
3.0705600040299337, nan, 0.0, 0.0, nan, 0.5, 0.7397127693021015,
89-
nan, 1.0, 1.4207354924039484, nan, 1.5, 1.9987474933020273, nan,
90-
2.0, 2.454648713412841, nan, 2.5, 2.799236072051978, nan, 3.0,
91-
3.0705600040299337, nan, 0.0, 0.0, nan, 0.5, 0.7397127693021015,
92-
nan, 1.0, 1.4207354924039484, nan, 1.5, 1.9987474933020273, nan,
93-
2.0, 2.454648713412841, nan, 2.5, 2.799236072051978, nan, 3.0,
94-
3.0705600040299337, nan, 0.0, 0.0, nan, 0.5, 0.7397127693021015,
95-
nan, 1.0, 1.4207354924039484, nan, 1.5, 1.9987474933020273, nan,
96-
2.0, 2.454648713412841, nan, 2.5, 2.799236072051978, nan, 3.0,
97-
3.0705600040299337, nan],
98-
mode='lines',
99-
name='Barb',
100-
line=Line(color='rgb(114, 132, 314)', width=2)
101-
)
102-
trace2 = Scatter(
103-
x=[0.38451505843608913, 0.5, 0.38451505843608913, nan,
104-
0.40744858477065643, 0.5, 0.3615815321015219, nan,
105-
0.4247671840238289, 0.5, 0.3442629328483494, nan,
106-
0.43223065909116526, 0.5, 0.33679945778101306, nan,
107-
0.42801169097838865, 0.5, 0.3410184258937896, nan,
108-
0.4131432302211637, 0.5, 0.3558868866510146, nan,
109-
0.39126559456855653, 0.5, 0.37776452230362173, nan,
110-
0.8374437100677695, 0.9387912809451864, 0.8374437100677695, nan,
111-
0.8603772364023368, 0.9387912809451864, 0.8145101837332023, nan,
112-
0.8776958356555092, 0.9387912809451864, 0.7971915844800297, nan,
113-
0.8851593107228456, 0.9387912809451864, 0.7897281094126934, nan,
114-
0.880940342610069, 0.9387912809451864, 0.79394707752547, nan,
115-
0.8660718818528441, 0.9387912809451864, 0.8088155382826949, nan,
116-
0.8441942462002369, 0.9387912809451864, 0.8306931739353021, nan,
117-
1.2077543727140414, 1.2701511529340699, 1.2077543727140414, nan,
118-
1.2306878990486088, 1.2701511529340699, 1.1848208463794743, nan,
119-
1.2480064983017813, 1.2701511529340699, 1.1675022471263017, nan,
120-
1.2554699733691175, 1.2701511529340699, 1.1600387720589653, nan,
121-
1.251251005256341, 1.2701511529340699, 1.164257740171742, nan,
122-
1.236382544499116, 1.2701511529340699, 1.179126200928967, nan,
123-
1.214504908846509, 1.2701511529340699, 1.201003836581574, nan,
124-
1.5271995192328622, 1.5353686008338514, 1.5271995192328622, nan,
125-
1.5501330455674294, 1.5353686008338514, 1.5042659928982949, nan,
126-
1.567451644820602, 1.5353686008338514, 1.4869473936451223, nan,
127-
1.5749151198879383, 1.5353686008338514, 1.4794839185777862, nan,
128-
1.5706961517751616, 1.5353686008338514, 1.4837028866905626, nan,
129-
1.5558276910179367, 1.5353686008338514, 1.4985713474477875, nan,
130-
1.5339500553653296, 1.5353686008338514, 1.5204489831003947, nan,
131-
1.8399852748270817, 1.7919265817264287, 1.8399852748270817, nan,
132-
1.862918801161649, 1.7919265817264287, 1.8170517484925146, nan,
133-
1.8802374004148217, 1.7919265817264287, 1.799733149239342, nan,
134-
1.887700875482158, 1.7919265817264287, 1.7922696741720057, nan,
135-
1.8834819073693814, 1.7919265817264287, 1.7964886422847823, nan,
136-
1.8686134466121564, 1.7919265817264287, 1.8113571030420073, nan,
137-
1.8467358109595493, 1.7919265817264287, 1.8332347386946144, nan,
138-
2.1919482158522707, 2.099428192226533, 2.1919482158522707, nan,
139-
2.2148817421868383, 2.099428192226533, 2.1690146895177036, nan,
140-
2.2322003414400107, 2.099428192226533, 2.1516960902645312, nan,
141-
2.2396638165073472, 2.099428192226533, 2.1442326151971947, nan,
142-
2.2354448483945704, 2.099428192226533, 2.1484515833099715, nan,
143-
2.2205763876373457, 2.099428192226533, 2.1633200440671962, nan,
144-
2.1986987519847383, 2.099428192226533, 2.1851976797198036, nan,
145-
2.61933297731839, 2.5050037516997774, 2.61933297731839, nan,
146-
2.6422665036529573, 2.5050037516997774, 2.5963994509838226, nan,
147-
2.6595851029061297, 2.5050037516997774, 2.5790808517306503, nan,
148-
2.6670485779734663, 2.5050037516997774, 2.571617376663314, nan,
149-
2.6628296098606894, 2.5050037516997774, 2.5758363447760906, nan,
150-
2.6479611491034647, 2.5050037516997774, 2.5907048055333153, nan,
151-
2.6260835134508573, 2.5050037516997774, 2.6125824411859226, nan
152-
],
153-
y=[-0.04783542904563622, 0.0, 0.04783542904563622, nan,
154-
0.6365109099465124, 0.7397127693021015, 0.7321817680377849,
155-
nan, 1.2757228358500456, 1.4207354924039484, 1.371393693941318,
156-
nan, 1.835716414018128, 1.9987474933020273, 1.9313872721094003,
157-
nan, 2.3018031241660264, 2.454648713412841, 2.397473982257299,
158-
nan, 2.682286122416868, 2.799236072051978, 2.7779569805081405,
159-
nan, 3.006427339100005, 3.0705600040299337, 3.1020981971912773,
160-
nan, -0.041979538370994586, 0.0, 0.041979538370994586, nan,
161-
0.642366800621154, 0.7397127693021015, 0.7263258773631432, nan,
162-
1.2815787265246874, 1.4207354924039484, 1.3655378032666765,
163-
nan, 1.8415723046927694, 1.9987474933020273,
164-
1.9255313814347585, nan, 2.307659014840668, 2.454648713412841,
165-
2.3916180915826573, nan, 2.6881420130915097, 2.799236072051978,
166-
2.772101089833499, nan, 3.0122832297746465, 3.0705600040299337,
167-
3.096242306516636, nan, -0.02584559261554904, 0.0,
168-
0.02584559261554904, nan, 0.6585007463765996,
169-
0.7397127693021015, 0.7101919316076977, nan,
170-
1.2977126722801329, 1.4207354924039484, 1.349403857511231, nan,
171-
1.857706250448215, 1.9987474933020273, 1.909397435679313, nan,
172-
2.3237929605961134, 2.454648713412841, 2.375484145827212, nan,
173-
2.704275958846955, 2.799236072051978, 2.7559671440780535, nan,
174-
3.0284171755300924, 3.0705600040299337, 3.0801083607611903,
175-
nan, -0.003383744391262258, 0.0, 0.003383744391262258, nan,
176-
0.6809625946008864, 0.7397127693021015, 0.6877300833834109,
177-
nan, 1.3201745205044197, 1.4207354924039484,
178-
1.3269420092869442, nan, 1.8801680986725018,
179-
1.9987474933020273, 1.8869355874550262, nan,
180-
2.3462548088204005, 2.454648713412841, 2.3530222976029247, nan,
181-
2.7267378070712422, 2.799236072051978, 2.7335052958537664, nan,
182-
3.050879023754379, 3.0705600040299337, 3.0576465125369037, nan,
183-
0.019906562472216813, 0.0, -0.019906562472216813, nan,
184-
0.7042529014643655, 0.7397127693021015, 0.6644397765199318,
185-
nan, 1.3434648273678986, 1.4207354924039484, 1.303651702423465,
186-
nan, 1.903458405535981, 1.9987474933020273, 1.863645280591547,
187-
nan, 2.3695451156838794, 2.454648713412841, 2.329731990739446,
188-
nan, 2.750028113934721, 2.799236072051978, 2.7102149889902876,
189-
nan, 3.074169330617858, 3.0705600040299337, 3.0343562056734243,
190-
nan, 0.03832304857685983, 0.0, -0.03832304857685983, nan,
191-
0.7226693875690084, 0.7397127693021015, 0.6460232904152888,
192-
nan, 1.3618813134725418, 1.4207354924039484, 1.285235216318822,
193-
nan, 1.9218748916406239, 1.9987474933020273,
194-
1.8452287944869041, nan, 2.3879616017885223, 2.454648713412841,
195-
2.311315504634803, nan, 2.768444600039364, 2.799236072051978,
196-
2.6917985028856446, nan, 3.092585816722501, 3.0705600040299337,
197-
3.0159397195687814, nan, 0.04735671582684286, 0.0,
198-
-0.04735671582684286, nan, 0.7317030548189914,
199-
0.7397127693021015, 0.6369896231653058, nan,
200-
1.3709149807225247, 1.4207354924039484, 1.276201549068839, nan,
201-
1.9309085588906068, 1.9987474933020273, 1.8361951272369212,
202-
nan, 2.3969952690385052, 2.454648713412841, 2.30228183738482,
203-
nan, 2.7774782672893474, 2.799236072051978, 2.6827648356356617,
204-
nan, 3.101619483972484, 3.0705600040299337, 3.0069060523187985,
205-
nan],
206-
mode='lines',
207-
name='Arrow',
208-
line=Line(color='rgb(114, 132, 314)', width=3)
209-
)
210-
expected = Data([trace1, trace2])
211-
212-
x, y = np.meshgrid(np.arange(0, np.pi, .5), np.arange(0, np.pi, .5))
213-
u = np.cos(x)
214-
v = np.sin(y)
215-
data = tls.Quiver(x, y, u, v, scale=.5, angle=np.pi/8,
216-
arrow_scale=.25, barb_width=2,
217-
arrow_width=3)
218-
219-
np.testing.assert_almost_equal(data[0]['y'], expected[0]['y'])
220-
np.testing.assert_almost_equal(data[0]['x'], expected[0]['x'])
221-
np.testing.assert_almost_equal(data[1]['y'], expected[1]['y'])
222-
np.testing.assert_almost_equal(data[1]['x'], expected[1]['x'])
223-
assert data[0].keys() == expected[0].keys()
15+
@raises(PlotlyError)
16+
def test_wrong_scale():
17+
data = tls.Quiver(x=[1], y=[1], u=[1], v=[1], scale=0)
18+
19+
20+
@raises(PlotlyError)
21+
def test_wrong_arrow_scale():
22+
data = tls.Quiver(x=[1], y=[1], u=[1], v=[1], arrow_scale=-1)
23+
24+
25+
class TestQuiver(TestCase):
26+
27+
def test_one_arrow(self):
28+
self.assertAlmostEqual(tls.Quiver(x=[1], y=[1], u=[1], v=[1], scale=1),
29+
{'y': [1, 2, None, 1.615486170766527, 2,
30+
1.820698256761928, None], 'x': [1, 2, None,
31+
1.820698256761928, 2, 1.615486170766527, None],
32+
'name': 'quiver', 'mode': 'lines'})
33+
34+
def test_more_kwargs(self):
35+
self.assertAlmostEqual(tls.Quiver(x=[1, 2], y=[1, 2],
36+
u=[math.cos(1), math.cos(2)],
37+
v=[math.sin(1), math.sin(2)],
38+
arrow_scale=.4, angle=math.pi/6,
39+
line=Line(color='purple', width=3)),
40+
{'name': 'quiver', 'mode': 'lines', 'y': [1,
41+
1.0841470984807897, None, 2,
42+
2.0909297426825684, None, 1.044191642387781,
43+
1.0841470984807897, 1.0658037346225067, None,
44+
2.0677536925644366, 2.0909297426825684,
45+
2.051107819102551, None], 'x': [1,
46+
1.0540302305868139, None, 2,
47+
1.9583853163452858, None, 1.052143029378767,
48+
1.0540302305868139, 1.0184841899864512, None,
49+
1.9909870141679737, 1.9583853163452858,
50+
1.9546151170949464, None], 'line': {'color':
51+
'purple', 'width': 3}, 'type': 'scatter'})

0 commit comments

Comments
 (0)