/* * 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. */ using System; using System.Collections.Generic; using Lucene.Net.Util; using NUnit.Framework; namespace Lucene.Net.Contrib.Spatial.Test.Prefix { /// /// This is just a quick idea for *simple* tests /// public class TestSpatialPrefixField : LuceneTestCase { [Test] public void testRawTokens() { // Ignoring geometry for now, and focus on what tokens need to match var docA = new List { "AAAAAA*", "AAAAAB+" }; var docB = new List { "A*", "BB*" }; // Assumptions: checkQuery("AAAAA", "docA", "docB"); checkQuery("AAAAA*", "docA", "docB"); // for now * and + are essentially identical checkQuery("AAAAA+", "docA", "docB"); // down the road, there may be a difference between 'covers' and an edge checkQuery("AA*", "docB", "docA"); // Bigger input query checkQuery("AAAAAAAAAAAA*", "docA", "docB"); // small checkQuery("BC"); // nothing checkQuery("XX"); // nothing // match only B checkQuery("B", "docB"); checkQuery("BBBB", "docB"); checkQuery("B*", "docB"); checkQuery("BBBB*", "docB"); } void checkQuery(String query, params String[] expect) { // TODO, check that the query returns the docs in order } } }