Skip to content

Commit

Permalink
moved IMongoIndexKeys and legacy IndexKeysBuilder to legacy driver.
Browse files Browse the repository at this point in the history
  • Loading branch information
craiggwilson committed Mar 1, 2015
1 parent aacb0c8 commit 3a224ff
Show file tree
Hide file tree
Showing 9 changed files with 369 additions and 443 deletions.
168 changes: 168 additions & 0 deletions src/MongoDB.Driver.Legacy.Tests/Builders/IndexKeysBuilderTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,174 @@ public void TestFixtureSetup()
_primary = _server.Primary;
}

[Test]
public void TestAscending1()
{
var keys = IndexKeys.Ascending("a");
string expected = "{ \"a\" : 1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestAscending2()
{
var keys = IndexKeys.Ascending("a", "b");
string expected = "{ \"a\" : 1, \"b\" : 1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestAscendingAscending()
{
var keys = IndexKeys.Ascending("a").Ascending("b");
string expected = "{ \"a\" : 1, \"b\" : 1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestAscendingDescending()
{
var keys = IndexKeys.Ascending("a").Descending("b");
string expected = "{ \"a\" : 1, \"b\" : -1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestDescending1()
{
var keys = IndexKeys.Descending("a");
string expected = "{ \"a\" : -1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestDescending2()
{
var keys = IndexKeys.Descending("a", "b");
string expected = "{ \"a\" : -1, \"b\" : -1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestDescendingAscending()
{
var keys = IndexKeys.Descending("a").Ascending("b");
string expected = "{ \"a\" : -1, \"b\" : 1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestDescendingDescending()
{
var keys = IndexKeys.Descending("a").Descending("b");
string expected = "{ \"a\" : -1, \"b\" : -1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestGeoSpatial()
{
var keys = IndexKeys.GeoSpatial("a");
string expected = "{ \"a\" : \"2d\" }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestGeoSpatialAscending()
{
var keys = IndexKeys.GeoSpatial("a").Ascending("b");
string expected = "{ \"a\" : \"2d\", \"b\" : 1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestAscendingGeoSpatial()
{
var keys = IndexKeys.Ascending("a").GeoSpatial("b");
string expected = "{ \"a\" : 1, \"b\" : \"2d\" }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestGeoSpatialSpherical()
{
var keys = IndexKeys.GeoSpatialSpherical("a");
string expected = "{ \"a\" : \"2dsphere\" }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestGeoSpatialSphericalAscending()
{
var keys = IndexKeys.GeoSpatialSpherical("a").Ascending("b");
string expected = "{ \"a\" : \"2dsphere\", \"b\" : 1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestAscendingGeoSpatialSpherical()
{
var keys = IndexKeys.Ascending("a").GeoSpatialSpherical("b");
string expected = "{ \"a\" : 1, \"b\" : \"2dsphere\" }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestHashed()
{
var keys = IndexKeys.Hashed("a");
string expected = "{ \"a\" : \"hashed\" }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestHashedAscending()
{
var keys = IndexKeys.Hashed("a").Ascending("b");
string expected = "{ \"a\" : \"hashed\", \"b\" : 1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestAscendingHashed()
{
var keys = IndexKeys.Ascending("a").Hashed("b");
string expected = "{ \"a\" : 1, \"b\" : \"hashed\" }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestText()
{
var key = IndexKeys.Text("a");
string expected = "{ \"a\" : \"text\" }";
Assert.AreEqual(expected, key.ToJson());
}

[Test]
public void TestTextMultiple()
{
var keys = IndexKeys.Text("a", "b");
string expected = "{ \"a\" : \"text\", \"b\" : \"text\" }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestTextAll()
{
var key = IndexKeys.TextAll();
string expected = "{ \"$**\" : \"text\" }";
Assert.AreEqual(expected, key.ToJson());
}

[Test]
public void TestTextCombination()
{
var key = IndexKeys.Text("a").Ascending("b");
string expected = "{ \"a\" : \"text\", \"b\" : 1 }";
Assert.AreEqual(expected, key.ToJson());
}

[Test]
public void TestTextIndexCreation()
{
Expand Down
199 changes: 199 additions & 0 deletions src/MongoDB.Driver.Legacy.Tests/Builders/IndexKeysBuilderTypedTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,205 @@ private class Test
public List<string> E { get; set; }
}

[Test]
public void TestAscending1()
{
var keys = IndexKeys<Test>.Ascending(x => x.A);
string expected = "{ \"a\" : 1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestAscending2()
{
var keys = IndexKeys<Test>.Ascending(x => x.A, x => x.B);
string expected = "{ \"a\" : 1, \"b\" : 1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestAscendingAscending()
{
var keys = IndexKeys<Test>.Ascending(x => x.A).Ascending(x => x.B);
string expected = "{ \"a\" : 1, \"b\" : 1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestAscendingDescending()
{
var keys = IndexKeys<Test>.Ascending(x => x.A).Descending(x => x.B);
string expected = "{ \"a\" : 1, \"b\" : -1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestDescending1()
{
var keys = IndexKeys<Test>.Descending(x => x.A);
string expected = "{ \"a\" : -1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestDescending2()
{
var keys = IndexKeys<Test>.Descending(x => x.A, x => x.B);
string expected = "{ \"a\" : -1, \"b\" : -1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestDescendingAscending()
{
var keys = IndexKeys<Test>.Descending(x => x.A).Ascending(x => x.B);
string expected = "{ \"a\" : -1, \"b\" : 1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestDescendingDescending()
{
var keys = IndexKeys<Test>.Descending(x => x.A).Descending(x => x.B);
string expected = "{ \"a\" : -1, \"b\" : -1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestGeoSpatial()
{
var keys = IndexKeys<Test>.GeoSpatial(x => x.A);
string expected = "{ \"a\" : \"2d\" }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestGeoSpatialAscending()
{
var keys = IndexKeys<Test>.GeoSpatial(x => x.A).Ascending(x => x.B);
string expected = "{ \"a\" : \"2d\", \"b\" : 1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestAscendingGeoSpatial()
{
var keys = IndexKeys<Test>.Ascending(x => x.A).GeoSpatial(x => x.B);
string expected = "{ \"a\" : 1, \"b\" : \"2d\" }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestGeoSpatialSpherical()
{
var keys = IndexKeys<Test>.GeoSpatialSpherical(x => x.A);
string expected = "{ \"a\" : \"2dsphere\" }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestGeoSpatialSphericalAscending()
{
var keys = IndexKeys<Test>.GeoSpatialSpherical(x => x.A).Ascending(x => x.B);
string expected = "{ \"a\" : \"2dsphere\", \"b\" : 1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestAscendingGeoSpatialSpherical()
{
var keys = IndexKeys<Test>.Ascending(x => x.A).GeoSpatialSpherical(x => x.B);
string expected = "{ \"a\" : 1, \"b\" : \"2dsphere\" }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestHashed()
{
var keys = IndexKeys<Test>.Hashed(x => x.A);
string expected = "{ \"a\" : \"hashed\" }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestHashedAscending()
{
var keys = IndexKeys<Test>.Hashed(x => x.A).Ascending(x => x.B);
string expected = "{ \"a\" : \"hashed\", \"b\" : 1 }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestAscendingHashed()
{
var keys = IndexKeys<Test>.Ascending(x => x.A).Hashed(x => x.B);
string expected = "{ \"a\" : 1, \"b\" : \"hashed\" }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestText()
{
var key = IndexKeys<Test>.Text(x => x.A);
string expected = "{ \"a\" : \"text\" }";
Assert.AreEqual(expected, key.ToJson());
}

[Test]
public void TestTextMultiple()
{
var keys = IndexKeys<Test>.Text(x => x.A, x => x.B);
string expected = "{ \"a\" : \"text\", \"b\" : \"text\" }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestTextAll()
{
var key = IndexKeys<Test>.TextAll();
string expected = "{ \"$**\" : \"text\" }";
Assert.AreEqual(expected, key.ToJson());
}
[Test]
public void TestTextCombination()
{
var key = IndexKeys<Test>.Text(x => x.A).Ascending(x => x.B);
string expected = "{ \"a\" : \"text\", \"b\" : 1 }";
Assert.AreEqual(expected, key.ToJson());
}

[Test]
public void TestTextArrayField()
{
var keys = IndexKeys<Test>.Text(x => x.D);
string expected = "{ \"d\" : \"text\" }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestTextArrayFields()
{
var keys = IndexKeys<Test>.Text(x => x.D).Text(x => x.E);
string expected = "{ \"d\" : \"text\", \"e\" : \"text\" }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestTextArrayNonArrayFields()
{
var keys = IndexKeys<Test>.Text(x => x.A, x => x.B).Text(x => x.D, x => x.E);
string expected = "{ \"a\" : \"text\", \"b\" : \"text\", \"d\" : \"text\", \"e\" : \"text\" }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestTextArrayNonArrayFields2()
{
var keys = IndexKeys<Test>.Text(x => x.A).Text(x => x.E).Text(x => x.D).Text(x => x.B);
string expected = "{ \"a\" : \"text\", \"e\" : \"text\", \"d\" : \"text\", \"b\" : \"text\" }";
Assert.AreEqual(expected, keys.ToJson());
}

[Test]
public void TestTextIndexCreation()
{
Expand Down
File renamed without changes.
2 changes: 2 additions & 0 deletions src/MongoDB.Driver.Legacy/MongoDB.Driver.Legacy.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
<Compile Include="Builders\GeoHaystackSearchOptionsBuilder.cs" />
<Compile Include="Builders\GeoNearOptionsBuilder.cs" />
<Compile Include="Builders\GroupByBuilder.cs" />
<Compile Include="Builders\IndexKeysBuilder.cs" />
<Compile Include="Builders\IndexOptionsBuilder.cs" />
<Compile Include="Builders\MongoUpdateWrapper.cs" />
<Compile Include="Builders\PushEachOptions.cs" />
Expand Down Expand Up @@ -98,6 +99,7 @@
<Compile Include="IMongoGeoHaystackSearchOptions.cs" />
<Compile Include="IMongoGeoNearOptions.cs" />
<Compile Include="IMongoGroupBy.cs" />
<Compile Include="IMongoIndexKeys.cs" />
<Compile Include="IMongoIndexOptions.cs" />
<Compile Include="IMongoScope.cs" />
<Compile Include="IMongoSortBy.cs" />
Expand Down
Loading

0 comments on commit 3a224ff

Please sign in to comment.