You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by fl...@apache.org on 2022/11/23 16:15:21 UTC
[tinkerpop] 01/01: TINKERPOP-2348 Add nullable annotations also to tests
This is an automated email from the ASF dual-hosted git repository.
florianhockmann pushed a commit to branch TINKERPOP-2348-nullable-in-tests
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit b1eaedc9cd7a4d826e1a0a7212667430a00a10b1
Author: Florian Hockmann <fh...@florian-hockmann.de>
AuthorDate: Wed Nov 23 15:56:51 2022 +0100
TINKERPOP-2348 Add nullable annotations also to tests
Only the generated Gherkin test traversals are missing as we would have
to let the Java `DotNetTranslator` produce C# code with nullable
annotations. I think we should do that at some point in the future as
nullable annotations are only enabled since .NET 6 by default and only
for new projects. So, many users are probably still not using them.
Adding the annotations also in tests revealed two (well actually three)
more places where `null` should be allowed in Gremlin.Net itself:
In `Traversal.Equals()` and in the `From()`/`To()` steps if the argument
is a `Vertex`. While `null` is still not really allowed there, Gremlin
throws a more meaningful exception message if it gets `null` and we
might change that in the future to somehow allow `null` maybe.
---
gremlin-dotnet/build/generate.groovy | 4 +-
.../Process/Traversal/GraphTraversal.cs | 4 +-
.../src/Gremlin.Net/Process/Traversal/Traverser.cs | 2 +-
.../Gremlin.Net.Benchmarks.csproj | 1 +
.../MessageSerializerBenchmarks.cs | 8 +-
.../Docs/Reference/IntroTests.cs | 2 +-
.../Driver/ConnectionPoolTests.cs | 2 +-
.../Driver/DriverRemoteConnectionTests.cs | 2 +-
.../Driver/GremlinClientAuthenticationTests.cs | 12 +--
.../Driver/GremlinClientTests.cs | 8 +-
.../Driver/MessagesTests.cs | 4 +-
.../Driver/MockedLoggerExtensions.cs | 6 +-
.../Gherkin/CommonSteps.cs | 87 +++++++++++-----------
.../Gherkin/GherkinTestRunner.cs | 16 ++--
.../Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs | 3 +
.../Gherkin/IgnoreException.cs | 2 +-
.../Gherkin/ScenarioData.cs | 10 +--
.../Gremlin.Net.IntegrationTest.csproj | 1 +
.../Process/Remote/RemoteStrategyTests.cs | 2 +-
.../BytecodeGeneration/BytecodeGenerationTests.cs | 2 +-
.../BytecodeGeneration/StrategiesTests.cs | 13 ++--
.../DriverRemoteConnection/GraphTraversalTests.cs | 4 +-
.../RemoteConnectionFactory.cs | 4 +-
.../Gremlin.Net.Template.IntegrationTest.csproj | 1 +
.../ServiceTests.cs | 2 +-
.../Driver/ConnectionPoolTests.cs | 4 +-
.../Gremlin.Net.UnitTest/Driver/ConnectionTests.cs | 9 ++-
.../Driver/DriverRemoteConnectionTests.cs | 2 +-
.../Driver/GraphSONMessageSerializerTests.cs | 2 +-
.../Gremlin.Net.UnitTest.csproj | 1 +
.../Process/Traversal/BytecodeTests.cs | 16 ++--
.../Process/Traversal/GraphTraversalSourceTests.cs | 5 +-
.../Process/Traversal/TestTraversal.cs | 6 +-
.../Traversal/Translator/GroovyTranslatorTests.cs | 2 +-
.../Process/Traversal/TraversalTests.cs | 28 +++----
.../GraphBinaryMessageSerializerTests.cs | 2 +-
.../Structure/IO/GraphBinary/GraphBinaryTests.cs | 32 ++++----
.../IO/GraphBinary/Types/Sample/SamplePerson.cs | 4 +-
.../Types/Sample/SamplePersonSerializer.cs | 4 +-
.../Types/Sample/SamplePersonSerializerTests.cs | 4 +-
.../IO/GraphSON/GraphSON3MessageSerializerTests.cs | 2 +-
.../Structure/IO/GraphSON/GraphSONReaderTests.cs | 32 ++++----
.../Structure/IO/GraphSON/GraphSONWriterTests.cs | 4 +-
.../Structure/IO/GraphSON/TestClass.cs | 2 +-
.../Gremlin.Net.UnitTest/Structure/PathTests.cs | 64 ++++++++--------
45 files changed, 222 insertions(+), 205 deletions(-)
diff --git a/gremlin-dotnet/build/generate.groovy b/gremlin-dotnet/build/generate.groovy
index 6360c3a9fb..6be4c572a6 100644
--- a/gremlin-dotnet/build/generate.groovy
+++ b/gremlin-dotnet/build/generate.groovy
@@ -89,7 +89,8 @@ radishGremlinFile.withWriter('UTF-8') { Writer writer ->
writer.writeLine("\n\n//********************************************************************************")
writer.writeLine("//* Do NOT edit this file directly - generated by build/generate.groovy")
- writer.writeLine("//********************************************************************************\n\n")
+ writer.writeLine("//********************************************************************************\n")
+ writer.writeLine("#nullable disable\n")
writer.writeLine('using System;\n' +
'using System.Collections.Generic;\n' +
@@ -174,6 +175,7 @@ radishGremlinFile.withWriter('UTF-8') { Writer writer ->
' }\n' +
' }\n' +
'}\n')
+ writer.writeLine("#nullable restore\n")
}
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversal.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversal.cs
index f4ffb36ecd..2d1633697c 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversal.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversal.cs
@@ -732,7 +732,7 @@ namespace Gremlin.Net.Process.Traversal
/// <summary>
/// Adds the from step to this <see cref="GraphTraversal{SType, EType}" />.
/// </summary>
- public GraphTraversal<TStart, TEnd> From (Vertex fromVertex)
+ public GraphTraversal<TStart, TEnd> From (Vertex? fromVertex)
{
Bytecode.AddStep("from", fromVertex);
return Wrap<TStart, TEnd>(this);
@@ -1883,7 +1883,7 @@ namespace Gremlin.Net.Process.Traversal
/// <summary>
/// Adds the to step to this <see cref="GraphTraversal{SType, EType}" />.
/// </summary>
- public GraphTraversal<TStart, TEnd> To (Vertex toVertex)
+ public GraphTraversal<TStart, TEnd> To (Vertex? toVertex)
{
Bytecode.AddStep("to", toVertex);
return Wrap<TStart, TEnd>(this);
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Traverser.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Traverser.cs
index e00644ebdb..6c241ef787 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Traverser.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Traverser.cs
@@ -50,7 +50,7 @@ namespace Gremlin.Net.Process.Traversal
public long Bulk { get; internal set; }
/// <inheritdoc />
- public bool Equals(Traverser other)
+ public bool Equals(Traverser? other)
{
if (ReferenceEquals(null, other)) return false;
if (ReferenceEquals(this, other)) return true;
diff --git a/gremlin-dotnet/test/Gremlin.Net.Benchmarks/Gremlin.Net.Benchmarks.csproj b/gremlin-dotnet/test/Gremlin.Net.Benchmarks/Gremlin.Net.Benchmarks.csproj
index 6be47d5458..79c3e1b835 100644
--- a/gremlin-dotnet/test/Gremlin.Net.Benchmarks/Gremlin.Net.Benchmarks.csproj
+++ b/gremlin-dotnet/test/Gremlin.Net.Benchmarks/Gremlin.Net.Benchmarks.csproj
@@ -3,6 +3,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
+ <Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
diff --git a/gremlin-dotnet/test/Gremlin.Net.Benchmarks/MessageSerializerBenchmarks.cs b/gremlin-dotnet/test/Gremlin.Net.Benchmarks/MessageSerializerBenchmarks.cs
index 500929acfb..45be90eb66 100644
--- a/gremlin-dotnet/test/Gremlin.Net.Benchmarks/MessageSerializerBenchmarks.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.Benchmarks/MessageSerializerBenchmarks.cs
@@ -86,22 +86,22 @@ namespace Gremlin.Net.Benchmarks
.ConfigureAwait(false);
[Benchmark]
- public async Task<ResponseMessage<List<object>>> TestReadSmallResponseMessageBinary() =>
+ public async Task<ResponseMessage<List<object>>?> TestReadSmallResponseMessageBinary() =>
await BinaryMessageSerializer.DeserializeMessageAsync(TestMessages.SmallBinaryResponseMessageBytes)
.ConfigureAwait(false);
[Benchmark]
- public async Task<ResponseMessage<List<object>>> TestReadSmallResponseMessageGraphSON3() =>
+ public async Task<ResponseMessage<List<object>>?> TestReadSmallResponseMessageGraphSON3() =>
await GraphSON3MessageSerializer.DeserializeMessageAsync(TestMessages.SmallGraphSON3ResponseMessageBytes)
.ConfigureAwait(false);
[Benchmark]
- public async Task<ResponseMessage<List<object>>> TestReadBigResponseMessageBinary() =>
+ public async Task<ResponseMessage<List<object>>?> TestReadBigResponseMessageBinary() =>
await BinaryMessageSerializer.DeserializeMessageAsync(TestMessages.BigBinaryResponseMessageBytes)
.ConfigureAwait(false);
[Benchmark]
- public async Task<ResponseMessage<List<object>>> TestReadBigResponseMessageGraphSON3() =>
+ public async Task<ResponseMessage<List<object>>?> TestReadBigResponseMessageGraphSON3() =>
await GraphSON3MessageSerializer.DeserializeMessageAsync(TestMessages.BigGraphSON3ResponseMessageBytes)
.ConfigureAwait(false);
}
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Docs/Reference/IntroTests.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Docs/Reference/IntroTests.cs
index 1d45514842..f360c75619 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Docs/Reference/IntroTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Docs/Reference/IntroTests.cs
@@ -62,7 +62,7 @@ var marko = g.V().Has("person", "name", "marko").Next();
var peopleMarkoKnows = g.V().Has("person", "name", "marko").Out("knows").ToList();
// end::basicGremlinMarkoKnows[]
- Assert.Equal("person", marko.Label);
+ Assert.Equal("person", marko!.Label);
Assert.Equal(2, peopleMarkoKnows.Count);
}
}
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/ConnectionPoolTests.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/ConnectionPoolTests.cs
index c4f5f7c980..d35c3e36ec 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/ConnectionPoolTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/ConnectionPoolTests.cs
@@ -34,7 +34,7 @@ namespace Gremlin.Net.IntegrationTest.Driver
public class ConnectionPoolTests
{
private readonly RequestMessageProvider _requestMessageProvider = new RequestMessageProvider();
- private static readonly string TestHost = ConfigProvider.Configuration["TestServerIpAddress"];
+ private static readonly string TestHost = ConfigProvider.Configuration["TestServerIpAddress"]!;
private static readonly int TestPort = Convert.ToInt32(ConfigProvider.Configuration["TestServerPort"]);
private async Task ExecuteMultipleLongRunningRequestsInParallel(IGremlinClient gremlinClient, int nrRequests,
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/DriverRemoteConnectionTests.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/DriverRemoteConnectionTests.cs
index 74730c4958..f0461c14be 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/DriverRemoteConnectionTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/DriverRemoteConnectionTests.cs
@@ -34,7 +34,7 @@ namespace Gremlin.Net.IntegrationTest.Driver;
public class DriverRemoteConnectionTests
{
- private static readonly string TestHost = ConfigProvider.Configuration["TestServerIpAddress"];
+ private static readonly string TestHost = ConfigProvider.Configuration["TestServerIpAddress"]!;
private static readonly int TestPort = Convert.ToInt32(ConfigProvider.Configuration["TestServerPort"]);
[Fact]
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/GremlinClientAuthenticationTests.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/GremlinClientAuthenticationTests.cs
index e56e282248..978e5e2d0d 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/GremlinClientAuthenticationTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/GremlinClientAuthenticationTests.cs
@@ -35,14 +35,14 @@ namespace Gremlin.Net.IntegrationTest.Driver
{
public class GremlinClientAuthenticationTests
{
- private static readonly string TestHost = ConfigProvider.Configuration["TestServerIpAddress"];
+ private static readonly string TestHost = ConfigProvider.Configuration["TestServerIpAddress"]!;
private static readonly int TestPort = Convert.ToInt32(ConfigProvider.Configuration["TestSecureServerPort"]);
private readonly RequestMessageProvider _requestMessageProvider = new RequestMessageProvider();
public static bool IgnoreCertificateValidationLiveDangerouslyWheeeeeeee(
object sender,
- X509Certificate certificate,
- X509Chain chain,
+ X509Certificate? certificate,
+ X509Chain? chain,
SslPolicyErrors sslPolicyErrors)
{
return true;
@@ -51,7 +51,7 @@ namespace Gremlin.Net.IntegrationTest.Driver
[Fact]
public async Task ShouldThrowForMissingCredentials()
{
- ClientWebSocketOptions optionsSet = null;
+ ClientWebSocketOptions? optionsSet = null;
var webSocketConfiguration =
new Action<ClientWebSocketOptions>(options =>
{
@@ -75,7 +75,7 @@ namespace Gremlin.Net.IntegrationTest.Driver
[InlineData("stephen", "wrongPassword")]
public async Task ShouldThrowForWrongCredentials(string username, string password)
{
- ClientWebSocketOptions optionsSet = null;
+ ClientWebSocketOptions? optionsSet = null;
var webSocketConfiguration =
new Action<ClientWebSocketOptions>(options =>
{
@@ -98,7 +98,7 @@ namespace Gremlin.Net.IntegrationTest.Driver
public async Task ScriptShouldBeEvaluatedAndResultReturnedForCorrectCredentials(string requestMsg,
string expectedResponse)
{
- ClientWebSocketOptions optionsSet = null;
+ ClientWebSocketOptions? optionsSet = null;
var webSocketConfiguration =
new Action<ClientWebSocketOptions>(options =>
{
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/GremlinClientTests.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/GremlinClientTests.cs
index 454f837d55..b7223eca23 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/GremlinClientTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/GremlinClientTests.cs
@@ -38,8 +38,8 @@ namespace Gremlin.Net.IntegrationTest.Driver
{
public class GremlinClientTests
{
- private readonly RequestMessageProvider _requestMessageProvider = new RequestMessageProvider();
- private static readonly string TestHost = ConfigProvider.Configuration["TestServerIpAddress"];
+ private readonly RequestMessageProvider _requestMessageProvider = new();
+ private static readonly string TestHost = ConfigProvider.Configuration["TestServerIpAddress"]!;
private static readonly int TestPort = Convert.ToInt32(ConfigProvider.Configuration["TestServerPort"]);
[Theory]
@@ -67,7 +67,7 @@ namespace Gremlin.Net.IntegrationTest.Driver
var response = await gremlinClient.SubmitWithSingleResultAsync<string>(requestMsg);
- Assert.Equal(responseMsgSize, response.Length);
+ Assert.Equal(responseMsgSize, response!.Length);
}
}
@@ -246,7 +246,7 @@ namespace Gremlin.Net.IntegrationTest.Driver
public async Task ShouldConfigureWebSocketOptionsAsSpecified()
{
var gremlinServer = new GremlinServer(TestHost, TestPort);
- ClientWebSocketOptions optionsSet = null;
+ ClientWebSocketOptions? optionsSet = null;
var expectedKeepAliveInterval = TimeSpan.FromMilliseconds(11);
var webSocketConfiguration =
new Action<ClientWebSocketOptions>(options =>
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/MessagesTests.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/MessagesTests.cs
index 6d6ca72614..5a39b7dfec 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/MessagesTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/MessagesTests.cs
@@ -35,8 +35,8 @@ namespace Gremlin.Net.IntegrationTest.Driver
{
public class MessagesTests
{
- private readonly RequestMessageProvider _requestMessageProvider = new RequestMessageProvider();
- private static readonly string TestHost = ConfigProvider.Configuration["TestServerIpAddress"];
+ private readonly RequestMessageProvider _requestMessageProvider = new();
+ private static readonly string TestHost = ConfigProvider.Configuration["TestServerIpAddress"]!;
private static readonly int TestPort = Convert.ToInt32(ConfigProvider.Configuration["TestServerPort"]);
[Fact]
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/MockedLoggerExtensions.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/MockedLoggerExtensions.cs
index e9668768be..6cad68c8d2 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/MockedLoggerExtensions.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Driver/MockedLoggerExtensions.cs
@@ -34,14 +34,14 @@ public static class MockedLoggerExtensions
{
mockedLogger.Verify(
m => m.Log(expectedLogLevel, It.IsAny<EventId>(),
- It.Is<It.IsAnyType>((o, _) => o.ToString().Contains(logMessagePart)), null,
- It.IsAny<Func<It.IsAnyType, Exception, string>>()), Times.Once);
+ It.Is<It.IsAnyType>((o, _) => o.ToString()!.Contains(logMessagePart)), null,
+ It.IsAny<Func<It.IsAnyType, Exception?, string>>()), Times.Once);
}
public static void VerifyNothingWasLogged(this Mock<ILogger> mockedLogger)
{
mockedLogger.Verify(
m => m.Log(It.IsAny<LogLevel>(), It.IsAny<EventId>(), It.IsAny<It.IsAnyType>(), It.IsAny<Exception>(),
- It.IsAny<Func<It.IsAnyType, Exception, string>>()), Times.Never);
+ It.IsAny<Func<It.IsAnyType, Exception?, string>>()), Times.Never);
}
}
\ No newline at end of file
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
index fc6bcebc5b..5de842f481 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
@@ -42,30 +42,30 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
{
internal class CommonSteps : StepDefinition
{
- private GraphTraversalSource _g;
- private string _graphName;
- private readonly IDictionary<string, object> _parameters = new Dictionary<string, object>();
- private ITraversal _traversal;
- private object[] _result;
- private Exception _error = null;
+ private GraphTraversalSource? _g;
+ private string? _graphName;
+ private readonly IDictionary<string, object?> _parameters = new Dictionary<string, object?>();
+ private ITraversal? _traversal;
+ private object[]? _result;
+ private Exception? _error;
private static readonly JsonSerializerOptions JsonDeserializingOptions =
new() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase };
public static ScenarioData ScenarioData { get; set; } = new ScenarioData(new GraphSON3MessageSerializer());
- private static readonly IDictionary<Regex, Func<string, string, object>> Parsers =
- new Dictionary<string, Func<string, string, object>>
+ private static readonly IDictionary<Regex, Func<string, string, object?>> Parsers =
+ new Dictionary<string, Func<string, string, object?>>
{
{@"vp\[(.+)\]", ToVertexProperty},
{@"d\[(.*)\]\.([bsilfdmn])", ToNumber},
{@"D\[(.+)\]", ToDirection},
{@"v\[(.+)\]", ToVertex},
{@"v\[(.+)\]\.id", (x, graphName) => ToVertex(x, graphName).Id},
- {@"v\[(.+)\]\.sid", (x, graphName) => ToVertex(x, graphName).Id.ToString()},
+ {@"v\[(.+)\]\.sid", (x, graphName) => ToVertex(x, graphName).Id!.ToString()},
{@"e\[(.+)\]", ToEdge},
{@"e\[(.+)\].id", (x, graphName) => ToEdge(x, graphName).Id},
- {@"e\[(.+)\].sid", (x, graphName) => ToEdge(x, graphName).Id.ToString()},
+ {@"e\[(.+)\].sid", (x, graphName) => ToEdge(x, graphName).Id!.ToString()},
{@"p\[(.+)\]", ToPath},
{@"l\[(.*)\]", ToList},
{@"s\[(.*)\]", ToSet},
@@ -108,14 +108,14 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
[Given("using the parameter (\\w+) defined as \"(.*)\"")]
public void UsingParameter(string name, string value)
{
- var parsedValue = ParseValue(value.Replace("\\\"", "\""), _graphName);
+ var parsedValue = ParseValue(value.Replace("\\\"", "\""), _graphName!);
_parameters.Add(name, parsedValue);
}
[Given("using the parameter (\\w+) of P.(\\w+)\\(\"(.*)\"\\)")]
public void UsingParameterP(string name, string pval, string value)
{
- var parsedValue = ParseValue(value.Replace("\\\"", "\""), _graphName);
+ var parsedValue = ParseValue(value.Replace("\\\"", "\""), _graphName!);
_parameters.Add(name, new P(pval, parsedValue));
}
@@ -127,20 +127,20 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
throw new InvalidOperationException("g should be a traversal source");
}
- if (ScenarioData.CurrentFeature.Tags.Select(t => t.Name).ToList().Contains("@GraphComputerOnly"))
+ if (ScenarioData.CurrentFeature!.Tags.Select(t => t.Name).ToList().Contains("@GraphComputerOnly"))
{
_g = _g.WithComputer();
}
_traversal =
- Gremlin.UseTraversal(ScenarioData.CurrentScenario.Name, _g, _parameters);
+ Gremlin.UseTraversal(ScenarioData.CurrentScenario!.Name, _g, _parameters);
}
[Given("the graph initializer of")]
public void InitTraversal(string traversalText)
{
var traversal =
- Gremlin.UseTraversal(ScenarioData.CurrentScenario.Name, _g, _parameters);
+ Gremlin.UseTraversal(ScenarioData.CurrentScenario!.Name, _g, _parameters);
traversal.Iterate();
// We may have modified the so-called `empty` graph
@@ -226,13 +226,13 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
switch (comparison) {
case "containing":
- Assert.Equal(true, _error.Message.Contains(expectedMessage));
+ Assert.Contains(expectedMessage, _error.Message);
break;
case "starting":
- Assert.Equal(true, _error.Message.StartsWith(expectedMessage));
+ Assert.StartsWith(expectedMessage, _error.Message);
break;
case "ending":
- Assert.Equal(true, _error.Message.EndsWith(expectedMessage));
+ Assert.EndsWith(expectedMessage, _error.Message);
break;
default:
throw new NotSupportedException(
@@ -244,15 +244,15 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
}
[Then("the result should be (\\w+)")]
- public void AssertResult(string characterizedAs, DataTable table = null)
+ public void AssertResult(string characterizedAs, DataTable? table = null)
{
- assertThatNoErrorWasThrown();
+ AssertThatNoErrorWasThrown();
var ordered = characterizedAs == "ordered";
switch (characterizedAs)
{
case "empty":
- Assert.Empty(_result);
+ Assert.Empty(_result!);
return;
case "ordered":
case "unordered":
@@ -260,16 +260,16 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
Assert.NotNull(table);
var rows = table.Rows.ToArray();
Assert.Equal("result", rows[0].Cells.First().Value);
- var expected = rows.Skip(1).Select(x => ParseValue(x.Cells.First().Value, _graphName));
+ var expected = rows.Skip(1).Select(x => ParseValue(x.Cells.First().Value, _graphName!));
if (ordered)
{
- Assert.Equal(expected, _result);
+ Assert.Equal(expected, _result!);
}
else
{
var expectedArray = expected.ToArray();
- foreach (var resultItem in _result)
+ foreach (var resultItem in _result!)
{
if (resultItem is Dictionary<object, object> resultItemDict)
{
@@ -284,7 +284,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
Assert.True(expectedArrayContainsResultDictionary);
}
else if (resultItem is double resultItemDouble &&
- expectedArray.Select(e => e.GetType()).Any(t => t == typeof(decimal)))
+ expectedArray.Select(e => e!.GetType()).Any(t => t == typeof(decimal)))
{
// Java seems to use BigDecimal by default sometimes where .NET uses double, but we only
// care for the value not its type here. So we just convert these to decimal (equivalent
@@ -310,15 +310,15 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
[Then("the result should have a count of (\\d+)")]
public void AssertCount(int count)
{
- assertThatNoErrorWasThrown();
+ AssertThatNoErrorWasThrown();
- Assert.Equal(count, _result.Length);
+ Assert.Equal(count, _result!.Length);
}
[Then("the graph should return (\\d+) for count of (.+)")]
public void AssertTraversalCount(int expectedCount, string traversalText)
{
- assertThatNoErrorWasThrown();
+ AssertThatNoErrorWasThrown();
if (traversalText.StartsWith("\""))
{
@@ -326,7 +326,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
}
var traversal =
- Gremlin.UseTraversal(ScenarioData.CurrentScenario.Name, _g, _parameters);
+ Gremlin.UseTraversal(ScenarioData.CurrentScenario!.Name, _g, _parameters);
var count = 0;
while (traversal.MoveNext())
@@ -342,7 +342,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
}
- private void assertThatNoErrorWasThrown()
+ private void AssertThatNoErrorWasThrown()
{
if (_error != null) throw _error;
}
@@ -350,7 +350,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
private static object ToMap(string stringMap, string graphName)
{
var jsonMap = JsonSerializer.Deserialize<JsonElement>(stringMap, JsonDeserializingOptions);
- return ParseMapValue(jsonMap, graphName);
+ return ParseMapValue(jsonMap, graphName)!;
}
private static object ToLambda(string stringLambda, string graphName)
@@ -374,13 +374,13 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
stringNumber.Substring(0, stringNumber.Length - 1));
}
- private static object ParseMapValue(JsonElement value, string graphName)
+ private static object? ParseMapValue(JsonElement value, string graphName)
{
switch (value.ValueKind)
{
case JsonValueKind.Object:
{
- return value.EnumerateObject().ToDictionary(property => ParseValue(property.Name, graphName),
+ return value.EnumerateObject().ToDictionary(property => ParseValue(property.Name, graphName)!,
property => ParseMapValue(property.Value, graphName));
}
case JsonValueKind.Array:
@@ -402,7 +402,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
throw new ArgumentOutOfRangeException(nameof(value), value, "Not a supported number type");
}
case JsonValueKind.String:
- return ParseValue(value.GetString(), graphName);
+ return ParseValue(value.GetString()!, graphName);
case JsonValueKind.True:
return true;
case JsonValueKind.False:
@@ -415,16 +415,16 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
}
}
- private static ISet<object> ToSet(string stringSet, string graphName)
+ private static ISet<object?> ToSet(string stringSet, string graphName)
{
- return new HashSet<object>(ToList(stringSet, graphName));
+ return new HashSet<object?>(ToList(stringSet, graphName));
}
- private static IList<object> ToList(string stringList, string graphName)
+ private static IList<object?> ToList(string stringList, string graphName)
{
if (stringList == "")
{
- return new List<object>(0);
+ return new List<object?>(0);
}
return stringList.Split(',').Select(x => ParseValue(x, graphName)).ToList();
}
@@ -453,13 +453,14 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
private static Path ToPath(string value, string graphName)
{
- return new Path(new List<ISet<string>>(0), value.Split(',').Select(x => ParseValue(x, graphName)).ToList());
+ return new Path(new List<ISet<string>>(0),
+ value.Split(',').Select(x => ParseValue(x, graphName)).ToList());
}
- private static object ParseValue(string stringValue, string graphName)
+ private static object? ParseValue(string stringValue, string graphName)
{
- Func<string, string, object> parser = null;
- string extractedValue = null;
+ Func<string, string, object?>? parser = null;
+ string? extractedValue = null;
foreach (var kv in Parsers)
{
var match = kv.Key.Match(stringValue);
@@ -474,7 +475,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
break;
}
}
- return parser != null ? parser(extractedValue, graphName) : stringValue;
+ return parser != null ? parser(extractedValue!, graphName) : stringValue;
}
}
}
\ No newline at end of file
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
index 2bdd7f1540..f6b811139c 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
@@ -119,7 +119,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
}
StepBlock? currentStep = null;
- StepDefinition stepDefinition = null;
+ StepDefinition? stepDefinition = null;
foreach (var step in scenario.Steps)
{
var previousStep = currentStep;
@@ -243,13 +243,13 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
}
}
- private Exception ExecuteStep(StepDefinition instance, StepBlock stepBlock, Step step)
+ private Exception? ExecuteStep(StepDefinition instance, StepBlock stepBlock, Step step)
{
var attribute = Attributes[stepBlock];
var methodAndParameters = instance.GetType().GetMethods()
.Select(m =>
{
- var attr = (BddAttribute) m.GetCustomAttribute(attribute);
+ var attr = (BddAttribute?) m.GetCustomAttribute(attribute);
if (attr == null)
{
@@ -260,7 +260,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
{
return null;
}
- var parameters = new List<object>();
+ var parameters = new List<object?>();
for (var i = 1; i < match.Groups.Count; i++)
{
parameters.Add(match.Groups[i].Value);
@@ -363,7 +363,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
{
throw new InvalidOperationException($"No step definition class matches Given '{stepText}'");
}
- return (StepDefinition) Activator.CreateInstance(type);
+ return (StepDefinition) Activator.CreateInstance(type)!;
}
private ICollection<Type> GetStepDefinitionTypes()
@@ -396,9 +396,9 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
{
var codeBaseUrl = new Uri(GetType().GetTypeInfo().Assembly.Location);
var codeBasePath = Uri.UnescapeDataString(codeBaseUrl.AbsolutePath);
- DirectoryInfo rootDir = null;
- for (var dir = Directory.GetParent(Path.GetDirectoryName(codeBasePath));
- dir.Parent != null;
+ DirectoryInfo? rootDir = null;
+ for (var dir = Directory.GetParent(Path.GetDirectoryName(codeBasePath)!);
+ dir!.Parent != null;
dir = dir.Parent)
{
if (dir.Name == "gremlin-dotnet" && dir.GetFiles("pom.xml").Length == 1)
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
index 20f298d7e9..b7c3c84cb6 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
@@ -27,6 +27,7 @@
//* Do NOT edit this file directly - generated by build/generate.groovy
//********************************************************************************
+#nullable disable
using System;
using System.Collections.Generic;
@@ -1137,3 +1138,5 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
}
}
+#nullable restore
+
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
index a2a0d488ca..8b6f94ff11 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/IgnoreException.cs
@@ -37,7 +37,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
private static string GetMessage(IgnoreReason reason)
{
- string reasonSuffix = null;
+ string? reasonSuffix = null;
switch (reason)
{
case IgnoreReason.NoReason:
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs
index b7660c32b6..1c8be14a92 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs
@@ -52,8 +52,8 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
private readonly RemoteConnectionFactory _connectionFactory;
- public Scenario CurrentScenario;
- public Feature CurrentFeature;
+ public Scenario? CurrentScenario;
+ public Feature? CurrentFeature;
public ScenarioDataPerGraph GetByGraphName(string name)
{
@@ -109,7 +109,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
// Property name might not exist and C# doesn't support "null" keys in Dictionary
if (g.V().Count().Next() == g.V().Has("name").Count().Next())
{
- return g.V().Group<string, object>().By("name").By(__.Tail<Vertex>()).Next()
+ return g.V().Group<string, object>().By("name").By(__.Tail<Vertex>()).Next()!
.ToDictionary(kv => kv.Key, kv => (Vertex) kv.Value);
}
else
@@ -128,7 +128,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
return g.E().Group<string, Edge>()
.By(lambda)
.By(__.Tail<object>())
- .Next();
+ .Next()!;
}
catch (ResponseException)
{
@@ -191,7 +191,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
return g.V().Properties<VertexProperty>().Group<string, VertexProperty>()
.By(lambda)
.By(__.Tail<object>())
- .Next();
+ .Next()!;
}
catch (ResponseException)
{
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gremlin.Net.IntegrationTest.csproj b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gremlin.Net.IntegrationTest.csproj
index 43cccfbb97..47fcfe8321 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gremlin.Net.IntegrationTest.csproj
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gremlin.Net.IntegrationTest.csproj
@@ -1,6 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
+ <Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<None Update="appsettings.json">
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Remote/RemoteStrategyTests.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Remote/RemoteStrategyTests.cs
index ca363191c2..33b4ab4889 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Remote/RemoteStrategyTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Remote/RemoteStrategyTests.cs
@@ -34,7 +34,7 @@ namespace Gremlin.Net.IntegrationTest.Process.Remote
{
public class RemoteStrategyTests
{
- private static readonly string TestHost = ConfigProvider.Configuration["TestServerIpAddress"];
+ private static readonly string TestHost = ConfigProvider.Configuration["TestServerIpAddress"]!;
private static readonly int TestPort = Convert.ToInt32(ConfigProvider.Configuration["TestServerPort"]);
[Fact]
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/BytecodeGeneration/BytecodeGenerationTests.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/BytecodeGeneration/BytecodeGenerationTests.cs
index adac06b2a2..cea8e231cc 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/BytecodeGeneration/BytecodeGenerationTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/BytecodeGeneration/BytecodeGenerationTests.cs
@@ -110,7 +110,7 @@ namespace Gremlin.Net.IntegrationTest.Process.Traversal.BytecodeGeneration
[Fact]
public void AnonymousTraversal_OutXnullX()
{
- Assert.Throws<ArgumentNullException>(() => __.Out(null));
+ Assert.Throws<ArgumentNullException>(() => __.Out(null!));
}
}
}
\ No newline at end of file
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/BytecodeGeneration/StrategiesTests.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/BytecodeGeneration/StrategiesTests.cs
index 3a76a84423..24c5e631fe 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/BytecodeGeneration/StrategiesTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/BytecodeGeneration/StrategiesTests.cs
@@ -90,7 +90,7 @@ namespace Gremlin.Net.IntegrationTest.Process.Traversal.BytecodeGeneration
Assert.Equal("withStrategies", bytecode.SourceInstructions[0].OperatorName);
Assert.Equal(new MatchAlgorithmStrategy(), bytecode.SourceInstructions[0].Arguments[0]);
Assert.Contains("greedy",
- ((MatchAlgorithmStrategy) bytecode.SourceInstructions[0].Arguments[0]).Configuration.Values);
+ ((MatchAlgorithmStrategy) bytecode.SourceInstructions[0].Arguments[0]!).Configuration.Values);
}
[Fact]
@@ -118,8 +118,9 @@ namespace Gremlin.Net.IntegrationTest.Process.Traversal.BytecodeGeneration
Assert.Single(bytecode.SourceInstructions[0].Arguments);
Assert.Equal("withStrategies", bytecode.SourceInstructions[0].OperatorName);
Assert.Equal(new ReadOnlyStrategy(), bytecode.SourceInstructions[0].Arguments[0]);
- Assert.Equal("ReadOnlyStrategy", bytecode.SourceInstructions[0].Arguments[0].ToString());
- Assert.Equal(new ReadOnlyStrategy().GetHashCode(), bytecode.SourceInstructions[0].Arguments[0].GetHashCode());
+ Assert.Equal("ReadOnlyStrategy", bytecode.SourceInstructions[0].Arguments[0]!.ToString());
+ Assert.Equal(new ReadOnlyStrategy().GetHashCode(),
+ bytecode.SourceInstructions[0].Arguments[0]!.GetHashCode());
Assert.Equal(0, g.TraversalStrategies.Count);
}
@@ -150,9 +151,9 @@ namespace Gremlin.Net.IntegrationTest.Process.Traversal.BytecodeGeneration
Assert.Single(bytecode.SourceInstructions[0].Arguments);
Assert.Equal("withStrategies", bytecode.SourceInstructions[0].OperatorName);
Assert.Equal(new SubgraphStrategy(), bytecode.SourceInstructions[0].Arguments[0]);
- SubgraphStrategy strategy = bytecode.SourceInstructions[0].Arguments[0];
- Assert.Equal(typeof(GraphTraversal<object, object>), strategy.Configuration["vertices"].GetType());
- ITraversal traversal = strategy.Configuration["vertices"];
+ SubgraphStrategy strategy = bytecode.SourceInstructions[0].Arguments[0]!;
+ Assert.Equal(typeof(GraphTraversal<object, object>), strategy.Configuration["vertices"]!.GetType());
+ ITraversal traversal = strategy.Configuration["vertices"]!;
Assert.Equal("has", traversal.Bytecode.StepInstructions[0].OperatorName);
Assert.Equal(new List<string> {"name", "marko"}, traversal.Bytecode.StepInstructions[0].Arguments);
Assert.Equal(false, strategy.Configuration["checkAdjacentVertices"]);
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/GraphTraversalTests.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/GraphTraversalTests.cs
index 262ffeabca..73cbff3dd9 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/GraphTraversalTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/GraphTraversalTests.cs
@@ -84,7 +84,7 @@ namespace Gremlin.Net.IntegrationTest.Process.Traversal.DriverRemoteConnection
var vertex = g.V(1).Next();
Assert.Equal(new Vertex(1), vertex);
- Assert.Equal(1, vertex.Id);
+ Assert.Equal(1, vertex!.Id);
}
[Fact]
@@ -143,7 +143,7 @@ namespace Gremlin.Net.IntegrationTest.Process.Traversal.DriverRemoteConnection
var shortestPath =
g.V(5).Repeat(__.Both().SimplePath()).Until(__.HasId(6)).Limit<Vertex>(1).Path().Next();
- Assert.Equal(4, shortestPath.Count);
+ Assert.Equal(4, shortestPath!.Count);
Assert.Equal(new Vertex(6), shortestPath[3]);
}
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/RemoteConnectionFactory.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/RemoteConnectionFactory.cs
index 8fe6c2e7cd..f5aa498a1a 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/RemoteConnectionFactory.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/DriverRemoteConnection/RemoteConnectionFactory.cs
@@ -32,13 +32,13 @@ namespace Gremlin.Net.IntegrationTest.Process.Traversal.DriverRemoteConnection
{
internal class RemoteConnectionFactory : IDisposable
{
- private static readonly string TestHost = ConfigProvider.Configuration["TestServerIpAddress"];
+ private static readonly string TestHost = ConfigProvider.Configuration["TestServerIpAddress"]!;
private static readonly int TestPort = Convert.ToInt32(ConfigProvider.Configuration["TestServerPort"]);
private readonly IList<DriverRemoteConnectionImpl> _connections = new List<DriverRemoteConnectionImpl>();
private readonly IMessageSerializer _messageSerializer;
- public RemoteConnectionFactory(IMessageSerializer messageSerializer = null)
+ public RemoteConnectionFactory(IMessageSerializer? messageSerializer = null)
{
_messageSerializer = messageSerializer ?? new GraphSON3MessageSerializer();
}
diff --git a/gremlin-dotnet/test/Gremlin.Net.Template.IntegrationTest/Gremlin.Net.Template.IntegrationTest.csproj b/gremlin-dotnet/test/Gremlin.Net.Template.IntegrationTest/Gremlin.Net.Template.IntegrationTest.csproj
index b7eba8da81..2f38cff24b 100644
--- a/gremlin-dotnet/test/Gremlin.Net.Template.IntegrationTest/Gremlin.Net.Template.IntegrationTest.csproj
+++ b/gremlin-dotnet/test/Gremlin.Net.Template.IntegrationTest/Gremlin.Net.Template.IntegrationTest.csproj
@@ -2,6 +2,7 @@
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
+ <Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
diff --git a/gremlin-dotnet/test/Gremlin.Net.Template.IntegrationTest/ServiceTests.cs b/gremlin-dotnet/test/Gremlin.Net.Template.IntegrationTest/ServiceTests.cs
index 1faa0b8cc7..aea9107394 100644
--- a/gremlin-dotnet/test/Gremlin.Net.Template.IntegrationTest/ServiceTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.Template.IntegrationTest/ServiceTests.cs
@@ -48,7 +48,7 @@ namespace Gremlin.Net.Template.IntegrationTest
var creators = service.FindCreatorsOfSoftware("lop");
- Assert.Equal(new List<string> {"marko", "josh", "peter"}, creators);
+ Assert.Equal(new List<string?> {"marko", "josh", "peter"}, creators);
}
}
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/ConnectionPoolTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/ConnectionPoolTests.cs
index 0fbc02aadb..e5711b047d 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/ConnectionPoolTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/ConnectionPoolTests.cs
@@ -27,6 +27,7 @@ using System.Threading;
using System.Threading.Tasks;
using Gremlin.Net.Driver;
using Gremlin.Net.Driver.Exceptions;
+using Gremlin.Net.Driver.Messages;
using Microsoft.Extensions.Logging.Abstractions;
using Moq;
using Xunit;
@@ -188,7 +189,8 @@ namespace Gremlin.Net.UnitTest.Driver
fakedConnection.Setup(f => f.IsOpen).Returns(false);
mockedConnectionFactory.Setup(m => m.CreateConnection()).Returns(OpenConnection);
- await returnedConnection.SubmitAsync<bool>(null, CancellationToken.None);
+ await returnedConnection.SubmitAsync<bool>(RequestMessage.Build(string.Empty).Create(),
+ CancellationToken.None);
returnedConnection.Dispose();
Assert.Equal(1, pool.NrConnections);
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/ConnectionTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/ConnectionTests.cs
index f912f6a8fb..26e483a5db 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/ConnectionTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/ConnectionTests.cs
@@ -314,14 +314,14 @@ namespace Gremlin.Net.UnitTest.Driver
}
private static Connection GetConnection(IMock<IClientWebSocket> mockedClientWebSocket,
- IMessageSerializer messageSerializer = null, Uri uri = null)
+ IMessageSerializer? messageSerializer = null, Uri? uri = null)
{
return GetConnection(new WebSocketConnection(mockedClientWebSocket.Object, new WebSocketSettings()),
messageSerializer, uri);
}
private static Connection GetConnection(IWebSocketConnection webSocketConnection,
- IMessageSerializer messageSerializer = null, Uri uri = null)
+ IMessageSerializer? messageSerializer = null, Uri? uri = null)
{
uri ??= new Uri("wss://localhost:8182");
messageSerializer ??= new GraphBinaryMessageSerializer();
@@ -334,9 +334,10 @@ namespace Gremlin.Net.UnitTest.Driver
sessionId: null);
}
- private static async Task AssertExpectedConnectionClosedException(WebSocketCloseStatus? expectedCloseStatus, string expectedCloseDescription, Func<Task> func)
+ private static async Task AssertExpectedConnectionClosedException(WebSocketCloseStatus? expectedCloseStatus,
+ string? expectedCloseDescription, Func<Task> func)
{
- ConnectionClosedException exception = await Assert.ThrowsAsync<ConnectionClosedException>(func);
+ var exception = await Assert.ThrowsAsync<ConnectionClosedException>(func);
Assert.Equal(expectedCloseStatus, exception.Status);
Assert.Equal(expectedCloseDescription, exception.Description);
}
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/DriverRemoteConnectionTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/DriverRemoteConnectionTests.cs
index 7ed9c96fef..8780cf9bae 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/DriverRemoteConnectionTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/DriverRemoteConnectionTests.cs
@@ -45,7 +45,7 @@ namespace Gremlin.Net.UnitTest.Driver
[Fact]
public void ShouldThrowWhenGivenNullAsGremlinClient()
{
- Assert.Throws<ArgumentNullException>(() => new DriverRemoteConnection(null));
+ Assert.Throws<ArgumentNullException>(() => new DriverRemoteConnection(null!));
}
}
}
\ No newline at end of file
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/GraphSONMessageSerializerTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/GraphSONMessageSerializerTests.cs
index 6b7951ff21..6aae17518d 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/GraphSONMessageSerializerTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Driver/GraphSONMessageSerializerTests.cs
@@ -36,7 +36,7 @@ namespace Gremlin.Net.UnitTest.Driver
{
var sut = CreateMessageSerializer();
- await Assert.ThrowsAsync<ArgumentNullException>(()=> sut.DeserializeMessageAsync(null));
+ await Assert.ThrowsAsync<ArgumentNullException>(()=> sut.DeserializeMessageAsync(null!));
}
[Fact]
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Gremlin.Net.UnitTest.csproj b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Gremlin.Net.UnitTest.csproj
index 4c2934e4ac..1bb0371987 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Gremlin.Net.UnitTest.csproj
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Gremlin.Net.UnitTest.csproj
@@ -2,6 +2,7 @@
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
+ <Nullable>enable</Nullable>
<AssemblyOriginatorKeyFile>../../build/tinkerpop.snk</AssemblyOriginatorKeyFile>
<SignAssembly>true</SignAssembly>
<PublicSign Condition="'$(OS)' != 'Windows_NT'">true</PublicSign>
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/BytecodeTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/BytecodeTests.cs
index d9ab4a7e69..1f91af649a 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/BytecodeTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/BytecodeTests.cs
@@ -62,7 +62,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
bytecode.AddStep("someStep", new Dictionary<string, object> {{"someKey", b.Of("valVariable", "valValue")}});
var arg = bytecode.StepInstructions[0].Arguments[0] as IDictionary;
- Assert.Equal(new Binding("valVariable", "valValue"), arg["someKey"]);
+ Assert.Equal(new Binding("valVariable", "valValue"), arg!["someKey"]);
}
[Fact]
@@ -74,7 +74,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
bytecode.AddStep("someStep", new Dictionary<string, object> {{b.Of("keyVariable", "keyValue"), 1234}});
var arg = bytecode.StepInstructions[0].Arguments[0];
- var binding = ((Dictionary<object, object>) arg).Keys.First() as Binding;
+ var binding = ((Dictionary<object, object>) arg!).Keys.First() as Binding;
Assert.Equal(new Binding("keyVariable", "keyValue"), binding);
}
@@ -87,7 +87,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
bytecode.AddStep("someStep", new List<string> {"test", b.Of("listVariable", "listValue")});
var arg = bytecode.StepInstructions[0].Arguments[0] as IList;
- Assert.Equal(new Binding("listVariable", "listValue"), arg[1]);
+ Assert.Equal(new Binding("listVariable", "listValue"), arg![1]);
}
[Fact]
@@ -99,7 +99,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
bytecode.AddStep("someStep", new HashSet<string> { "test", b.Of("setVariable", "setValue") });
var arg = bytecode.StepInstructions[0].Arguments[0] as ISet<object>;
- Assert.Equal(new Binding("setVariable", "setValue"), arg.ToList()[1]);
+ Assert.Equal(new Binding("setVariable", "setValue"), arg!.ToList()[1]);
}
[Fact]
@@ -133,7 +133,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
bytecode.AddSource("someSource", new Dictionary<string, object> { { "someKey", b.Of("valVariable", "valValue") } });
var arg = bytecode.SourceInstructions[0].Arguments[0] as IDictionary;
- Assert.Equal(new Binding("valVariable", "valValue"), arg["someKey"]);
+ Assert.Equal(new Binding("valVariable", "valValue"), arg!["someKey"]);
}
[Fact]
@@ -145,7 +145,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
bytecode.AddSource("someSource", new Dictionary<string, object> { { b.Of("keyVariable", "keyValue"), 1234 } });
var arg = bytecode.SourceInstructions[0].Arguments[0];
- var binding = ((Dictionary<object, object>)arg).Keys.First() as Binding;
+ var binding = ((Dictionary<object, object>)arg!).Keys.First() as Binding;
Assert.Equal(new Binding("keyVariable", "keyValue"), binding);
}
@@ -158,7 +158,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
bytecode.AddSource("someSource", new List<string> { "test", b.Of("listVariable", "listValue") });
var arg = bytecode.SourceInstructions[0].Arguments[0] as IList;
- Assert.Equal(new Binding("listVariable", "listValue"), arg[1]);
+ Assert.Equal(new Binding("listVariable", "listValue"), arg![1]);
}
[Fact]
@@ -170,7 +170,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
bytecode.AddSource("someSource", new HashSet<string> { "test", b.Of("setVariable", "setValue") });
var arg = bytecode.SourceInstructions[0].Arguments[0] as ISet<object>;
- Assert.Equal(new Binding("setVariable", "setValue"), arg.ToList()[1]);
+ Assert.Equal(new Binding("setVariable", "setValue"), arg!.ToList()[1]);
}
[Fact]
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/GraphTraversalSourceTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/GraphTraversalSourceTests.cs
index b08cf6fb1a..98a5fce606 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/GraphTraversalSourceTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/GraphTraversalSourceTests.cs
@@ -22,7 +22,10 @@
#endregion
using System;
+using Gremlin.Net.Driver.Remote;
+using Gremlin.Net.Process.Remote;
using Gremlin.Net.Process.Traversal;
+using Moq;
using Xunit;
namespace Gremlin.Net.UnitTest.Process.Traversal
@@ -57,7 +60,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
{
var gLocal = AnonymousTraversalSource.Traversal();
- var gRemote = gLocal.WithRemote(null);
+ var gRemote = gLocal.WithRemote(Mock.Of<IRemoteConnection>());
Assert.Equal(0, gLocal.TraversalStrategies.Count);
Assert.Equal(1, gRemote.TraversalStrategies.Count);
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/TestTraversal.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/TestTraversal.cs
index 0356ff4db7..d618aec1d0 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/TestTraversal.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/TestTraversal.cs
@@ -29,7 +29,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
{
public class TestTraversal : DefaultTraversal<object, object>
{
- public TestTraversal(List<object> traverserObjs)
+ public TestTraversal(List<object?> traverserObjs)
{
var traversers = new List<Traverser>(traverserObjs.Count);
traverserObjs.ForEach(o => traversers.Add(new Traverser(o)));
@@ -37,7 +37,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
Bytecode = new Bytecode();
}
- public TestTraversal(IReadOnlyList<object> traverserObjs, IReadOnlyList<long> traverserBulks)
+ public TestTraversal(IReadOnlyList<object?> traverserObjs, IReadOnlyList<long> traverserBulks)
{
var traversers = new List<Traverser>(traverserObjs.Count);
traversers.AddRange(traverserObjs.Select((t, i) => new Traverser(t, traverserBulks[i])));
@@ -50,6 +50,6 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
TraversalStrategies = traversalStrategies;
}
- public override Bytecode Bytecode { get; }
+ public override Bytecode Bytecode { get; } = new();
}
}
\ No newline at end of file
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/Translator/GroovyTranslatorTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/Translator/GroovyTranslatorTests.cs
index bf1d4f1675..057e4f507f 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/Translator/GroovyTranslatorTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/Translator/GroovyTranslatorTests.cs
@@ -486,7 +486,7 @@ public class GroovyTranslatorTests
}
}
- private void AssertTranslation(string expectedTranslation, params object[] objs)
+ private void AssertTranslation(string expectedTranslation, params object?[]? objs)
{
AssertTraversalTranslation($"g.inject({expectedTranslation})", _g.Inject(objs));
}
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/TraversalTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/TraversalTests.cs
index 5f87dffd06..0ed745b0c1 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/TraversalTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Process/Traversal/TraversalTests.cs
@@ -36,7 +36,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
[InlineData("test")]
public void ShouldReturnAvailableTraverserObjWhenNextIsCalled(object traverserObj)
{
- var traversal = new TestTraversal(new List<object> {traverserObj});
+ var traversal = new TestTraversal(new List<object?> {traverserObj});
var actualObj = traversal.Next();
@@ -49,7 +49,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
[InlineData("test")]
public void ShouldCheckHasNext(object traverserObj)
{
- var traversal = new TestTraversal(new List<object> {traverserObj});
+ var traversal = new TestTraversal(new List<object?> {traverserObj});
Assert.True(traversal.HasNext());
Assert.True(traversal.HasNext());
@@ -66,7 +66,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
[InlineData(10)]
public void ShouldReturnCorrectNrOfResultObjsWhenNextIsCalledWithAmountArgument(int nrOfResults)
{
- var objs = new List<object>(20);
+ var objs = new List<object?>(20);
for (var i = 0; i < 20; i++)
objs.Add(i);
var traversal = new TestTraversal(objs);
@@ -79,9 +79,9 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
Assert.Equal(objs[i], traversedObjsList[i]);
}
- private List<object> UnfoldBulks(IReadOnlyList<object> objs, IReadOnlyList<long> bulks)
+ private List<object?> UnfoldBulks(IReadOnlyList<object?> objs, IReadOnlyList<long> bulks)
{
- var unfoldedObjs = new List<object>();
+ var unfoldedObjs = new List<object?>();
for (var traverserIdx = 0; traverserIdx < objs.Count; traverserIdx++)
for (var currentBulkObjIdx = 0; currentBulkObjIdx < bulks[traverserIdx]; currentBulkObjIdx++)
unfoldedObjs.Add(objs[traverserIdx]);
@@ -91,7 +91,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
[Fact]
public void ShouldDrainAllTraversersWhenIterateIsCalled()
{
- var someObjs = new List<object> {1, 2, 3};
+ var someObjs = new List<object?> {1, 2, 3};
var traversal = new TestTraversal(someObjs);
var drainedTraversal = traversal.Iterate();
@@ -103,7 +103,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
public void ShouldReturnNullWhenNextIsCalledAndNoTraverserIsAvailable()
{
var expectedFirstObj = 1;
- var traversal = new TestTraversal(new List<object> {expectedFirstObj});
+ var traversal = new TestTraversal(new List<object?> {expectedFirstObj});
var actualFirstObj = traversal.Next();
var actualSecondObj = traversal.Next();
@@ -115,18 +115,18 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
[Fact]
public void ShouldReturnTraversalsTraverserWhenNextTraverserIsCalled()
{
- var someObjs = new List<object> {1, 2, 3};
+ var someObjs = new List<object?> {1, 2, 3};
var traversal = new TestTraversal(someObjs);
var traverser = traversal.NextTraverser();
- Assert.Equal(traversal.Traversers.First(), traverser);
+ Assert.Equal(traversal.Traversers!.First(), traverser);
}
[Fact]
public void ShouldThrowNotSupportedExceptionWhenResetIsCalled()
{
- var someObjs = new List<object> {1, 2, 3};
+ var someObjs = new List<object?> {1, 2, 3};
var traversal = new TestTraversal(someObjs);
Assert.Throws<NotSupportedException>(() => traversal.Reset());
@@ -135,7 +135,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
[Fact]
public void ShouldReturnAllTraverserObjsWhenToListIsCalled()
{
- var expectedObjs = new List<object> {1, 2, 3};
+ var expectedObjs = new List<object?> {1, 2, 3};
var traversal = new TestTraversal(expectedObjs);
var traversedObjs = traversal.ToList();
@@ -146,13 +146,13 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
[Fact]
public void ShouldReturnAllTraverserObjWithoutDuplicatesWhenToSetIsCalled()
{
- var traverserObjs = new List<object> {1, 1, 2, 3};
+ var traverserObjs = new List<object?> {1, 1, 2, 3};
var traversal = new TestTraversal(traverserObjs);
var traversedObjSet = traversal.ToSet();
Assert.Equal(3, traversedObjSet.Count);
- Assert.Equal(new HashSet<object>(traverserObjs), traversedObjSet);
+ Assert.Equal(new HashSet<object?>(traverserObjs), traversedObjSet);
}
[Fact]
@@ -170,7 +170,7 @@ namespace Gremlin.Net.UnitTest.Process.Traversal
[Fact]
public void ShouldBeUnfoldTraverserBulksWhenToListIsCalled()
{
- var objs = new List<object> {1, 2, 3};
+ var objs = new List<object?> {1, 2, 3};
var bulks = new List<long> {3, 2, 1};
var traversal = new TestTraversal(objs, bulks);
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/GraphBinaryMessageSerializerTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/GraphBinaryMessageSerializerTests.cs
index 5510678f01..e175300d3a 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/GraphBinaryMessageSerializerTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/GraphBinaryMessageSerializerTests.cs
@@ -77,7 +77,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphBinary
var serializer = CreateMessageSerializer();
await Assert.ThrowsAsync<TaskCanceledException>(async () =>
- await serializer.SerializeMessageAsync(RequestMessage.Build(default).Create(),
+ await serializer.SerializeMessageAsync(RequestMessage.Build(string.Empty).Create(),
new CancellationToken(true)));
}
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/GraphBinaryTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/GraphBinaryTests.cs
index d50c82e303..47a190b500 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/GraphBinaryTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/GraphBinaryTests.cs
@@ -409,7 +409,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphBinary
var writer = CreateGraphBinaryWriter();
var serializationStream = new MemoryStream();
- await Assert.ThrowsAsync<IOException>(() => writer.WriteNonNullableValueAsync(null, serializationStream));
+ await Assert.ThrowsAsync<IOException>(() => writer.WriteNonNullableValueAsync(null!, serializationStream));
}
[Fact]
@@ -434,7 +434,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphBinary
new Path(
new List<ISet<string>>
{new HashSet<string> {"a", "b"}, new HashSet<string> {"c", "d"}, new HashSet<string> {"e"}},
- new List<object> {1, 2, 3});
+ new List<object?> {1, 2, 3});
var writer = CreateGraphBinaryWriter();
var reader = CreateGraphBinaryReader();
var serializationStream = new MemoryStream();
@@ -669,9 +669,9 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphBinary
await writer.WriteAsync(expected, serializationStream);
serializationStream.Position = 0;
- var actual = (Bytecode) await reader.ReadAsync(serializationStream);
+ var actual = (Bytecode?) await reader.ReadAsync(serializationStream);
- Assert.Equal(expected.SourceInstructions, actual.SourceInstructions);
+ Assert.Equal(expected.SourceInstructions, actual!.SourceInstructions);
Assert.Equal(expected.StepInstructions, actual.StepInstructions);
}
@@ -801,9 +801,9 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphBinary
await writer.WriteAsync(expected, serializationStream);
serializationStream.Position = 0;
- var actual = (StringBasedLambda) await reader.ReadAsync(serializationStream);
+ var actual = (StringBasedLambda?) await reader.ReadAsync(serializationStream);
- Assert.Equal(expected.Language, actual.Language);
+ Assert.Equal(expected.Language, actual!.Language);
Assert.Equal(expected.LambdaExpression, actual.LambdaExpression);
Assert.Equal(expected.Arguments, actual.Arguments);
}
@@ -818,9 +818,9 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphBinary
await writer.WriteAsync(expected, serializationStream);
serializationStream.Position = 0;
- var actual = (P) await reader.ReadAsync(serializationStream);
+ var actual = (P?) await reader.ReadAsync(serializationStream);
- Assert.Equal(expected.OperatorName, actual.OperatorName);
+ Assert.Equal(expected.OperatorName, actual!.OperatorName);
Assert.Equal(expected.Other, actual.Other);
Assert.Equal(expected.Value, actual.Value);
}
@@ -835,9 +835,9 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphBinary
await writer.WriteAsync(expected, serializationStream);
serializationStream.Position = 0;
- var actual = (P) await reader.ReadAsync(serializationStream);
+ var actual = (P?) await reader.ReadAsync(serializationStream);
- Assert.Equal(expected.OperatorName, actual.OperatorName);
+ Assert.Equal(expected.OperatorName, actual!.OperatorName);
Assert.Equal(expected.Other, actual.Other);
Assert.Equal(expected.Value, actual.Value);
}
@@ -852,9 +852,9 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphBinary
await writer.WriteAsync(expected, serializationStream);
serializationStream.Position = 0;
- var actual = (P) await reader.ReadAsync(serializationStream);
+ var actual = (P?) await reader.ReadAsync(serializationStream);
- Assert.Equal(expected.ToString(), actual.ToString());
+ Assert.Equal(expected.ToString(), actual!.ToString());
}
[Fact]
@@ -867,9 +867,9 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphBinary
await writer.WriteAsync(expected, serializationStream);
serializationStream.Position = 0;
- var actual = (TextP) await reader.ReadAsync(serializationStream);
+ var actual = (TextP?) await reader.ReadAsync(serializationStream);
- Assert.Equal(expected.OperatorName, actual.OperatorName);
+ Assert.Equal(expected.OperatorName, actual!.OperatorName);
Assert.Equal(expected.Other, actual.Other);
Assert.Equal(expected.Value, actual.Value);
}
@@ -884,9 +884,9 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphBinary
await writer.WriteAsync(expected, serializationStream);
serializationStream.Position = 0;
- var actual = (Traverser) await reader.ReadAsync(serializationStream);
+ var actual = (Traverser?) await reader.ReadAsync(serializationStream);
- Assert.Equal(expected.Object, actual.Object);
+ Assert.Equal(expected.Object, actual!.Object);
Assert.Equal(expected.Bulk, actual.Bulk);
}
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/Types/Sample/SamplePerson.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/Types/Sample/SamplePerson.cs
index e474f30158..40627c8ba6 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/Types/Sample/SamplePerson.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/Types/Sample/SamplePerson.cs
@@ -36,14 +36,14 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphBinary.Types.Sample
public string Name { get; }
public DateTimeOffset BirthDate { get; }
- public bool Equals(SamplePerson other)
+ public bool Equals(SamplePerson? other)
{
if (ReferenceEquals(null, other)) return false;
if (ReferenceEquals(this, other)) return true;
return Name == other.Name && BirthDate.Equals(other.BirthDate);
}
- public override bool Equals(object obj)
+ public override bool Equals(object? obj)
{
if (ReferenceEquals(null, obj)) return false;
if (ReferenceEquals(this, obj)) return true;
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/Types/Sample/SamplePersonSerializer.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/Types/Sample/SamplePersonSerializer.cs
index 6145f6d23b..172d167b07 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/Types/Sample/SamplePersonSerializer.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/Types/Sample/SamplePersonSerializer.cs
@@ -86,7 +86,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphBinary.Types.Sample
.ConfigureAwait(false);
}
- public override async Task<object> ReadAsync(Stream stream, GraphBinaryReader reader,
+ public override async Task<object?> ReadAsync(Stream stream, GraphBinaryReader reader,
CancellationToken cancellationToken = default)
{
// {custom type info}, {value_flag} and {value}
@@ -99,7 +99,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphBinary.Types.Sample
return await ReadNullableValueAsync(stream, reader, cancellationToken).ConfigureAwait(false);
}
- public override async Task<object> ReadNullableValueAsync(Stream stream, GraphBinaryReader reader,
+ public override async Task<object?> ReadNullableValueAsync(Stream stream, GraphBinaryReader reader,
CancellationToken cancellationToken = default)
{
var valueFlag = await stream.ReadByteAsync(cancellationToken).ConfigureAwait(false);
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/Types/Sample/SamplePersonSerializerTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/Types/Sample/SamplePersonSerializerTests.cs
index 908e03f90d..e023a9188a 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/Types/Sample/SamplePersonSerializerTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphBinary/Types/Sample/SamplePersonSerializerTests.cs
@@ -43,7 +43,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphBinary.Types.Sample
await writer.WriteAsync(expected, serializationStream);
serializationStream.Position = 0;
- var actual = (SamplePerson) await reader.ReadAsync(serializationStream);
+ var actual = (SamplePerson?) await reader.ReadAsync(serializationStream);
Assert.Equal(expected, actual);
}
@@ -60,7 +60,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphBinary.Types.Sample
await writer.WriteNullableValueAsync(expected, serializationStream).ConfigureAwait(false);
serializationStream.Position = 0;
- var actual = (SamplePerson)await reader.ReadNullableValueAsync<SamplePerson>(serializationStream)
+ var actual = (SamplePerson?)await reader.ReadNullableValueAsync<SamplePerson>(serializationStream)
.ConfigureAwait(false);
Assert.Equal(expected, actual);
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSON3MessageSerializerTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSON3MessageSerializerTests.cs
index df75dc2db8..d1b593b06a 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSON3MessageSerializerTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSON3MessageSerializerTests.cs
@@ -38,7 +38,7 @@ public class GraphSON3MessageSerializerTests
var serializer = CreateMessageSerializer();
await Assert.ThrowsAsync<OperationCanceledException>(async () =>
- await serializer.SerializeMessageAsync(RequestMessage.Build(default).Create(),
+ await serializer.SerializeMessageAsync(RequestMessage.Build(string.Empty).Create(),
new CancellationToken(true)));
}
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
index 2c33a1e034..82aeeb02f6 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
@@ -74,7 +74,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
var jsonElement = JsonSerializer.Deserialize<JsonElement>(graphSON);
var deserializedValue = reader.ToObject(jsonElement);
- Assert.Equal("test", deserializedValue.Value);
+ Assert.Equal("test", deserializedValue!.Value);
}
[Fact]
@@ -118,7 +118,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
var jsonElement = JsonSerializer.Deserialize<JsonElement>(serializedDict);
var deserializedValue = reader.ToObject(jsonElement);
- var expectedDict = new Dictionary<string, dynamic>
+ var expectedDict = new Dictionary<string, dynamic?>
{
{"age", new List<object> {29}},
{"name", new List<object> {"marko"}},
@@ -136,7 +136,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
var reader = CreateStandardGraphSONReader(version);
var jsonElement = JsonSerializer.Deserialize<JsonElement>(graphSon);
- Edge readEdge = reader.ToObject(jsonElement);
+ Edge readEdge = reader.ToObject(jsonElement)!;
Assert.Equal((long) 17, readEdge.Id);
Assert.Equal("knows", readEdge.Label);
@@ -286,7 +286,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
var jsonElement = JsonSerializer.Deserialize<JsonElement>(serializedValue);
var deserializedValue = reader.ToObject(jsonElement);
- Assert.Equal(new List<object> {5, 6, null}, deserializedValue);
+ Assert.Equal(new List<object?> {5, 6, null}, deserializedValue);
}
[Theory, MemberData(nameof(Versions))]
@@ -296,7 +296,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
var reader = CreateStandardGraphSONReader(version);
var jsonElement = JsonSerializer.Deserialize<JsonElement>(graphSon);
- T readT = reader.ToObject(jsonElement);
+ T readT = reader.ToObject(jsonElement)!;
Assert.Equal(T.Label, readT);
}
@@ -333,7 +333,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
var reader = CreateStandardGraphSONReader(2);
var jsonElement = JsonSerializer.Deserialize<JsonElement>(graphSon);
- Path readPath = reader.ToObject(jsonElement);
+ Path readPath = reader.ToObject(jsonElement)!;
Assert.Equal("path[v[1], v[3], lop]", readPath.ToString());
Assert.Equal(new Vertex(1), readPath[0]);
@@ -351,7 +351,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
var reader = CreateStandardGraphSONReader(3);
var jsonElement = JsonSerializer.Deserialize<JsonElement>(graphSon);
- Path readPath = reader.ToObject(jsonElement);
+ Path readPath = reader.ToObject(jsonElement)!;
Assert.Equal("path[v[5]]", readPath.ToString());
Assert.Equal(new Vertex(5L), readPath[0]);
@@ -370,13 +370,13 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
var reader = CreateStandardGraphSONReader(version);
var jsonElement = JsonSerializer.Deserialize<JsonElement>(graphSon);
- Property readProperty = reader.ToObject(jsonElement);
+ Property readProperty = reader.ToObject(jsonElement)!;
Assert.Equal("aKey", readProperty.Key);
Assert.Equal((long) 17, readProperty.Value);
- Assert.Equal(typeof(Edge), readProperty.Element.GetType());
+ Assert.Equal(typeof(Edge), readProperty.Element!.GetType());
var edge = readProperty.Element as Edge;
- Assert.Equal((long) 122, edge.Id);
+ Assert.Equal((long) 122, edge!.Id);
Assert.Equal("knows", edge.Label);
Assert.Equal("x", edge.InV.Id);
Assert.Equal("y", edge.OutV.Id);
@@ -415,7 +415,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
var reader = CreateStandardGraphSONReader(version);
var jsonElement = JsonSerializer.Deserialize<JsonElement>(graphSon);
- VertexProperty readVertexProperty = reader.ToObject(jsonElement);
+ VertexProperty readVertexProperty = reader.ToObject(jsonElement)!;
Assert.Equal("anId", readVertexProperty.Id);
Assert.Equal("aKey", readVertexProperty.Label);
@@ -431,7 +431,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
var reader = CreateStandardGraphSONReader(version);
var jsonElement = JsonSerializer.Deserialize<JsonElement>(graphSon);
- VertexProperty readVertexProperty = reader.ToObject(jsonElement);
+ VertexProperty readVertexProperty = reader.ToObject(jsonElement)!;
Assert.Equal(1, readVertexProperty.Id);
Assert.Equal("name", readVertexProperty.Label);
@@ -460,7 +460,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
var reader = CreateStandardGraphSONReader(version);
var jsonElement = JsonSerializer.Deserialize<JsonElement>(graphSon);
- Vertex deserializedValue = reader.ToObject(jsonElement);
+ Vertex deserializedValue = reader.ToObject(jsonElement)!;
Assert.Equal("person", deserializedValue.Label);
}
@@ -473,11 +473,11 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
var reader = CreateStandardGraphSONReader(version);
var jsonElement = JsonSerializer.Deserialize<JsonElement>(graphSon);
- Vertex readVertex = reader.ToObject(jsonElement);
+ Vertex readVertex = reader.ToObject(jsonElement)!;
Assert.Equal(new Vertex(1), readVertex);
Assert.Equal("person", readVertex.Label);
- Assert.Equal(typeof(int), readVertex.Id.GetType());
+ Assert.Equal(typeof(int), readVertex.Id!.GetType());
}
[Theory, MemberData(nameof(VersionsSupportingCollections))]
@@ -576,7 +576,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
var reader = CreateStandardGraphSONReader(version);
var jsonElement = JsonSerializer.Deserialize<JsonElement>(json);
- Traverser deserializedValue = reader.ToObject(jsonElement);
+ Traverser deserializedValue = reader.ToObject(jsonElement)!;
Assert.Equal(10, deserializedValue.Bulk);
Assert.Equal(1, deserializedValue.Object);
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
index 92478318ac..3a4282366a 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs
@@ -295,7 +295,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
public void ShouldSerializeGList(int version)
{
var writer = CreateGraphSONWriter(version);
- var list = new List<object> {5, 6, null};
+ var list = new List<object?> {5, 6, null};
var serializedGraphSON = writer.WriteObject(list);
@@ -552,7 +552,7 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
internal class TestGraphSONSerializer : IGraphSONSerializer
{
- public string TestNamespace { get; set; }
+ public string? TestNamespace { get; set; }
public Dictionary<string, dynamic> Dictify(dynamic objectData, GraphSONWriter writer)
{
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/TestClass.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/TestClass.cs
index 13d1bca9e7..1fba9434a1 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/TestClass.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/TestClass.cs
@@ -25,6 +25,6 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON
{
internal class TestClass
{
- public dynamic Value { get; set; }
+ public dynamic? Value { get; set; }
}
}
\ No newline at end of file
diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/PathTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/PathTests.cs
index 6df92bac73..a996df124b 100644
--- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/PathTests.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/PathTests.cs
@@ -40,7 +40,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"c", "b"},
new HashSet<string>()
};
- var objects = new List<object> {1, new Vertex(1), "hello"};
+ var objects = new List<object?> {1, new Vertex(1), "hello"};
var path = new Path(labels, objects);
@@ -57,7 +57,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"c", "b"},
new HashSet<string>()
};
- var path = new Path(labels, new List<object>());
+ var path = new Path(labels, new List<object?>());
var containsKey = path.ContainsKey("c");
@@ -73,7 +73,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"c", "b"},
new HashSet<string>()
};
- var path = new Path(labels, new List<object>());
+ var path = new Path(labels, new List<object?>());
var containsKey = path.ContainsKey("z");
@@ -83,7 +83,7 @@ namespace Gremlin.Net.UnitTest.Structure
[Fact]
public void ShouldReturnCountOfObjectsForCountProperty()
{
- var objects = new List<object> {1, new Vertex(1), "hello"};
+ var objects = new List<object?> {1, new Vertex(1), "hello"};
var path = new Path(new List<ISet<string>>(), objects);
var count = path.Count;
@@ -94,7 +94,7 @@ namespace Gremlin.Net.UnitTest.Structure
[Fact]
public void ShouldEnumeratorObjectsIntoListWhenToListIsCalled()
{
- var objects = new List<object> {1, new Vertex(1), "hello"};
+ var objects = new List<object?> {1, new Vertex(1), "hello"};
var path = new Path(new List<ISet<string>>(), objects);
var enumeratedObj = path.ToList();
@@ -112,7 +112,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"a", "b"},
new HashSet<string> {"c", "b"},
new HashSet<string>()
- }, new List<object> {1, new Vertex(1), "hello"});
+ }, new List<object?> {1, new Vertex(1), "hello"});
var secondPath =
new Path(
new List<ISet<string>>
@@ -120,7 +120,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"a", "b"},
new HashSet<string> {"c", "b"},
new HashSet<string>()
- }, new List<object> {1, new Vertex(1), "hello"});
+ }, new List<object?> {1, new Vertex(1), "hello"});
var equals = firstPath.Equals(secondPath);
@@ -137,7 +137,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"a", "b"},
new HashSet<string> {"c", "b"},
new HashSet<string>()
- }, new List<object> {1, new Vertex(1), "hello"});
+ }, new List<object?> {1, new Vertex(1), "hello"});
var secondPath =
new Path(
new List<ISet<string>>
@@ -145,7 +145,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"a"},
new HashSet<string> {"c", "b"},
new HashSet<string>()
- }, new List<object> {1, new Vertex(1), "hello"});
+ }, new List<object?> {1, new Vertex(1), "hello"});
var equals = firstPath.Equals(secondPath);
@@ -162,7 +162,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"a", "b"},
new HashSet<string> {"c", "b"},
new HashSet<string>()
- }, new List<object> {1, new Vertex(1), "hello"});
+ }, new List<object?> {1, new Vertex(1), "hello"});
var secondPath =
new Path(
new List<ISet<string>>
@@ -170,7 +170,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"a", "b"},
new HashSet<string> {"c", "b"},
new HashSet<string>()
- }, new List<object> {3, new Vertex(1), "hello"});
+ }, new List<object?> {3, new Vertex(1), "hello"});
var equals = firstPath.Equals(secondPath);
@@ -187,7 +187,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"a", "b"},
new HashSet<string> {"c", "b"},
new HashSet<string>()
- }, new List<object> { 1, new Vertex(1), "hello" });
+ }, new List<object?> { 1, new Vertex(1), "hello" });
object secondPath =
new Path(
new List<ISet<string>>
@@ -195,7 +195,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"a", "b"},
new HashSet<string> {"c", "b"},
new HashSet<string>()
- }, new List<object> { 1, new Vertex(1), "hello" });
+ }, new List<object?> { 1, new Vertex(1), "hello" });
var equals = firstPath.Equals(secondPath);
@@ -212,7 +212,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"a", "b"},
new HashSet<string> {"c", "b"},
new HashSet<string>()
- }, new List<object> { 1, new Vertex(1), "hello" });
+ }, new List<object?> { 1, new Vertex(1), "hello" });
object secondPath =
new Path(
new List<ISet<string>>
@@ -220,7 +220,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"a"},
new HashSet<string> {"c", "b"},
new HashSet<string>()
- }, new List<object> { 1, new Vertex(1), "hello" });
+ }, new List<object?> { 1, new Vertex(1), "hello" });
var equals = firstPath.Equals(secondPath);
@@ -237,7 +237,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"a", "b"},
new HashSet<string> {"c", "b"},
new HashSet<string>()
- }, new List<object> { 1, new Vertex(1), "hello" });
+ }, new List<object?> { 1, new Vertex(1), "hello" });
object secondPath =
new Path(
new List<ISet<string>>
@@ -245,7 +245,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"a", "b"},
new HashSet<string> {"c", "b"},
new HashSet<string>()
- }, new List<object> { 3, new Vertex(1), "hello" });
+ }, new List<object?> { 3, new Vertex(1), "hello" });
var equals = firstPath.Equals(secondPath);
@@ -255,7 +255,7 @@ namespace Gremlin.Net.UnitTest.Structure
[Fact]
public void ShouldReturnFalseForEqualsWhereOtherIsNull()
{
- var path = new Path(new List<ISet<string>> {new HashSet<string> {"a", "b"},}, new List<object> {1});
+ var path = new Path(new List<ISet<string>> { new HashSet<string> { "a", "b" }, }, new List<object?> { 1 });
var equals = path.Equals(null);
@@ -272,7 +272,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"a", "b"},
new HashSet<string> {"c", "b"},
new HashSet<string>()
- }, new List<object> { 1, new Vertex(1), "hello" });
+ }, new List<object?> { 1, new Vertex(1), "hello" });
var secondPath =
new Path(
new List<ISet<string>>
@@ -280,7 +280,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"a", "b"},
new HashSet<string> {"c", "b"},
new HashSet<string>()
- }, new List<object> { 1, new Vertex(1), "hello" });
+ }, new List<object?> { 1, new Vertex(1), "hello" });
var firstHashCode = firstPath.GetHashCode();
var secondHashCode = secondPath.GetHashCode();
@@ -291,7 +291,7 @@ namespace Gremlin.Net.UnitTest.Structure
[Fact]
public void ShouldThrowWhenInvalidIndexIsAccessed()
{
- var objects = new List<object> {1, new Vertex(1), "hello"};
+ var objects = new List<object?> {1, new Vertex(1), "hello"};
var path = new Path(new List<ISet<string>>(), objects);
Assert.Throws<ArgumentOutOfRangeException>(() => path[3]);
@@ -300,7 +300,7 @@ namespace Gremlin.Net.UnitTest.Structure
[Fact]
public void ShouldReturnObjectsByTheirIndex()
{
- var objects = new List<object> {1, new Vertex(1), "hello"};
+ var objects = new List<object?> {1, new Vertex(1), "hello"};
var path = new Path(new List<ISet<string>>(), objects);
Assert.Equal(1, path[0]);
@@ -317,7 +317,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"c", "b"},
new HashSet<string>()
};
- var objects = new List<object> {1, new Vertex(1), "hello"};
+ var objects = new List<object?> {1, new Vertex(1), "hello"};
var path = new Path(labels, objects);
var bObjects = path["b"];
@@ -334,7 +334,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"c", "b"},
new HashSet<string>()
};
- var objects = new List<object> {1, new Vertex(1), "hello"};
+ var objects = new List<object?> {1, new Vertex(1), "hello"};
var path = new Path(labels, objects);
Assert.Equal(1, path["a"]);
@@ -345,7 +345,7 @@ namespace Gremlin.Net.UnitTest.Structure
[Fact]
public void ShouldThrowWhenUnknownKeyIsAccessed()
{
- var path = new Path(new List<ISet<string>>(), new List<object>());
+ var path = new Path(new List<ISet<string>>(), new List<object?>());
Assert.Throws<KeyNotFoundException>(() => path["unknownKey"]);
}
@@ -359,7 +359,7 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"c", "b"},
new HashSet<string>()
};
- var objects = new List<object> {1, new Vertex(1), "hello"};
+ var objects = new List<object?> {1, new Vertex(1), "hello"};
var path = new Path(labels, objects);
var pathStr = path.ToString();
@@ -376,10 +376,10 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"c", "b"},
new HashSet<string>()
};
- var objects = new List<object> {1, new Vertex(1), "hello"};
+ var objects = new List<object?> {1, new Vertex(1), "hello"};
var path = new Path(labels, objects);
- var success = path.TryGetValue("b", out object actualObj);
+ var success = path.TryGetValue("b", out object? actualObj);
Assert.True(success);
Assert.Equal(new List<object> {1, new Vertex(1)}, actualObj);
@@ -394,10 +394,10 @@ namespace Gremlin.Net.UnitTest.Structure
new HashSet<string> {"c", "b"},
new HashSet<string>()
};
- var objects = new List<object> {1, new Vertex(1), "hello"};
+ var objects = new List<object?> {1, new Vertex(1), "hello"};
var path = new Path(labels, objects);
- var success = path.TryGetValue("b", out object actualObj);
+ var success = path.TryGetValue("b", out var actualObj);
Assert.True(success);
Assert.Equal(new Vertex(1), actualObj);
@@ -406,9 +406,9 @@ namespace Gremlin.Net.UnitTest.Structure
[Fact]
public void ShouldReturnFalseForTryGetWhenUnknownKeyIsProvided()
{
- var path = new Path(new List<ISet<string>>(), new List<object>());
+ var path = new Path(new List<ISet<string>>(), new List<object?>());
- var success = path.TryGetValue("unknownKey", out object _);
+ var success = path.TryGetValue("unknownKey", out _);
Assert.False(success);
}