public void call_generic_method_with_type_constraint_on_class_generic_type() { //Arrange var getTracerParameters = DefaultGetTracerImplementation(); var finishTracerParameters = DefaultFinishTracerImplementation(); var derivedClass = new DerivedClass(); var defaultClass = new DefaultClass(); var genClass = new GenericClassComplexConstraints <DerivedClass, DefaultClass, BaseClass>(); //Act genClass.GenericMethodOne <DefaultClass>(defaultClass, derivedClass); //Assert ValidateTracers(getTracerParameters, finishTracerParameters, "GenericMethodOne", "!!0,NewRelic.Agent.Tests.ProfiledMethods.BaseClass", genClass, new object[] { defaultClass, derivedClass }, null, null, "NewRelic.Agent.Tests.ProfiledMethods.GenericClassComplexConstraints`3"); }
public void call_method_passing_on_generic_class_with_type_constraint_relationship_between_gentypes() { //Arrange var getTracerParameters = DefaultGetTracerImplementation(); var finishTracerParameters = DefaultFinishTracerImplementation(); var derivedClass = new DerivedClass(); var defaultClass = new DefaultClass(); var genClass = new GenericClassComplexConstraints <DerivedClass, DefaultClass, BaseClass>(); //Act genClass.DefaultMethod(derivedClass, defaultClass); //Assert ValidateTracers(getTracerParameters, finishTracerParameters, "DefaultMethod", "!0,!1", genClass, new object[] { derivedClass, defaultClass }, null, null, "NewRelic.Agent.Tests.ProfiledMethods.GenericClassComplexConstraints`3"); }
public void call_generic_method_with_multiple_type_constraints_on_class_generic_types() { //Arrange var getTracerParameters = DefaultGetTracerImplementation(); var finishTracerParameters = DefaultFinishTracerImplementation(); var baseClass = new BaseClass(); var derivedClass = new DerivedClass(); var defaultClass = new DefaultClass(); var genClass = new GenericClassComplexConstraints <DerivedClass, DefaultClass, BaseClass>(); //Act var returned = genClass.GenericMethodTwo <BaseClass, DefaultClass>(derivedClass, defaultClass, baseClass); //Assert ValidateTracers(getTracerParameters, finishTracerParameters, "GenericMethodTwo", "!!0,!!1,!2", genClass, new object[] { derivedClass, defaultClass, baseClass }, returned, null, "NewRelic.Agent.Tests.ProfiledMethods.GenericClassComplexConstraints`3"); }