コード例 #1
0
        public void When_direction_is_negative_Then_top_left_is_shifted()
        {
            var state = new RectangularSelection();

            state.StartAt(new Point(0, 0));
            state.MoveTo(new Point(-10, -10));

            var selection = state.Rectangle;

            Assert.That(selection.Top, Is.EqualTo(-10));
            Assert.That(selection.Left, Is.EqualTo(-10));
            Assert.That(selection.Right, Is.EqualTo(0));
            Assert.That(selection.Bottom, Is.EqualTo(0));
        }
コード例 #2
0
        public void When_new_negative_state_decreases_height_Then_delta_is_top_increment()
        {
            IEnumerable <Rectangle> delta = null;
            var state = new RectangularSelection();

            state.Changed += (previousRect, previousStart, previousSelecting, invalidateAreas) => delta = invalidateAreas;

            state.StartAt(new Point(0, 0));
            state.MoveTo(new Point(-10, -20));
            state.MoveTo(new Point(-10, -10));

            var expectedDelta = Array.From(new Rectangle(-10, -20, 10, 10));

            Assert.That(delta, Is.EquivalentTo(expectedDelta));
        }
コード例 #3
0
        public void When_new_negative_state_decreases_width_Then_delta_is_left_increment()
        {
            IEnumerable <Rectangle> delta = null;
            var state = new RectangularSelection();

            state.Changed += (r, l, s, d) => delta = d;

            state.StartAt(new Point(0, 0));
            state.MoveTo(new Point(-20, -10));
            state.MoveTo(new Point(-10, -10));

            var expectedDelta = Array.From(new Rectangle(-20, -10, 10, 10));

            Assert.That(delta, Is.EquivalentTo(expectedDelta));
        }
コード例 #4
0
        public void When_new_positive_state_increases_height_Then_delta_is_bottom_increment()
        {
            IEnumerable <Rectangle> delta = null;
            var state = new RectangularSelection();

            state.Changed += (r, l, s, d) => delta = d;

            state.StartAt(new Point(0, 0));
            state.MoveTo(new Point(10, 10));
            state.MoveTo(new Point(10, 20));

            var expectedDelta = Array.From(new Rectangle(0, 10, 10, 10));

            Assert.That(delta, Is.EquivalentTo(expectedDelta));
        }
コード例 #5
0
        public void When_new_positive_state_is_less_than_old_Then_delta_is_right_and_bottom_increments()
        {
            IEnumerable <Rectangle> delta = null;
            var state = new RectangularSelection();

            state.Changed += (r, l, s, d) => delta = d;

            state.StartAt(new Point(0, 0));
            state.MoveTo(new Point(20, 20));
            state.MoveTo(new Point(10, 10));

            var expectedDelta = Sequence.Array(new Rectangle(10, 0, 10, 20), new Rectangle(0, 10, 10, 10));

            Assert.That(delta, Is.EquivalentTo(expectedDelta));
        }
コード例 #6
0
        public void When_new_state_does_not_intersect_previous_Then_delta_is_previous_and_current_rectangle()
        {
            IEnumerable <Rectangle> delta = null;
            var state = new RectangularSelection();

            state.Changed += (r, l, s, d) => delta = d;

            state.StartAt(new Point(0, 0));
            state.MoveTo(new Point(10, 10));
            state.MoveTo(new Point(-10, -10));

            var expectedDelta = Sequence.Array(new Rectangle(0, 0, 10, 10), new Rectangle(-10, -10, 10, 10));

            Assert.That(delta, Is.EquivalentTo(expectedDelta));
        }
コード例 #7
0
 private void Start()
 {
     rectangularSelection = GetComponent <RectangularSelection>();
     rectangularSelection.EndSelection();
 }