diff --git a/.gitignore b/.gitignore
index 5a8eceb..ae91b53 100644
--- a/.gitignore
+++ b/.gitignore
@@ -110,4 +110,8 @@ _UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
-Thumbs.db
\ No newline at end of file
+Thumbs.db
+.vs/HdrHistogram/v15/Server/sqlite3/storage.ide-wal
+.vs/HdrHistogram/v15/Server/sqlite3/storage.ide-shm
+.vs/HdrHistogram/v15/Server/sqlite3/storage.ide
+.vs/HdrHistogram/v15/Server/sqlite3/db.lock
diff --git a/HdrHistogram.Benchmarking/HdrHistogram.Benchmarking.csproj b/HdrHistogram.Benchmarking/HdrHistogram.Benchmarking.csproj
index 6c73a2d..e669e22 100644
--- a/HdrHistogram.Benchmarking/HdrHistogram.Benchmarking.csproj
+++ b/HdrHistogram.Benchmarking/HdrHistogram.Benchmarking.csproj
@@ -2,14 +2,14 @@
Exe
- net47;netcoreapp1.1
+ net471;netcoreapp1.1
-
+
0.10.8
diff --git a/HdrHistogram.Examples/HdrHistogram.Examples.csproj b/HdrHistogram.Examples/HdrHistogram.Examples.csproj
index 27a8b15..a1e58fe 100644
--- a/HdrHistogram.Examples/HdrHistogram.Examples.csproj
+++ b/HdrHistogram.Examples/HdrHistogram.Examples.csproj
@@ -2,7 +2,7 @@
Exe
- netcoreapp1.1
+ netcoreapp2.0
diff --git a/HdrHistogram.UnitTests/HdrHistogram.UnitTests.csproj b/HdrHistogram.UnitTests/HdrHistogram.UnitTests.csproj
index 56d3a98..54df436 100644
--- a/HdrHistogram.UnitTests/HdrHistogram.UnitTests.csproj
+++ b/HdrHistogram.UnitTests/HdrHistogram.UnitTests.csproj
@@ -84,9 +84,10 @@
-
-
+
+
+
diff --git a/HdrHistogram.UnitTests/HistogramEncodingTestBase.cs b/HdrHistogram.UnitTests/HistogramEncodingTestBase.cs
index f5118ad..8ba7617 100644
--- a/HdrHistogram.UnitTests/HistogramEncodingTestBase.cs
+++ b/HdrHistogram.UnitTests/HistogramEncodingTestBase.cs
@@ -1,6 +1,8 @@
using HdrHistogram.Encoding;
using HdrHistogram.Utilities;
using Xunit;
+using FluentAssertions;
+using System.Linq;
namespace HdrHistogram.UnitTests
{
@@ -21,6 +23,22 @@ public void Given_a_populated_Histogram_When_encoded_and_decoded_Then_data_is_pr
HistogramAssert.AreValueEqual(source, result);
}
+ [Fact]
+ public void Given_a_populated_Histogram_iterating_over_buckets_gives_all_buckets()
+ {
+ var source = Create(DefaultHighestTrackableValue, DefaultSignificantFigures);
+ Load(source);
+ Iteration.HistogramIterationValue lastSeen = null;
+ foreach ( var v in source.AllValues().ToList() )
+ {
+ if ( lastSeen != null )
+ {
+ v.Should().NotBe( lastSeen );
+ }
+ lastSeen = v;
+ }
+ }
+
[Fact]
public void Given_a_populated_Histogram_When_encoded_and_decoded_with_compression_Then_data_is_preserved()
{
diff --git a/HdrHistogram/Iteration/AbstractHistogramEnumerator.cs b/HdrHistogram/Iteration/AbstractHistogramEnumerator.cs
index 88b6e5d..fc7137b 100644
--- a/HdrHistogram/Iteration/AbstractHistogramEnumerator.cs
+++ b/HdrHistogram/Iteration/AbstractHistogramEnumerator.cs
@@ -34,8 +34,13 @@ internal abstract class AbstractHistogramEnumerator : IEnumerator _current.Clone();
+ private set => _current = value;
+ }
protected AbstractHistogramEnumerator(HistogramBase histogram)
{
diff --git a/HdrHistogram/Iteration/HistogramIterationValue.cs b/HdrHistogram/Iteration/HistogramIterationValue.cs
index 2dbbfaf..d9fad0d 100644
--- a/HdrHistogram/Iteration/HistogramIterationValue.cs
+++ b/HdrHistogram/Iteration/HistogramIterationValue.cs
@@ -103,5 +103,7 @@ public override string ToString()
", Percentile:" + Percentile +
", PercentileLevelIteratedTo:" + PercentileLevelIteratedTo;
}
+
+ public HistogramIterationValue Clone() => (HistogramIterationValue) this.MemberwiseClone();
}
}
diff --git a/README.md b/README.md
index 0207db1..43c0395 100644
--- a/README.md
+++ b/README.md
@@ -255,6 +255,12 @@ Next can you please ensure that your PR (Pull Request) has a comment in it descr
Ideally if it is fixing an issue or a bug, there would be a Unit Test proving the fix and a reference to the Issues in the PR comments.
+### How to run tests?
+If you are having trouble running xunit tests out of the box, it is possible to run them using a version of the command line below.
+You'll just need to fill in the correct value of $(SolutionDir), which should be as defined in Visual Studio.
+PS> dotnet C:\Users\%USERNAME%\.nuget\packages\xunit.runner.console\2.3.1\tools\netcoreapp2.0\xunit.console.dll $(SolutionDir)\HdrHistogram.UnitTests\bin\Debug\netcoreapp1.1\HdrHistogram.UnitTests.dll
+
+
HdrHistogram Details
----------------------------------------------