public void Should_Return_IntervalName_2011to2013() { SpanOfYears testInterval = new SpanOfYears(2011, 2013); string testName = testInterval.ClassName(); Assert.AreEqual("2011to2013", testName); }
private SpanOfYears SpanFromEngines(MonthPeriod period) { ICollection <SpanOfYears> sortedHistory = Engines.Keys.OrderBy(x => x).ToArray(); SpanOfYears validSpan = sortedHistory.FirstOrDefault((x) => (period.Year() >= x.YearFrom && period.Year() <= x.YearUpto)); return(validSpan); }
public void Should_return_HealthEngine2015_for_ClassName_when_Year_2015() { SpanOfYears span = SpanOfYears.CreateFromYear(2015); string testClassName = EngineFactory <IHealthEngine> .ClassNameFor(CLASS_NAME_PREFIX, span); Assert.AreEqual(SHORT_CLASS_NAME_2015, testClassName); }
public void Should_Return_Interval_2017to2099_For_Period_2018() { UInt16[] testChangeYears = new UInt16[] { 2011, 2012, 2014, 2016, 2017, 0 }; SeqOfYears testYearArray = new SeqOfYears(testChangeYears); MonthPeriod testPeriod = new MonthPeriod(2018, 1); SpanOfYears expInterval = new SpanOfYears(2017, 2099); SpanOfYears testInterval = testYearArray.YearsIntervalForPeriod(testPeriod); Assert.AreEqual(expInterval, testInterval); }
public void Should_Return_IntervalArray_2011_2015() { UInt16[] testChangeYears = new UInt16[] { 2011, 2012, 2014, 2016, 2017, 0 }; SeqOfYears testYearArray = new SeqOfYears(testChangeYears); SpanOfYears[] expIntervalArray = new SpanOfYears[] { new SpanOfYears(2011, 2011), new SpanOfYears(2012, 2013), new SpanOfYears(2014, 2015), new SpanOfYears(2016, 2016), new SpanOfYears(2017, 2099) }; SpanOfYears[] testIntervalArray = testYearArray.YearsIntervalList(); Assert.AreEqual(expIntervalArray, testIntervalArray); }
public T ResolveEngine(MonthPeriod period) { SpanOfYears periodSpan = SpanFromEngines(period); if (periodSpan == null) { return(DefaultInstance); } T baseEngine; if (Engines.ContainsKey(periodSpan)) { baseEngine = Engines[periodSpan]; } else { baseEngine = DefaultInstance; } return(baseEngine); }
public static string ClassNameFor(string classnamePrefix, SpanOfYears span) { string className = classnamePrefix + span.ClassName(); return(className); }
public static T InstanceFor(string namespacePrefix, string classnamePrefix, SpanOfYears span) { Assembly assembly = typeof(EngineServiceModule).Assembly; return(GeneralFactory <T> .InstanceFor(assembly, namespacePrefix, ClassNameFor(classnamePrefix, span))); }
private Dictionary <SpanOfYears, T> MergeEngineToDict(IDictionary <SpanOfYears, T> agr, SpanOfYears span) { var returnAgr = new Dictionary <SpanOfYears, T>(agr); returnAgr.Add(span, CreateEngineFor(span)); return(returnAgr); }
private T CreateEngineFor(SpanOfYears span) { T engine = EngineFactory <T> .InstanceFor(NamespacePrefix(), ClassnamePrefix(), span); return(engine); }