def test_closest_by_feature_multiple_beds(self):
     
     """
     
     Tests multiple features and multiple beds
     
     """
     
                         #makes bedtool to test -
     bedtool = pybedtools.BedTool("""chr1 299 300 bar 0 -
                                     chr1 301 400 bar 0 -
                                     chr1 89 200 foo 0 +
                                     chr1 91 200 foo 0 +""", from_string=True)
     
     closest_feature = pybedtools.BedTool("""chr1 310 400 bar 0 -\n
                                             chr1 300 350 bar 0 -\n
                                             chr1 111 200 foo 0 +\n
                                             chr1 90  150 foo 0 +\n""", from_string=True)
     
     result = closest_by_feature(bedtool, closest_feature)
     
     self.assertEqual(str(pybedtools.BedTool("""chr1 299 300 bar 0 - chr1 300 350 bar 0 - 1\n
                                                chr1 301 400 bar 0 - chr1 300 350 bar 0 - -1\n
                                                chr1 89 200 foo 0 + chr1 90  150 foo 0 + -1\n
                                                chr1 91 200 foo 0 + chr1 90  150 foo 0 + 1\n""", from_string=True)), str(result))
 def test_closest_by_feature_negative_strand(self):
     
     """
     
     Tests negative strand on closets_by_feature 
     
     """
                 #makes bedtool to test -
     bedtool = pybedtools.BedTool("chr1 100 200 foo 0 -", from_string=True)
     
     closest_feature = pybedtools.BedTool("""chr1 111 200 foo 0 -\n
                                             chr1 90  150 foo 0 -""", from_string=True)
     
     result = closest_by_feature(bedtool, closest_feature)
     
     self.assertEqual("\t".join("chr1 100 200 foo 0 - chr1 90  150 foo 0 - -10".split()) + "\n", str(result))
 def test_closest_by_feature_positive_strand(self):
     
     """
     
     Tests custom closest feature function, need 4 tests, + on tool - on
     features and all other combinations
     
     """
     
     #makes bedtool to test +
     bedtool = pybedtools.BedTool("chr1 100 200 foo 0 +", from_string=True)
     
     closest_feature = pybedtools.BedTool("""chr1 111 200 foo 0 +\n
                                             chr1 90  150 foo 0 +""", from_string=True)
     
     result = closest_by_feature(bedtool, closest_feature)
     
     self.assertEqual("\t".join("chr1 100 200 foo 0 + chr1 90  150 foo 0 + 10".split()) + "\n", str(result))