public void AcceptVisitorTest() { // Arrange var proxyDefinition = new ClassProxyDefinition(typeof (Other), new[] {typeof (IOne), typeof (ITwo), typeof (IOneTwo)}); // Act var proxyDefinitionVisitor = new CollectingProxyDefinitionVisitor(); proxyDefinition.AcceptVisitor(proxyDefinitionVisitor); // Assert Assert.That(proxyDefinition.DeclaringType, Is.EqualTo(typeof (Other))); Assert.That(proxyDefinition.ParentType, Is.EqualTo(typeof (Other))); Assert.That(proxyDefinition.ImplementedInterfaces.Count(), Is.EqualTo(5)); Assert.That(proxyDefinition.ImplementedInterfaces, Contains.Item(typeof (IOther))); Assert.That(proxyDefinition.ImplementedInterfaces, Contains.Item(typeof (IBase))); Assert.That(proxyDefinition.ImplementedInterfaces, Contains.Item(typeof (IOne))); Assert.That(proxyDefinition.ImplementedInterfaces, Contains.Item(typeof (ITwo))); Assert.That(proxyDefinition.ImplementedInterfaces, Contains.Item(typeof (IOneTwo))); Assert.That(proxyDefinitionVisitor.InterfaceTypes.Count, Is.EqualTo(4)); Assert.That(proxyDefinitionVisitor.InterfaceTypes, Contains.Item(typeof (IBase))); Assert.That(proxyDefinitionVisitor.InterfaceTypes, Contains.Item(typeof (IOne))); Assert.That(proxyDefinitionVisitor.InterfaceTypes, Contains.Item(typeof (ITwo))); Assert.That(proxyDefinitionVisitor.InterfaceTypes, Contains.Item(typeof (IOneTwo))); Assert.That(proxyDefinitionVisitor.ConstructorInfos.Count, Is.EqualTo(1)); Assert.That(proxyDefinitionVisitor.EventInfos.Count, Is.EqualTo(3)); Assert.That(proxyDefinitionVisitor.PropertyInfos.Count, Is.EqualTo(6)); Assert.That(proxyDefinitionVisitor.MethodInfos.Count, Is.EqualTo(7)); }
public void EqualsWithDeclaringInterfaceTest() { // Arrange var firstProxyDefinition = new ClassProxyDefinition(typeof (Other), new[] {typeof (IOther)}); var secondProxyDefinition = new ClassProxyDefinition(typeof (Other), Type.EmptyTypes); // Act var equals = firstProxyDefinition.Equals(secondProxyDefinition); // Assert Assert.That(equals, Is.True); }
public void EqualsWithSwappedInterfacesTest() { // Arrange var firstProxyDefinition = new ClassProxyDefinition(typeof (Other), new[] {typeof (IOne), typeof (ITwo)}); var secondProxyDefinition = new ClassProxyDefinition(typeof (Other), new[] {typeof (ITwo), typeof (IOne)}); // Act var equals = firstProxyDefinition.Equals(secondProxyDefinition); // Assert Assert.That(equals, Is.True); }