From 3f4689a163e5659b62838bdb95714a19e5ee54a7 Mon Sep 17 00:00:00 2001
From: apn <apn@opencascade.com>
Date: Thu, 20 Jun 2013 12:31:58 +0400
Subject: [PATCH] Adding test cases

for following issues:

0023823: The result of section operation contains redundant vertex
0023826: Boolean Common between two solids fails
0023884: Boolean Fuse between two faces fails
0023892: Missing intersection curve between two surfaces
0023976: Extremely high memory consumption on boolean operation on 64 bits
0023991: Missing section edge between two faces
0024003: Exception reaised during intersection between two faces
---
 tests/bugs/modalg_5/bug23823 | 35 +++++++++++++++++++++++++++++++++++
 tests/bugs/modalg_5/bug23826 | 15 +++++++++++++++
 tests/bugs/modalg_5/bug23884 | 23 +++++++++++++++++++++++
 tests/bugs/modalg_5/bug23892 | 25 +++++++++++++++++++++++++
 tests/bugs/modalg_5/bug23976 | 11 +++++++++++
 tests/bugs/modalg_5/bug23991 | 30 ++++++++++++++++++++++++++++++
 tests/bugs/modalg_5/bug24003 | 12 ++++++++++++
 7 files changed, 151 insertions(+)
 create mode 100644 tests/bugs/modalg_5/bug23823
 create mode 100644 tests/bugs/modalg_5/bug23826
 create mode 100644 tests/bugs/modalg_5/bug23884
 create mode 100644 tests/bugs/modalg_5/bug23892
 create mode 100644 tests/bugs/modalg_5/bug23976
 create mode 100644 tests/bugs/modalg_5/bug23991
 create mode 100644 tests/bugs/modalg_5/bug24003

