public void IntersectsDisjoint() { // simple overlap var a = new IntInterval(7, 42); var b = new IntInterval(10, 100); Assert.IsTrue(a.IntersectsWith(b)); Assert.IsTrue(b.IntersectsWith(a)); Assert.IsTrue(a.IntersectsWith(a)); Assert.IsFalse(a.IsDisjointFrom(b)); Assert.IsFalse(b.IsDisjointFrom(a)); Assert.IsFalse(a.IsDisjointFrom(a)); // "touching", inclusive var c = new IntInterval(42, 100); Assert.IsTrue(a.IntersectsWith(c)); Assert.IsTrue(c.IntersectsWith(a)); Assert.IsFalse(a.IsDisjointFrom(c)); Assert.IsFalse(c.IsDisjointFrom(a)); // "touching", but non-inclusive var d = new IntInterval(42, false, 100, true); Assert.IsFalse(a.IntersectsWith(d)); Assert.IsFalse(d.IntersectsWith(a)); Assert.IsTrue(a.IsDisjointFrom(d)); Assert.IsTrue(d.IsDisjointFrom(a)); var e = new IntInterval(0, true, 7, false); Assert.IsFalse(a.IntersectsWith(e)); Assert.IsFalse(e.IntersectsWith(a)); Assert.IsTrue(a.IsDisjointFrom(e)); Assert.IsTrue(e.IsDisjointFrom(a)); // simple disjoint var f = new IntInterval(0, 3); Assert.IsFalse(a.IntersectsWith(f)); Assert.IsFalse(f.IntersectsWith(a)); Assert.IsTrue(a.IsDisjointFrom(f)); Assert.IsTrue(f.IsDisjointFrom(a)); // negative interval var g = new IntInterval(8, 0); Assert.IsTrue(a.IntersectsWith(g)); Assert.IsTrue(g.IntersectsWith(a)); Assert.IsFalse(a.IsDisjointFrom(g)); Assert.IsFalse(g.IsDisjointFrom(a)); // containment var h = new IntInterval(7, 42); var i = new IntInterval(10, 40); Assert.IsTrue(h.IntersectsWith(i)); Assert.IsTrue(i.IntersectsWith(h)); Assert.IsFalse(h.IsDisjointFrom(i)); Assert.IsFalse(i.IsDisjointFrom(h)); }
public void IntersectsWith() { IntInterval a0 = new IntInterval(-100, -51); IntInterval a = new IntInterval(-100, -50); IntInterval b = new IntInterval(-50, 50); IntInterval c = new IntInterval(50, 100); IntInterval c0 = new IntInterval(51, 100); Assert.IsFalse(a0.IntersectsWith(b)); Assert.IsFalse(b.IntersectsWith(a0)); Assert.IsFalse(b.IntersectsWith(c0)); Assert.IsFalse(c0.IntersectsWith(b)); Assert.IsTrue(a.IntersectsWith(b)); Assert.IsTrue(b.IntersectsWith(a)); Assert.IsTrue(b.IntersectsWith(c)); Assert.IsTrue(c.IntersectsWith(b)); }
public void IntersectsWith() { IntInterval a0 = new IntInterval( -100, -51 ); IntInterval a = new IntInterval( -100, -50 ); IntInterval b = new IntInterval( -50, 50 ); IntInterval c = new IntInterval( 50, 100 ); IntInterval c0 = new IntInterval( 51, 100 ); Assert.IsFalse( a0.IntersectsWith( b ) ); Assert.IsFalse( b.IntersectsWith( a0 ) ); Assert.IsFalse( b.IntersectsWith( c0 ) ); Assert.IsFalse( c0.IntersectsWith( b ) ); Assert.IsTrue( a.IntersectsWith( b ) ); Assert.IsTrue( b.IntersectsWith( a ) ); Assert.IsTrue( b.IntersectsWith( c ) ); Assert.IsTrue( c.IntersectsWith( b ) ); }