public void GetSamplerBySampleGroupCode_STR_externalSampler() { var stCode = "00"; var sgCode = "01"; var freq = 5; using (var db = CreateDataStore(methods: new[] { "STR" })) { db.Execute($"UPDATE SampleGroup SET SamplingFrequency = @p2, SampleSelectorType = '{CruiseMethods.CLICKER_SAMPLER_TYPE}' WHERE Code = @p1;", sgCode, freq); var sids = new SamplerInfoDataservice_V2(db); var ssRepo = new SampleSelectorRepository(sids); var sampler = ssRepo.GetSamplerBySampleGroupCode(stCode, sgCode); sampler.Should().NotBeNull(); sampler.StratumCode.Should().Be(stCode); sampler.SampleGroupCode.Should().Be(sgCode); sampler.Should().BeAssignableTo <IFrequencyBasedSelecter>(); ((IFrequencyBasedSelecter)sampler).Sample().Should().NotBeNull(); var samplerAgain = ssRepo.GetSamplerBySampleGroupCode(stCode, sgCode); samplerAgain.Should().BeSameAs(sampler); } }
public void UpsertSamplerState_insert() { var stCode = "00"; var sgCode = "01"; using (var db = CreateDataStore(methods: new[] { "STR" })) { var random = new Random(); var sg = db.Query <SampleGroupDO>("Select * from SampleGroup;").First(); var ds = new SamplerInfoDataservice_V2(db); var ss = new SamplerState() { StratumCode = stCode, SampleGroupCode = sgCode, Counter = random.Next(1000), BlockState = "blockStateTest1", InsuranceCounter = random.Next(1000), InsuranceIndex = random.Next(1000), SampleSelectorType = "ssTypeTest1", SystematicIndex = random.Next(1000), }; ds.UpsertSamplerState(ss); var ssAgain = ds.GetSamplerState(stCode, sgCode); ssAgain.Should().NotBeNull(); ssAgain.Should().BeEquivalentTo(ss); } }
public void GetSamplerBySampleGroupCode_STR(int freq) { var stCode = "00"; var sgCode = "01"; var iFreq = 2; using (var db = CreateDataStore(methods: new[] { "STR" })) { db.Execute($"UPDATE SampleGroup SET SamplingFrequency = @p2, InsuranceFrequency = @p3 WHERE Code = @p1;", sgCode, freq, iFreq); var sids = new SamplerInfoDataservice_V2(db); var ssRepo = new SampleSelectorRepository(sids); var sampler = ssRepo.GetSamplerBySampleGroupCode(stCode, sgCode); sampler.Should().NotBeNull(); sampler.StratumCode.Should().Be(stCode); sampler.SampleGroupCode.Should().Be(sgCode); sampler.Should().BeAssignableTo <IFrequencyBasedSelecter>(); //sampler.Should().BeOfType<BlockSelecter>(); ((IFrequencyBasedSelecter)sampler).Sample().Should().NotBeNull(); var samplerAgain = ssRepo.GetSamplerBySampleGroupCode(stCode, sgCode); samplerAgain.Should().BeSameAs(sampler); } }
public void GetSamplerBySampleGroupCode_F3P_P3P(string method) { var stCode = "00"; var sgCode = "01"; var kz = 101; using (var db = CreateDataStore(methods: new[] { method })) { db.Execute($"UPDATE SampleGroup SET KZ = @p2 WHERE Code = @p1;", sgCode, kz); var sids = new SamplerInfoDataservice_V2(db); var ssRepo = new SampleSelectorRepository(sids); var sampler = ssRepo.GetSamplerBySampleGroupCode(stCode, sgCode); sampler.Should().NotBeNull(); sampler.StratumCode.Should().Be(stCode); sampler.SampleGroupCode.Should().Be(sgCode); sampler.Should().BeAssignableTo <IThreePSelector>(); ((IThreePSelector)sampler).Sample(50).Should().NotBeNull(); var samplerAgain = ssRepo.GetSamplerBySampleGroupCode(stCode, sgCode); samplerAgain.Should().BeSameAs(sampler); } }
public void GetSamplerState_returnsNullWhenNoState() { using (var db = CreateDataStore(methods: new[] { "STR" })) { var ds = new SamplerInfoDataservice_V2(db); var ss = ds.GetSamplerState("00", "01"); ss.Should().BeNull(); } }
public void SaveSamplerStates(string method) { var freq = 5; var stCode = "00"; var sgCode = "01"; var iFreq = 2; using (var db = CreateDataStore(methods: new[] { "STR" })) { db.Execute($"UPDATE SampleGroup SET SamplingFrequency = @p2, InsuranceFrequency = @p3 WHERE Code = @p1;", sgCode, freq, iFreq); var sids = new SamplerInfoDataservice_V2(db); var ssRepo = new SampleSelectorRepository(sids); var sampler = ssRepo.GetSamplerBySampleGroupCode(stCode, sgCode); sampler.Should().NotBeNull(); if (sampler is IFrequencyBasedSelecter fbs) { fbs.Sample(); } else if (sampler is IThreePSelector tps) { tps.Sample(10); } else { throw new Exception("unexpected sampler type"); } var samplerAgain = ssRepo.GetSamplerBySampleGroupCode(stCode, sgCode); samplerAgain.Should().BeSameAs(sampler); // save sampler states and repopulate them ssRepo.SaveSamplerStates(); // repopulate samplers using a new repo var ssRepo2 = new SampleSelectorRepository(sids); var samplerAgian2 = ssRepo2.GetSamplerBySampleGroupCode(stCode, sgCode); samplerAgian2.Should().BeEquivalentTo(sampler); // make sure it works if (samplerAgian2 is IFrequencyBasedSelecter fbs2) { fbs2.Sample(); } else if (sampler is IThreePSelector tps) { tps.Sample(10); } else { throw new Exception("unexpected sampler type"); } } }
public void GetSamplerState() { using (var db = CreateDataStore(methods: new[] { "STR" })) { var sg = db.Query <SampleGroupDO>("Select * from SampleGroup;").First(); db.Execute2("INSERT INTO SamplerState (SampleGroup_CN) values (@SampleGroup_CN)", sg); var ds = new SamplerInfoDataservice_V2(db); var ss = ds.GetSamplerState("00", "01"); ss.Should().NotBeNull(); } }
public void GetSamplerInfo() { using (var db = CreateDataStore(methods: new[] { "STR" })) { var strata = db.Query <StratumDO>("select * from Stratum;").ToArray(); var sgs = db.Query <SampleGroupDO>("Select * from samplegroup;").ToArray(); var ds = new SamplerInfoDataservice_V2(db); var si = ds.GetSamplerInfo("00", "01"); si.Should().NotBeNull(); } }
public void GetSamplerBySampleGroupCode_FCM_PCM(string method) { var stCode = "00"; var sgCode = "01"; using (var db = CreateDataStore(methods: new[] { method })) { var sids = new SamplerInfoDataservice_V2(db); var ssRepo = new SampleSelectorRepository(sids); var sampler = ssRepo.GetSamplerBySampleGroupCode(stCode, sgCode); sampler.Should().NotBeNull(); sampler.StratumCode.Should().Be(stCode); sampler.SampleGroupCode.Should().Be(sgCode); sampler.Should().BeAssignableTo <IFrequencyBasedSelecter>(); ((IFrequencyBasedSelecter)sampler).Sample().Should().NotBeNull(); var samplerAgain = ssRepo.GetSamplerBySampleGroupCode(stCode, sgCode); samplerAgain.Should().BeSameAs(sampler); } }