remove S3.Tests
This commit is contained in:
parent
384d7c9596
commit
85271bb6f6
|
@ -1,20 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Import Project="../InnovEnergy.lib.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<IsPackable>false</IsPackable>
|
||||
<LangVersion>latest</LangVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.7.1" />
|
||||
<PackageReference Include="MSTest.TestAdapter" Version="2.1.1" />
|
||||
<PackageReference Include="MSTest.TestFramework" Version="2.1.1" />
|
||||
<PackageReference Include="coverlet.collector" Version="1.3.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\S3\S3.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -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<String, TimeStampedRecord>;
|
||||
|
||||
[TestClass]
|
||||
public class UnitTest1
|
||||
{
|
||||
public IReadOnlyList<AggregationLevel> 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<NumberField>("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<Record>("Sub")
|
||||
.GetField<NumberField>("Number");
|
||||
|
||||
Assert.AreEqual(Enumerable.Range(0, (Int32) (l1.SamplePeriod / l0.SamplePeriod)).Average(), f1.Value);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue