public void For_GenericTypeOneParameter_ReturnsTrueAndTypeNameWithGenericArgumentFromInnerInstance( [Frozen] IGetTypeNameString innerGetTypeNameString, RecursiveGenericTypeGetTypeNameString sut, string genericArgumentName) { // Arrange var @out = Arg.Any <string>(); innerGetTypeNameString.For(typeof(AutoNSubstituteDataAttribute), out @out).Returns(x => { x[1] = genericArgumentName; return(true); }); var type = typeof(IList <AutoNSubstituteDataAttribute>); var expectedTypeName = "IList<" + genericArgumentName + ">"; // Act string resultTypeName; var result = sut.For(type, out resultTypeName); // Assert Assert.True(result); Assert.Equal(expectedTypeName, resultTypeName); }
public RecursiveGenericTypeGetTypeNameString(IGetTypeNameString innerGetTypeNameString) { if (innerGetTypeNameString == null) { throw new ArgumentNullException("innerGetTypeNameString"); } this._innerGetTypeNameString = innerGetTypeNameString; }
public DefaultGetMemberTypesString(IGetTypeNameString getTypeNameString) { if (getTypeNameString == null) { throw new ArgumentNullException("getTypeNameString"); } this._getTypeNameString = getTypeNameString; }
public void For_GenericTypeThreeParameters_ReturnsTrueAndTypeNameWithGenericArgumentsFromInnerInstance( [Frozen] IGetTypeNameString innerGetTypeNameString, RecursiveGenericTypeGetTypeNameString sut, IFixture fixture) { // Arrange var genericArgumentName1 = fixture.Create <string>(); var genericArgumentName2 = fixture.Create <string>(); var genericArgumentName3 = fixture.Create <string>(); var @out = Arg.Any <string>(); innerGetTypeNameString.For(typeof(AutoNSubstituteDataAttribute), out @out).Returns(x => { x[1] = genericArgumentName1; return(true); }); @out = Arg.Any <string>(); innerGetTypeNameString.For(typeof(Int64), out @out).Returns(x => { x[1] = genericArgumentName2; return(true); }); @out = Arg.Any <string>(); innerGetTypeNameString.For(typeof(InsufficientMemoryException), out @out).Returns(x => { x[1] = genericArgumentName3; return(true); }); var type = typeof(Tuple <AutoNSubstituteDataAttribute, Int64, InsufficientMemoryException>); var expectedTypeName = "Tuple<" + genericArgumentName1 + ", " + genericArgumentName2 + ", " + genericArgumentName3 + ">"; // Act string resultTypeName; var result = sut.For(type, out resultTypeName); // Assert Assert.True(result); Assert.Equal(expectedTypeName, resultTypeName); }
public void For_DefaultFormatString_ReturnsCombinationOfObjectTypeNameAndReferenceTypeName( [Frozen] IGetTypeNameString getTypeNameString, string objectTypeName, string referenceTypeName, IFixture fixture) { // Arrange fixture.Customize(new NoAutoPropertiesCustomization(typeof(DefaultGetMemberTypesString))); var objectType = typeof(AutoNSubstituteDataAttribute); var referenceType = typeof(CustomizationNode); var graphNode = new GraphNode() { ReferenceType = referenceType, ObjectType = objectType }; var @out = Arg.Any <string>(); getTypeNameString.For(objectType, out @out).Returns((x => { x[1] = objectTypeName; return(true); })); @out = Arg.Any <string>(); getTypeNameString.For(referenceType, out @out).Returns((x => { x[1] = referenceTypeName; return(true); })); var expectedResult = objectTypeName + " : " + referenceTypeName; var sut = fixture.Create <DefaultGetMemberTypesString>(); // Act var result = sut.For(graphNode); // Assert Assert.Equal(expectedResult, result); }
public void For_FirstInnerInstanceHandles_ReturnsTrueAndTypeName( List <IGetTypeNameString> innerInstances, IGetTypeNameString firstInnerInstance, string expectedTypeName, Type type, IFixture fixture) { // Arrange var @out = Arg.Any <string>(); firstInnerInstance.For(type, out @out).Returns(x => { x[1] = expectedTypeName; return(true); }); foreach (var innerInstance in innerInstances) { @out = Arg.Any <string>(); innerInstance.For(type, out @out).ReturnsForAnyArgs(x => { throw new Exception(); }); } innerInstances.Insert(0, firstInnerInstance); fixture.Inject <IGetTypeNameString[]>(innerInstances.ToArray()); var sut = fixture.Create <CompositeGetTypeNameString>(); var expectedResult = true; // Act string resultTypeName; var result = sut.For(type, out resultTypeName); // Assert Assert.Equal(expectedTypeName, resultTypeName); Assert.Equal(expectedResult, result); }
public void For_FirstInnerInstanceHandles_ReturnsTrueAndTypeName( List<IGetTypeNameString> innerInstances, IGetTypeNameString firstInnerInstance, string expectedTypeName, Type type, IFixture fixture) { // Arrange var @out = Arg.Any<string>(); firstInnerInstance.For(type, out @out).Returns(x => { x[1] = expectedTypeName; return true; }); foreach (var innerInstance in innerInstances) { @out = Arg.Any<string>(); innerInstance.For(type, out @out).ReturnsForAnyArgs(x => { throw new Exception(); }); } innerInstances.Insert(0, firstInnerInstance); fixture.Inject<IGetTypeNameString[]>(innerInstances.ToArray()); var sut = fixture.Create<CompositeGetTypeNameString>(); var expectedResult = true; // Act string resultTypeName; var result = sut.For(type, out resultTypeName); // Assert Assert.Equal(expectedTypeName, resultTypeName); Assert.Equal(expectedResult, result); }
public void For_ReturnsResultsFromInnerInstance(bool expectedResult, [Frozen] IGetTypeNameString innerInstance, LazyGetTypeNameString sut, Type type, string expectedTypeName) { // Arrange var @out = Arg.Any <string>(); innerInstance.For(type, out @out).Returns(x => { x[1] = expectedTypeName; return(expectedResult); }); // Act string resultTypeName; var result = sut.For(type, out resultTypeName); // Assert Assert.Equal(expectedResult, result); Assert.Equal(expectedTypeName, resultTypeName); }
public DefaultGetMemberTypesString(IGetTypeNameString getTypeNameString) { if (getTypeNameString == null) throw new ArgumentNullException("getTypeNameString"); this._getTypeNameString = getTypeNameString; }
public RecursiveGenericTypeGetTypeNameString(IGetTypeNameString innerGetTypeNameString) { if (innerGetTypeNameString == null) throw new ArgumentNullException("innerGetTypeNameString"); this._innerGetTypeNameString = innerGetTypeNameString; }