diff --git a/tests/test_digest.py b/tests/test_digest.py
index edec33143e58b9652f868c6f62a17e68e8069b19..32484a2b9eea5c6764081417f5e96901b665e161 100644
--- a/tests/test_digest.py
+++ b/tests/test_digest.py
@@ -557,4 +557,51 @@ def test_digest_part(tmpdir):
 
 def test_theoretical_peptides(capsys):
     """Test function 'theoretical_peptides(results_digestion, mc_val)'"""
-    pass
\ No newline at end of file
+    enzymes = []
+    # Firt enzyme: cut after D precedeed by S
+    rule_dict = {}
+    rule_txt = "(W,)"
+    rule_dict[rule_txt] = True
+    all_rules = rule.create_rules(rule_dict)
+    enz1 = enzyme.Enzyme(-1, "fake_enzyme1", all_rules)
+    enzymes.append(enz1)
+    aa_pka = core.AA_PKA_IPC
+    aa_mass = core.AA_MASS_AVERAGE
+    water_mass = core.WATER_MASS
+
+    # Input sequence
+    seq = Sequence("Test", "PWAAAWCCCWDDD")
+
+    # Enz1 will cut
+    res_pep0 = Peptide("Test", "PW", enzymes[0].name, aa_pka, aa_mass, water_mass, 0, 2)
+    res_pep1 = Peptide("Test", "AAAW", enzymes[0].name, aa_pka, aa_mass, water_mass, 1, 6)
+    res_pep2 = Peptide("Test", "CCCW", enzymes[0].name, aa_pka, aa_mass, water_mass, 2, 10)
+    res_pep3 = Peptide("Test", "DDD", enzymes[0].name, aa_pka, aa_mass, water_mass, 3, 13)
+
+    # Test it!
+    res = digest.sequential_digest(seq, enzymes, aa_pka, aa_mass, water_mass)
+    assert res[0].enzyme_name == "fake_enzyme1"
+    assert res[0].peptides[0].__repr__() == res_pep0.__repr__()
+    assert res[0].peptides[1].__repr__() == res_pep1.__repr__()
+    assert res[0].peptides[2].__repr__() == res_pep2.__repr__()
+    assert res[0].peptides[3].__repr__() == res_pep3.__repr__()
+
+    # All theoretical for 3 mc add these one
+    res_pep4 = Peptide("Test", "PWAAAW", enzymes[0].name, aa_pka, aa_mass, water_mass, 4, 6)
+    res_pep5 = Peptide("Test", "AAAWCCCW", enzymes[0].name, aa_pka, aa_mass, water_mass, 5, 10)
+    res_pep6 = Peptide("Test", "CCCWDDD", enzymes[0].name, aa_pka, aa_mass, water_mass, 6, 13)
+    res_pep7 = Peptide("Test", "PWAAAWCCCW", enzymes[0].name, aa_pka, aa_mass, water_mass, 7, 10)
+    res_pep8 = Peptide("Test", "AAAWCCCWDDD", enzymes[0].name, aa_pka, aa_mass, water_mass, 8, 13)
+    res_pep9 = Peptide("Test", "PWAAAWCCCWDDD", enzymes[0].name, aa_pka, aa_mass, water_mass, 9, 13)
+    mc_val = {"fake_enzyme1": 3}
+    digest.theoretical_peptides([res], mc_val)
+    assert res[0].peptides[0].__repr__() == res_pep0.__repr__()
+    assert res[0].peptides[1].__repr__() == res_pep1.__repr__()
+    assert res[0].peptides[2].__repr__() == res_pep2.__repr__()
+    assert res[0].peptides[3].__repr__() == res_pep3.__repr__()
+    assert res[0].peptides[4].__repr__() == res_pep4.__repr__()
+    assert res[0].peptides[5].__repr__() == res_pep5.__repr__()
+    assert res[0].peptides[6].__repr__() == res_pep6.__repr__()
+    assert res[0].peptides[7].__repr__() == res_pep7.__repr__()
+    assert res[0].peptides[8].__repr__() == res_pep8.__repr__()
+    assert res[0].peptides[9].__repr__() == res_pep9.__repr__()