public void Print_ShouldBecomeTargetControlAndUseIControlPrinterToPrint() { Castle.DynamicProxy.Generators.AttributesToAvoidReplicating.Add( typeof (System.Security.Permissions.UIPermissionAttribute)); var richTextBox = new RichTextBox(); var printer = Substitute.For<IControlPrinter<RichTextBox>>(); richTextBox.Print(printer); Assert.That(printer.TargetControl, Is.EqualTo(richTextBox)); printer.Received().Print(); }