| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| |
| IMPORTANT - PLEASE READ IF YOU ARE PORTING test-framework CODE FROM JAVA |
| |
| If porting new code to Lucene.Net.TestFramework, make sure you NEVER call |
| System.Diagnostics.Debug.Assert. The design of the test framework expects |
| asserts to be included in the release, so we have added Lucene.Net.Diagnostics.Debug.Assert |
| methods to ensure this happens. |
| |
| This wasn't done to intentionally be confusing, it was done to keep the syntax similar |
| to Java and so if an assert is added later you don't really have to think about what |
| method to call. The only exception to this is when adding a new class file with asserts in it. |
| Make sure you place this import at the top of the file, comment included: |
| |
| using Debug = Lucene.Net.Diagnostics.Debug; // LUCENENET NOTE: We cannot use System.Diagnostics.Debug because those calls will be optimized out of the release! |
| |
| And then in the code, call Debug.Assert just like you normally would. |
| |
| |
| By the same token (pardon the pun) we are using our own Lucene.Net.Diagnostics.AssertionException |
| class instead of throwing the test framework's (i.e. NUnit or xUnit) exception. This is to normalize the behavior so |
| it doesn't change regardless of the test framework. Never throw an exception from the test framework |
| itself because it might not have compatible constructors or might be given special behaviors by the |
| test framework that are incompatible with Lucene.Net.TestFramework. |
| |
| If you need to throw an "AssertionError", put this declaration at the top of the class: |
| |
| using AssertionError = Lucene.Net.Diagnostics.AssertionException; |
| |
| |
| Do note that this exception is thrown and caught within Lucene.Net.TestFramework by some test mocks. |