range_intersection.data 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. // generated with
  2. // https://notabug.org/namark/sketchbook/src/master/range_intersection.cpp
  3. {
  4. auto a = range{vector(175, 175), vector(275, 275)};
  5. auto b = range{vector(125, 125), vector(225, 225)};
  6. auto i = range{vector(175, 175), vector(225, 225)};
  7. assert(intersection(a,b) == i);
  8. assert(i.valid() == true);
  9. assert(i.valid() == intersects(a,b));
  10. }
  11. {
  12. auto a = range{vector(175, 175), vector(275, 275)};
  13. auto b = range{vector(237, 121), vector(337, 221)};
  14. auto i = range{vector(237, 175), vector(275, 221)};
  15. assert(intersection(a,b) == i);
  16. assert(i.valid() == true);
  17. assert(i.valid() == intersects(a,b));
  18. }
  19. {
  20. auto a = range{vector(175, 175), vector(275, 275)};
  21. auto b = range{vector(233, 235), vector(333, 335)};
  22. auto i = range{vector(233, 235), vector(275, 275)};
  23. assert(intersection(a,b) == i);
  24. assert(i.valid() == true);
  25. assert(i.valid() == intersects(a,b));
  26. }
  27. {
  28. auto a = range{vector(175, 175), vector(275, 275)};
  29. auto b = range{vector(125, 229), vector(225, 329)};
  30. auto i = range{vector(175, 229), vector(225, 275)};
  31. assert(intersection(a,b) == i);
  32. assert(i.valid() == true);
  33. assert(i.valid() == intersects(a,b));
  34. }
  35. {
  36. auto a = range{vector(138, 143), vector(238, 243)};
  37. auto b = range{vector(277, 151), vector(377, 251)};
  38. auto i = range{vector(277, 151), vector(238, 243)};
  39. assert(intersection(a,b) == i);
  40. assert(i.valid() == false);
  41. assert(i.valid() == intersects(a,b));
  42. }
  43. {
  44. auto a = range{vector(138, 143), vector(238, 243)};
  45. auto b = range{vector(260, 23), vector(360, 123)};
  46. auto i = range{vector(260, 143), vector(238, 123)};
  47. assert(intersection(a,b) == i);
  48. assert(i.valid() == false);
  49. assert(i.valid() == intersects(a,b));
  50. }
  51. {
  52. auto a = range{vector(138, 143), vector(238, 243)};
  53. auto b = range{vector(134, 9), vector(234, 109)};
  54. auto i = range{vector(138, 143), vector(234, 109)};
  55. assert(intersection(a,b) == i);
  56. assert(i.valid() == false);
  57. assert(i.valid() == intersects(a,b));
  58. }
  59. {
  60. auto a = range{vector(138, 143), vector(238, 243)};
  61. auto b = range{vector(20, 17), vector(120, 117)};
  62. auto i = range{vector(138, 143), vector(120, 117)};
  63. assert(intersection(a,b) == i);
  64. assert(i.valid() == false);
  65. assert(i.valid() == intersects(a,b));
  66. }
  67. {
  68. auto a = range{vector(138, 143), vector(238, 243)};
  69. auto b = range{vector(9, 149), vector(109, 249)};
  70. auto i = range{vector(138, 149), vector(109, 243)};
  71. assert(intersection(a,b) == i);
  72. assert(i.valid() == false);
  73. assert(i.valid() == intersects(a,b));
  74. }
  75. {
  76. auto a = range{vector(138, 143), vector(238, 243)};
  77. auto b = range{vector(126, 287), vector(226, 387)};
  78. auto i = range{vector(138, 287), vector(226, 243)};
  79. assert(intersection(a,b) == i);
  80. assert(i.valid() == false);
  81. assert(i.valid() == intersects(a,b));
  82. }
  83. {
  84. auto a = range{vector(138, 143), vector(238, 243)};
  85. auto b = range{vector(184, 183), vector(224, 388)};
  86. auto i = range{vector(184, 183), vector(224, 243)};
  87. assert(intersection(a,b) == i);
  88. assert(i.valid() == true);
  89. assert(i.valid() == intersects(a,b));
  90. }
  91. {
  92. auto a = range{vector(138, 143), vector(238, 243)};
  93. auto b = range{vector(180, 266), vector(220, 471)};
  94. auto i = range{vector(180, 266), vector(220, 243)};
  95. assert(intersection(a,b) == i);
  96. assert(i.valid() == false);
  97. assert(i.valid() == intersects(a,b));
  98. }
  99. {
  100. auto a = range{vector(138, 143), vector(238, 243)};
  101. auto b = range{vector(230, 51), vector(270, 256)};
  102. auto i = range{vector(230, 143), vector(238, 243)};
  103. assert(intersection(a,b) == i);
  104. assert(i.valid() == true);
  105. assert(i.valid() == intersects(a,b));
  106. }
  107. {
  108. auto a = range{vector(138, 143), vector(238, 243)};
  109. auto b = range{vector(119, 62), vector(159, 267)};
  110. auto i = range{vector(138, 143), vector(159, 243)};
  111. assert(intersection(a,b) == i);
  112. assert(i.valid() == true);
  113. assert(i.valid() == intersects(a,b));
  114. }
  115. {
  116. auto a = range{vector(130, 155), vector(152, 189)};
  117. auto b = range{vector(119, 62), vector(159, 267)};
  118. auto i = range{vector(130, 155), vector(152, 189)};
  119. assert(intersection(a,b) == i);
  120. assert(i.valid() == true);
  121. assert(i.valid() == intersects(a,b));
  122. }
  123. {
  124. auto a = range{vector(130, 155), vector(152, 189)};
  125. auto b = range{vector(180, 84), vector(220, 289)};
  126. auto i = range{vector(180, 155), vector(152, 189)};
  127. assert(intersection(a,b) == i);
  128. assert(i.valid() == false);
  129. assert(i.valid() == intersects(a,b));
  130. }
  131. {
  132. auto a = range{vector(130, 155), vector(326, 194)};
  133. auto b = range{vector(180, 84), vector(220, 289)};
  134. auto i = range{vector(180, 155), vector(220, 194)};
  135. assert(intersection(a,b) == i);
  136. assert(i.valid() == true);
  137. assert(i.valid() == intersects(a,b));
  138. }
  139. {
  140. auto a = range{vector(196, 271), vector(392, 310)};
  141. auto b = range{vector(180, 84), vector(220, 289)};
  142. auto i = range{vector(196, 271), vector(220, 289)};
  143. assert(intersection(a,b) == i);
  144. assert(i.valid() == true);
  145. assert(i.valid() == intersects(a,b));
  146. }