public void GetOverlapFractions_ReturnNulls_DifferentChroms()
        {
            var saInterval = new ChromosomeInterval(ChromosomeUtilities.Chr1, 1, 2);
            var variant    = new SimpleVariant(ChromosomeUtilities.Chr2, 1, 2, null, null, VariantType.deletion);

            var(reciprocalOverlap, annotationOverlap) = SuppIntervalUtilities.GetOverlapFractions(saInterval, variant);

            Assert.Null(reciprocalOverlap);
            Assert.Null(annotationOverlap);
        }
        public void GetOverlapFractions_ReturnNulls_BreakEnd()
        {
            var saInterval = new ChromosomeInterval(ChromosomeUtilities.Chr1, 2, 1);
            var variant    = new SimpleVariant(ChromosomeUtilities.Chr1, 1, 2, null, null, VariantType.translocation_breakend);

            var(reciprocalOverlap, annotationOverlap) = SuppIntervalUtilities.GetOverlapFractions(saInterval, variant);

            Assert.Null(reciprocalOverlap);
            Assert.Null(annotationOverlap);
        }
        public void GetOverlapFractions_NotNull_AsExpected(int varStart, int varEnd, int saStart, int saEnd, double expectedReciprocalOverlap, double expecedAnnotationOverlap)
        {
            var saInterval = new ChromosomeInterval(ChromosomeUtilities.Chr1, saStart, saEnd);
            var variant    = new SimpleVariant(ChromosomeUtilities.Chr1, varStart, varEnd, null, null, VariantType.deletion);

            var(reciprocalOverlap, annotationOverlap) = SuppIntervalUtilities.GetOverlapFractions(saInterval, variant);

            Assert.NotNull(reciprocalOverlap);
            Assert.NotNull(annotationOverlap);
            Assert.Equal(expectedReciprocalOverlap, reciprocalOverlap.Value, 5);
            Assert.Equal(expecedAnnotationOverlap, annotationOverlap.Value, 5);
        }