mirror of
https://github.com/biopython/biopython.git
synced 2025-10-20 13:43:47 +08:00
482 lines
20 KiB
Python
482 lines
20 KiB
Python
# Revisions copyright 2009 by Peter Cock. All rights reserved.
|
|
# This code is part of the Biopython distribution and governed by its
|
|
# license. Please see the LICENSE file that should have been included
|
|
# as part of this package.
|
|
"""Tests for Phd module."""
|
|
|
|
import unittest
|
|
|
|
from Bio import SeqIO
|
|
from Bio.Sequencing import Phd
|
|
|
|
|
|
class PhdTestOne(unittest.TestCase):
|
|
def setUp(self):
|
|
self.handle = open("Phd/phd1")
|
|
|
|
def tearDown(self):
|
|
self.handle.close()
|
|
|
|
def test_check_SeqIO(self):
|
|
"""Test phd1 using parser via SeqIO."""
|
|
records = SeqIO.parse(self.handle, "phd")
|
|
# Contig 1
|
|
record = next(records)
|
|
self.assertEqual(record.id, "34_222_(80-A03-19).b.ab1")
|
|
self.assertEqual(record.name, "34_222_(80-A03-19).b.ab1")
|
|
self.assertEqual(record.description, "34_222_(80-A03-19).b.ab1")
|
|
self.assertTrue(record.seq.startswith("ctccgtcggaacatcatcggatcctatcaca"))
|
|
self.assertTrue(record.seq.endswith("ctctcctctccctccctccgactccaaagcgtg"))
|
|
self.assertEqual(
|
|
record.letter_annotations["phred_quality"][:10],
|
|
[9, 9, 10, 19, 22, 37, 28, 28, 24, 22],
|
|
)
|
|
self.assertEqual(
|
|
record[:10].format("fasta"), ">34_222_(80-A03-19).b.ab1\nctccgtcgga\n"
|
|
)
|
|
self.assertEqual(
|
|
record[:10].format("qual"),
|
|
">34_222_(80-A03-19).b.ab1\n9 9 10 19 22 37 28 28 24 22\n",
|
|
)
|
|
self.assertEqual(
|
|
record[:10].format("fastq"),
|
|
"@34_222_(80-A03-19).b.ab1\nctccgtcgga\n+\n**+47F==97\n",
|
|
)
|
|
self.assertEqual(
|
|
record[:10].format("fastq-illumina"),
|
|
"@34_222_(80-A03-19).b.ab1\nctccgtcgga\n+\nIIJSVe\\\\XV\n",
|
|
)
|
|
# Contig 2
|
|
record = next(records)
|
|
self.assertEqual(record.id, "425_103_(81-A03-19).g.ab1")
|
|
self.assertEqual(record.name, "425_103_(81-A03-19).g.ab1")
|
|
self.assertEqual(
|
|
record.letter_annotations["phred_quality"][:10],
|
|
[14, 17, 22, 10, 10, 10, 15, 8, 8, 9],
|
|
)
|
|
# Contig 3
|
|
record = next(records)
|
|
self.assertEqual(record.id, "425_7_(71-A03-19).b.ab1")
|
|
self.assertEqual(record.name, "425_7_(71-A03-19).b.ab1")
|
|
self.assertEqual(
|
|
record.letter_annotations["phred_quality"][:10],
|
|
[10, 10, 10, 10, 8, 8, 6, 6, 6, 6],
|
|
)
|
|
# Make sure that no further records are found
|
|
self.assertRaises(StopIteration, next, records)
|
|
|
|
def test_check_record_parser(self):
|
|
"""Test phd1 file in detail."""
|
|
records = Phd.parse(self.handle)
|
|
# Record 1
|
|
record = next(records)
|
|
self.assertEqual(record.file_name, "34_222_(80-A03-19).b.ab1")
|
|
self.assertEqual(record.comments["abi_thumbprint"], 0)
|
|
self.assertEqual(record.comments["call_method"], "phred")
|
|
self.assertEqual(record.comments["chem"], "term")
|
|
self.assertEqual(record.comments["chromat_file"], "34_222_(80-A03-19).b.ab1")
|
|
self.assertEqual(record.comments["dye"], "big")
|
|
self.assertEqual(record.comments["phred_version"], "0.020425.c")
|
|
self.assertEqual(record.comments["quality_levels"], 99)
|
|
self.assertEqual(record.comments["time"], "Fri Feb 13 09:16:11 2004")
|
|
self.assertEqual(record.comments["trace_array_max_index"], 10867)
|
|
self.assertEqual(record.comments["trace_array_min_index"], 0)
|
|
self.assertAlmostEqual(record.comments["trace_peak_area_ratio"], 0.1467)
|
|
self.assertEqual(record.comments["trim"][0], 3)
|
|
self.assertEqual(record.comments["trim"][1], 391)
|
|
self.assertAlmostEqual(record.comments["trim"][2], 0.05)
|
|
center = len(record.sites) // 2
|
|
self.assertEqual(record.sites[0], ("c", "9", "6"))
|
|
self.assertEqual(record.sites[1], ("t", "9", "18"))
|
|
self.assertEqual(record.sites[2], ("c", "10", "26"))
|
|
self.assertEqual(record.sites[3], ("c", "19", "38"))
|
|
self.assertEqual(record.sites[4], ("g", "22", "49"))
|
|
self.assertEqual(record.sites[5], ("t", "37", "65"))
|
|
self.assertEqual(record.sites[6], ("c", "28", "76"))
|
|
self.assertEqual(record.sites[7], ("g", "28", "87"))
|
|
self.assertEqual(record.sites[8], ("g", "24", "100"))
|
|
self.assertEqual(record.sites[9], ("a", "22", "108"))
|
|
self.assertEqual(record.sites[center - 5], ("c", "11", "5259"))
|
|
self.assertEqual(record.sites[center - 4], ("c", "11", "5273"))
|
|
self.assertEqual(record.sites[center - 3], ("t", "9", "5286"))
|
|
self.assertEqual(record.sites[center - 2], ("g", "10", "5300"))
|
|
self.assertEqual(record.sites[center - 1], ("a", "10", "5316"))
|
|
self.assertEqual(record.sites[center], ("t", "8", "5323"))
|
|
self.assertEqual(record.sites[center + 1], ("c", "8", "5343"))
|
|
self.assertEqual(record.sites[center + 2], ("g", "8", "5352"))
|
|
self.assertEqual(record.sites[center + 3], ("c", "8", "5366"))
|
|
self.assertEqual(record.sites[center + 4], ("c", "8", "5378"))
|
|
self.assertEqual(record.sites[-10], ("c", "8", "10756"))
|
|
self.assertEqual(record.sites[-9], ("c", "8", "10764"))
|
|
self.assertEqual(record.sites[-8], ("a", "8", "10769"))
|
|
self.assertEqual(record.sites[-7], ("a", "8", "10788"))
|
|
self.assertEqual(record.sites[-6], ("a", "8", "10803"))
|
|
self.assertEqual(record.sites[-5], ("g", "10", "10816"))
|
|
self.assertEqual(record.sites[-4], ("c", "11", "10826"))
|
|
self.assertEqual(record.sites[-3], ("g", "11", "10840"))
|
|
self.assertEqual(record.sites[-2], ("t", "11", "10855"))
|
|
self.assertEqual(record.sites[-1], ("g", "11", "10864"))
|
|
self.assertEqual(record.seq[:10], "ctccgtcgga")
|
|
self.assertEqual(record.seq[-10:], "ccaaagcgtg")
|
|
self.assertEqual(record.seq_trimmed[:10], "cgtcggaaca")
|
|
self.assertEqual(record.seq_trimmed[-10:], "tatttcggag")
|
|
# Record 2
|
|
record = next(records)
|
|
center = len(record.sites) // 2
|
|
self.assertEqual(record.file_name, "425_103_(81-A03-19).g.ab1")
|
|
self.assertEqual(record.comments["abi_thumbprint"], 0)
|
|
self.assertEqual(record.comments["call_method"], "phred")
|
|
self.assertEqual(record.comments["chem"], "term")
|
|
self.assertEqual(record.comments["chromat_file"], "425_103_(81-A03-19).g.ab1")
|
|
self.assertEqual(record.comments["dye"], "big")
|
|
self.assertEqual(record.comments["phred_version"], "0.020425.c")
|
|
self.assertEqual(record.comments["quality_levels"], 99)
|
|
self.assertEqual(record.comments["time"], "Tue Feb 17 10:31:15 2004")
|
|
self.assertEqual(record.comments["trace_array_max_index"], 10606)
|
|
self.assertEqual(record.comments["trace_array_min_index"], 0)
|
|
self.assertAlmostEqual(record.comments["trace_peak_area_ratio"], 0.0226)
|
|
self.assertEqual(record.comments["trim"][0], 10)
|
|
self.assertEqual(record.comments["trim"][1], 432)
|
|
self.assertAlmostEqual(record.comments["trim"][2], 0.05)
|
|
self.assertEqual(record.sites[0], ("c", "14", "3"))
|
|
self.assertEqual(record.sites[1], ("g", "17", "11"))
|
|
self.assertEqual(record.sites[2], ("g", "22", "23"))
|
|
self.assertEqual(record.sites[3], ("g", "10", "35"))
|
|
self.assertEqual(record.sites[4], ("a", "10", "53"))
|
|
self.assertEqual(record.sites[5], ("t", "10", "68"))
|
|
self.assertEqual(record.sites[6], ("c", "15", "75"))
|
|
self.assertEqual(record.sites[7], ("c", "8", "85"))
|
|
self.assertEqual(record.sites[8], ("c", "8", "94"))
|
|
self.assertEqual(record.sites[9], ("a", "9", "115"))
|
|
self.assertEqual(record.sites[center - 5], ("c", "33", "5140"))
|
|
self.assertEqual(record.sites[center - 4], ("c", "28", "5156"))
|
|
self.assertEqual(record.sites[center - 3], ("g", "25", "5167"))
|
|
self.assertEqual(record.sites[center - 2], ("c", "28", "5178"))
|
|
self.assertEqual(record.sites[center - 1], ("c", "18", "5193"))
|
|
self.assertEqual(record.sites[center], ("a", "16", "5204"))
|
|
self.assertEqual(record.sites[center + 1], ("a", "15", "5213"))
|
|
self.assertEqual(record.sites[center + 2], ("a", "10", "5230"))
|
|
self.assertEqual(record.sites[center + 3], ("a", "10", "5242"))
|
|
self.assertEqual(record.sites[center + 4], ("t", "8", "5249"))
|
|
self.assertEqual(record.sites[-10], ("c", "8", "10489"))
|
|
self.assertEqual(record.sites[-9], ("c", "8", "10503"))
|
|
self.assertEqual(record.sites[-8], ("c", "8", "10514"))
|
|
self.assertEqual(record.sites[-7], ("a", "8", "10516"))
|
|
self.assertEqual(record.sites[-6], ("g", "8", "10530"))
|
|
self.assertEqual(record.sites[-5], ("c", "8", "10550"))
|
|
self.assertEqual(record.sites[-4], ("c", "10", "10566"))
|
|
self.assertEqual(record.sites[-3], ("a", "8", "10574"))
|
|
self.assertEqual(record.sites[-2], ("a", "7", "10584"))
|
|
self.assertEqual(record.sites[-1], ("g", "7", "10599"))
|
|
self.assertEqual(record.seq[:10], "cgggatccca")
|
|
self.assertEqual(record.seq[-10:], "cccagccaag")
|
|
self.assertEqual(record.seq_trimmed[:10], "cctgatccga")
|
|
self.assertEqual(record.seq_trimmed[-10:], "ggggccgcca")
|
|
# Record 3
|
|
record = next(records)
|
|
center = len(record.sites) // 2
|
|
self.assertEqual(record.file_name, "425_7_(71-A03-19).b.ab1")
|
|
self.assertEqual(record.comments["abi_thumbprint"], 0)
|
|
self.assertEqual(record.comments["call_method"], "phred")
|
|
self.assertEqual(record.comments["chem"], "term")
|
|
self.assertEqual(record.comments["chromat_file"], "425_7_(71-A03-19).b.ab1")
|
|
self.assertEqual(record.comments["dye"], "big")
|
|
self.assertEqual(record.comments["phred_version"], "0.020425.c")
|
|
self.assertEqual(record.comments["quality_levels"], 99)
|
|
self.assertEqual(record.comments["time"], "Thu Jan 29 11:46:14 2004")
|
|
self.assertEqual(record.comments["trace_array_max_index"], 9513)
|
|
self.assertEqual(record.comments["trace_array_min_index"], 0)
|
|
self.assertAlmostEqual(record.comments["trace_peak_area_ratio"], 100.0)
|
|
self.assertEqual(record.comments["trim"][0], -1)
|
|
self.assertEqual(record.comments["trim"][1], -1)
|
|
self.assertEqual(record.comments["trim"][2], 0.05)
|
|
self.assertEqual(record.sites[0], ("a", "10", "7"))
|
|
self.assertEqual(record.sites[1], ("c", "10", "13"))
|
|
self.assertEqual(record.sites[2], ("a", "10", "21"))
|
|
self.assertEqual(record.sites[3], ("t", "10", "28"))
|
|
self.assertEqual(record.sites[4], ("a", "8", "33"))
|
|
self.assertEqual(record.sites[5], ("a", "8", "40"))
|
|
self.assertEqual(record.sites[6], ("a", "6", "50"))
|
|
self.assertEqual(record.sites[7], ("t", "6", "53"))
|
|
self.assertEqual(record.sites[8], ("c", "6", "66"))
|
|
self.assertEqual(record.sites[9], ("a", "6", "68"))
|
|
self.assertEqual(record.sites[center - 5], ("a", "6", "4728"))
|
|
self.assertEqual(record.sites[center - 4], ("t", "10", "4737"))
|
|
self.assertEqual(record.sites[center - 3], ("a", "10", "4746"))
|
|
self.assertEqual(record.sites[center - 2], ("a", "8", "4756"))
|
|
self.assertEqual(record.sites[center - 1], ("t", "8", "4759"))
|
|
self.assertEqual(record.sites[center], ("t", "8", "4768"))
|
|
self.assertEqual(record.sites[center + 1], ("a", "8", "4775"))
|
|
self.assertEqual(record.sites[center + 2], ("g", "10", "4783"))
|
|
self.assertEqual(record.sites[center + 3], ("t", "8", "4788"))
|
|
self.assertEqual(record.sites[center + 4], ("g", "8", "4794"))
|
|
self.assertEqual(record.sites[-10], ("a", "8", "9445"))
|
|
self.assertEqual(record.sites[-9], ("t", "6", "9453"))
|
|
self.assertEqual(record.sites[-8], ("c", "6", "9462"))
|
|
self.assertEqual(record.sites[-7], ("t", "6", "9465"))
|
|
self.assertEqual(record.sites[-6], ("g", "6", "9478"))
|
|
self.assertEqual(record.sites[-5], ("c", "6", "9483"))
|
|
self.assertEqual(record.sites[-4], ("t", "6", "9485"))
|
|
self.assertEqual(record.sites[-3], ("t", "8", "9495"))
|
|
self.assertEqual(record.sites[-2], ("t", "3", "9504"))
|
|
self.assertEqual(record.sites[-1], ("n", "0", "9511"))
|
|
self.assertEqual(record.seq[:10], "acataaatca")
|
|
self.assertEqual(record.seq[-10:], "atctgctttn")
|
|
# Make sure that no further records are found
|
|
self.assertRaises(StopIteration, next, records)
|
|
|
|
|
|
class PhdTestTwo(unittest.TestCase):
|
|
def setUp(self):
|
|
self.handle = open("Phd/phd2")
|
|
|
|
def tearDown(self):
|
|
self.handle.close()
|
|
|
|
def test_check_SeqIO(self):
|
|
"""Test phd2 using parser via SeqIO."""
|
|
records = SeqIO.parse(self.handle, "phd")
|
|
# Contig 1
|
|
record = next(records)
|
|
self.assertEqual(record.id, "ML4924R")
|
|
self.assertEqual(record.name, "ML4924R")
|
|
self.assertEqual(record.description, "ML4924R")
|
|
self.assertTrue(record.seq.startswith("actttggtcgcctgcaggtaccggtccgnga"))
|
|
self.assertTrue(record.seq.endswith("agaagctcgttctcaacatctccgttggtgaga"))
|
|
self.assertEqual(
|
|
record.letter_annotations["phred_quality"][:10],
|
|
[6, 6, 6, 8, 8, 12, 18, 16, 14, 11],
|
|
)
|
|
self.assertEqual(record[:10].format("fasta"), ">ML4924R\nactttggtcg\n")
|
|
self.assertEqual(
|
|
record[:10].format("qual"), ">ML4924R\n6 6 6 8 8 12 18 16 14 11\n"
|
|
)
|
|
self.assertEqual(
|
|
record[:10].format("fastq"), "@ML4924R\nactttggtcg\n+\n'''))-31/,\n"
|
|
)
|
|
self.assertEqual(
|
|
record[:10].format("fastq-illumina"),
|
|
"@ML4924R\nactttggtcg\n+\nFFFHHLRPNK\n",
|
|
)
|
|
# Make sure that no further records are found
|
|
self.assertRaises(StopIteration, next, records)
|
|
|
|
|
|
class PhdTest454(unittest.TestCase):
|
|
def setUp(self):
|
|
self.handle = open("Phd/phd_454")
|
|
|
|
def tearDown(self):
|
|
self.handle.close()
|
|
|
|
def test_check_SeqIO(self):
|
|
"""Test phd_454 using parser via SeqIO."""
|
|
records = SeqIO.parse(self.handle, "phd")
|
|
# Contig 1
|
|
record = next(records)
|
|
self.assertEqual(record.id, "EBE03TV04IHLTF.77-243")
|
|
self.assertEqual(record.name, "EBE03TV04IHLTF.77-243")
|
|
self.assertEqual(record.description, "EBE03TV04IHLTF.77-243 1")
|
|
self.assertEqual(record.seq, "ggggatgaaagggatctcggtggtaggtga")
|
|
self.assertEqual(
|
|
record.letter_annotations["phred_quality"][:10],
|
|
[37, 37, 37, 37, 37, 37, 37, 37, 37, 37],
|
|
)
|
|
self.assertEqual(
|
|
record.format("fasta"),
|
|
">EBE03TV04IHLTF.77-243 1\nggggatgaaagggatctcggtggtaggtga\n",
|
|
)
|
|
self.assertEqual(
|
|
record.format("qual"),
|
|
">EBE03TV04IHLTF.77-243 1\n"
|
|
"37 37 37 37 37 37 37 37 37 37 "
|
|
"37 37 37 26 26 26 30 33 33 33\n"
|
|
"33 33 36 36 33 33 33 36 26 22\n",
|
|
)
|
|
self.assertEqual(
|
|
record.format("fastq"),
|
|
"@EBE03TV04IHLTF.77-243 1\n"
|
|
"ggggatgaaagggatctcggtggtaggtga\n"
|
|
"+\n"
|
|
"FFFFFFFFFFFFF;;;?BBBBBEEBBBE;7\n",
|
|
)
|
|
self.assertEqual(
|
|
record[:10].format("fastq-illumina"),
|
|
"@EBE03TV04IHLTF.77-243 1\nggggatgaaa\n+\neeeeeeeeee\n",
|
|
)
|
|
# Make sure that no further records are found
|
|
self.assertRaises(StopIteration, next, records)
|
|
|
|
|
|
class PhdTestSolexa(unittest.TestCase):
|
|
def setUp(self):
|
|
self.handle = open("Phd/phd_solexa")
|
|
|
|
def tearDown(self):
|
|
self.handle.close()
|
|
|
|
def test_check_SeqIO(self):
|
|
"""Test phd2 using parser via SeqIO."""
|
|
records = SeqIO.parse(self.handle, "phd")
|
|
# Contig 1
|
|
record = next(records)
|
|
self.assertEqual(record.id, "HWI-EAS94_4_1_1_537_446")
|
|
self.assertEqual(record.name, "HWI-EAS94_4_1_1_537_446")
|
|
self.assertEqual(record.description, "HWI-EAS94_4_1_1_537_446 1")
|
|
self.assertEqual(record.seq, "gccaatcaggtttctctgcaagcccctttagcagctgagc")
|
|
self.assertEqual(
|
|
record.letter_annotations["phred_quality"],
|
|
[
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
28,
|
|
23,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
28,
|
|
22,
|
|
8,
|
|
22,
|
|
7,
|
|
15,
|
|
15,
|
|
15,
|
|
10,
|
|
10,
|
|
11,
|
|
15,
|
|
],
|
|
)
|
|
self.assertEqual(
|
|
record.format("fasta"),
|
|
">HWI-EAS94_4_1_1_537_446 1\ngccaatcaggtttctctgcaagcccctttagcagctgagc\n",
|
|
)
|
|
self.assertEqual(
|
|
record.format("qual"),
|
|
">HWI-EAS94_4_1_1_537_446 1\n"
|
|
"30 30 30 30 30 30 30 30 30 30 "
|
|
"30 30 30 30 30 30 30 30 30 30\n"
|
|
"28 23 30 30 30 30 30 30 28 22 "
|
|
"8 22 7 15 15 15 10 10 11 15\n",
|
|
)
|
|
self.assertEqual(
|
|
record.format("fastq"),
|
|
"@HWI-EAS94_4_1_1_537_446 1\n"
|
|
"gccaatcaggtttctctgcaagcccctttagcagctgagc\n"
|
|
"+\n"
|
|
"????????????????????=8??????=7)7(000++,0\n",
|
|
)
|
|
self.assertEqual(
|
|
record.format("fastq-illumina"),
|
|
"@HWI-EAS94_4_1_1_537_446 1\n"
|
|
"gccaatcaggtttctctgcaagcccctttagcagctgagc\n"
|
|
"+\n"
|
|
"^^^^^^^^^^^^^^^^^^^^\\W^^^^^^\\VHVGOOOJJKO\n",
|
|
)
|
|
# Contig 2
|
|
record = next(records)
|
|
self.assertEqual(record.id, "HWI-EAS94_4_1_1_602_99")
|
|
self.assertEqual(record.name, "HWI-EAS94_4_1_1_602_99")
|
|
self.assertEqual(record.description, "HWI-EAS94_4_1_1_602_99 1")
|
|
self.assertEqual(record.seq, "gccatggcacatatatgaaggtcagaggacaacttgctgt")
|
|
self.assertEqual(
|
|
record.letter_annotations["phred_quality"],
|
|
[
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
30,
|
|
16,
|
|
30,
|
|
28,
|
|
22,
|
|
22,
|
|
22,
|
|
14,
|
|
15,
|
|
15,
|
|
5,
|
|
10,
|
|
15,
|
|
10,
|
|
5,
|
|
],
|
|
)
|
|
self.assertEqual(
|
|
record.format("fasta"),
|
|
">HWI-EAS94_4_1_1_602_99 1\ngccatggcacatatatgaaggtcagaggacaacttgctgt\n",
|
|
)
|
|
self.assertEqual(
|
|
record.format("qual"),
|
|
">HWI-EAS94_4_1_1_602_99 1\n"
|
|
"30 30 30 30 30 30 30 30 30 30 "
|
|
"30 30 30 30 30 30 30 30 30 30\n"
|
|
"30 30 30 30 30 30 16 30 28 22 "
|
|
"22 22 14 15 15 5 10 15 10 5\n",
|
|
)
|
|
self.assertEqual(
|
|
record.format("fastq"),
|
|
"@HWI-EAS94_4_1_1_602_99 1\n"
|
|
"gccatggcacatatatgaaggtcagaggacaacttgctgt\n"
|
|
"+\n"
|
|
"??????????????????????????1?=777/00&+0+&\n",
|
|
)
|
|
self.assertEqual(
|
|
record.format("fastq-illumina"),
|
|
"@HWI-EAS94_4_1_1_602_99 1\n"
|
|
"gccatggcacatatatgaaggtcagaggacaacttgctgt\n"
|
|
"+\n"
|
|
"^^^^^^^^^^^^^^^^^^^^^^^^^^P^\\VVVNOOEJOJE\n",
|
|
)
|
|
# Make sure that no further records are found
|
|
self.assertRaises(StopIteration, next, records)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
runner = unittest.TextTestRunner(verbosity=2)
|
|
unittest.main(testRunner=runner)
|