public void ShouldAllowAddingTheSameProjectTwice()
        {
            //GIVEN
            var projects  = new ReferencingProjects();
            var projectId = Any.ProjectId();
            var dependencyPathBasedRuleTarget = Any.Instance <IDependencyPathBasedRuleTarget>();

            projects.Put(projectId, dependencyPathBasedRuleTarget);

            //WHEN - THEN
            projects.Invoking(p => p.Put(projectId, dependencyPathBasedRuleTarget)).Should().NotThrow();
        }
        public void ShouldNotAllowAddingAnotherProjectUsingTheSameId()
        {
            //GIVEN
            var projects  = new ReferencingProjects();
            var projectId = Any.ProjectId();
            var dependencyPathBasedRuleTarget = Any.Instance <IDependencyPathBasedRuleTarget>();

            projects.Put(projectId, dependencyPathBasedRuleTarget);

            //WHEN - THEN
            projects.Invoking(p => p.Put(projectId, Any.OtherThan(dependencyPathBasedRuleTarget)))
            .Should().ThrowExactly <ProjectShadowingException>();
        }