public void StoresIdsAsOneStringUsingSemicolon(params string[] arguments) { var expectedStringToBeStored = arguments.Last(); var ids = arguments.Take(arguments.Length - 1).ToArray(); settingsStorage.SetEnabledCalendars(ids); keyValueStorage.Received().SetString("EnabledCalendars", expectedStringToBeStored); }
public void EmitsEmptyListWhenEmptyListIsSet() { var observer = Substitute.For <IObserver <List <string> > >(); SettingsStorage.EnabledCalendars.Subscribe(observer); SettingsStorage.SetEnabledCalendars(new string[0]); observer.Received().OnNext(Arg.Is <List <string> >(list => list.None())); }
public void ReturnsTheStoredCalendars(params string[] ids) { SettingsStorage.SetEnabledCalendars(ids); var returnedIds = SettingsStorage.EnabledCalendarIds(); if (!ids?.Any() ?? true) { returnedIds.Should().BeEmpty(); } else { returnedIds.Should().Contain(ids); returnedIds.Should().HaveSameCount(ids); } }
public void EmitsNewIdsWheneverNewCalendarsAreEnabled(NonEmptyArray <NonEmptyString> strings) { var calendarIds = strings .Get .Select(s => s.Get) .Select(s => s.Replace(';', '-')) .ToArray(); var observer = Substitute.For <IObserver <List <string> > >(); SettingsStorage.EnabledCalendars.Subscribe(observer); SettingsStorage.SetEnabledCalendars(calendarIds); Received.InOrder(() => { observer.OnNext(Arg.Is <List <string> >(list => list.SequenceEqual(calendarIds))); }); }