public void Register__SystemRegistered()
        {
            MockedStateManagementSystemBuilder.Setup(_ => _.ExtractResult()).Returns(StateManagementSystem);

            TestInstance.Register(StateManagementSystemBuilder);

            MockedStateManagementSystemsCatalog.Verify(_ => _.Register(StateManagementSystem));
        }
        public void Register__SystemExtractedAfterBuild()
        {
            var callCounter       = 0;
            var buildCallNumber   = 0;
            var extractCallNumber = 0;

            MockedSystemBuildingDirector.Setup(_ => _.Build(It.IsAny <IStateManagementSystemBuildingOperations>()))
            .Callback(() => buildCallNumber = ++callCounter);
            MockedStateManagementSystemBuilder.Setup(_ => _.ExtractResult())
            .Callback(() => extractCallNumber = ++callCounter);

            TestInstance.Register(StateManagementSystemBuilder);

            Assert.IsTrue(extractCallNumber > buildCallNumber);
        }