var successfulTestCount = 0;
var unsuccessfulTestCount = 0;
var unsuccessfulTestSummaries = [];

/**
 * Przyjmuje asercję, że obliczenia w getOrderTotal() są prawidłowe.
 */
var testGetOrderTotal = function () {
 
    // ustawienie oczekiwań
 
    var expectedTotal = 266;
 
    // ustawienie danych testowych
 
    var lineItem1 = {
        price: 50,
        quantity: 1,
        shippingPrice: 10
    };
 
    var lineItem2 = {
        price: 100,
        quantity: 2,
        shippingPrice: 20
    };
 
    var lineItems = [lineItem1, lineItem2];
 
    var customer = {
        shiptoState: 'CA'
    };
 
    var discountCode = '20PERCENT';
 
    var total = getOrderTotal(customer, lineItems, discountCode);
 
    // sprawdzanie wyników pod kątem oczekiwań
 
    if (total === expectedTotal) {
      successfulTestCount++;
    } else {
      unsuccessfulTestCount++;
      unsuccessfulTestSummaries.push(
          'testGetOrderTotal: oczekiwane ' + expectedTotal + '; otrzymane ' + total
      );
    }
};

// uruchomienie testów

testGetOrderTotal();
document.writeln('Liczba udanych prób: ' + successfulTestCount + '<br/>');
document.writeln('Liczba nieudanych prób: ' + unsuccessfulTestCount + '<br/>');

if (unsuccessfulTestCount) {
    document.writeln('<ul>');
    for(var i = 0; i < unsuccessfulTestSummaries.length; i++) {
        document.writeln('<li>' + unsuccessfulTestSummaries[i] + '</li>');
    }
    document.writeln('</ul>');
}
