public void CutomIntervalCompare() { var interval1 = new VariantAnnotation.DataStructures.CustomInterval("chr1", 1000, 2000, "test", new Dictionary <string, string> { ["k1"] = "v1" }, null); var interval2 = new VariantAnnotation.DataStructures.CustomInterval("chr1", 1000, 2000, "test", new Dictionary <string, string> { ["k1"] = "v1" }, null); var interval3 = new VariantAnnotation.DataStructures.CustomInterval("chr1", 1010, 2000, "test", new Dictionary <string, string> { ["k1"] = "v1" }, null); var interval4 = new VariantAnnotation.DataStructures.CustomInterval("chr2", 1010, 2000, "test", new Dictionary <string, string> { ["k1"] = "v1" }, null); Assert.True(interval1.Equals(interval2)); Assert.Equal(-1, interval1.CompareTo(interval3)); Assert.Equal(-1, interval1.CompareTo(interval4)); var intervalHash = new HashSet <VariantAnnotation.DataStructures.CustomInterval> { interval4, interval1 }; Assert.Equal(2, intervalHash.Count); }
public void DifferentTypeException() { var customInterval = new VariantAnnotation.DataStructures.CustomInterval("chr1", 100, 200, "WrongType", null, null); var randomPath = GetRandomPath(); var dataVersion = new DataSourceVersion("customInterval", "00", DateTime.Now.Ticks); using (var writer = new CustomIntervalWriter(randomPath, "chr1", _intervalType, dataVersion)) { // ReSharper disable once AccessToDisposedClosure var ex = Assert.Throws <Exception>(() => writer.WriteInterval(customInterval)); Assert.Equal($"Unexpected interval in custom interval writer.\nExpected interval type: {_intervalType}, observed interval type: WrongType", ex.Message); } }
public CustomIntervalReadAndWriteTests() { _intervalType = "TestInterval"; for (var i = 0; i < _totalIntervals; i++) { var start = 100 + i * 10000; var end = 200 + i * 100 + i * 10000; var geneName = "TestGene" + i; var evidence = "Class" + i; var length = end - start + 1; // ReSharper disable once PossibleLossOfFraction float score = i * 3 / 5; var stringValues = new Dictionary <string, string>(); var nonstringValues = new Dictionary <string, string>(); stringValues.Add("Gene", geneName); stringValues.Add("Evidence", evidence); nonstringValues.Add("score", score.ToString(CultureInfo.InvariantCulture)); nonstringValues.Add("length", length.ToString()); if (i == 0) { var customInterval = new VariantAnnotation.DataStructures.CustomInterval("chr1", start, end, _intervalType, null, null); _expectedCustomIntervals.Add(customInterval); } else { var customInterval = new VariantAnnotation.DataStructures.CustomInterval("chr1", start, end, _intervalType, stringValues, nonstringValues); _expectedCustomIntervals.Add(customInterval); } } _randomPath = GetRandomPath(); WriteCustomIntevalFile(_randomPath); }