public void EventsToImplement_WriteSyntax_EventStrategyCalled() { WithSourceFiles(Files.ChildClass, Files.Mixin); var childClass = CreateClass(nameof(ChildClassWithEventsFromMixin)); var mixin = CreateMixinReference(childClass, "_mixin"); var eventStrategy = Substitute.For<IImplementMemberForwarding>(); var includeWriter = new IncludeSyntaxWriterTestDummy( mixin.Class.Events, mixin, typeof(Event), eventStrategy); includeWriter.Visit(childClass.SourceCode); eventStrategy.Received().ImplementMember(mixin.Class.Events.Single(), Arg.Any<int>()); }
public void PropertiesToImplement_WriteSyntax_PropertyStrategyCalled() { WithSourceFiles(Files.Person, Files.Name); var person = CreateClass(nameof(Person)); var mixin = CreateMixinReference(person, "_name"); var propertyStrategy = Substitute.For<IImplementMemberForwarding>(); var includeWriter = new IncludeSyntaxWriterTestDummy( mixin.Class.Properties, mixin, typeof(Property), propertyStrategy); includeWriter.Visit(person.SourceCode); // ensure that the implementMember of the propertyStrategy was called propertyStrategy.Received().ImplementMember(Arg.Any<Member>(), Arg.Any<int>()); }