Esempio n. 1
0
        public void TestUpdateWeight_SaveAverageWeight(int oldWeight, int addedWeight, int resultWeight)
        {
            var verge = new Verge(
                Substitute.For <Node>(),
                Substitute.For <Node>(),
                Substitute.For <RelationType>(),
                oldWeight);

            var newVerge = verge.UpdateWeightFromSession(addedWeight, Substitute.For <SessionOfExperts>());

            newVerge.Weight.Should().Be(resultWeight);
        }
Esempio n. 2
0
        public void TestUpdateWeigth_AddSession()
        {
            var verge = new Verge(
                Substitute.For <Node>(),
                Substitute.For <Node>(),
                Substitute.For <RelationType>(),
                20);
            var session = Substitute.For <SessionOfExperts>();

            verge.UpdateWeightFromSession(20, session);

            verge.SessionWeightSlices.Should().BeEquivalentTo(
                new[] { new { Session = session, Verge = verge, Weight = 20 } },
                opt => opt.ExcludingMissingMembers());
        }
Esempio n. 3
0
        private void Seed()
        {
            using (var unitOfWork = UnitOfWorkFactory.Create())
            {
                _session1 = new SessionOfExperts("baseNotion");
                _session2 = new SessionOfExperts("otherNotion");

                var sessionRepo = GetRepository <SessionOfExperts>();
                sessionRepo.AddOrUpdate(_session1);
                sessionRepo.AddOrUpdate(_session2);

                _expert1 = new Expert("name1", _session1);
                _expert2 = new Expert("name2", _session2);
                _expert3 = new Expert("name3", _session1);
                var expertRepo = GetRepository <Expert>();
                expertRepo.AddOrUpdate(_expert1);
                expertRepo.AddOrUpdate(_expert2);
                expertRepo.AddOrUpdate(_expert3);

                var notionType = new NotionType("type");
                GetRepository <NotionType>().AddOrUpdate(notionType);

                var nodeRepo = GetRepository <Node>();
                var node1    = new Node("notion1", notionType);
                node1.AddSessionOfExperts(_session1);
                nodeRepo.AddOrUpdate(node1);

                var node2 = new Node("notion2", notionType);
                node2.AddSessionOfExperts(_session1);
                nodeRepo.AddOrUpdate(node2);

                var relationType = new RelationType("type");
                GetRepository <RelationType>().AddOrUpdate(relationType);

                var vergeRepo = GetRepository <Verge>();
                var verge1    = new Verge(node1, node2, relationType, 20);
                verge1.UpdateWeightFromSession(20, _session1);
                vergeRepo.AddOrUpdate(verge1);

                var verge2 = new Verge(node2, node1, relationType, 20);
                verge2.UpdateWeightFromSession(20, _session1);
                vergeRepo.AddOrUpdate(verge2);

                unitOfWork.Commit();
            }
        }