#Tests the class Hashtabell in the file hashfil.py
from hashfil import Hashtabell
import unittest
class Test():
def setUp(self):
self.atomlista = []
data = "H 1.00794;\
He 4.002602;\
Li 6.941;\
Be 9.012182;\
B 10.811;\
C 12.0107;\
N 14.0067;\
O 15.9994;\
F 18.9984032;\
Ne 20.1797;\
Na 22.98976928;\
Mg 24.3050;\
Al 26.9815386;\
Si 28.0855;\
P 30.973762;\
S 32.065;\
Cl 35.453;\
K 39.0983;\
Ar 39.948;\
Ca 40.078;\
Sc 44.955912;\
Ti 47.867;\
V 50.9415;\
Cr 51.9961;\
Mn 54.938045;\
Fe 55.845;\
Ni 58.6934;\
Co 58.933195;\
Cu 63.546;\
Zn 65.38;\
Ga 69.723;\
Ge 72.64;\
As 74.92160;\
Se 78.96;\
Br 79.904;\
Kr 83.798;\
Rb 85.4678;\
Sr 87.62;\
Y 88.90585;\
Zr 91.224;\
Nb 92.90638;\
Mo 95.96;\
Tc 98;\
Ru 101.07;\
Rh 102.90550;\
Pd 106.42;\
Ag 107.8682;\
Cd 112.411;\
In 114.818;\
Sn 118.710;\
Sb 121.760;\
I 126.90447;\
Te 127.60;\
Xe 131.293;\
Cs 132.9054519;\
Ba 137.327;\
La 138.90547;\
Ce 140.116;\
Pr 140.90765;\
Nd 144.242;\
Pm 145;\
Sm 150.36;\
Eu 151.964;\
Gd 157.25;\
Tb 158.92535;\
Dy 162.500;\
Ho 164.93032;\
Er 167.259;\
Tm 168.93421;\
Yb 173.054;\
Lu 174.9668;\
Hf 178.49;\
Ta 180.94788;\
W 183.84;\
Re 186.207;\
Os 190.23;\
Ir 192.217;\
Pt 195.084;\
Au 196.966569;\
Hg 200.59;\
Tl 204.3833;\
Pb 207.2;\
Bi 208.98040;\
Po 209;\
At 210;\
Rn 222;\
Fr 223;\
Ra 226;\
Ac 227;\
Pa 231.03588;\
Th 232.03806;\
Np 237;\
U 238.02891;\
Am 243;\
Pu 244;\
Cm 247;\
Bk 247;\
Cf 251;\
Es 252;\
Fm 257;\
Md 258;\
No 259;\
Lr 262;\
Rf 265;\
Db 268;\
Hs 270;\
Sg 271;\
Bh 272;\
Mt 276;\
Rg 280;\
Ds 281;\
Cn 285"
self.atomlista = data.split(";")
antalElement = len(self.atomlista)
hashtabell = Hashtabell(antalElement)
for element in self.atomlista:
namn, vikt = element.split()
nyAtom = Atom(namn, float(vikt))
hashtabell.put(namn, nyAtom)
self.hashtabell = hashtabell
def allaAtomerFinns(self):
"""Tests if you can find all atoms in the hashtable"""
antal = 0
OK = True
print("\n-------------------------------------------------------")
print(" * Testar att hitta alla atomer i hashtabellen...")
for kontrollAtom in self.atomlista:
namn, vikt = kontrollAtom.split()
hashadAtom = hashtabell.get(namn)
self.assertEqual(hashadAtom.vikt,vikt)
if __name__ == '__main__':
unittest.main()
所以我正在尝试进行单元测试,这是我有多远。不幸的是我收到了这个错误:
TabError: inconsistent use of tabs and spaces in indentation
n160-p132:A SahandZarrinkoub$ python3 unittest.py
File "unittest.py", line 121
self.atomlista = data.split(";")
我无法弄清楚为什么。我已经检查了文档中的所有选项卡,空格等。
感谢任何帮助。
萨罕德
答案 0 :(得分:0)
我发现我的代码实际上有一些缩进,包括空格而不是制表符。我的编辑器有一个功能,可以找到这些空格组并用标签替换它们,从而解决了这个问题。