⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testmetaserver.py

📁 开源游戏代码
💻 PY
字号:
# $Id: testmetaserver.py,v 1.4 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 sysimport metaserverimport setupdef suite():    # Tests for the simServer interface of metaServer.    server = unittest.TestSuite()    server.addTest(testMetaServerSimServer("announce"))    server.addTest(testMetaServerSimServer("retract"))    server.addTest(testMetaServerSimServer("retract_noexist"))    server.addTest(testMetaServerSimServer("ping"))    server.addTest(testMetaServerSimServer("ping_noexist"))    server.addTest(testMetaServerSimServer("pingData"))    server.addTest(testMetaServerSimServer("pingData_noexist"))        # Tests for the Client interface of metaServer.    client = unittest.TestSuite()    client.addTest(testMetaServerClient("getServerList_One"))    client.addTest(testMetaServerClient("getServerList_Many"))    client.addTest(testMetaServerClient("getServerData"))    client.addTest(testMetaServerClient("getServerData_noexist"))    client.addTest(testMetaServerClient("latestVersion"))    suite = unittest.TestSuite()    suite.addTest(server)    suite.addTest(client)    return suiteclass testMetaServerSimServer(unittest.TestCase):    def setUp(self):        self.serv = {}        self.info = {'hostName': 'Tester', 'ior': 'longString'}        self.data = {'version': '1.0.0'}        self.ms = metaserver.Meta_Server_Impl(self.serv)    def announce(self):        r = self.ms.announce(self.info, self.data)        assert(r)        assert(self.serv[r].info is self.info)        assert(self.serv[r].data is self.data)    def retract(self):        r = self.ms.announce(self.info, self.data)        self.ms.retract(r)        assert(not self.serv.has_key(r))    def retract_noexist(self):        try:            self.ms.retract(42)        except metaserver.Meta.NoExist:            pass        else:            self.fail("Should have emited exception")    def ping(self):        r = self.ms.announce(self.info, self.data)        old = self.serv[r].timestamp        self.ms.ping(r)        new = self.serv[r].timestamp        assert(old < new)    def ping_noexist(self):        try:            self.ms.ping(42)        except metaserver.Meta.NoExist:            pass        else:            self.fail("Should have emited exception")    def pingData(self):        r = self.ms.announce(self.info, self.data)        data = {'version': '2.0.0'}        self.ms.pingData(r, data)        assert(data is self.serv[r].data)    def pingData_noexist(self):        data = {'version': '2.0.0'}        try:            self.ms.pingData(42, data)        except metaserver.Meta.NoExist:            pass        else:            self.fail("Should have emited exception")class testMetaServerClient(unittest.TestCase):    def setUp(self):        self.serv = {}        self.info = metaserver.Meta.ServerInfo()        self.info.hostName = 'Tester'        self.info.serverIor= 'longString'        self.info2= metaserver.Meta.ServerInfo()        self.info2.hostName = 'Tester2'        self.info2.serverIor= 'longlongString'        self.data = {'version': '1.0.0'}        self.data2= {'version': '2.0.0'}        self.ms = metaserver.Meta_Server_Impl(self.serv)        self.mc = metaserver.Meta_Client_Impl(self.serv)        self.ms.announce(self.info, self.data)    def getServerList_One(self):        v = 3        r = self.mc.getServerList(v)        assert(r == [self.info])    def getServerList_Many(self):        v = 3        self.ms.announce(self.info2, self.data2)        r = self.mc.getServerList(v)        assert(self.info in r)        assert(self.info2 in r)    def latestVersion(self):        r = self.mc.latestVersion()        assert(r)        assert(r.major == setup.version.major)        assert(r.minor == setup.version.minor)        assert(r.patch == setup.version.patch)    def getServerData(self):        v = 3        r = self.mc.getServerList(v)        ior =  r[0].serverIor        r = self.mc.getServerData(ior)        assert(r == self.data)    def getServerData_noexist(self):        try:            self.mc.getServerData('42')        except metaserver.Meta.NoExist:            pass        else:            self.fail("Should have emited exception")# $Log: testmetaserver.py,v $# Revision 1.4  2002/02/18 10:49:39  marijn# Updated copyright information## Revision 1.3  2001/12/25 01:55:50  marijn# added SimServer, SimUser and SimData unit tests## Revision 1.2  2001/12/12 05:53:14  marijn# Added more tests.## Revision 1.1  2001/12/12 05:39:12  marijn# MetaServer tests added.#

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -