public void SequenceTripletTileGrouperCanGroupTilesIntoLegalHandMethodTest_SimpleMixedTilesAllGroups_IsTrue() { var tileSorterStub = new FakeTileSorter(); var grouper = new SequenceTripletTileGrouper(tileSorterStub); var tiles = GetSimpleHandOfMixedTilesAllGroups(); var result = grouper.CanGroupTilesIntoLegalHand(tiles); Assert.IsTrue(result); }
public void SequenceTripletTileGrouperCanGroupTilesIntoLegalHandMethodTest_SimpleHonorTilesNotGroupable_IsFalse() { var tileSorterStub = new FakeTileSorter(); var grouper = new SequenceTripletTileGrouper(tileSorterStub); var tiles = GetSimpleHandOfHonorTilesNotFullyGroupable(); var result = grouper.CanGroupTilesIntoLegalHand(tiles); Assert.IsFalse(result); }
public void SequenceTripletTileGrouperCanGroupTilesIntoLegalHandMethodTest_ComplexSuitedTilesGroupable_IsTrue() { var tileSorterStub = new FakeTileSorter(); var grouper = new SequenceTripletTileGrouper(tileSorterStub); var tiles = GetComplexGroupableHandOfSuitedTiles(); var result = grouper.CanGroupTilesIntoLegalHand(tiles); Assert.IsTrue(result); }
public void SequenceTripletTileGrouperFindAllGroupsInTilesMethodTest_ComplexSuitedTiles() { var tileSorterStub = new FakeTileSorter(); var grouper = new SequenceTripletTileGrouper(tileSorterStub); var tiles = GetComplexGroupableHandOfSuitedTiles(); var actual = (List <TileGrouping>)grouper.FindAllGroupsInTiles(tiles); var expected = (List <TileGrouping>)GetAllGroupsFromComplexHandOfSuitedTiles(); CollectionAssert.AreEquivalent(expected, actual); }
public void SequenceTripletTileGrouperFindAllWaysToGroupTilesMethodTest_SimpleSuitedTilesAllGroups() { var tileSorterStub = new FakeTileSorter(); var grouper = new SequenceTripletTileGrouper(tileSorterStub); var tiles = GetSimpleHandOfSuitedTilesAllGroups(); var actual = (List <IList <TileGrouping> >)grouper.FindAllWaysToGroupTiles(tiles); var expected = (List <IList <TileGrouping> >)GetAllWaysToGroupTilesFromSimpleHandOfSuitedTilesGroups(); Assert.AreEqual(expected.Count, actual.Count); foreach (var sublist in actual) { var result = expected.Any(x => x.Count == sublist.Count && x.ToHashSet().SetEquals(sublist.ToHashSet())); Assert.IsTrue(result); } }