Beispiel #1
0
 private void TestItBothWays(Func <ISiteModel, bool> loadedFunc,
                             Func <ISiteModel, object> loadAction,
                             SiteModelOriginConstructionFlags preservationFlags)
 {
     TestIt(loadedFunc, loadAction, preservationFlags, true);
     TestIt(loadedFunc, loadAction, SiteModelOriginConstructionFlags.PreserveNothing, false);
 }
Beispiel #2
0
        private void TestIt(Func <ISiteModel, bool> loadedFunc,
                            Func <ISiteModel, object> loadAction,
                            SiteModelOriginConstructionFlags preservationFlags,
                            bool finalState)
        {
            var originSiteModel = new SiteModel(Guid.NewGuid(), TRex.Storage.Models.StorageMutability.Immutable, false);

            loadedFunc.Invoke(originSiteModel).Should().BeFalse();

            var original = loadAction.Invoke(originSiteModel);

            loadedFunc.Invoke(originSiteModel).Should().BeTrue();

            var newSiteModel = new SiteModel(originSiteModel, preservationFlags);

            loadedFunc.Invoke(newSiteModel).Should().Be(finalState);

            if (preservationFlags == SiteModelOriginConstructionFlags.PreserveNothing)
            {
                loadAction.Invoke(newSiteModel).Should().NotBe(original);
            }
            else
            {
                loadAction.Invoke(newSiteModel).Should().Be(original);
            }
        }
Beispiel #3
0
 public ISiteModel NewSiteModel(ISiteModel originModel, SiteModelOriginConstructionFlags originFlags) => new SiteModel(originModel, originFlags);