Repository: lucenenet Updated Branches: refs/heads/api-work 439a1988a -> a6168d076
Lucene.Net.Tests.Sandbox: Added API consistency tests Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/a79fd089 Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/a79fd089 Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/a79fd089 Branch: refs/heads/api-work Commit: a79fd0890b512e8d93289b6f572d3b34ca101d32 Parents: 439a198 Author: Shad Storhaug <[email protected]> Authored: Wed Feb 1 09:45:49 2017 +0700 Committer: Shad Storhaug <[email protected]> Committed: Wed Feb 1 09:45:49 2017 +0700 ---------------------------------------------------------------------- .../Lucene.Net.Tests.Sandbox.csproj | 1 + .../TestApiConsistency.cs | 120 +++++++++++++++++++ 2 files changed, 121 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a79fd089/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj b/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj index 0244caa..1ff7bdf 100644 --- a/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj +++ b/src/Lucene.Net.Tests.Sandbox/Lucene.Net.Tests.Sandbox.csproj @@ -49,6 +49,7 @@ <Compile Include="Queries\TestSortedSetSortField.cs" /> <Compile Include="Queries\TestSortedSetSortFieldDocValues.cs" /> <Compile Include="Queries\TestSortedSetSortFieldSelectors.cs" /> + <Compile Include="TestApiConsistency.cs" /> </ItemGroup> <ItemGroup> <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a79fd089/src/Lucene.Net.Tests.Sandbox/TestApiConsistency.cs ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Tests.Sandbox/TestApiConsistency.cs b/src/Lucene.Net.Tests.Sandbox/TestApiConsistency.cs new file mode 100644 index 0000000..5daba24 --- /dev/null +++ b/src/Lucene.Net.Tests.Sandbox/TestApiConsistency.cs @@ -0,0 +1,120 @@ +using Lucene.Net.Attributes; +using Lucene.Net.Util; +using NUnit.Framework; +using System; + +namespace Lucene.Net.Sandbox +{ + /// <summary> + /// LUCENENET specific tests for ensuring API conventions are followed + /// </summary> + public class TestApiConsistency : ApiScanTestBase + { + [Test, LuceneNetSpecific] + [TestCase(typeof(Lucene.Net.Sandbox.Queries.DuplicateFilter))] + public override void TestProtectedFieldNames(Type typeFromTargetAssembly) + { + base.TestProtectedFieldNames(typeFromTargetAssembly); + } + + [Test, LuceneNetSpecific] + [TestCase(typeof(Lucene.Net.Sandbox.Queries.DuplicateFilter))] + public override void TestPrivateFieldNames(Type typeFromTargetAssembly) + { + base.TestPrivateFieldNames(typeFromTargetAssembly, @"Snowball\.Ext\..+Stemmer"); + } + + [Test, LuceneNetSpecific] + [TestCase(typeof(Lucene.Net.Sandbox.Queries.DuplicateFilter))] + public override void TestPublicFields(Type typeFromTargetAssembly) + { + base.TestPublicFields(typeFromTargetAssembly); + } + + [Test, LuceneNetSpecific] + [TestCase(typeof(Lucene.Net.Sandbox.Queries.DuplicateFilter))] + public override void TestMethodParameterNames(Type typeFromTargetAssembly) + { + base.TestMethodParameterNames(typeFromTargetAssembly); + } + + [Test, LuceneNetSpecific] + [TestCase(typeof(Lucene.Net.Sandbox.Queries.DuplicateFilter))] + public override void TestInterfaceNames(Type typeFromTargetAssembly) + { + base.TestInterfaceNames(typeFromTargetAssembly); + } + + [Test, LuceneNetSpecific] + [TestCase(typeof(Lucene.Net.Sandbox.Queries.DuplicateFilter))] + public override void TestClassNames(Type typeFromTargetAssembly) + { + base.TestClassNames(typeFromTargetAssembly); + } + + [Test, LuceneNetSpecific] + [TestCase(typeof(Lucene.Net.Sandbox.Queries.DuplicateFilter))] + public override void TestForPropertiesWithNoGetter(Type typeFromTargetAssembly) + { + base.TestForPropertiesWithNoGetter(typeFromTargetAssembly); + } + + [Test, LuceneNetSpecific] + [TestCase(typeof(Lucene.Net.Sandbox.Queries.DuplicateFilter))] + public override void TestForPropertiesThatReturnArray(Type typeFromTargetAssembly) + { + base.TestForPropertiesThatReturnArray(typeFromTargetAssembly); + } + + [Test, LuceneNetSpecific] + [TestCase(typeof(Lucene.Net.Sandbox.Queries.DuplicateFilter))] + public override void TestForMethodsThatReturnWritableArray(Type typeFromTargetAssembly) + { + base.TestForMethodsThatReturnWritableArray(typeFromTargetAssembly); + } + + [Test, LuceneNetSpecific] + [TestCase(typeof(Lucene.Net.Sandbox.Queries.DuplicateFilter))] + public override void TestForPublicMembersContainingComparer(Type typeFromTargetAssembly) + { + base.TestForPublicMembersContainingComparer(typeFromTargetAssembly); + } + + [Test, LuceneNetSpecific] + [TestCase(typeof(Lucene.Net.Sandbox.Queries.DuplicateFilter))] + public override void TestForPublicMembersNamedSize(Type typeFromTargetAssembly) + { + base.TestForPublicMembersNamedSize(typeFromTargetAssembly); + } + + [Test, LuceneNetSpecific] + [TestCase(typeof(Lucene.Net.Sandbox.Queries.DuplicateFilter))] + public override void TestForPublicMembersContainingNonNetNumeric(Type typeFromTargetAssembly) + { + base.TestForPublicMembersContainingNonNetNumeric(typeFromTargetAssembly); + } + + [Test, LuceneNetSpecific] + [TestCase(typeof(Lucene.Net.Sandbox.Queries.DuplicateFilter))] + public override void TestForPublicMembersWithNullableEnum(Type typeFromTargetAssembly) + { + base.TestForPublicMembersWithNullableEnum(typeFromTargetAssembly); + } + + // LUCENENET NOTE: This test is only for identifying members who were changed from + // ICollection, IList or ISet to IEnumerable during the port (that should be changed back) + //[Test, LuceneNetSpecific] + //[TestCase(typeof(Lucene.Net.Sandbox.Queries.DuplicateFilter))] + //public override void TestForMembersAcceptingOrReturningIEnumerable(Type typeFromTargetAssembly) + //{ + // base.TestForMembersAcceptingOrReturningIEnumerable(typeFromTargetAssembly); + //} + + [Test, LuceneNetSpecific] + [TestCase(typeof(Lucene.Net.Sandbox.Queries.DuplicateFilter))] + public override void TestForMembersAcceptingOrReturningListOrDictionary(Type typeFromTargetAssembly) + { + base.TestForMembersAcceptingOrReturningListOrDictionary(typeFromTargetAssembly); + } + } +}
