예제 #1
0
 public static Box GetTranslated(this Box baseBox, BoxTranslation translation)
 {
     return(new Box
     {
         Left = baseBox.Left + translation.LeftOffset,
         Bottom = baseBox.Bottom + translation.BottomOffset,
         Width = baseBox.Width - translation.LeftOffset + translation.RightOffset,
         Height = baseBox.Height - translation.BottomOffset + translation.TopOffset
     });
 }
예제 #2
0
        public void GetTranslated_ShouldReturnCorrectTranslation()
        {
            var baseBox = new Box {
                Left = 0, Bottom = 0, Width = 100, Height = 100
            };
            var translation = new BoxTranslation {
                LeftOffset = 0, BottomOffset = 10, RightOffset = 20, TopOffset = -50
            };

            var actual = baseBox.GetTranslated(translation);

            actual.Left.ShouldBe(0);
            actual.Bottom.ShouldBe(10);
            actual.Right.ShouldBe(120);
            actual.Top.ShouldBe(50);
            actual.Width.ShouldBe(120);
            actual.Height.ShouldBe(40);
        }