diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml
index 4d0ddcf9..618b362d 100644
--- a/.github/workflows/integration.yml
+++ b/.github/workflows/integration.yml
@@ -16,6 +16,19 @@ env:
jobs:
+ windows:
+ name: windows
+ runs-on: windows-latest
+ steps:
+ - uses: actions/checkout@v3
+ - name: run redis-stack-server docker
+ run: docker run -p 6379:6379 -d redis/redis-stack-server:edge
+ - name: Restore dependencies
+ run: dotnet restore
+ - name: Build
+ run: dotnet build --no-restore /p:ContinuousIntegrationBuild=true
+ - name: Test
+ run: dotnet test --no-build --verbosity normal -f net481
build_and_test:
name: Build and test
runs-on: ubuntu-latest
@@ -35,8 +48,10 @@ jobs:
run: dotnet restore
- name: Build
run: dotnet build --no-restore /p:ContinuousIntegrationBuild=true
+ - name: Test
+ run: dotnet test -f net6.0 --no-build --verbosity normal /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
- name: Test
- run: dotnet test --no-build --verbosity normal /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
+ run: dotnet test -f net7.0 --no-build --verbosity normal /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
- name: Codecov
uses: codecov/codecov-action@v3
with:
diff --git a/src/NRedisStack/ResponseParser.cs b/src/NRedisStack/ResponseParser.cs
index d96c20fd..a8b0fd85 100644
--- a/src/NRedisStack/ResponseParser.cs
+++ b/src/NRedisStack/ResponseParser.cs
@@ -47,6 +47,8 @@ public static long ToLong(this RedisResult result)
public static double ToDouble(this RedisResult result)
{
+ if (result.ToString() == "nan")
+ return double.NaN;
if ((double?)result == null)
throw new ArgumentNullException(nameof(result));
return (double)result;
diff --git a/src/NRedisStack/Tdigest/TdigestCommands.cs b/src/NRedisStack/Tdigest/TdigestCommands.cs
index 9ee9fd56..72d5f847 100644
--- a/src/NRedisStack/Tdigest/TdigestCommands.cs
+++ b/src/NRedisStack/Tdigest/TdigestCommands.cs
@@ -44,7 +44,9 @@ public double Max(RedisKey key)
///
public double Min(RedisKey key)
{
- return _db.Execute(TdigestCommandBuilder.Min(key)).ToDouble();
+ var cmd = TdigestCommandBuilder.Min(key);
+ var res =_db.Execute(cmd);
+ return res.ToDouble();
}
///
diff --git a/tests/NRedisStack.Tests/NRedisStack.Tests.csproj b/tests/NRedisStack.Tests/NRedisStack.Tests.csproj
index 01c824f8..d2cc16f6 100644
--- a/tests/NRedisStack.Tests/NRedisStack.Tests.csproj
+++ b/tests/NRedisStack.Tests/NRedisStack.Tests.csproj
@@ -1,9 +1,10 @@
- net6.0;net7.0
+ net6.0;net7.0;net462
enable
enable
+ latest
false
diff --git a/tests/NRedisStack.Tests/Tdigest/TdigestTests.cs b/tests/NRedisStack.Tests/Tdigest/TdigestTests.cs
index eb8d43a1..c1592a66 100644
--- a/tests/NRedisStack.Tests/Tdigest/TdigestTests.cs
+++ b/tests/NRedisStack.Tests/Tdigest/TdigestTests.cs
@@ -666,7 +666,7 @@ static Tuple RandomValueWeight()
{
Random random = new Random();
- return new Tuple(random.NextDouble() * 10000, random.NextInt64() + 1);
+ return new Tuple(random.NextDouble() * 10000, random.Next() + 1);
}
static Tuple[] RandomValueWeightArray(int count)
@@ -687,7 +687,11 @@ static Tuple DefinedValueWeight(double value, long weight)
private static double[] WeightedValue(double value, int weight)
{
double[] values = new double[weight];
- Array.Fill(values, value);
+ for (var i = 0; i < values.Length; i++)
+ {
+ values[i] = value;
+ }
+
return values;
}
}
diff --git a/tests/NRedisStack.Tests/TimeSeries/TestAPI/TestMADD.cs b/tests/NRedisStack.Tests/TimeSeries/TestAPI/TestMADD.cs
index 83920a69..5aa329bd 100644
--- a/tests/NRedisStack.Tests/TimeSeries/TestAPI/TestMADD.cs
+++ b/tests/NRedisStack.Tests/TimeSeries/TestAPI/TestMADD.cs
@@ -1,4 +1,5 @@
using NRedisStack.DataTypes;
+using NRedisStack.Literals.Enums;
using NRedisStack.RedisStackCommands;
using StackExchange.Redis;
using Xunit;
@@ -88,7 +89,7 @@ public void TestOverrideMADD()
foreach (string key in keys)
{
- ts.Create(key);
+ ts.Create(key, duplicatePolicy: TsDuplicatePolicy.MAX);
}
List oldTimeStamps = new List();
diff --git a/tests/NRedisStack.Tests/TimeSeries/TestAPI/TestMAddAsync.cs b/tests/NRedisStack.Tests/TimeSeries/TestAPI/TestMAddAsync.cs
index 5c7fa550..7778accf 100644
--- a/tests/NRedisStack.Tests/TimeSeries/TestAPI/TestMAddAsync.cs
+++ b/tests/NRedisStack.Tests/TimeSeries/TestAPI/TestMAddAsync.cs
@@ -1,4 +1,5 @@
using NRedisStack.DataTypes;
+using NRedisStack.Literals.Enums;
using NRedisStack.RedisStackCommands;
using StackExchange.Redis;
using Xunit;
@@ -82,7 +83,7 @@ public async Task TestOverrideMAdd()
foreach (var key in keys)
{
- await ts.CreateAsync(key);
+ await ts.CreateAsync(key, duplicatePolicy: TsDuplicatePolicy.MAX);
}
var oldTimeStamps = new List();