classdef test0_systemObject < matlab.System & matlab.system.mixin.Propagates ...
        & matlab.system.mixin.CustomIcon
    
    
    
    
    
    
    
    
    properties
        
    end
    
    properties(Nontunable)
    end
    properties(DiscreteState)
    end
    
    properties(Access = private)
        output=5;
    end
    methods
        
        function obj = test0_systemObject(varargin)
            
            setProperties(obj,nargin,varargin{:})
        end
    end
    methods(Access = protected)
        function setupImpl(obj)
            
        end
        function [y1,y2] = stepImpl(obj,u)
            
            
            obj.output = obj.output+u;
            y1 = u;
            y2 = obj.output;
        end
        function resetImpl(obj)
            
        end
        function flag = isInputSizeMutableImpl(obj,index)
            
            
            flag = false;
        end
        function [y1,y2] = getOutputSizeImpl(obj)
            
            y1 = [1 1];
            y2 = [1 1];
            
            
        end
        
        function [y1,y2] = isOutputFixedSizeImpl(obj)
            
            y1      = true;
            y2 = true;        
        end
        
        function [y1,y2]= getOutputDataTypeImpl(obj)
            
            y1      = "double";
            y2 = "double";
        end
        
        function [y1,y2] = isOutputComplexImpl(obj)
            
            y1      = false;
            y2 = false;    
        end
    end
end