コード例 #1
0
            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);
            }
コード例 #2
0
            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()));
            }
コード例 #3
0
            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);
                }
            }
コード例 #4
0
            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)));
                });
            }