Branch Coverage

lib/UR/Context/ObjectFabricator.pm
Criterion Covered Total %
branch 137 178 76.9


line true false branch
25 0 2205 unless ($params{'fabricator'} and ref $params{'fabricator'} eq 'CODE')
29 0 2205 unless ($params{'context'} and ref $params{'context'} and $params{'context'}->isa('UR::Context'))
54 0 2178 unless ($class_name)
88 2004 174 if ($loading_template == $query_plan->{'loading_templates'}[0]) { }
104 361 1817 @id_positions > 1 ? :
113 0 2178 if ($loading_template->{'constant_property_names'})
135 106 2072 if (@rule_properties_with_in_clauses)
153 0 129 unless ($values_for_in_clause)
156 0 129 if (@$values_for_in_clause > 100)
161 189 7 exists $rule_properties_with_in_clauses{$_} ? :
172 9 254 unless defined $value
187 174 2004 unless ($loading_base_object)
197 103568 431 if ($loading_base_object and not $rule_specifies_id)
198 103568 0 if ($do_record_in_all_params_loaded)
199 22 103546 if ($rule_class_name ne $load_class_name and scalar @extra_params == 0)
209 192 103376 if (@rule_properties_with_in_clauses)
238 104073 87 if (defined $next_db_row->[$column])
243 21 104073 if (not $loading_base_object || $values_exist and $delegations_with_no_objects)
258 157 103916 if ($multi_column_id) { }
265 0 104073 unless (defined $pending_db_object_id)
278 45 104028 if ($UR::Context::all_objects_loaded->{$ghost_class}{$pending_db_object_id})
286 1226 102802 if ($pending_db_object = $UR::Context::all_objects_loaded->{$class}{$pending_db_object_id}) { }
288 21 884 if ($loading_base_object and $needs_further_boolexpr_evaluation_after_loading and not $rule->evaluate($pending_db_object))
307 211 102591 if ($sub_classification_method_name || $subclassify_by || $sub_classification_meta_class_name and ref $pending_db_object eq $class) { }
316 43 168 if ($sub_classification_method_name) { }
0 168 elsif ($sub_classification_meta_class_name) { }
318 0 43 unless ($subclass_name)
332 0 0 unless ($subclass_name)
335 0 0 unless ($type_obj)
345 0 0 unless ('UR::Object::Type'->get($some_subclass_name)->is_abstract)
351 0 0 if ($type_obj = $some_subclass_type_class->get($subtype_name)) { }
362 0 0 if ($type_obj) { }
370 0 0 unless ($subclass_name)
384 0 167 unless ($subclass_name)
392 0 210 unless ($subclass_name->isa($class))
409 0 102801 if ($UR::Context::light_cache and substr($class, 0, 5) ne 'App::')
416 102640 161 if ($subclass_name eq $class) { }
425 37 124 if ($UR::Context::all_objects_loaded->{$subclass_ghost_class}{$pending_db_object_id})
436 78 46 unless (defined $re_bless)
444 60 64 unless ($re_bless)
452 60 0 if ($loading_base_object)
460 60 0 if ($loading_base_object)
478 38 26 if ($already_loaded)
483 27 37 if ($already_loaded and not $different and not $merge_exception) { }
484 0 27 if ($pending_db_object == $already_loaded)
488 24 3 if ($loading_base_object)
501 24 3 if ($loading_base_object)
511 31 6 if ($loading_base_object)
525 5 32 if ($merge_exception)
530 6 26 if ($already_loaded) { }
548 4 55 if ($needs_further_boolexpr_evaluation_after_loading and $loading_base_object and not $rule->evaluate($pending_db_object)) { }
562 14 100201 if ($loading_base_object and $needs_further_boolexpr_evaluation_after_loading and not $boolexpr_evaluated_ok and not $rule->evaluate($pending_db_object))
576 349 103530 if ($hints_or_delegation)
587 0 103879 if (my $next_joins = $loading_template->{'next_joins'})
608 17 103862 if ($recursion_desc and $loading_base_object)
612 0 17 unless $dbc
617 3 14 unless defined $value_referencing_other_object
618 17 0 unless ($recurse_property_value_found{$value_referencing_other_object})
655 0 15 if (defined $value_by_which_this_object_is_loaded_via_recursion and $recurse_property_value_found{$value_by_which_this_object_is_loaded_via_recursion})
719 54 670 if (not ref $value_source) { }
666 4 elsif (&Scalar::Util::looks_like_number($$value_source)) { }
4 0 elsif ($pending_db_object) { }
751 27 147 if ($rule_template->hints)
755 103 71 if (@{$query_plan->{'joins'};})
758 33 114 unless $delegated_property_meta and $delegated_property_meta->is_delegated
766 14 160 unless $join
767 0 160 unless $join->{'foreign_class'} eq $loading_template->{'data_class_name'}
774 0 147 unless $query_property_meta
778 123 78 if ($join_from_delegation->id eq $join->id)
784 37 123 unless $delegated_property_meta
787 30 93 if $join->destination_is_all_id_properties
796 92 1 if (defined $column_num) { }
804 71 22 if ($delegations{$delegated_property_name})
806 59 12 if ($delegation_final_property_meta and $delegation_final_property_meta->class_name eq $join->{'foreign_class'})
820 0 59 if ($delegation_final_property_meta->column_name and not defined $column_num)
827 58 1 if (defined $column_num) { }
846 93 0 if (my($actual_prop_meta) = $source_class->__meta__->_concrete_property_meta_for_class_and_name($source_prop_name))
851 93 0 if (defined $column_num) { }
857 31 62 if ($join->{'where'})
864 6 25 if ($pos != -1)
938 45 21 unless exists $self->{'all_params_loaded'}{$template_id}
939 13 8 unless exists $self->{'all_params_loaded'}{$template_id}{$boolexpr->id}
948 0 23 unless $template_id and $boolexpr_id
952 0 23 unless $all_params_loaded
953 10 13 unless exists $all_params_loaded->{$template_id}
978 0 1473 unless exists $UR::Context::all_params_loaded->{$template_id}{$rule_id}
1005 61 2144 if ($local_all_params_loaded)
1015 34 34 unless $rule_id
1016 1 33 if (defined $UR::Context::all_params_loaded->{$template_id}{$rule_id}) { }