コード例 #1
0
ファイル: UnitTest1.cs プロジェクト: Fellfalla/HashCode2017
        public void GetAllPossibleSlicesTest()
        {
            {
                // 1-Celled
                var result   = SlicePattern.GetAllPossible(1, 1);
                var expected = new[]
                {
                    new SlicePattern()
                    {
                        Right = 0,
                        Down  = 0,
                    }
                };
                Assert.IsTrue(expected.SequenceEqual(result));
            }

            {
                // 2-Celled
                var result   = SlicePattern.GetAllPossible(1, 2).ToArray();
                var expected = new[]
                {
                    new SlicePattern(0, 0),
                    new SlicePattern(1, 0),
                    new SlicePattern(0, 1),
                };

                Assert.IsTrue(expected.SequenceEqual(result));
            }


            {
                // 4-Celled
                var result   = SlicePattern.GetAllPossible(1, 4).ToArray();
                var expected = new[]
                {
                    new SlicePattern(0, 0),
                    new SlicePattern(1, 0),
                    new SlicePattern(2, 0),
                    new SlicePattern(3, 0),

                    new SlicePattern(0, 1),
                    new SlicePattern(0, 2),
                    new SlicePattern(0, 3),

                    new SlicePattern(1, 1),
                };

                foreach (var slicePattern in result)
                {
                    Trace.WriteLine(slicePattern);
                }

                Assert.AreEqual(expected.Count(), result.Count());
                foreach (var expectedPattern in expected)
                {
                    Assert.IsTrue(result.Contains(expectedPattern));
                }
            }
        }
コード例 #2
0
 public AbstractSliceStrategy Create(SlicePattern slicePattern)
 {
     switch (slicePattern)
     {
         case SlicePattern.Random:
             return new RandomSliceStrategy();
         default:
             return new DefaultSliceStrategy();
     }
 }
コード例 #3
0
 public SliceContract GetSlice(Texture2D image, LayoutContract layoutContract, SlicePattern slicePattern)
 {
     var sliceStrategy = _sliceStrategyFactory.Create(slicePattern);
     return sliceStrategy.GetSlice(image, layoutContract);
 }