added tests

This commit is contained in:
David Halter
2012-04-13 10:39:02 +02:00
parent 5f21f56330
commit ee3aea95e2
4 changed files with 89 additions and 8 deletions

View File

@@ -0,0 +1,18 @@
class TestClass(object):
var_class = TestClass()
def __init__(self2, a):
self2.var_inst = a
inst = TestClass(1)
#? ['var_class', 'var_inst']
inst.var
#? ['var_class']
TestClass.var_class

View File

@@ -1,7 +1,7 @@
import os
def array():
return []
return list()
#? ['append']
array().app

48
test/completion/types.py Normal file
View File

@@ -0,0 +1,48 @@
# -----------------
# lists
# -----------------
arr = []
#? ['append']
arr().app
#? ['append']
list().app
# -----------------
# dicts
# -----------------
dic = {}
#? ['clear', 'copy']
dic.c
dic2 = dict(a=1, b=2)
#? ['pop', 'popitem']
dic2.p
# -----------------
# set
# -----------------
set_t = {1,2}
#? ['clear', 'copy']
set_t.c
set_t2 = set()
#? ['clear', 'copy']
set_t2.c
# -----------------
# tuples
# -----------------
tup = ('',2)
#? ['count']
tup.c
tup2 = tuple()
#? ['index']
tup2.i

View File

@@ -3,6 +3,7 @@ import os
import sys
import re
import StringIO
import traceback
sys.path.append('../')
import functions
@@ -29,9 +30,16 @@ def completion_test(source):
if correct:
# lines start with 1 and column is just the last (makes no
# difference for testing)
try:
completions = functions.complete(source, line_nr, 999,
completion_test_dir)
comp_str = str([str(c) for c in completions])
except:
print 'test: %s' % line
print traceback.format_exc()
fails += 1
else:
# TODO remove sorted? completions should be sorted
comp_str = str(sorted([str(c) for c in completions]))
if comp_str != correct:
print 'Solution not correct, received %s, wanted %s' % \
(correct, comp_str)
@@ -47,9 +55,16 @@ def completion_test(source):
# completion tests:
completion_test_dir = 'completion'
summary = []
for f_name in os.listdir(completion_test_dir ):
if f_name.endswith(".py"):
path = os.path.join(completion_test_dir, f_name)
f = open(path)
num_tests, fails = completion_test(f.read())
print 'run %s tests with %s fails (%s)' % (num_tests, fails, f_name)
s = 'run %s tests with %s fails (%s)' % (num_tests, fails, f_name)
print s
summary.append(s)
print '\nSummary:'
for s in summary:
print s