Skip to content

Commit 1c77041

Browse files
committed
Apply review suggestions
1 parent 250229d commit 1c77041

File tree

3 files changed

+31
-21
lines changed

3 files changed

+31
-21
lines changed

usage-examples/csharp/driver/Examples/Aggregation/GroupTotal.cs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@
44
// "_aggDb": "aggDb"
55
// }
66
// }
7+
78
namespace Examples.Aggregation;
89

910
using MongoDB.Driver;
1011
using MongoDB.Bson;
1112

1213
public class GroupTotal
1314
{
14-
private IMongoDatabase _aggDB;
15-
private IMongoCollection<Order> _orders;
15+
private IMongoDatabase? _aggDB;
16+
private IMongoCollection<Order>? _orders;
1617

17-
public void SeedData()
18+
public void LoadSampleData()
1819
{
19-
DotNetEnv.Env.TraversePath().Load();
20-
string uri = DotNetEnv.Env.GetString("CONNECTION_STRING", "Env variable not found. Verify you have a .env file with a valid connection string.");
20+
var uri = DotNetEnv.Env.GetString("CONNECTION_STRING", "Env variable not found. Verify you have a .env file with a valid connection string.");
2121
// :snippet-start: connection-string
2222
// :uncomment-start:
2323
//var uri = "mongodb+srv://mongodb-example:27017";
@@ -91,12 +91,10 @@ public void SeedData()
9191

9292
public List<BsonDocument> PerformAggregation()
9393
{
94-
DotNetEnv.Env.TraversePath().Load();
95-
string uri = DotNetEnv.Env.GetString("CONNECTION_STRING", "Env variable not found. Verify you have a .env file with a valid connection string.");
96-
//var uri = "mongodb://localhost:27017";
97-
var client = new MongoClient(uri);
98-
_aggDB = client.GetDatabase("agg_tutorials_db");
99-
_orders = _aggDB.GetCollection<Order>("orders");
94+
if (_aggDB == null || _orders == null)
95+
{
96+
throw new InvalidOperationException("You must call LoadSampleData before performing aggregation.");
97+
}
10098

10199
// :snippet-start: match
102100
var results = _orders.Aggregate()

usage-examples/csharp/driver/Tests/GroupTotalTest.cs

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,26 @@ namespace Tests;
44

55
public class GroupTotalTest
66
{
7+
private GroupTotal _example;
78
[SetUp]
89
public void Setup()
910
{
10-
var obj = new GroupTotal();
11-
obj.SeedData();
11+
_example = new GroupTotal();
12+
_example.LoadSampleData();
1213
}
1314

1415
[Test]
1516
public void TestOutputMatchesDocs()
1617
{
17-
var obj = new GroupTotal();
18-
var results = obj.PerformAggregation();
18+
var results = _example.PerformAggregation();
1919

20-
DotNetEnv.Env.TraversePath().Load();
21-
string solutionRoot = DotNetEnv.Env.GetString("SOLUTION_ROOT", "Env variable not found. Verify you have a .env file with a valid connection string.");
22-
string outputLocation = "Examples/Aggregation/GroupTotalOutput.txt";
23-
string fullPath = Path.Combine(solutionRoot, outputLocation);
20+
var solutionRoot = DotNetEnv.Env.GetString("SOLUTION_ROOT", "Env variable not found. Verify you have a .env file with a valid connection string.");
21+
var outputLocation = "Examples/Aggregation/GroupTotalOutput.txt";
22+
var fullPath = Path.Combine(solutionRoot, outputLocation);
2423
var fileData = TestUtils.ReadBsonDocumentsFromFile(fullPath);
2524

26-
Assert.That(results.Count, Is.EqualTo(fileData.Length), "Result count does not match output example length.");
27-
for (int i = 0; i < fileData.Length; i++)
25+
Assert.That(results.Count, Is.EqualTo(fileData.Length), $"Result count {results.Count} does not match output example length {fileData.Length}.");
26+
for (var i = 0; i < fileData.Length; i++)
2827
{
2928
Assert.That(fileData[i], Is.EqualTo(results[i]), $"Mismatch at index {i}: expected {fileData[i]}, got {results[i]}.");
3029
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
namespace Tests;
2+
3+
using DotNetEnv;
4+
5+
[SetUpFixture]
6+
public class TestSuiteSetup
7+
{
8+
[OneTimeSetUp]
9+
public void GlobalSetup()
10+
{
11+
Env.TraversePath().Load();
12+
}
13+
}

0 commit comments

Comments
 (0)