You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by ma...@apache.org on 2010/11/22 23:10:28 UTC
[lucy-commits] svn commit: r1037909 - in /incubator/lucy/trunk/core/Lucy/Test:
Analysis/TestCaseFolder.c TestUtils.c TestUtils.cfh
Author: marvin
Date: Mon Nov 22 22:10:27 2010
New Revision: 1037909
URL: http://svn.apache.org/viewvc?rev=1037909&view=rev
Log:
Port test_analyzer() utility function to C, along with a simple test for
CaseFolder.
Modified:
incubator/lucy/trunk/core/Lucy/Test/Analysis/TestCaseFolder.c
incubator/lucy/trunk/core/Lucy/Test/TestUtils.c
incubator/lucy/trunk/core/Lucy/Test/TestUtils.cfh
Modified: incubator/lucy/trunk/core/Lucy/Test/Analysis/TestCaseFolder.c
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/core/Lucy/Test/Analysis/TestCaseFolder.c?rev=1037909&r1=1037908&r2=1037909&view=diff
==============================================================================
--- incubator/lucy/trunk/core/Lucy/Test/Analysis/TestCaseFolder.c (original)
+++ incubator/lucy/trunk/core/Lucy/Test/Analysis/TestCaseFolder.c Mon Nov 22 22:10:27 2010
@@ -18,6 +18,7 @@
#include "Lucy/Util/ToolSet.h"
#include "Lucy/Test.h"
+#include "Lucy/Test/TestUtils.h"
#include "Lucy/Test/Analysis/TestCaseFolder.h"
#include "Lucy/Analysis/CaseFolder.h"
@@ -40,14 +41,26 @@ test_Dump_Load_and_Equals(TestBatch *bat
DECREF(clone);
}
+static void
+test_analysis(TestBatch *batch)
+{
+ CaseFolder *case_folder = CaseFolder_new();
+ CharBuf *source = CB_newf("caPiTal ofFensE");
+ VArray *wanted = VA_new(1);
+ VA_Push(wanted, (Obj*)CB_newf("capital offense"));
+ TestUtils_test_analyzer(batch, (Analyzer*)case_folder, source, wanted,
+ "lowercase plain text");
+}
+
void
TestCaseFolder_run_tests()
{
- TestBatch *batch = TestBatch_new(3);
+ TestBatch *batch = TestBatch_new(6);
TestBatch_Plan(batch);
test_Dump_Load_and_Equals(batch);
+ test_analysis(batch);
DECREF(batch);
}
Modified: incubator/lucy/trunk/core/Lucy/Test/TestUtils.c
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/core/Lucy/Test/TestUtils.c?rev=1037909&r1=1037908&r2=1037909&view=diff
==============================================================================
--- incubator/lucy/trunk/core/Lucy/Test/TestUtils.c (original)
+++ incubator/lucy/trunk/core/Lucy/Test/TestUtils.c Mon Nov 22 22:10:27 2010
@@ -20,6 +20,10 @@
#include <string.h>
#include "Lucy/Test/TestUtils.h"
+#include "Lucy/Test.h"
+#include "Lucy/Analysis/Analyzer.h"
+#include "Lucy/Analysis/Inversion.h"
+#include "Lucy/Analysis/Token.h"
#include "Lucy/Search/TermQuery.h"
#include "Lucy/Search/PhraseQuery.h"
#include "Lucy/Search/LeafQuery.h"
@@ -202,4 +206,42 @@ TestUtils_freeze_thaw(Obj *object)
}
}
+void
+TestUtils_test_analyzer(TestBatch *batch, Analyzer *analyzer, CharBuf *source,
+ VArray *expected, char *message)
+{
+ Token *seed = Token_new((char*)CB_Get_Ptr8(source),
+ CB_Get_Size(source), 0, 0, 1.0f, 1);
+ Inversion *starter = Inversion_new(seed);
+ Inversion *transformed = Analyzer_Transform(analyzer, starter);
+ VArray *got = VA_new(1);
+ Token *token;
+ while (NULL != (token = Inversion_Next(transformed))) {
+ CharBuf *token_text
+ = CB_new_from_utf8(Token_Get_Text(token), Token_Get_Len(token));
+ VA_Push(got, (Obj*)token_text);
+ }
+ TEST_TRUE(batch, VA_Equals(expected, (Obj*)got),
+ "Transform(): %s", message);
+ DECREF(transformed);
+
+ transformed = Analyzer_Transform_Text(analyzer, source);
+ VA_Clear(got);
+ while (NULL != (token = Inversion_Next(transformed))) {
+ CharBuf *token_text
+ = CB_new_from_utf8(Token_Get_Text(token), Token_Get_Len(token));
+ VA_Push(got, (Obj*)token_text);
+ }
+ TEST_TRUE(batch, VA_Equals(expected, (Obj*)got),
+ "Transform_Text(): %s", message);
+ DECREF(transformed);
+
+ DECREF(got);
+ got = Analyzer_Split(analyzer, source);
+ TEST_TRUE(batch, VA_Equals(expected, (Obj*)got), "Split(): %s", message);
+
+ DECREF(got);
+ DECREF(starter);
+}
+
Modified: incubator/lucy/trunk/core/Lucy/Test/TestUtils.cfh
URL: http://svn.apache.org/viewvc/incubator/lucy/trunk/core/Lucy/Test/TestUtils.cfh?rev=1037909&r1=1037908&r2=1037909&view=diff
==============================================================================
--- incubator/lucy/trunk/core/Lucy/Test/TestUtils.cfh (original)
+++ incubator/lucy/trunk/core/Lucy/Test/TestUtils.cfh Mon Nov 22 22:10:27 2010
@@ -101,6 +101,12 @@ inert class Lucy::Test::TestUtils {
*/
inert incremented Obj*
freeze_thaw(Obj *object);
+
+ /** Verify an Analyzer's transform, transform_text, and split methods.
+ */
+ inert void
+ test_analyzer(TestBatch *batch, Analyzer *analyzer, CharBuf *source,
+ VArray *expected, char *message);
}
__C__