Модульное тестирование логического элемента And16
У меня есть представление javascript для логических элементов And и And16:
function and(a, b) {
return a && b;
}
function and16(input) {
var output = [];
for (var i = 0; i < input.length; i++) {
output.push(and(input[i].a, input[i].b));
}
return output;
}
Тем не менее, я не уверен, что проверяю это правильно:
describe("And Gate", function() {
it("returns 1 when both arguments are 1", function() {
expect(and(true, true)).toBe(true);
});
it("returns 0 when both arguments are not 1", function() {
expect(and(true, false)).toBe(false);
expect(and(false, true)).toBe(false);
expect(and(false, false)).toBe(false);
});
});
describe("And16 Gate", function() {
it("returns an array of 16 bits that have And applied", function() {
var sample1 = [];
for (var i = 0; i < 16; i++) {
sample1.push({ a: true, b: false });
}
var result1 = and16(sample1);
for (var j = 0; j < result1.length; j++) {
expect(result1[j]).toBe(false);
}
});
});
Я чувствую себя комфортно с тестом "И", но для "И16" я не совсем уверен, что я должен тестировать. Нужно ли вообще тест для этого? Другая вещь, которая кажется неправильной, состоит в том, что в тесте много кода. Это проблема?