Edit in JSFiddle

//The Combination Inheritance pattern is the 'Combination Inheritance' taken from  "Professional JavaScript for Web Developers, Third Edition" by Nicholas C. Zakas (Wrox Press)
//Source Code
var JasmineTester = function(opts) {
    var o;
    if (opts) {
        for (o in opts) {
            if (opts[o]) {
                this[o] = opts[o];
            }
        }
    }
};

JasmineTester.prototype = {
    constructor: JasmineTester,
    total: function() {
        var total = 0,
            num;

        for (num in this) {
            //make sure we only process this object's direct properties
            //make sure this property is a number
            if (this.hasOwnProperty(num) && typeof this[num] === 'number') {
                total += this[num];
            }
        }
        return total;
    }
};

function JasmineTesterExtended(opts) {
    JasmineTester.call(this, opts);
}

JasmineTesterExtended.prototype = new JasmineTester();
JasmineTesterExtended.prototype.multiply = function() {
    var total = 0,
        num;

    for (num in this) {
        //make sure we only process this object's direct properties
        //make sure this property is a number
        if (this.hasOwnProperty(num) && typeof this[num] === 'number') {
            if (total === 0) {
                total = this[num];
            } else {
                total *= this[num];
            }
        }
    }
    return total;
};

//Spec Code
describe('JasmineTester Tests', function() {
    //original test
    it('2+2=4', function() {
        var testObject = new JasmineTester({
            a: 2,
            b: 2
        });

        expect(testObject.total()).toEqual(4);
    });

    //Check for expanded options object
    it('Increase number of values to 4', function() {
        var testObject = new JasmineTester({
            a: 2,
            b: 2,
            c: 2,
            d: 2
        });

        expect(testObject).toBeDefined();
        expect(Object.keys(testObject).length).toEqual(4);
        expect(testObject.total()).toEqual(8);
    });

    //Make sure the total function doesn't include/break with non-numbers 
    it('Successful total with non-number values', function() {
        var testObject = new JasmineTester({
            a: 2,
            b: '2'
        });
        expect(testObject.total()).toEqual(2);

        testObject.b = function() {};
        expect(testObject.total()).toEqual(2);

        testObject.b = {
            b: 2
        };
        expect(testObject.total()).toEqual(2);
    });
});

//Test the new object that is based on the original JasmineTester
describe('JasmineTesterExtended Tests', function() {
    var testObjectExtended;

    //before each test (it) rebuild the object we are testing against
    beforeEach(function() {
        testObjectExtended = new JasmineTesterExtended({
            a: 2,
            b: 2,
            c: 2,
            d: 2,
            e: 2
        });
    });

    //make sure the total method still works as expected
    it('Check inherited method total equals 10', function() {
        expect(testObjectExtended.total()).toEqual(10);
    });

    //test the multiply function
    it('JasmineTesterExtended should multiply to 32', function() {
        expect(testObjectExtended.multiply()).toEqual(32);
    });
    
    //Make sure the multiply function doesn't include/break with non-numbers 
    it('Successful multiply with non-number values', function() {

        testObjectExtended.b = '2';
        expect(testObjectExtended.multiply()).toEqual(16);

        testObjectExtended.b = function() {};
        expect(testObjectExtended.multiply()).toEqual(16);

        testObjectExtended.b = {
            b: 2
        };
        expect(testObjectExtended.multiply()).toEqual(16);
    });
});
      <span class='bloglink'> Blog entry for this example can be found at <a href="http://randomjavascript.blogspot.com/2012/11/building-unit-test-in-jasmine-part-4.html" target="_blank">Building a Unit Test in Jasmine, Part 4
    </a></span>

.bloglink{
    font-size: .7em;
    font-style: italic;
}

External resources loaded into this fiddle: