/
testNotebook.py
87 lines (69 loc) · 2.4 KB
/
testNotebook.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import unittest
import pygsti
import time
from pygsti.report import Notebook
from ..testutils import BaseTestCase, compare_files, temp_files
example_python = """\
import numpy as np
a = np.array([1,2,3],'d')
"""
example_markdown = """\
#Heading1
## Heading2
Some text about something important.
"""
example_multicell_text = """\
@@markdown
# Title
@@code
print('code goes here')
"""
example_multicell_text2 = """\
@@markdown
# Title2
@@code
print('more code goes here')
"""
# Covers some missing tests, but NOT all of report.table.py
class TestNotebook(BaseTestCase):
def setUp(self):
super(TestNotebook, self).setUp()
#Needs to be in setup so temp_files works
with open(temp_files+"/nb_example.py",'w') as f:
f.write(example_python)
with open(temp_files+"/nb_example.md",'w') as f:
f.write(example_markdown)
with open(temp_files+"/nb_example.txt",'w') as f:
f.write(example_multicell_text)
with open(temp_files+"/nb_example2.txt",'w') as f:
f.write(example_multicell_text2)
def test_notebook_construction(self):
#Notebook object
nb = Notebook()
nb.add_markdown('# Pygsti report\n(Created on {})'.format(time.strftime("%B %d, %Y")))
nb.add_code('print("Hello World")')
nb.add_notebook_text(
"""@@markdown
### Sub-Title
@@code
print('Hello again!')
""")
with self.assertRaises(ValueError):
nb.add_notebook_text("""@@foobar
Unknown cell type!
""")
nb.add_file(temp_files+"/nb_example.md","markdown")
nb.add_file(temp_files+"/nb_example.py","code")
nb.add_code_file(temp_files+"/nb_example.py")
nb.add_markdown_file(temp_files+"/nb_example.md")
nb.add_notebook_text_file(temp_files+"/nb_example.txt")
nb.add_notebook_text_files([temp_files+"/nb_example.txt",
temp_files+"/nb_example2.txt"])
nb.save_to(temp_files+'/TestNotebook1.ipynb')
nb2 = Notebook(notebook_text_files=
[temp_files+"/nb_example.txt",
temp_files+"/nb_example2.txt"])
nb2.add_notebook_files([temp_files+'/TestNotebook1.ipynb'])
nb.save_to(temp_files+'/TestNotebook2.ipynb')
if __name__ == '__main__':
unittest.main(verbosity=2)