Beispiel #1
0
 def test_testrandomset(self):
     with open('test_json/testrandomset.json') as f:
         jd = json.load(f)
         s = datagenerator.gen_data(jd)
         d = defaultdict(int)
         for i in range(10):
             s = datagenerator.gen_data(jd)
             d[s] += 1
         candidates = {'a': 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1}
         for key in d.keys():
             self.assertTrue(key in candidates)
             d[key] < 10
Beispiel #2
0
 def test_testrandomsetlist2(self):
     with open('test_json/testrandomsetlist2.json') as f:
         jd = json.load(f)
         s = datagenerator.gen_data(jd)
         candidates = {'a.bc': 1, 'bc.a': 1}
         for i in range(3):
             self.assertTrue(s in candidates)
Beispiel #3
0
 def test_testint(self):
     with open('test_json/testint.json') as f:
         jd = json.load(f)
         for i in range(5):
             s = datagenerator.gen_data(jd)
             s = int(s)
             self.assertTrue(s <= 5 and 1 <= s,
                             "result is possible integer")
Beispiel #4
0
 def test_testchar(self):
     with open('test_json/testchar.json') as f:
         jd = json.load(f)
         candidates = {'a': 1, 'b': 1, 'c': 1, 'd': 1}
         for i in range(5):
             s = datagenerator.gen_data(jd)
             self.assertEqual(candidates[s], 1,
                              "result is possible charactor")
Beispiel #5
0
 def test_testrandomsetlist1(self):
     with open('test_json/testrandomsetlist1.json') as f:
         jd = json.load(f)
         s = datagenerator.gen_data(jd)
         candidates = {'a': 1, 'b': 1, 'c': 1}
         for i in range(len(s)):
             self.assertTrue(s[i] in candidates)
             if s[i] == 'b':
                 self.assertEqual(s[i + 1], 'c')
Beispiel #6
0
 def test_testintcandidatelist(self):
     with open('test_json/testintcandidatelist.json') as f:
         jd = json.load(f)
         s = datagenerator.gen_data(jd)
         ans = [1, 3, 5, 11, 23, 111, 211]
         result = [int(i) for i in s.split(' ')]
         self.assertEqual(len(result), 7)
         for i in range(7):
             self.assertEqual(ans[i], result[i])
Beispiel #7
0
 def test_multipleuniquekey2(self):
     with open('test_json/testmultipleuniquekey2.json') as f:
         jd = json.load(f)
         s = datagenerator.gen_data(jd)
         results = s.split('\n')
         for i in range(20):
             v, p = [int(j) for j in results[i].split()]
             self.assertTrue(0 <= v and v <= 20)
             self.assertTrue(21 <= p and p <= 40)
Beispiel #8
0
 def test_testtable1(self):
     with open('test_json/testtable1.json') as f:
         jd = json.load(f)
         s = datagenerator.gen_data(jd)
         results = s.split('\n')
         self.assertEqual(results[0], "20 1000")
         for i in range(1, 21):
             v, p = [int(j) for j in results[i].split()]
             self.assertTrue(1 <= v and v <= 1000)
             self.assertTrue(0 <= p and p <= 100)
Beispiel #9
0
 def test_nestedlist2(self):
     with open('test_json/testnestedlist2.json') as f:
         jd = json.load(f)
         s = datagenerator.gen_data(jd)
         results = s.split('\n')
         self.assertTrue(len(results), 5)
         d = {}
         for i in range(5):
             d[results[i]] = 1
         self.assertEqual(len(d.keys()), 5)
Beispiel #10
0
 def test_testinput1(self):
     with open('test_json/testinput1.json') as f:
         jd = json.load(f)
         s = datagenerator.gen_data(jd)
         results = s.split('\n')
         self.assertEqual(results[0], "5")
         vs = [int(i) for i in results[1].split()]
         for i in range(5):
             v = int(vs[i])
             self.assertTrue(1 <= v and v <= 1000)
Beispiel #11
0
 def test_testintlist(self):
     with open('test_json/testintlist.json') as f:
         jd = json.load(f)
         s = datagenerator.gen_data(jd)
         vs = [int(i) for i in s.split(',')]
         d = {}
         for v in vs:
             self.assertTrue(0 <= v and v <= 1000)
             self.assertFalse(v in d)
             d[v] = 1
         self.assertEqual(len(d.keys()), 100)
Beispiel #12
0
 def test_testrandomorderedlistdesc(self):
     with open('test_json/testrandomorderedlistdesc.json') as f:
         jd = json.load(f)
         s = datagenerator.gen_data(jd)
         vs = [int(i) for i in s.split(' ')]
         c = 21
         for v in vs:
             self.assertTrue(0 <= v and v <= 1000)
             self.assertTrue(c > v)
             c = v
         self.assertEqual(len(vs), 20)
Beispiel #13
0
 def test_nestedlist(self):
     with open('test_json/testnestedlist.json') as f:
         jd = json.load(f)
         s = datagenerator.gen_data(jd)
         results = s.split('\n')
         self.assertTrue(len(results), 5)
         d = defaultdict(int)
         for i in range(5):
             self.assertTrue(len(results[i]), 5)
             for j in range(5):
                 d[results[i][j]] += 1
         self.assertTrue('#' in d)
         self.assertTrue('.' in d)
         self.assertTrue(len(d.keys()), 2)
Beispiel #14
0
 def test_testdate1(self):
     with open('test_json/testdate1.json') as f:
         jd = json.load(f)
         s = datagenerator.gen_data(jd)
         results = s.split('\n')
         self.assertTrue(len(results), 5)
         for i in range(5):
             v, datev = [j for j in results[i].split(',')]
             self.assertTrue(1 <= int(v) and int(v) <= 5)
             y, m, d = [p for p in datev.split('-')]
             self.assertTrue(2018 <= int(y) and int(y) <= 2020)
             self.assertTrue(1 <= int(m) and int(m) <= 5)
             self.assertTrue(len(m), 2)
             self.assertTrue(1 <= int(d) and int(d) <= 15)
             self.assertTrue(len(d), 2)
Beispiel #15
0
 def test_multipleuniquekey(self):
     with open('test_json/testmultipleuniquekey.json') as f:
         jd = json.load(f)
         s = datagenerator.gen_data(jd)
         results = s.split('\n')
         self.assertTrue(len(results), 10)
         d1 = {}
         d2 = {}
         for i in range(10):
             values = results[i].split()
             d1[(values[0], values[1])] = 1
             d2[(values[0], values[2])] = 1
         # check multiple unique key work
         self.assertEqual(len(d1.keys()), 10)
         self.assertEqual(len(d2.keys()), 10)
Beispiel #16
0
 def test_nestedtable(self):
     with open('test_json/testnestedtable.json') as f:
         jd = json.load(f)
         s = datagenerator.gen_data(jd)
         results = s.split('\n')
         self.assertTrue(len(results), 5)
         d = {}
         for i in range(5):
             rec = results[i].split(' ')
             self.assertTrue(len(rec), 3)
             for j in range(3):
                 ch, integ = rec[j].split('-')
                 d[ch] = 1
                 self.assertTrue(1 <= int(integ) and int(integ) <= 8)
             self.assertEqual(len(d.keys()), 3)
             for ch in ['A', 'B', 'C']:
                 self.assertTrue(ch in d)
Beispiel #17
0
 def test_testset(self):
     with open('test_json/testset.json') as f:
         jd = json.load(f)
         s = datagenerator.gen_data(jd)
         self.assertEqual(s, "abc", "exact output")