public void call_generic_method_passing_and_returning_reftype_on_static_generic_class() { //Arrange var getTracerParameters = DefaultGetTracerImplementation(); var finishTracerParameters = DefaultFinishTracerImplementation(); var referenceTypeParameter = new DefaultClass(); //Act StaticGenericClass <int> .GenericMethodThree <DefaultClass>(referenceTypeParameter); //Assert ValidateTracers(getTracerParameters, finishTracerParameters, "GenericMethodThree", "!!0", null, new object[] { referenceTypeParameter }, referenceTypeParameter, null, "NewRelic.Agent.Tests.ProfiledMethods.StaticGenericClass`1"); }
public void call_method_on_inner_default_class_pass_and_return_referencetype_as_generic_type() { //Arrange var getTracerParameters = DefaultGetTracerImplementation(); var finishTracerParameters = DefaultFinishTracerImplementation(); var referenceTypeParameter = new DefaultClass(); var innerClass = new OuterGenericClass <DefaultClass> .InnerDefaultClass(); //Act var returnedValue = innerClass.InnerClassMethodReturnsIt(referenceTypeParameter); //Assert ValidateTracers(getTracerParameters, finishTracerParameters, "InnerClassMethodReturnsIt", "!0", innerClass, new object[] { referenceTypeParameter }, referenceTypeParameter, null, "NewRelic.Agent.Tests.ProfiledMethods.OuterGenericClass`1+InnerDefaultClass"); }
public void call_generic_method_on_inner_default_class_of_generic_class_reference_type() { //Arrange var getTracerParameters = DefaultGetTracerImplementation(); var finishTracerParameters = DefaultFinishTracerImplementation(); var referenceTypeParameter = new DefaultClass(); var innerClass = new OuterGenericClass <int> .InnerDefaultClass(); //Act innerClass.InnerGenericMethod <DefaultClass>(referenceTypeParameter); //Assert ValidateTracers(getTracerParameters, finishTracerParameters, "InnerGenericMethod", "!!0", innerClass, new object[] { referenceTypeParameter }, null, null, "NewRelic.Agent.Tests.ProfiledMethods.OuterGenericClass`1+InnerDefaultClass"); }
public void call_generic_method_passing_both_class_and_method_generic_params_3() { //Arrange var getTracerParameters = DefaultGetTracerImplementation(); var finishTracerParameters = DefaultFinishTracerImplementation(); var referenceTypeParameter = new DefaultClass(); var genClass = new GenericClass <DefaultClass>(new DefaultClass()); //Act genClass.GenericMethodTwo <DefaultClass>(null, referenceTypeParameter); //Assert ValidateTracers(getTracerParameters, finishTracerParameters, "GenericMethodTwo", "!!0,!0", genClass, new object[] { null, referenceTypeParameter }, null, null, "NewRelic.Agent.Tests.ProfiledMethods.GenericClass`1"); }
public void call_generic_method_passing_reftype_on_generic_class_with_different_type() { //Arrange var getTracerParameters = DefaultGetTracerImplementation(); var finishTracerParameters = DefaultFinishTracerImplementation(); var referenceTypeParameter = new DefaultClass(); var genClass = new GenericClass <int>(50); //Act genClass.GenericMethod <DefaultClass>(referenceTypeParameter); //Assert ValidateTracers(getTracerParameters, finishTracerParameters, "GenericMethod", "!!0", genClass, new object[] { referenceTypeParameter }, null, null, "NewRelic.Agent.Tests.ProfiledMethods.GenericClass`1"); }
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_method_on_generic_class_with_multiple_type_constraints() { //Arrange var getTracerParameters = DefaultGetTracerImplementation(); var finishTracerParameters = DefaultFinishTracerImplementation(); var intParameter = 37; var defaultClass = new DefaultClass(); var genClass = new GenericClassMultipleTypeConstraints <int, DefaultClass>(); //Act genClass.DefaultMethod(intParameter, defaultClass); //Assert ValidateTracers(getTracerParameters, finishTracerParameters, "DefaultMethod", "!0,!1", genClass, new object[] { intParameter, defaultClass }, null, null, "NewRelic.Agent.Tests.ProfiledMethods.GenericClassMultipleTypeConstraints`2"); }
public void call_generic_method_passing_gentype_in_generic_class() { //Arrange var getTracerParameters = DefaultGetTracerImplementation(); var finishTracerParameters = DefaultFinishTracerImplementation(); var referenceTypeParameter = new DefaultClass(); var genClass2 = new GenericClass2 <string>("Rain"); var genClass = new GenericClass <GenericClass2 <string> >(); //Act genClass.GenericMethodTwo <DefaultClass>(referenceTypeParameter, genClass2); //Assert ValidateTracers(getTracerParameters, finishTracerParameters, "GenericMethodTwo", "!!0,!0", genClass, new object[] { referenceTypeParameter, genClass2 }, null, null, "NewRelic.Agent.Tests.ProfiledMethods.GenericClass`1"); }
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"); }
public void call_generic_method_with_var_args_on_generic_class() { //Arrange var getTracerParameters = DefaultGetTracerImplementation(); var finishTracerParameters = DefaultFinishTracerImplementation(); var referenceTypeParameter = new DefaultClass(); var refTypeParam2 = new DefaultClass(); var refTypeParam3 = new DefaultClass(); var genClass = new GenericClass <string>("MVPTom"); //Act genClass.GenericMethodFour <DefaultClass>(referenceTypeParameter, refTypeParam2, refTypeParam3); //Assert ValidateTracers(getTracerParameters, finishTracerParameters, "GenericMethodFour", "!!0,!!0[]", genClass, new object[] { referenceTypeParameter, new object[] { refTypeParam2, refTypeParam3 } }, null, null, "NewRelic.Agent.Tests.ProfiledMethods.GenericClass`1"); }