def METHOD_NAME(self):
    """Soft constraints - base pairs sliding window MFE"""
    fc = RNA.fold_compound(seq_long, None, RNA.OPTION_WINDOW)
    # add twice -10.0 kcal/mol on base pair (55,60)
    fc.sc_add_bp(55, 60, -10.0, RNA.OPTION_WINDOW)
    fc.sc_add_bp(55, 60, -10.0, RNA.OPTION_WINDOW)
    # allow pair (55,60) to actually form (might be non-canonical)
    fc.hc_add_bp(55, 60, RNA.CONSTRAINT_CONTEXT_NO_REMOVE | RNA.CONSTRAINT_CONTEXT_ALL_LOOPS)
    data = []
    mfe = fc.mfe_window_cb(mfe_window_callback, data)
    for hit in data:
        if (hit['start'] <= 55) and (hit['end'] >= 60):
            # compose actual dot bracket string (including potential 5' dangle nucleotide
            if hit['start'] > 1:
                d = 1
                ss = "." + hit['structure']
            else:
                d = 0
                ss = hit['structure']
            # get corresponding subsequence
            s = seq_long[hit['start'] - 1 - d: hit['end']]
            # re-evaluate free energy of subsequence/hit
            e = RNA.energy_of_struct(s, ss)
            # energy difference between both must be -20.0 kcal/mol (if the constrained base pair is present)
            self.assertEqual("%6.2f" % hit['energy'], "%6.2f" % (e - 20.0))