diff --git a/tests/bugs/modalg_5/bug23823 b/tests/bugs/modalg_5/bug23823
new file mode 100644
index 0000000000..38cb4ac916
--- /dev/null
+++ b/tests/bugs/modalg_5/bug23823
@@ -0,0 +1,35 @@
+puts "============"
+puts "OCC23823"
+puts "============"
+puts ""
+#######################################################################
+# The result of section operation contains redundant vertex.
+#######################################################################
+
+set BugNumber OCC23823
+
+restore [locate_data_file bug23823_SAS_MAT_rota.brep] b1
+restore [locate_data_file bug23823_cylindre_ext.brep] b2
+
+explode b1 f
+explode b2 f
+
+copy b1_3 b1
+copy b2_1 b2
+
+bop b1 b2
+bopsection result
+
+set nb_v_good 2
+set nb_e_good 1
+set nb_w_good 0
+set nb_f_good 0
+set nb_sh_good 0
+set nb_sol_good 0
+set nb_compsol_good 0
+set nb_compound_good  1
+set nb_shape_good 4
+
+set nb_info [nbshapes result]
+
+set 2dviewer 1
diff --git a/tests/bugs/modalg_5/bug23826 b/tests/bugs/modalg_5/bug23826
new file mode 100644
index 0000000000..181bba0969
--- /dev/null
+++ b/tests/bugs/modalg_5/bug23826
@@ -0,0 +1,15 @@
+puts "============"
+puts "OCC23826"
+puts "============"
+puts ""
+######################################################
+# Boolean Common between two soids fails
+######################################################
+
+restore [locate_data_file bug23826_Carte.brep] b1
+restore [locate_data_file bug23826_Use140.brep] b2
+
+bop b1 b2
+bopcommon result
+
+set 2dviewer 0
diff --git a/tests/bugs/modalg_5/bug23884 b/tests/bugs/modalg_5/bug23884
new file mode 100644
index 0000000000..2be1f1af62
--- /dev/null
+++ b/tests/bugs/modalg_5/bug23884
@@ -0,0 +1,23 @@
+puts "TODO OCC23884 ALL: Faulty shapes in variables faulty_1 to faulty_"
+puts "TODO OCC23884 ALL: Error : The square of result shape is"
+puts "============"
+puts "OCC23884"
+puts "============"
+puts ""
+######################################################
+# Boolean Fuse between two faces fails
+######################################################
+
+restore [locate_data_file bug23884_fz72] b1
+restore [locate_data_file bug23884_fz124] b2
+
+bop b1 b2
+bopfuse result
+
+set square 2333.14
+set 2dviewer 0
+
+
+
+
+
diff --git a/tests/bugs/modalg_5/bug23892 b/tests/bugs/modalg_5/bug23892
new file mode 100644
index 0000000000..7dca1831c3
--- /dev/null
+++ b/tests/bugs/modalg_5/bug23892
@@ -0,0 +1,25 @@
+puts "TODO OCC23892 ALL: Error : number of surfaces is incorrect. Should be two intersection curves"
+puts "============"
+puts "OCC23892"
+puts "============"
+puts ""
+######################################################
+# Missing intersection curve between two surfaces
+######################################################
+
+restore [locate_data_file bug23892_fz33] b1
+restore [locate_data_file bug23892_fz46] b2
+
+mksurface s1 b1
+mksurface s2 b2
+
+intersect res s1 s2
+decho off
+set info [directory]
+decho on
+set nb [regexp -all {res_} $info]
+if {$nb != 2 } {
+    puts "Error : number of surfaces is incorrect. Should be two intersection curves"
+} else {
+    puts "OK : number of surfaces is correct."
+}
diff --git a/tests/bugs/modalg_5/bug23976 b/tests/bugs/modalg_5/bug23976
new file mode 100644
index 0000000000..48d994652d
--- /dev/null
+++ b/tests/bugs/modalg_5/bug23976
@@ -0,0 +1,11 @@
+puts "================"
+puts "OCC23976"
+puts "================"
+puts ""
+#######################################################################################
+# Extremely high memory consumption on boolean operation on 64 bits
+######################################################################################
+
+restore [locate_data_file bug23976_a_shape_1_pre.brep] s1
+restore [locate_data_file bug23976_a_shape_2_pre.brep] s2
+bop s1 s2
diff --git a/tests/bugs/modalg_5/bug23991 b/tests/bugs/modalg_5/bug23991
new file mode 100644
index 0000000000..e0d82dfc03
--- /dev/null
+++ b/tests/bugs/modalg_5/bug23991
@@ -0,0 +1,30 @@
+puts "TODO OCC23991 ALL: Error : Result shape is WRONG"
+puts "============"
+puts "OCC23991"
+puts "============"
+puts ""
+#######################################################################
+# Missing section edge between two faces.
+#######################################################################
+
+set BugNumber OCC23991
+
+restore [locate_data_file bug23991_f1.brep] b1
+restore [locate_data_file bug23991_Plane_1.brep] b2
+
+bop b1 b2
+bopsection result
+
+set nb_v_good 2
+set nb_e_good 1
+set nb_w_good 0
+set nb_f_good 0
+set nb_sh_good 0
+set nb_sol_good 0
+set nb_compsol_good 0
+set nb_compound_good  1
+set nb_shape_good 4
+
+set nb_info [nbshapes result]
+
+set 2dviewer 1
diff --git a/tests/bugs/modalg_5/bug24003 b/tests/bugs/modalg_5/bug24003
new file mode 100644
index 0000000000..824ee6eeff
--- /dev/null
+++ b/tests/bugs/modalg_5/bug24003
@@ -0,0 +1,12 @@
+puts "================"
+puts "OCC24003"
+puts "================"
+puts ""
+#######################################################################
+# Exception reaised during intersection between two faces
+#######################################################################
+
+restore [locate_data_file bug24003_fz33.brep] b1
+restore [locate_data_file bug24003_fz47.brep] b2
+
+bop b1 b2