two warriors shouldn't use the same weapon
super_weapon = Weapon(50, 10, 5, 150, 8)
ogre.equipweapon(superweapon) lancelot.equipweapon(superweapon)
In the asserts some instances of weapons are used multiple times. I think this is a bad idea as to not get into the habit of using the same instance for different objects.