/// <summary>
        /// Starts new current session.
        /// </summary>
        /// <param name="baseNotion">Notion for that experts suggests associations.</param>
        public void StartNewSession([NotNull] string baseNotion)
        {
            if (baseNotion == null)
            {
                throw new ArgumentNullException(nameof(baseNotion));
            }
            IfCurrentSessionExistsThrow();

            var session = new SessionOfExperts(baseNotion);

            _sessionOfExpertsRepository.AddOrUpdate(session);
        }
        public void StartNewSession_CurrentSessionDoesNotExist_AddSession()
        {
            var serviceUnderTest = CreateServiceUnderTest();

            SetNullSession();

            serviceUnderTest.StartNewSession("TestNotion");

            _fakeSessionOfExpertsRepository.AddOrUpdate(
                Arg.Is <SessionOfExperts>(
                    s => s.BaseNotion == "TestNotion"));
        }