コード例 #1
0
        public void ThreeOpenEndsAndOnePotentialEnd_NoDoublesInputs_OneDoubleOutput_2()
        {
            var inputs = new GetResultsActualModel()
            {
                OpenEnds = new List <int> {
                    5, 5, 5
                },
                PotentialEnds = new List <int> {
                    4
                }
            };

            var expected = new List <Result>()
            {
                new Result()
                {
                    TargetEnd = 5, Match = 0, Sum = 10
                },
                new Result()
                {
                    TargetEnd = 5, Match = 5, Sum = 20
                },                                                   //  double-five
                new Result()
                {
                    TargetEnd = 4, Match = 0, Sum = 15, IsPotentialEnd = true
                },
                new Result()
                {
                    TargetEnd = 4, Match = 5, Sum = 20, IsPotentialEnd = true
                },
            };

            Test_GetResults(inputs, expected);
        }
コード例 #2
0
        public void TwoOpenEndsAndOnePotentialEnd_2()
        {
            var inputs = new GetResultsActualModel()
            {
                OpenEnds = new List <int> {
                    66, 4
                },
                PotentialEnds = new List <int> {
                    00
                }
            };

            var expected = new List <Result>()
            {
                new Result()
                {
                    TargetEnd = 6, Match = 1, Sum = 5
                },
                new Result()
                {
                    TargetEnd = 4, Match = 3, Sum = 15
                },
                new Result()
                {
                    TargetEnd = 4, Match = 4, Sum = 20
                },
                new Result()
                {
                    TargetEnd = 0, Match = 4, Sum = 20, IsPotentialEnd = true
                },
            };

            Test_GetResults(inputs, expected);
        }
コード例 #3
0
        public void TwoOpenEnds_OneDoubleInput_NoDoublesOutputs_2()
        {
            var inputs = new GetResultsActualModel()
            {
                OpenEnds = new List <int> {
                    55, 2
                },
                PotentialEnds = null
            };

            var expected = new List <Result>()
            {
                new Result()
                {
                    TargetEnd = 2, Match = 0, Sum = 10
                },
                new Result()
                {
                    TargetEnd = 2, Match = 5, Sum = 15
                },
                new Result()
                {
                    TargetEnd = 5, Match = 3, Sum = 5
                },
            };

            Test_GetResults(inputs, expected);
        }
コード例 #4
0
        public void TwoOpenEnds_NoDoublesInputs_TwoDoubleOutputs_1()
        {
            var inputs = new GetResultsActualModel()
            {
                OpenEnds = new List <int> {
                    5, 0
                },
                PotentialEnds = null
            };

            var expected = new List <Result>()
            {
                new Result()
                {
                    TargetEnd = 5, Match = 5, Sum = 10
                },                                                   // double-five
                new Result()
                {
                    TargetEnd = 0, Match = 0, Sum = 5
                },                                                  // double-zero
                new Result()
                {
                    TargetEnd = 0, Match = 5, Sum = 10
                },
            };

            Test_GetResults(inputs, expected);
        }
コード例 #5
0
        public void TwoOpenEnds_NoDoublesInputs_OneDoubleOutput_2()
        {
            var inputs = new GetResultsActualModel()
            {
                OpenEnds = new List <int> {
                    3, 6
                },
                PotentialEnds = null
            };

            var expected = new List <Result>()
            {
                new Result()
                {
                    TargetEnd = 3, Match = 4, Sum = 10
                },
                new Result()
                {
                    TargetEnd = 6, Match = 2, Sum = 5
                },
                new Result()
                {
                    TargetEnd = 6, Match = 6, Sum = 15
                },                                                   // double-six
            };

            Test_GetResults(inputs, expected);
        }
コード例 #6
0
        public void TwoOpenEnds_NoDoublesInputs_NoDoublesOutputs_4()
        {
            var inputs = new GetResultsActualModel()
            {
                OpenEnds = new List <int> {
                    4, 0
                },
                PotentialEnds = null
            };

            var expected = new List <Result>()
            {
                // new Result() { TargetEnd = 4, Match = 0, Sum = 0 },
                new Result()
                {
                    TargetEnd = 4, Match = 5, Sum = 5
                },
                new Result()
                {
                    TargetEnd = 0, Match = 1, Sum = 5
                },
                new Result()
                {
                    TargetEnd = 0, Match = 6, Sum = 10
                },
            };

            Test_GetResults(inputs, expected);
        }
コード例 #7
0
        private void Test_GetResults(GetResultsActualModel inputs, List <Result> expected)
        {
            var actual = Helper.GetResults(inputs.OpenEnds, inputs.PotentialEnds);

            // sort
            actual   = SortResults(actual);
            expected = SortResults(expected);

            //  compare
            actual.ShouldDeepEqual(expected);
        }
コード例 #8
0
        public void ThreeOpenEndsAndOnePotentialEnd_TwoDoublesInputs_1()
        {
            var inputs = new GetResultsActualModel()
            {
                OpenEnds = new List <int> {
                    22, 55, 5
                },
                PotentialEnds = new List <int> {
                    0
                },
            };

            var expected = new List <Result>()
            {
                new Result()
                {
                    TargetEnd = 2, Match = 0, Sum = 15
                },
                new Result()
                {
                    TargetEnd = 2, Match = 5, Sum = 20
                },
                new Result()
                {
                    TargetEnd = 5, Match = 1, Sum = 10
                },
                new Result()
                {
                    TargetEnd = 5, Match = 1, Sum = 15
                },
                new Result()
                {
                    TargetEnd = 5, Match = 6, Sum = 20
                },
                new Result()
                {
                    TargetEnd = 0, Match = 1, Sum = 20, IsPotentialEnd = true
                }
            };

            Test_GetResults(inputs, expected);
        }
