Пример #1
0
        public void VialMultiplePouring()
        {
            var set = new VialSet()
            {
                Vials = new Vial[] {
                    new Vial(new Color[] { Color.Red, Color.Green, Color.Green }),
                    new Vial(new Color[] { Color.Green })
                }
            };

            var handler = new VialSetHandler();

            var resultingSet = handler.Select(set, 0);

            resultingSet.Vials.First().IsSelected.ShouldBeTrue();

            resultingSet = handler.Select(set, 1);

            var vials = resultingSet.Vials.ToArray();

            foreach (var vial in vials)
            {
                vial.IsSelected.ShouldBeFalse();
            }

            vials[0].Colors.ToArray().ShouldBe(new Color[] { Color.Red, });
            vials[1].Colors.ToArray().ShouldBe(new Color[] { Color.Green, Color.Green, Color.Green });
        }
Пример #2
0
        public void PouringClearsOptions()
        {
            var set = new VialSet()
            {
                Vials = new Vial[] {
                    new Vial(new Color[] { Color.Red, Color.Yellow, Color.Green }),
                    new Vial(new Color[] { Color.Blue, Color.Yellow, Color.Green, Color.Red }),
                    new Vial(new Color[] { Color.Yellow, Color.Red, Color.Green }),
                    new Vial(new Color[] { Color.Red, Color.Blue, Color.Yellow, Color.Green }),
                    new Vial(),
                    new Vial()
                }
            };

            var handler = new VialSetHandler();

            var resultingSet = handler.Select(set, 2);

            resultingSet = handler.Select(resultingSet, 4);

            foreach (var vial in resultingSet.Vials)
            {
                vial.IsOption.ShouldBeFalse();
            }
        }
Пример #3
0
        public void SelectionShowOptions()
        {
            var set = new VialSet()
            {
                Vials = new Vial[] {
                    new Vial(new Color[] { Color.Red, Color.Yellow, Color.Green }),
                    new Vial(new Color[] { Color.Blue, Color.Yellow, Color.Green, Color.Red }),
                    new Vial(new Color[] { Color.Yellow, Color.Red, Color.Green }),
                    new Vial(new Color[] { Color.Red, Color.Blue, Color.Yellow, Color.Green }),
                    new Vial(),
                    new Vial()
                }
            };

            var handler = new VialSetHandler();

            var resultingSet = handler.Select(set, 2);

            var vials = resultingSet.Vials.ToArray();

            vials[0].IsOption.ShouldBeTrue();
            vials[1].IsOption.ShouldBeFalse();
            vials[2].IsOption.ShouldBeFalse();
            vials[3].IsOption.ShouldBeFalse();
            vials[4].IsOption.ShouldBeTrue();
            vials[5].IsOption.ShouldBeTrue();
        }
Пример #4
0
        public void VialSelectionAndUnselection()
        {
            var set = GenerateTestSet();

            var handler = new VialSetHandler();

            var resultingSet = handler.Select(set, 3);

            resultingSet.Vials.ElementAt(3).IsSelected.ShouldBeTrue();
            resultingSet = handler.Select(set, 3);

            var vials = resultingSet.Vials.ToArray();

            foreach (var vial in vials)
            {
                vial.IsSelected.ShouldBeFalse();
            }
        }
Пример #5
0
        public void PouringInFullVial()
        {
            var set = GenerateTestSetWithSomeMovesDone();

            var handler = new VialSetHandler();

            var resultingSet = handler.Select(set, 0);

            resultingSet.Vials.First().IsSelected.ShouldBeTrue();

            resultingSet = handler.Select(set, 5);

            var vials = resultingSet.Vials.ToArray();

            vials[0].Colors.ToArray().ShouldBe(new Color[] { Color.Red, Color.Yellow });
            vials[3].Colors.ToArray().ShouldBe(new Color[] { Color.Red, Color.Blue, Color.Green, Color.Yellow });
            vials[5].Colors.ToArray().ShouldBe(new Color[] { Color.Green, Color.Green });
        }
Пример #6
0
        public void SetIsntMarkedAsChangedOnSelect()
        {
            var set = new VialSet()
            {
                Vials = new Vial[] {
                    new Vial(new Color[] { Color.Red, Color.Yellow, Color.Green }),
                    new Vial(new Color[] { Color.Blue, Color.Yellow, Color.Green, Color.Red }),
                    new Vial(new Color[] { Color.Yellow, Color.Red, Color.Green }),
                    new Vial(new Color[] { Color.Red, Color.Blue, Color.Yellow, Color.Green }),
                    new Vial(),
                    new Vial()
                }
            };

            var handler = new VialSetHandler();

            var resultingSet = handler.Select(set, 2);

            resultingSet.HasChanged.ShouldBeFalse();
        }
Пример #7
0
        public void VialPouring()
        {
            var set = GenerateTestSetWithSomeMovesDone();

            var handler = new VialSetHandler();

            var resultingSet = handler.Select(set, 0);

            resultingSet.Vials.First().IsSelected.ShouldBeTrue();

            resultingSet = handler.Select(set, 5);

            var vials = resultingSet.Vials.ToArray();

            foreach (var vial in vials)
            {
                vial.IsSelected.ShouldBeFalse();
            }

            vials[0].Colors.ToArray().ShouldBe(new Color[] { Color.Red, Color.Yellow });
            vials[5].Colors.ToArray().ShouldBe(new Color[] { Color.Green, Color.Green });
        }
Пример #8
0
        public void VialSelection()
        {
            var set = GenerateTestSet();

            var handler = new VialSetHandler();

            var resultingSet = handler.Select(set, 2);

            var vials = resultingSet.Vials.ToArray();

            for (int i = 0; i < vials.Length; i++)
            {
                if (i == 2)
                {
                    vials[i].IsSelected.ShouldBeTrue();
                }
                else
                {
                    vials[i].IsSelected.ShouldBeFalse();
                }
            }
        }