diff --git a/csharp/lib/S3.Tests/S3.Tests.csproj b/csharp/lib/S3.Tests/S3.Tests.csproj deleted file mode 100644 index 2925a0799..000000000 --- a/csharp/lib/S3.Tests/S3.Tests.csproj +++ /dev/null @@ -1,20 +0,0 @@ - - - - - false - latest - - - - - - - - - - - - - - diff --git a/csharp/lib/S3.Tests/UnitTest1.cs b/csharp/lib/S3.Tests/UnitTest1.cs deleted file mode 100644 index 0545d3fb5..000000000 --- a/csharp/lib/S3.Tests/UnitTest1.cs +++ /dev/null @@ -1,225 +0,0 @@ -using InnovEnergy.S3.Drivers; -using InnovEnergy.S3.Metadata; -using InnovEnergy.S3.Records; -using InnovEnergy.S3.Records.Fields; -using InnovEnergy.S3.Records.Specialized; -using InnovEnergy.Time.Unix; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using static InnovEnergy.Time.Unix.UnixTimeSpan; - -namespace S3.Tests; - -using Memory = Dictionary; - -[TestClass] -public class UnitTest1 -{ - public IReadOnlyList Levels { get; set; } - - [TestInitialize] - public void Init() - { - Levels = new [] - { - new AggregationLevel( 2.Seconds(), 54.Weeks()), - new AggregationLevel(10.Seconds(), 54.Weeks()), - new AggregationLevel( 1.Minutes(), 54.Weeks()), - new AggregationLevel( 5.Minutes(), 540.Weeks()), - new AggregationLevel(15.Minutes(), 540.Weeks()), - new AggregationLevel( 1.Hours() , 540.Weeks()), - new AggregationLevel( 6.Hours() , 540.Weeks()), - new AggregationLevel( 1.Days() , 540.Weeks()), - new AggregationLevel( 1.Weeks() , Forever) - }; - - } - - [TestMethod] - public void Test1() - { - var retentionPeriod = 4.Seconds(); - var samplePeriod = 2.Seconds(); - - var level0 = new AggregationLevel(samplePeriod, retentionPeriod); - var levels = new[] {level0}; - - var records = level0 - .RangeExclusive(UnixTime.Epoch, UnixTime.Epoch + 4 * level0.SamplePeriod) - .Select(TimeStampedRecord.Empty); - - var memory = new Memory(); - - using (var d = new MemoryDriver(levels, UnixTime.Epoch, memory)) - foreach (var record in records) - d.WriteRecord(record); - - Assert.AreEqual(memory.Count, (Int32) (retentionPeriod/samplePeriod)); - } - - [TestMethod] - public void Test2() - { - var l0 = new AggregationLevel(2.Seconds(), Forever); - var l1 = new AggregationLevel(10.Seconds(), Forever); - - var levels = new[] {l0, l1}; - - var l1Key = l1.SamplePeriod.ToString(); - var l0Key = l0.SamplePeriod.ToString(); - - var records = l0 - .RangeExclusive(UnixTime.Epoch, UnixTime.Epoch + l1.SamplePeriod) - .Select(TimeStampedRecord.Empty); - - var memory = new Memory(); - - using (var d = new MemoryDriver(levels, UnixTime.Epoch, memory)) - foreach (var record in records) - d.WriteRecord(record); - - var n0 = memory.Count(kv => kv.Key.StartsWith(l0Key)); - var n1 = memory.Count(kv => kv.Key.StartsWith(l1Key)); - - Assert.AreEqual(5, n0); - Assert.AreEqual(1, n1); - } - - [TestMethod] - public void Test3() - { - var l0 = new AggregationLevel(2.Seconds(), Forever); - var l1 = new AggregationLevel(10.Seconds(), Forever); - - var levels = new[] {l0, l1}; - - var l1Key = l1.SamplePeriod.ToString(); - var l0Key = l0.SamplePeriod.ToString(); - - var records = l0 - .RangeExclusive(UnixTime.Epoch, UnixTime.Epoch + l1.SamplePeriod + l0.SamplePeriod) - .Select(TimeStampedRecord.Empty); - - var memory = new Memory(); - - using (var d = new MemoryDriver(levels, UnixTime.Epoch, memory)) - foreach (var record in records) - d.WriteRecord(record); - - var n0 = memory.Count(kv => kv.Key.StartsWith(l0Key)); - var n1 = memory.Count(kv => kv.Key.StartsWith(l1Key)); - - Assert.AreEqual(6, n0); - Assert.AreEqual(2, n1); - } - - [TestMethod] - public void Test4() - { - var l0 = new AggregationLevel(2.Seconds(), Forever); - var l1 = new AggregationLevel(10.Seconds(), Forever); - - var levels = new[] {l0, l1}; - - var l1Key = l1.SamplePeriod.ToString(); - var l0Key = l0.SamplePeriod.ToString(); - - var startTime = UnixTime.Epoch + l0.SamplePeriod; - var endTime = UnixTime.Epoch + l1.SamplePeriod + l0.SamplePeriod; - - var records = l0 - .RangeExclusive(startTime, endTime) - .Select(TimeStampedRecord.Empty); - - var memory = new Memory(); - - using (var d = new MemoryDriver(levels, startTime, memory)) - foreach (var record in records) - d.WriteRecord(record); - - var n0 = memory.Count(kv => kv.Key.StartsWith(l0Key)); - var n1 = memory.Count(kv => kv.Key.StartsWith(l1Key)); - - Assert.AreEqual(5, n0); - Assert.AreEqual(2, n1); - } - - - [TestMethod] - public void Test5() - { - var l0 = new AggregationLevel(2.Seconds(), Forever); - var l1 = new AggregationLevel(10.Seconds(), Forever); - - var levels = new[] {l0, l1}; - - var l1Key = l1.SamplePeriod.ToString(); - - var startTime = UnixTime.Epoch; - var endTime = UnixTime.Epoch + l1.SamplePeriod; - - Record CreateRecord(Int32 n) => Record.ParseDict(new () {["Number"] = n}); - - var records = l0 - .RangeExclusive(startTime, endTime) - .Select((t, i) => CreateRecord(i).TimeStamped(t)); - - var memory = new Memory(); - - using (var d = new MemoryDriver(levels, startTime, memory)) - foreach (var record in records) - d.WriteRecord(record); - - var f1 = memory - .Single(kv => kv.Key.StartsWith(l1Key)) - .Value - .Record - .GetField("Number"); - - Assert.AreEqual(Enumerable.Range(0, (Int32) (l1.SamplePeriod / l0.SamplePeriod)).Average(), f1.Value); - } - - [TestMethod] - public void Test6() - { - var l0 = new AggregationLevel(2.Seconds(), Forever); - var l1 = new AggregationLevel(10.Seconds(), Forever); - - var levels = new[] {l0, l1}; - - var l1Key = l1.SamplePeriod.ToString(); - - var startTime = UnixTime.Epoch; - var endTime = UnixTime.Epoch + l1.SamplePeriod; - - - - Record CreateRecord(Int32 n) - { - var subRec = Record.ParseDict(new() {["Number"] = n}); - - return Record.ParseDict(new (){["Sub"] = subRec}); - - // return new Record(new Record(new NumberField("Number", n))); - } - - var records = l0 - .RangeExclusive(startTime, endTime) - .Select((t, i) => CreateRecord(i).TimeStamped(t)); - - var memory = new Memory(); - - using (var d = new MemoryDriver(levels, startTime, memory)) - foreach (var record in records) - d.WriteRecord(record); - - var f1 = memory - .Single(kv => kv.Key.StartsWith(l1Key)) - .Value - .Record - .GetField("Sub") - .GetField("Number"); - - Assert.AreEqual(Enumerable.Range(0, (Int32) (l1.SamplePeriod / l0.SamplePeriod)).Average(), f1.Value); - } - -} \ No newline at end of file