コード例 #9
0
        public void ThreeOpenEndsAndOnePotentialEnd_NoDoublesInputs_NoDoublesOutputs_1()
        {
            var inputs = new GetResultsActualModel()
            {
                OpenEnds = new List <int> {
                    1, 3, 4
                },
                PotentialEnds = new List <int> {
                    1
                }
            };

            var expected = new List <Result>()
            {
                new Result()
                {
                    TargetEnd = 1, Match = 3, Sum = 10
                },
                new Result()
                {
                    TargetEnd = 3, Match = 0, Sum = 5
                },
                new Result()
                {
                    TargetEnd = 3, Match = 5, Sum = 10
                },
                new Result()
                {
                    TargetEnd = 4, Match = 1, Sum = 5
                },
                new Result()
                {
                    TargetEnd = 4, Match = 6, Sum = 10
                },
                new Result()
                {
                    TargetEnd = 1, Match = 2, Sum = 10, IsPotentialEnd = true
                },
            };

            Test_GetResults(inputs, expected);
        }
コード例 #10
0
        public void ThreeOpenEndsAndOnePotentialEnd_NoDoublesInputs_OneDoubleOutput_4()
        {
            var inputs = new GetResultsActualModel()
            {
                OpenEnds = new List <int> {
                    2, 5, 6
                },
                PotentialEnds = new List <int> {
                    6
                }
            };

            var expected = new List <Result>()
            {
                new Result()
                {
                    TargetEnd = 2, Match = 4, Sum = 15
                },
                new Result()
                {
                    TargetEnd = 2, Match = 2, Sum = 15
                },                                                   // double-two
                new Result()
                {
                    TargetEnd = 5, Match = 2, Sum = 10
                },
                new Result()
                {
                    TargetEnd = 6, Match = 3, Sum = 10
                },
                new Result()
                {
                    TargetEnd = 6, Match = 2, Sum = 15, IsPotentialEnd = true
                },
            };

            Test_GetResults(inputs, expected);
        }
コード例 #11
0
        public void OneOpenEnd_OneDoubleInput_3()
        {
            var inputs = new GetResultsActualModel()
            {
                OpenEnds = new List <int> {
                    22
                },                               // 2:2
                PotentialEnds = null
            };

            var expected = new List <Result>()
            {
                new Result()
                {
                    TargetEnd = 2, Match = 1, Sum = 5
                },
                new Result()
                {
                    TargetEnd = 2, Match = 6, Sum = 10
                },
            };

            Test_GetResults(inputs, expected);
        }
コード例 #12
0
        public void ThreeOpenEndsAndOnePotentialEnd_NoDoublesInputs_TwoDoublesOutputs_1()
        {
            var inputs = new GetResultsActualModel()
            {
                OpenEnds = new List <int> {
                    1, 2, 6
                },
                PotentialEnds = null
            };

            var expected = new List <Result>()
            {
                new Result()
                {
                    TargetEnd = 1, Match = 1, Sum = 10
                },                                                   // double-one
                new Result()
                {
                    TargetEnd = 1, Match = 2, Sum = 10
                },
                new Result()
                {
                    TargetEnd = 2, Match = 3, Sum = 10
                },
                new Result()
                {
                    TargetEnd = 6, Match = 2, Sum = 5
                },
                new Result()
                {
                    TargetEnd = 6, Match = 6, Sum = 15
                },                                                   // double-six
            };

            Test_GetResults(inputs, expected);
        }
コード例 #13
0
        public void ThreeOpenEndsAndOnePotentialEnd_NoDoublesInputs_OneDoubleOutput_3()
        {
            var inputs = new GetResultsActualModel()
            {
                OpenEnds = new List <int> {
                    5, 2, 3
                },
                PotentialEnds = null
            };

            var expected = new List <Result>()
            {
                new Result()
                {
                    TargetEnd = 5, Match = 0, Sum = 5
                },
                new Result()
                {
                    TargetEnd = 5, Match = 5, Sum = 15
                },                                                   // double-five
            };

            Test_GetResults(inputs, expected);
        }
コード例 #14
0
        public void TwoOpenEnds_OneDoubleInput_OneDoubleOutput_1()
        {
            var inputs = new GetResultsActualModel()
            {
                OpenEnds = new List <int> {
                    33, 2
                },
                PotentialEnds = null
            };

            var expected = new List <Result>()
            {
                new Result()
                {
                    TargetEnd = 2, Match = 4, Sum = 10
                },
                new Result()
                {
                    TargetEnd = 2, Match = 2, Sum = 10
                },                                                   // double-two
            };

            Test_GetResults(inputs, expected);
        }
コード例 #15
0
        public void TwoOpenEnds_NoDoublesInputs_NoDoublesOutputs_1()
        {
            var inputs = new GetResultsActualModel()
            {
                OpenEnds = new List <int> {
                    6, 1
                },
                PotentialEnds = null
            };

            var expected = new List <Result>()
            {
                new Result()
                {
                    TargetEnd = 6, Match = 4, Sum = 5
                },
                new Result()
                {
                    TargetEnd = 1, Match = 4, Sum = 10
                },
            };

            Test_GetResults(inputs, expected);
        }