001package beginner; 002 003import com.sandwich.koan.Koan; 004 005import static com.sandwich.koan.constant.KoanConstants.__; 006import static com.sandwich.util.Assert.assertEquals; 007 008public class AboutArithmeticOperators { 009 010 @Koan 011 public void simpleOperations() { 012 assertEquals(1, __); 013 assertEquals(1 + 1, __); 014 assertEquals(2 + 3 * 4, __); 015 assertEquals((2 + 3) * 4, __); 016 assertEquals(2 * 3 + 4, __); 017 assertEquals(2 - 3 + 4, __); 018 assertEquals(2 + 4 / 2, __); 019 assertEquals((2 + 4) / 2, __); 020 } 021 022 @Koan 023 public void notSoSimpleOperations() { 024 assertEquals(1 / 2, __); 025 assertEquals(3 / 2, __); 026 assertEquals(1 % 2, __); 027 assertEquals(3 % 2, __); 028 } 029 030 @Koan 031 public void minusMinusVariableMinusMinus() { 032 int i = 1; 033 assertEquals(--i, __); 034 assertEquals(i, __); 035 assertEquals(i--, __); 036 assertEquals(i, __); 037 } 038 039 @Koan 040 public void plusPlusVariablePlusPlus() { 041 int i = 1; 042 assertEquals(++i, __); 043 assertEquals(i, __); 044 assertEquals(i++, __); 045 assertEquals(i, __); 046 } 047 048 @Koan 049 public void timesAndDivInPlace() { 050 int i = 1; 051 i *= 2; 052 assertEquals(i, __); 053 i /= 2; 054 assertEquals(i, __); 055 } 056 057}