private static bool IsScheduleDataChanged(MarketSettingsContract oldSettings, MarketSettingsContract newSettings)
        {
            var isSameSchedule = oldSettings.Open.SequenceEqual(newSettings.Open) &&
                                 oldSettings.Close.SequenceEqual(newSettings.Close) &&
                                 oldSettings.Holidays.SequenceEqual(newSettings.Holidays) &&
                                 oldSettings.Timezone == newSettings.Timezone &&
                                 oldSettings.MarketSchedule.HalfWorkingDays.SequenceEqual(newSettings.MarketSchedule.HalfWorkingDays);

            return(!isSameSchedule);
        }
        public void MarketSettingsContract_MessagePack_Serialization()
        {
            var o = new MarketSettingsContract
            {
                Holidays       = new List <DateTime>(),
                MarketSchedule = new MarketScheduleContract
                {
                    HalfWorkingDays = new List <WorkingDay>
                    {
                        new WorkingDay(WorkingDayDuration.WholeDay, DateTime.UtcNow)
                    }
                }
            };

            var bin            = MessagePackSerializer.Serialize(o);
            var marketSettings = MessagePackSerializer.Deserialize <MarketSettingsContract>(bin);

            var halfWorkingDay = marketSettings.MarketSchedule.HalfWorkingDays.First();

            Assert.Equal(WorkingDayDuration.WholeDay, halfWorkingDay.Duration);
            Assert.Equal(DateTime.UtcNow.Date, halfWorkingDay.Timestamp);
        }