puts "========"
puts "OCC26642"
puts "========"
puts ""
############################################################################
# ShapeUpgrade_UnifySameDomain introduces extremely high vertex tolerances
############################################################################

restore [locate_data_file OCC26656_unify.input.brep] i

set bug_info [tolerance i]
set value_1 [lindex $bug_info 1]
set value_1 [string trim [string range $value_1 [expr {[string first "=" $value_1] + 1}] [expr {[string length $value_1] - 1}]]]

unifysamedom r i

set bug_info [tolerance i]
set value_2 [lindex $bug_info 1]
set value_2 [string trim [string range $value_2 [expr {[string first "=" $value_2] + 1}] [expr {[string length $value_2] - 1}]]]
set bug_info [tolerance r]
set value_3 [lindex $bug_info 1]
set value_3 [string trim [string range $value_3 [expr {[string first "=" $value_3] + 1}] [expr {[string length $value_3] - 1}]]]

if {$value_1 > $value_2} {
  set diff_12 [expr {$value_1 - $value_2}]
} else {
  set diff_12 [expr {$value_2 - $value_1}]
}

if {$value_1 > $value_3} {
  set diff_13 [expr {$value_1 - $value_3}]
} else {
  set diff_13 [expr {$value_3 - $value_1}]
}

if {$diff_12 > 1.e-06 || $diff_13 > 1.e-06} {
  puts "ERROR: OCC26642 is reproduced. Command unifysamedom works wrongly."
}
