pragma solidity ^0.4.0;

contract Debugging {
    uint[] private vars;
    
    // assignment is storing values in stack
    function assignment() {
        uint myVal1 = 1;
        uint myVal2 = 2;
        
        assert(myVal1 == myVal2);
    }
    
    function memoryAlloc() {
        string memory myString = "test";
        assert(bytes(myString).length == 10);
    }
    
    function storageAlloc() {
        vars.push(3);
        vars.push(4);
        
        assert(vars.length == 4);
    }
}