You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
#!/usr/bin/python2.4
 | 
						|
#
 | 
						|
# Copyright 2008 Google Inc.
 | 
						|
#
 | 
						|
# Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
# you may not use this file except in compliance with the License.
 | 
						|
# You may obtain a copy of the License at
 | 
						|
#
 | 
						|
#      http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
#
 | 
						|
# Unless required by applicable law or agreed to in writing, software
 | 
						|
# distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
# See the License for the specific language governing permissions and
 | 
						|
# limitations under the License.
 | 
						|
 | 
						|
"""A very basic test class derived from mox.MoxTestBase, used by mox_test.py.
 | 
						|
 | 
						|
The class defined in this module is used to test the features of
 | 
						|
MoxTestBase and is not intended to be a standalone test.  It needs to
 | 
						|
be in a separate module, because otherwise the tests in this class
 | 
						|
(which should not all pass) would be executed as part of the
 | 
						|
mox_test.py test suite.
 | 
						|
 | 
						|
See mox_test.MoxTestBaseTest for how this class is actually used.
 | 
						|
"""
 | 
						|
 | 
						|
import os
 | 
						|
 | 
						|
import mox
 | 
						|
 | 
						|
class ExampleMoxTestMixin(object):
 | 
						|
  """Mix-in class for mox test case class.
 | 
						|
 | 
						|
  It stubs out the same function as one of the test methods in
 | 
						|
  the example test case.  Both tests must pass as meta class wraps
 | 
						|
  test methods in all base classes.
 | 
						|
  """
 | 
						|
 | 
						|
  def testStat(self):
 | 
						|
    self.mox.StubOutWithMock(os, 'stat')
 | 
						|
    os.stat(self.DIR_PATH)
 | 
						|
    self.mox.ReplayAll()
 | 
						|
    os.stat(self.DIR_PATH)
 | 
						|
 | 
						|
 | 
						|
class ExampleMoxTest(mox.MoxTestBase, ExampleMoxTestMixin):
 | 
						|
 | 
						|
  DIR_PATH = '/path/to/some/directory'
 | 
						|
 | 
						|
  def testSuccess(self):
 | 
						|
    self.mox.StubOutWithMock(os, 'listdir')
 | 
						|
    os.listdir(self.DIR_PATH)
 | 
						|
    self.mox.ReplayAll()
 | 
						|
    os.listdir(self.DIR_PATH)
 | 
						|
 | 
						|
  def testExpectedNotCalled(self):
 | 
						|
    self.mox.StubOutWithMock(os, 'listdir')
 | 
						|
    os.listdir(self.DIR_PATH)
 | 
						|
    self.mox.ReplayAll()
 | 
						|
 | 
						|
  def testUnexpectedCall(self):
 | 
						|
    self.mox.StubOutWithMock(os, 'listdir')
 | 
						|
    os.listdir(self.DIR_PATH)
 | 
						|
    self.mox.ReplayAll()
 | 
						|
    os.listdir('/path/to/some/other/directory')
 | 
						|
    os.listdir(self.DIR_PATH)
 | 
						|
 | 
						|
  def testFailure(self):
 | 
						|
    self.assertTrue(False)
 | 
						|
 | 
						|
  def testStatOther(self):
 | 
						|
    self.mox.StubOutWithMock(os, 'stat')
 | 
						|
    os.stat(self.DIR_PATH)
 | 
						|
    self.mox.ReplayAll()
 | 
						|
    os.stat(self.DIR_PATH)
 |