Модульное тестирование логического элемента 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" я не совсем уверен, что я должен тестировать. Нужно ли вообще тест для этого? Другая вещь, которая кажется неправильной, состоит в том, что в тесте много кода. Это проблема?

0 ответов

Другие вопросы по тегам