From 5bbba056e189cd820a426bb4bd95d659b7319eb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Tr=C6=B0=E1=BB=9Dng=20Giang?= <38888083+nguyengiangk62uet@users.noreply.github.com> Date: Tue, 17 Sep 2019 21:34:59 +0700 Subject: [PATCH] Add Boundary Test to MultiplicationWithoutMultiplyTest --- .../MultiplicationWithoutMultiplyTest.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/test/java/com/github/pedrovgs/problem20/MultiplicationWithoutMultiplyTest.java b/src/test/java/com/github/pedrovgs/problem20/MultiplicationWithoutMultiplyTest.java index b022e231..45890ee0 100644 --- a/src/test/java/com/github/pedrovgs/problem20/MultiplicationWithoutMultiplyTest.java +++ b/src/test/java/com/github/pedrovgs/problem20/MultiplicationWithoutMultiplyTest.java @@ -25,6 +25,9 @@ */ public class MultiplicationWithoutMultiplyTest { + private final static int MAX_INT = Integer.MAX_VALUE; + private final static int MIN_INT = -MAX_INT; + private MultiplicationWithoutMultiply multiply; @Before public void setUp() { @@ -46,4 +49,24 @@ public class MultiplicationWithoutMultiplyTest { @Test public void shouldTakeIntoAccountNegativeNumbers() { assertEquals(-14, multiply.calculate(-2, 7)); } + + @Test public void boundaryTest() { + assertEquals(0, multiply.calculate(0, MAX_INT)); + assertEquals(0, multiply.calculate(0, MIN_INT)); + assertEquals(MAX_INT, multiply.calculate(1, MAX_INT)); + assertEquals(MIN_INT, multiply.calculate(1, MIN_INT)); + assertEquals(1, multiply.calculate(MAX_INT, MAX_INT)); + assertEquals(1, multiply.calculate(MIN_INT, MIN_INT)); + } + + @Test public void strongBoundaryTest() { + assertEquals(4, multiply.calculate(MAX_INT - 1, MAX_INT - 1)); + assertEquals(0, multiply.calculate(MAX_INT + 1, MAX_INT + 1)); + assertEquals(4, multiply.calculate(MIN_INT + 1, MIN_INT + 1)); + assertEquals(0, multiply.calculate(MIN_INT - 1, MIN_INT - 1)); + assertEquals(0, multiply.calculate(0, MAX_INT - 1)); + assertEquals(0, multiply.calculate(0, MIN_INT - 1)); + assertEquals(MAX_INT - 1, multiply.calculate(1, MAX_INT - 1)); + assertEquals(MIN_INT - 1, multiply.calculate(1, MIN_INT - 1)); + } }