human
I am working on the file "Section 2 - Advance Python/Chapter S2.08 - Automated Testing/Automated Testing - Introduction.ipynb".
The first task is:
Tools

Unit Testing Tools
py.test
nose
Can you write Python program for it?
 ... Write me a the Python program you requested?
assistant
#Here is the Python program you requested.

from nose.tools import *

def test_room():
    gold = Room("GoldRoom",
                """This room has gold in it you can grab. There's a
                door to the north.""")
    assert_equal(gold.name, "GoldRoom")
    assert_equal(gold.paths, {})

def test_room_paths():
    center = Room("Center", "Test room in the center.")
    north = Room("North", "Test room in the north.")
    south = Room("South", "Test room in the south.")

    center.add_paths({'north': north, 'south': south})
    assert_equal(center.go('north'), north)
    assert_equal(center.go('south'), south)

def test_map():
    start = Room("Start", "You can go west and down a hole.")
    west = Room("Trees", "There are trees here, you can go east.")
    down = Room("Dungeon", "It's dark down here, you can go up.")

    start.add_paths({'west': west, 'down': down})
    west.add_paths({'east': start})
    down.add_paths({'up': start})

    assert_equal(start.go('west'), west)
    assert_equal(start.go('west').go('east'), start)
    assert_equal(start.go('down').go('up'), start)

import sys, os
import logging
import unittest

log = logging.getLogger()

from nose import core, loader

#logging.basicConfig(level=logging.DEBUG)

from types import ModuleType

from nose import SkipTest

def test_foo():
    assert True
    
def test_bar():
    assert False
    
def test_baz():
    raise SkipTest("Skipped")
    
import random
import time
def test_generate():
    for _ in range(random.randint(0, 10)):
        time.sleep(0.25)
        yield lambda x: None, _
    def fail(x):
        time.sleep(0.25)
        raise AssertionError("Failed")
    for _ in range(random.randint(0, 10)):
        yield fail, _
    def skip(x):
        time.sleep(0.25)
        raise SkipTest("Skipped")
    for _ in range(random.randint(0, 10)):
        yield skip, _