static void Main(string[] args) { try { ITimeZoneConverter timeZoneConverter = new BasicTimeZoneConverter(new TimeZoneXMLRetriever()); Console.WriteLine("Enter either an IANA/Olson or Windows timezone name (e.g. Mountain Standard Time). Optionally, you can also enter a territory seperated by a \",\" (e.g. Mountain Standard Time, CA)"); Models.TimeZone foundTimeZone; while (true) { string[] inputs = Console.ReadLine().Split(','); string timeZoneName = inputs[0]; string territory = inputs.Length > 1 ? inputs[1] : null; foundTimeZone = timeZoneConverter.FindTimeZone(timeZoneName, territory); if (foundTimeZone != null) { Console.WriteLine($"IANA/Olson: {foundTimeZone.IANAOlson}"); Console.WriteLine($"Windows: {foundTimeZone.Windows}, Territory: {foundTimeZone.Territory}"); } else { Console.WriteLine("Timezone not found!"); } } } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } }
public void Setup() { _timeZoneList = new List <TimeZone> { new TimeZone { IANAOlson = "Fake/IANA", Windows = "Fake Windows Zone", Territory = "ABC" }, new TimeZone { IANAOlson = "Fake/IANA Elsewhere", Windows = "Fake Windows Zone", Territory = "001" } }; _timeZoneListRetriever = new Mock <ITimeZoneListRetriever>(); _timeZoneListRetriever.Setup(x => x.GetTimeZoneList()).Returns(_timeZoneList); _basicTimeZoneConverter = new BasicTimeZoneConverter(_timeZoneListRetriever.Object); }