From 406ab0e71a0bc45b878fbbc5a4d7d18f9a50692e Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Mon, 7 Feb 2011 18:05:18 -0800 Subject: [PATCH] Addind a unit test on search to ensure the Mandatory() behavior is correct --HG-- branch : dev --- .../Indexing/LuceneSearchBuilderTests.cs | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/Orchard.Tests.Modules/Indexing/LuceneSearchBuilderTests.cs b/src/Orchard.Tests.Modules/Indexing/LuceneSearchBuilderTests.cs index fb7530531..6c7f9c428 100644 --- a/src/Orchard.Tests.Modules/Indexing/LuceneSearchBuilderTests.cs +++ b/src/Orchard.Tests.Modules/Indexing/LuceneSearchBuilderTests.cs @@ -386,5 +386,35 @@ namespace Orchard.Tests.Modules.Indexing { Assert.That(_searchBuilder.WithField("term-id", 4).ExactMatch().AsFilter().Count(), Is.EqualTo(10)); } + [Test] + public void MandatoryCanBeUserMultipleTimes() { + _provider.CreateIndex("default"); + _provider.Store("default", + _provider.New(1) + .Add("field1", 1) + .Add("field2", 1) + .Add("field3", 1) + ); + + _provider.Store("default", + _provider.New(2) + .Add("field1", 1) + .Add("field2", 2) + .Add("field3", 2) + ); + + _provider.Store("default", + _provider.New(3) + .Add("field1", 1) + .Add("field2", 2) + .Add("field3", 3) + ); + + + Assert.That(_searchBuilder.WithField("field1", 0).Mandatory().Count(), Is.EqualTo(0)); + Assert.That(_searchBuilder.WithField("field1", 1).Mandatory().Count(), Is.EqualTo(3)); + Assert.That(_searchBuilder.WithField("field1", 1).Mandatory().WithField("field2", 2).Mandatory().Count(), Is.EqualTo(2)); + Assert.That(_searchBuilder.WithField("field1", 1).Mandatory().WithField("field2", 2).Mandatory().WithField("field3", 3).Mandatory().Count(), Is.EqualTo(1)); + } } }