public void zero_cycle_interations_are_possible() { Enumerator_of_orders combinator = new Enumerator_of_orders( combinator_figure_requirements ); Assert.IsFalse(combinator.MoveNext()); }
private IList <Stencil_mapping> map_first_nodes( IStencil stencil, IFigure_representation target ) { //get arrays of stencil's subnodes // index = figure; // value = appearances of its subfigures in the beginning of the stencil IList <IList <ISubfigure> > appearances_in_stencil = new List <IList <ISubfigure> >(); //get array of target's subnodes IList <IList <ISubfigure> > appearances_in_target = new List <IList <ISubfigure> >(); //initialise combinator int figures_qty = appearances_in_stencil.Count; // array of figures -> // array of their appearances in the stencil -> // target's subfigure onto which it's mapped var combinator_input = new List <Mapping_enumerator_requirement>(); foreach (var appearances_in_source in appearances_in_stencil) { IFigure mapped_figure = appearances_in_source.First().referenced_figure; IReadOnlyList <ISubfigure> appearances_int_target = get_appearances_of_figure_in_graph(mapped_figure, target); combinator_input.Add( //array of stencil's subfigures which need mapping new Mapping_enumerator_requirement( appearances_in_source.Count, appearances_int_target.Count ) ); } Enumerator_of_orders enumerator_of_orders = new Enumerator_of_orders( combinator_input ); //transform iterations of combinator into potential mappings foreach (var combination in enumerator_of_orders) { var test = combination; } IList <IList <ISubfigure> > subnode_occurances = get_all_subnodes_occurances(stencil, target); IList <Stencil_mapping> potential_mappings = recombine_subnodes_as_mappings(subnode_occurances); return(potential_mappings); }
private IList <Stencil_mapping> recombine_subnodes_as_mappings( IList <IList <ISubfigure> > subnode_occurances ) { IList <Stencil_mapping> potential_mappings = new List <Stencil_mapping>(); Enumerator_of_orders enumerator = new Enumerator_of_orders( ); return(potential_mappings); }
public void loop_over_subnodes_combinations() { Enumerator_of_orders combinator = new Enumerator_of_orders( combinator_figure_requirements ); int i_combination = 0; while (combinator.MoveNext()) { if (i_combination == 12) { int test = 1; } var actual_combination = combinator.get_combination_as_indexes(); Assert.AreEqual( result_total_combinations[i_combination], actual_combination, $"combination # {i_combination}" ); i_combination++; } }