public void Should_contain_1_combination()
            {
                var c = new TspPathBitArrayGenerator();
                var cs = c.Generate(5, 5);

                cs.Length.ShouldEqual(1);
                cs.ShouldContain(31);
            }
            public void Should_contain_2_combinations()
            {
                var c = new TspPathBitArrayGenerator();
                var cs = c.Generate(5, 2);

                cs.Length.ShouldEqual(4);
                cs.ShouldContain(3);
                cs.ShouldContain(5);
                cs.ShouldContain(9);
                cs.ShouldContain(17);
            }
            public void Should_contain_6_combinations()
            {
                var c = new TspPathBitArrayGenerator();
                var cs = c.Generate(5, 3);

                cs.Length.ShouldEqual(6);
                cs.ShouldContain(7);
                cs.ShouldContain(11);
                cs.ShouldContain(19);
                cs.ShouldContain(13);
                cs.ShouldContain(21);
                cs.ShouldContain(25);
            }
 public TspSolver(double[][] points)
 {
     _points = points;
     _startingPoint = points[StartingPointIndex - 1]; //-1 since arrays are 0 based
     _generator = new TspPathBitArrayGenerator();
 }