Example #1
0
        public AbstractSinkBuilder(SinkManager currentSinkManager)
        {
            Sinks = currentSinkManager;

            LevelMinimum  = LogLevel.Information;
            LevelExtended = LogLevel.Error;
        }
Example #2
0
 internal void RemoveSinkManager(SinkManager manager)
 {
     lock (_managers)
     {
         _managers.Remove(manager);
     }
 }
Example #3
0
        internal void AddSinkManager(SinkManager manager)
        {
            lock (_managers)
            {
                _managers.Add(manager);

                foreach (var tagger in _taggers.Values)
                {
                    manager.AddFactory(tagger.Factory);
                }
            }
        }
        public void CallsToSink_AddFactory_CriticalException_NotSuppressed()
        {
            // Arrange
            var mockRegister = new Mock <ISinkManagerRegister>();
            var mockSink     = new Mock <ITableDataSink>();

            var sinkManager = new SinkManager(mockRegister.Object, mockSink.Object);

            mockSink.Setup(x => x.AddFactory(It.IsAny <ITableEntriesSnapshotFactory>(), false))
            .Throws(new StackOverflowException("add factory custom error"));

            // Act & assert
            Action act = () => sinkManager.AddFactory(CreateSnapshotFactory());

            act.Should().ThrowExactly <StackOverflowException>().And.Message.Should().Be("add factory custom error");
        }
        public void CallsToSink_Update_CriticalException_NotSuppressed()
        {
            // Arrange
            var mockRegister = new Mock <ISinkManagerRegister>();
            var mockSink     = new Mock <ITableDataSink>();

            var sinkManager = new SinkManager(mockRegister.Object, mockSink.Object);

            mockSink.Setup(x => x.FactorySnapshotChanged(null))
            .Throws(new StackOverflowException("update custom error"));

            // Act & assert
            Action act = () => sinkManager.UpdateSink();

            act.Should().ThrowExactly <StackOverflowException>().And.Message.Should().Be("update custom error");
        }
        public void CallsToSink_UpdateSink_NonCriticalException_Suppressed()
        {
            // Arrange
            var mockRegister = new Mock <ISinkManagerRegister>();
            var mockSink     = new Mock <ITableDataSink>();

            var sinkManager = new SinkManager(mockRegister.Object, mockSink.Object);

            mockSink.Setup(x => x.FactorySnapshotChanged(null))
            .Throws(new InvalidCastException("update custom error"));

            // Act
            sinkManager.UpdateSink();

            // Assert
            mockSink.Verify(x => x.FactorySnapshotChanged(null), Times.Once);
        }
        public void CallsToSink_RemoveFactory_NonCriticalException_Suppressed()
        {
            // Arrange
            var mockRegister = new Mock <ISinkManagerRegister>();
            var mockSink     = new Mock <ITableDataSink>();

            var sinkManager = new SinkManager(mockRegister.Object, mockSink.Object);

            mockSink.Setup(x => x.RemoveFactory(It.IsAny <ITableEntriesSnapshotFactory>()))
            .Throws(new InvalidCastException("remove factory custom error"));

            // Act
            sinkManager.RemoveFactory(CreateSnapshotFactory());

            // Assert
            mockSink.Verify(x => x.RemoveFactory(It.IsAny <ITableEntriesSnapshotFactory>()), Times.Once);
        }
        public void RegisterAndUnregister()
        {
            // Arrange
            var mockRegister = new Mock <ISinkManagerRegister>();
            var mockSink     = new Mock <ITableDataSink>();

            // 1. Create -> should register self
            var sinkManager = new SinkManager(mockRegister.Object, mockSink.Object);

            mockRegister.Verify(x => x.AddSinkManager(sinkManager), Times.Once);
            mockRegister.Verify(x => x.RemoveSinkManager(It.IsAny <SinkManager>()), Times.Never);

            // 2. Dispose -> should unregister self
            sinkManager.Dispose();
            mockRegister.Verify(x => x.AddSinkManager(sinkManager), Times.Once);
            mockRegister.Verify(x => x.RemoveSinkManager(sinkManager), Times.Once);

            // 3. Another Dispose -> should be a no-op
            sinkManager.Dispose();
            mockRegister.Verify(x => x.AddSinkManager(sinkManager), Times.Once);
            mockRegister.Verify(x => x.RemoveSinkManager(sinkManager), Times.Once);
        }
Example #9
0
    public bool trigger(Transform switchObj)
    {
        switch (switchObj.tag)
        {
        case Constants.TAG_DOOR:
            DoorManager doorManager = switchObj.GetComponent <DoorManager>();
            if (doorManager != null)
            {
                doorManager.trigger();
                return(true);
            }
            break;

        case Constants.TAG_SWITCH:
            SwitchManager switchManager = switchObj.GetComponent <SwitchManager>();
            if (switchManager != null)
            {
                switchManager.trigger();
                return(true);
            }
            break;

        case Constants.TAG_TAP:
            SinkManager sinkManager = switchObj.GetComponent <SinkManager>();
            if (sinkManager != null)
            {
                sinkManager.trigger();
                return(true);
            }
            break;;

        default:
            return(false);
        }


        return(false);
    }
Example #10
0
 public JsonSinkBuilder(SinkManager currentSinkManager)
     : base(currentSinkManager)
 {
     JsonFormatting = Formatting.Indented;
 }
 internal void RemoveSinkManager(SinkManager manager)
 {
     _managers = _managers.Remove(manager);
 }
            internal void AddSinkManager(SinkManager manager)
            {
                _managers = _managers.Add(manager);

                manager.Sink.AddEntries(_currentEntries);
            }
Example #13
0
    public bool setActivate(Transform switchObj, bool on)
    {
        switch (switchObj.tag)
        {
        case Constants.TAG_DOOR:
            DoorManager doorManager = switchObj.GetComponent <DoorManager>();
            if (doorManager != null)
            {
                if (on)
                {
                    doorManager.open();
                }
                else
                {
                    doorManager.close();
                }
                return(true);
            }
            break;

        case Constants.TAG_DRAWER:
            DrawerManager drawerManager = switchObj.GetComponent <DrawerManager>();
            if (drawerManager != null)
            {
                if (on)
                {
                    drawerManager.open();
                }
                else
                {
                    drawerManager.close();
                }
                return(true);
            }
            break;

        case Constants.TAG_SWITCH:
            SwitchManager switchManager = switchObj.GetComponent <SwitchManager>();
            if (switchManager != null)
            {
                if (on)
                {
                    switchManager.on();
                }
                else
                {
                    switchManager.off();
                }
                return(true);
            }
            break;

        case Constants.TAG_TAP:
            SinkManager sinkManager = switchObj.GetComponent <SinkManager>();
            if (sinkManager != null)
            {
                if (on)
                {
                    sinkManager.open();
                }
                else
                {
                    sinkManager.close();
                }

                return(true);
            }
            break;;

        default:
            return(false);
        }


        return(false);
    }