public void CombineHalfBlock(HalfBlock other) { HalfBlockDecorator currentWrappedObject = this.wrappedObject; while (currentWrappedObject.wrappedObject != null) { currentWrappedObject = currentWrappedObject.wrappedObject; } currentWrappedObject.wrappedObject = other.wrappedObject; other.wrappedObject = currentWrappedObject.wrappedObject; }
public void CalculateUnityColorTest(Color firstColor, Color secondColor, Color expectedColor) { HalfBlockDecorator halfBlockDecorator = new HalfBlockDecorator(); HalfBlockColorDecorator first = new HalfBlockColorDecorator(new HalfBlockColor(firstColor)); HalfBlockColorDecorator second = null; if (!secondColor.Equals(new Color())) { second = new HalfBlockColorDecorator(new HalfBlockColor(secondColor)); } halfBlockDecorator.wrappedObject = first; first.wrappedObject = second; Color result = halfBlockDecorator.CalculateUnityColor(); Assert.AreEqual(expectedColor, result); }