LukacikPavel

RomanCalculatorTest

Nov 30th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.20 KB | None | 0 0
  1. package sk.upjs.ics.agilnaRuka.romanCalculator;
  2.  
  3. import static org.junit.jupiter.api.Assertions.*;
  4.  
  5. import java.util.ArrayList;
  6. import java.util.List;
  7.  
  8. import org.junit.jupiter.api.Test;
  9.  
  10. class GeneralRomanNumberTest {
  11.  
  12.     @Test
  13.     void ConstructorTest1() {
  14.         GeneralRomanNumber grn = new GeneralRomanNumber("ABCDEFGHI");
  15.         assertEquals("ABCDEFGHI", grn.getRomanDigits());
  16.     }
  17.    
  18.     @Test
  19.     void ConstructorTest2() {
  20.         GeneralRomanNumber grn = new GeneralRomanNumber("O");
  21.         assertEquals(GeneralRomanNumber.DEFAULT_ROMAN_DIGITS, grn.getRomanDigits());
  22.     }
  23.    
  24.     @Test
  25.     void ConstructorTest3() {
  26.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXX");
  27.         assertEquals(GeneralRomanNumber.DEFAULT_ROMAN_DIGITS, grn.getRomanDigits());
  28.     }
  29.    
  30.     @Test
  31.     public void RemoveSpacesTest1() {
  32.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  33.         assertEquals("AhOj", grn.removeSpaces("A h   O j "));
  34.     }
  35.    
  36.     @Test
  37.     void ContainsOnlyValidDigitsTest1() {
  38.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  39.         assertTrue(grn.containsOnlyValidDigits("XIMX"));
  40.     }
  41.    
  42.     @Test
  43.     void ContainsOnlyValidDigitsTest2() {
  44.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  45.         assertFalse(grn.containsOnlyValidDigits("XIMXO"));
  46.     }
  47.    
  48.     @Test
  49.     void ContainsOnlyValidDigitsTest3() {
  50.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  51.         assertTrue(grn.containsOnlyValidDigits("O"));
  52.     }
  53.    
  54.     @Test
  55.     void ContainsOnlyValidDigitsTest4() {
  56.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  57.         assertFalse(grn.containsOnlyValidDigits("ABCD"));
  58.     }
  59.    
  60.     @Test
  61.     void ContainsOnlyValidDigitsTest5() {
  62.         GeneralRomanNumber grn = new GeneralRomanNumber("ABCDE");
  63.         assertTrue(grn.containsOnlyValidDigits("CBE"));
  64.     }
  65.    
  66.     @Test
  67.     void ContainsOnlyValidDigitsTest6() {
  68.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  69.         assertFalse(grn.containsOnlyValidDigits("A"));
  70.     }
  71.    
  72.     @Test
  73.     void PutTest1() {
  74.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  75.         assertEquals(7, grn.put("VII"));
  76.     }
  77.    
  78.     @Test
  79.     void PutTest2() {
  80.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  81.         assertEquals(-7, grn.put("-VII"));
  82.     }
  83.    
  84.     @Test
  85.     void PutTest3() {
  86.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  87.         assertEquals(0, grn.put("O"));
  88.     }
  89.    
  90.     @Test
  91.     void PutTest4() {
  92.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  93.         assertEquals(-9999, grn.put("VIIO"));
  94.     }
  95.    
  96.     @Test
  97.     void PutTest5() {
  98.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  99.         assertEquals(0, grn.put("-O"));
  100.     }
  101.    
  102.     @Test
  103.     void ParseExpressionTest1() {
  104.         List<String> parsedExpression = new ArrayList<>();
  105.         parsedExpression.add("-IX");
  106.         parsedExpression.add("*");
  107.         parsedExpression.add("III");
  108.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  109.         assertEquals(parsedExpression, grn.parseExpression("-IX  *  III "));
  110.     }
  111.    
  112.     @Test
  113.     void ParseExpressionTest2() {
  114.         List<String> parsedExpression = new ArrayList<>();
  115.         parsedExpression.add("ABCD");
  116.         parsedExpression.add("/");
  117.         parsedExpression.add("EFGH");
  118.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  119.         assertEquals(parsedExpression, grn.parseExpression(" ABCD/  EFGH "));
  120.     }
  121.    
  122.     @Test
  123.     void NormalCalculatorTest1() {
  124.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  125.         assertEquals(30, grn.normalCalculator(5, "*", 6));
  126.     }
  127.    
  128.     @Test
  129.     void NormalCalculatorTest2() {
  130.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  131.         assertEquals(GeneralRomanNumber.INVALID_NUMBER, grn.normalCalculator(GeneralRomanNumber.INVALID_NUMBER, "+", 6));
  132.     }
  133.    
  134.     @Test
  135.     void NormalCalculatorTest3() {
  136.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  137.         assertEquals(GeneralRomanNumber.INVALID_NUMBER, grn.normalCalculator(5, "/", 0));
  138.     }
  139.    
  140.     @Test
  141.     void NormalCalculatorTest4() {
  142.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  143.         assertEquals(GeneralRomanNumber.INVALID_NUMBER, grn.normalCalculator(6, "+", GeneralRomanNumber.INVALID_NUMBER));
  144.     }
  145.    
  146.     @Test
  147.     void NormalCalculatorTest5() {
  148.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  149.         assertEquals(11, grn.normalCalculator(5, "+", 6));
  150.     }
  151.    
  152.     @Test
  153.     void NormalCalculatorTest6() {
  154.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  155.         assertEquals(-1, grn.normalCalculator(5, "-", 6));
  156.     }
  157.    
  158.     @Test
  159.     void NormalCalculatorTest7() {
  160.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  161.         assertEquals(5, grn.normalCalculator(25, "/", 5));
  162.     }
  163.    
  164.     @Test
  165.     void NormalCalculatorTest8() {
  166.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  167.         assertEquals(2, grn.normalCalculator(13, "/", 5));
  168.     }
  169.    
  170.     @Test
  171.     void NormalCalculatorTest9() {
  172.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  173.         assertEquals(GeneralRomanNumber.UNKNOWN_OPERATION, grn.normalCalculator(13, "$", 5));
  174.     }
  175.    
  176.     @Test
  177.     void CalculatorTest1() {
  178.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  179.         assertEquals(-27, grn.calculator("-IX * III"));
  180.     }
  181.    
  182.     @Test
  183.     void CalculatorTest2() {
  184.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  185.         assertEquals(6, grn.calculator("MD / CCL"));
  186.     }
  187.    
  188.     @Test
  189.     void CalculatorTest3() {
  190.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  191.         assertEquals(GeneralRomanNumber.DIVIDING_BY_ZERO, grn.calculator("MMXXI / O"));
  192.     }
  193.    
  194.     @Test
  195.     void CalculatorTest4() {
  196.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  197.         grn.calculator("-IX * III");
  198.         assertEquals("-XXVII", grn.romanValue());
  199.     }
  200.    
  201.     @Test
  202.     void CalculatorTest5() {
  203.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  204.         grn.calculator("VI + IV");
  205.         assertEquals("X", grn.romanValue());
  206.     }
  207.    
  208.     @Test
  209.     void SaveResultTest1() {
  210.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  211.         grn.saveResult(23);
  212.         assertEquals("XXIII", grn.romanValue());
  213.     }
  214.    
  215.     @Test
  216.     void SaveResultTest2() {
  217.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  218.         grn.saveResult(-19);
  219.         assertEquals("-XIX", grn.romanValue());
  220.     }
  221.    
  222.     @Test
  223.     void SaveResultTest3() {
  224.         GeneralRomanNumber grn = new GeneralRomanNumber("OIVXLCDM");
  225.         grn.saveResult(0);
  226.         assertEquals("O", grn.romanValue());
  227.     }
  228. }
Add Comment
Please, Sign In to add comment