Example #1
0
        public void GetMatchingTilesTest()
        {
            Tile tile123 = new Tile(0, 0);
            tile123.SetPossibleAnswers(new List<int>() { 1, 2 });

            Tile tileMatch123 = new Tile(1, 0);
            tileMatch123.SetPossibleAnswers(new List<int>() { 1, 2 });

            Tile tile456 = new Tile(3, 0);
            tile456.SetPossibleAnswers(new List<int>() { 4, 5 });

            Tile tileMatch456 = new Tile(4, 0);
            tileMatch456.SetPossibleAnswers(new List<int>() { 4, 5 });

            Tile tile567 = new Tile(6, 0);
            tile567.SetPossibleAnswers(new List<int>() { 1, 2, 5, 6, 7 });

            List<Tile> allTiles = new List<Tile>() { tile123, tileMatch123, tile456, tileMatch456, tile567 };

            SubgroupReductionStrategy_Accessor accessor = new SubgroupReductionStrategy_Accessor();
            List<Tile> actual = accessor.GetMatchingTiles(allTiles);
            Assert.AreEqual(4, actual.Count);
            accessor.RemoveSubgroup(allTiles, actual);
            Assert.AreEqual(2, tile567.GetPossibleAnswers().Count);
        }
Example #2
0
 public void Initialize_Tile()
 {
     Tile tile = new Tile(8,8);
     Assert.AreEqual(tile.X, 8);
     Assert.AreEqual(tile.Y, 8);
     Assert.AreEqual(tile.Group, 8);
     Assert.AreEqual(tile.GetPossibleAnswers().Count, 9);
 }
Example #3
0
        /// <summary>
        /// Create A Tile with the same properties as an existing tile.
        /// </summary>
        /// <param name="t">Tile</param>
        public Tile(Tile t)
        {
            X     = t.X;
            Y     = t.Y;
            Group = t.Group;

            if (t.Answer > 0)
            {
                Answer = t.Answer;
            }
            else
            {
                possibleAnswers.AddRange(t.GetPossibleAnswers());
            }
        }
Example #4
0
        /// <summary>
        /// Create A Tile with the same properties as an existing tile.
        /// </summary>
        /// <param name="t">Tile</param>
        public Tile(Tile t)
        {
            X = t.X;
            Y = t.Y;
            Group = t.Group;

            if (t.Answer > 0)
            {
                Answer = t.Answer;
            }
            else
            {
                possibleAnswers.AddRange(t.GetPossibleAnswers());
            }
        }
Example #5
0
        public void remove_possible_answers()
        {
            Tile tile = new Tile(8, 8);
            Tile tile2 = new Tile(7, 8, 2);
            Tile tile3 = new Tile(6, 8, 3);

            List<Tile> tileList = new List<Tile>();
            tileList.Add(tile2);
            tileList.Add(tile3);

            Assert.AreEqual(9, tile.GetPossibleAnswers().Count);
            tile.RemoveAnswers(tileList);
            Assert.AreEqual(7, tile.GetPossibleAnswers().Count);
        }
Example #6
0
 public void initialize_tile_with_answer()
 {
     Tile tile = new Tile(8, 8, 1);
     Assert.AreEqual(tile.X, 8);
     Assert.AreEqual(tile.Y, 8);
     Assert.AreEqual(tile.Group, 8);
     Assert.AreEqual(tile.GetPossibleAnswers().Count, 1);
     Assert.AreEqual(tile.Answer, 1);
 }
Example #7
0
 public void get_tile_possible_answers()
 {
     Tile tile = new Tile(8, 8);
     Assert.AreEqual(9, tile.GetPossibleAnswers().Count);
 }
Example #8
0
 public void tile_is_solved()
 {
     Tile tile = new Tile(8, 8);
     Assert.AreEqual(false, tile.IsSolved);
     tile.Answer = 1 ;
     Assert.AreEqual(true, tile.IsSolved);
     Assert.AreEqual(1, tile.GetPossibleAnswers().Count);
 }