Conditions | 5 |
Total Lines | 77 |
Lines | 0 |
Ratio | 0 % |
Changes | 2 | ||
Bugs | 0 | Features | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
1 | from __future__ import absolute_import |
||
35 | def test_inserting(self): |
||
36 | s = self.device["mystream"] |
||
37 | |||
38 | def test_create(l): |
||
39 | l.apikey = self.apikey |
||
40 | l.serverurl = TEST_URL |
||
41 | l.data = "Hello World!!!" |
||
42 | l.syncperiod = 3.3 |
||
43 | |||
44 | l.addStream("mystream", {"type": "string"}, nickname="My nickname") |
||
45 | |||
46 | haderror = False |
||
47 | try: |
||
48 | l.addStream("stream_DNE") |
||
49 | except: |
||
50 | haderror = True |
||
51 | |||
52 | self.assertTrue(haderror) |
||
53 | |||
54 | self.assertFalse(s.exists()) |
||
55 | l = Logger("test.db", on_create=test_create) |
||
56 | l.ping() |
||
57 | self.assertTrue(s.exists()) |
||
58 | self.assertTrue(s.nickname == "My nickname") |
||
59 | |||
60 | self.assertEqual("logger_test/mydevice", l.name) |
||
61 | self.assertEqual(self.apikey, l.apikey) |
||
62 | self.assertEqual(TEST_URL, l.serverurl) |
||
63 | |||
64 | self.assertEqual(0, len(l)) |
||
65 | |||
66 | self.assertTrue("mystream" in l) |
||
67 | self.assertFalse("stream_DNE" in l) |
||
68 | |||
69 | l.insert("mystream", "Hello World!") |
||
70 | |||
71 | self.assertEqual(1, len(l)) |
||
72 | self.assertEqual("Hello World!!!", l.data) |
||
73 | |||
74 | l.close() |
||
75 | |||
76 | def nocreate(self): |
||
77 | raise Exception("OnCreate was called on existing database!") |
||
78 | |||
79 | # Now reload from file and make sure everything was saved |
||
80 | l = Logger("test.db", on_create=nocreate) |
||
81 | self.assertEqual(1, len(l)) |
||
82 | self.assertEqual(l.name, "logger_test/mydevice") |
||
83 | self.assertTrue("mystream" in l) |
||
84 | self.assertTrue(self.apikey, l.apikey) |
||
85 | self.assertTrue(TEST_URL, l.serverurl) |
||
86 | self.assertTrue(3.3, l.syncperiod) |
||
87 | |||
88 | haderror = False |
||
89 | try: |
||
90 | l.insert(5) # Make sure that the schema is checked correctly |
||
91 | except: |
||
92 | haderror = True |
||
93 | self.assertTrue(haderror) |
||
94 | |||
95 | l.insert("mystream", "hi") |
||
96 | |||
97 | self.assertEqual(2, len(l)) |
||
98 | self.assertEqual(0, len(s)) |
||
99 | l.sync() |
||
100 | self.assertEqual(0, len(l)) |
||
101 | self.assertEqual(2, len(s)) |
||
102 | |||
103 | self.assertGreater(l.lastsynctime, time.time() - 1) |
||
104 | |||
105 | self.assertEqual("Hello World!!!", l.data) |
||
106 | |||
107 | self.assertEqual(s[0]["d"], "Hello World!") |
||
108 | self.assertEqual(s[1]["d"], "hi") |
||
109 | self.assertGreater(s[1]["t"], time.time() - 1) |
||
110 | |||
111 | l.close() |
||
112 | |||
226 |