Skip to content

Instantly share code, notes, and snippets.

@heslei
Created May 5, 2012 00:34
Show Gist options
  • Select an option

  • Save heslei/2598779 to your computer and use it in GitHub Desktop.

Select an option

Save heslei/2598779 to your computer and use it in GitHub Desktop.
Coding Dojo - 20120503 - Lâmpadas no corredor
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/qunit/git/qunit.css" type="text/css" media="screen" />
<script type="text/javascript" src="http://code.jquery.com/qunit/git/qunit.js"></script>
<script>
var corredor = {
percorrerCorredor : function (quantidadeDeLampadas) {
var lampadasDoCorredor = [];
for (i = 1; i <= quantidadeDeLampadas; i++) {
var raiz = Math.sqrt(i);
var piso = Math.floor(raiz);
if(raiz === piso){
lampadasDoCorredor.push(true);
} else {
lampadasDoCorredor.push(false);
}
}
return lampadasDoCorredor;
}
}
$(document).ready(function(){
test("para 1 lampada retorna para lampada 1 ligada", function() {
var lampadas = 1;
var resultado = corredor.percorrerCorredor(lampadas);
var esperado = [true];
deepEqual(resultado, esperado );
});
test("para 0 lampada retorna nenhuma lampada", function() {
var lampadas = 0;
var resultado = corredor.percorrerCorredor(lampadas);
var esperado = [];
deepEqual(resultado, esperado );
});
test("para 2 lampadas retorna primeira ligada e a segunda desligada ", function() {
var lampadas = 2;
var resultado = corredor.percorrerCorredor(lampadas);
var esperado = [true, false];
deepEqual(resultado, esperado );
});
test("para 3 lampadas retorna primeira ligada, segunda desligada, terceira desligada ", function() {
var lampadas = 3;
var resultado = corredor.percorrerCorredor(lampadas);
var esperado = [true, false, false];
deepEqual(resultado, esperado );
});
test("para 4 lampadas retorna ligada, desligada, desligada, ligada", function() {
var lampadas = 4;
var resultado = corredor.percorrerCorredor(lampadas);
var esperado = [true, false, false, true];
deepEqual(resultado, esperado );
});
test("para 6 lampadas retorna ligada, desligada, desligada, ligada, desligada, desligada", function() {
var lampadas = 6;
var resultado = corredor.percorrerCorredor(lampadas);
var esperado = [true, false, false, true, false, false];
deepEqual(resultado, esperado );
});
test("para 8 lampadas retorna O..O....", function() {
var lampadas = 8;
var resultado = corredor.percorrerCorredor(lampadas);
var esperado = [true, false, false, true, false, false, false, false];
deepEqual(resultado, esperado );
});
test("para 9 lampadas retorna O..O....O", function() {
var lampadas = 9;
var resultado = corredor.percorrerCorredor(lampadas);
var esperado = [true, false, false, true, false, false, false, false, true];
deepEqual(resultado, esperado );
});
test("para 12 lampadas retorna O..O.... O...)", function() {
var lampadas = 12;
var resultado = corredor.percorrerCorredor(lampadas);
var esperado =
[
true, false, false, true, false,
false, false, false, true, false,
false, false
];
deepEqual(resultado, esperado );
});
test("para 16 lampadas retorna O..O.... O......O)", function() {
var lampadas = 16;
var resultado = corredor.percorrerCorredor(lampadas);
var esperado =
[
true, false, false, true, false,
false, false, false, true, false,
false, false, false, false, false,
true
];
deepEqual(resultado, esperado );
});
});
document.write(new Date());
</script>
</head>
<body>
<h1 id="qunit-header">QUnit example</h1>
<h2 id="qunit-banner"></h2>
<div id="qunit-testrunner-toolbar"></div>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests"></ol>
<div id="qunit-fixture">test markup, will be hidden</div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment