📄 testsimuser.py
字号:
# $Id: testsimuser.py,v 1.5 2002/02/18 10:49:39 marijn Exp $# Tester programs with the airtraffic program.# Copyright (C) 2000,1,2 Marijn Vriens <marijn@sanity.dhs.org>## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2 of the License, or# (at your option) any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USAimport unittestimport timeimport simuserimport simdatadef suite(): simusers = unittest.TestSuite() simusers.addTest(testSimUsers('test_genId')) simusers.addTest(testSimUsers('createUser')) simusers.addTest(testSimUsers('createUser_exist')) simusers.addTest(testSimUsers('removeUser')) simusers.addTest(testSimUsers('getUpdateTimeOfSlowestUser')) simuserinfo = unittest.TestSuite() simuserinfo.addTest(testSimUserInfo('nick')) simuserinfo.addTest(testSimUserInfo('subscribeToEntity')) simuserinfo.addTest(testSimUserInfo('unsubscribeFromEntity')) simuserinfo.addTest(testSimUserInfo('markAsUpdated')) simuserinfo.addTest(testSimUserInfo('getTimeOfLastUpdate')) simuserinfo.addTest(testSimUserInfo('genIdlPlaneUpdateList')) simuserinfo.addTest(testSimUserInfo('checkAuthority')) suite = unittest.TestSuite() suite.addTest(simusers) suite.addTest(simuserinfo) return suiteclass testSimUsers(unittest.TestCase): def setUp(self): self.obj = simuser.SimUsers() def createUser(self): id = self.obj.createUser('tester') assert(id) assert(self.obj[id]) assert(self.obj[id].nick() == 'tester') def createUser_exist(self): id = self.obj.createUser('tester') try: id = self.obj.createUser('tester') except("NickTaken"): pass else: self.fail("Should have raised exception") def removeUser(self): id = self.obj.createUser('tester') self.obj.removeUser(id) try: self.obj[id] except(KeyError): pass else: self.fail("Expected exception") def getUpdateTimeOfSlowestUser(self): t1 = time.time() id = self.obj.createUser('tester1') t2 = time.time() self.obj.createUser('tester2') res = self.obj.getUpdateTimeOfSlowestUser() assert(res > t1) assert(res < t2) t3 = time.time() self.obj[id].markAsUpdated() res = self.obj.getUpdateTimeOfSlowestUser() assert(res > t2) assert(res < t3) def test_genId(self): assert(self.obj._genId())class testSimUserInfo(unittest.TestCase): def setUp(self): self.sui = simuser.SimUserInfo(42) def nick(self): assert(not self.sui.nick() == 'tester') self.sui.nick('tester') assert(self.sui.nick() == 'tester') def subscribeToEntity(self): obj = fakeObj(3) self.sui.subscribeToEntity(obj) assert(self.sui.objs[3]) def unsubscribeFromEntity(self): obj = fakeObj(3) self.sui.subscribeToEntity(obj) self.sui.unsubscribeFromEntity(obj.id) try: self.failIf(self.sui.objs[3]) except(KeyError): pass else: self.fail("Should have called keyerror exceptions") def getTimeOfLastUpdate(self): old = self.sui.getTimeOfLastUpdate() self.sui.markAsUpdated() new = self.sui.getTimeOfLastUpdate() assert(new > old) def markAsUpdated(self): old = time.time() self.sui.markAsUpdated() new = self.sui.getTimeOfLastUpdate() assert(new > old) def genIdlPlaneUpdateList(self): obj = fakeObj(3) self.sui.subscribeToEntity(obj) r = self.sui.genIdlPlaneUpdateList() assert(r != None) assert(r[0].id == 3) def checkAuthority(self): obj = fakeObj(3) self.sui.subscribeToEntity(obj) assert(self.sui.checkAuthority(3)) assert(not self.sui.checkAuthority(4))class fakeObj: def __init__(self, id): self.id = id def genIdlFull(self): return self def genIdlReduced(self): return self # $Log: testsimuser.py,v $# Revision 1.5 2002/02/18 10:49:39 marijn# Updated copyright information## Revision 1.4 2002/02/04 15:52:23 marijn# Added order receiving methods## Revision 1.3 2002/01/13 16:05:58 marijn# All updates now go via getUpdate(). Split genIdl into Full and Reduced## Revision 1.2 2002/01/12 23:53:22 marijn# Refactored simuser## Revision 1.1 2001/12/25 01:55:50 marijn# added SimServer, SimUser and SimData unit tests#
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -