Advertisement
Guest User

test class

a guest
Nov 26th, 2018
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.48 KB | None | 0 0
  1. package org.spring.learning.core.ioc;
  2.  
  3. import org.junit.Assert;
  4. import org.junit.Ignore;
  5. import org.junit.Test;
  6. import org.junit.jupiter.params.ParameterizedTest;
  7. import org.junit.jupiter.params.provider.Arguments;
  8. import org.junit.jupiter.params.provider.MethodSource;
  9. import org.junit.runner.RunWith;
  10. import org.junit.runners.Parameterized;
  11. import org.junit.runners.Parameterized.Parameters;
  12. import org.modelmapper.ModelMapper;
  13. import org.spring.learning.core.ioc.chapter1.Author;
  14. import org.spring.learning.core.ioc.chapter1.Book;
  15. import org.spring.learning.core.ioc.chapter1.BookDTO;
  16.  
  17. import javax.validation.ConstraintViolation;
  18. import javax.validation.Validation;
  19. import javax.validation.Validator;
  20. import javax.validation.ValidatorFactory;
  21. import java.math.BigDecimal;
  22. import java.math.RoundingMode;
  23. import java.sql.Connection;
  24. import java.sql.SQLException;
  25. import java.sql.DriverManager;
  26. import java.util.*;
  27. import java.util.stream.Stream;
  28.  
  29. //@RunWith(Parameterized.class)
  30. public class DataTests {
  31.  
  32. private ModelMapper modelMapper = new ModelMapper();
  33. private ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
  34. // private Book testBook;
  35.  
  36. @Ignore
  37. @Test
  38. public void checkMySqlConnection(){
  39.  
  40. try{
  41.  
  42. Connection conn = DriverManager.
  43. getConnection("jdbc:mysql://localhost:3306/testdatabase?" +
  44. "user=root&password=jack206*-*");
  45.  
  46. }catch(SQLException e){
  47. System.out.println("SQLException: " + e.getMessage());
  48. System.out.println("SQLState: " + e.getSQLState());
  49. System.out.println("VendorError: " + e.getErrorCode());
  50. }
  51.  
  52. }
  53.  
  54. //@Ignore
  55. @Test
  56. public void primitiveOperations(){
  57.  
  58. BigDecimal num = new BigDecimal("29.35752174382658725672177512452187" +
  59. "64837563756783264521761254187847624");
  60. BigDecimal num2 = num;
  61. System.out.println("accurate value: "+num);
  62. System.out.println("approximate value:"+num.toString());
  63. System.out.println("plain value:"+num.toPlainString());
  64. num2.multiply(new BigDecimal("2.856826572346745"));
  65.  
  66. Assert.assertFalse(
  67. "Float value must be without scientific notation",
  68. num.toString().toLowerCase().contains("e")
  69. );
  70.  
  71. System.out.println(num);
  72. System.out.println("rounded num1: "+
  73. num.setScale(2, RoundingMode.HALF_DOWN));
  74.  
  75. num = new BigDecimal("65.54332652356781256875178597927352638");
  76. System.out.println("new num1 = "+num);
  77.  
  78. System.out.println("rounded num1: "+
  79. num.setScale(2, RoundingMode.HALF_DOWN));
  80. num2 = new BigDecimal("1.555");
  81. System.out.println("rounded num2: "+
  82. num2.setScale(2, RoundingMode.HALF_DOWN));
  83.  
  84. }
  85.  
  86. //@Test
  87. @ParameterizedTest
  88. //@Parameters(method = "setData")
  89. @MethodSource("setData")
  90. public void checkCopyFromEntityToDTO(Book testBook){
  91.  
  92. Set<ConstraintViolation<Book>> violations = factory.getValidator().validate(testBook);
  93. Assert.assertTrue("Error messages is occured!!!",violations.isEmpty());
  94.  
  95. BookDTO bookDTO = testBook.toBookDTO();
  96. Assert.assertEquals(bookDTO.getId(), testBook.getId());
  97. Assert.assertEquals(bookDTO.getName(), testBook.getName());
  98. Assert.assertEquals(bookDTO.getISBN(), testBook.getISBN());
  99. Assert.assertEquals(bookDTO.getPublishingName(), testBook.getPublishingName());
  100.  
  101. if(testBook.getPrice() != null)
  102. Assert.assertEquals(bookDTO.getPrice(), testBook.getPrice().floatValue(), 0.002);
  103. }
  104.  
  105. //@Parameters(name = "book No {index}:")
  106. public static final Stream<Arguments> setData(){
  107.  
  108. List<Arguments> data = new ArrayList();
  109.  
  110. Book b = new Book("Война и мир");
  111. b.setPrice(new BigDecimal(78.67));
  112. b.getAuthors().add( new Author("Лев","Толстой"));
  113. data.add(Arguments.of(b));
  114.  
  115. b = new Book(/*"Тёмная сторона Солнца"*/);
  116. //b.setISBN("6857-586-32-456-0");
  117. b.setPublishingName("Visotsky Consulting");
  118. data.add(Arguments.of(b));
  119.  
  120. b = new Book("Малый бизнес. Большая игра");
  121. b.getAuthors().add( new Author("Александр","Высоцкий" ));
  122. b.setPublishingName("Visotsky Consulting");
  123. b.setISBN("978-966-2022-70-4");
  124. b.setPrice(new BigDecimal(47.36));
  125. data.add(Arguments.of(b));
  126.  
  127. b = new Book("Россия: между прошлым и будущим");
  128. b.getAuthors().add( new Author("Вильонар", "Васильевич") );
  129. b.getAuthors().add( new Author("Михаил","Васильевич") );
  130. b.setPublishingName("Алетейя");
  131. b.setISBN("978-5-907115-13-2");
  132. b.setPrice(new BigDecimal(33.00));
  133. data.add(Arguments.of(b));
  134.  
  135. b = new Book("Тайны Библии. Научные открытия, находки, факты");
  136. b.getAuthors().add( new Author("Яна","Грецова") );
  137. b.getAuthors().add( new Author("Ева", "Павлычева") );
  138. b.setPublishingName("Никея");
  139. b.setISBN("978-5-91761-927-9");
  140. b.setPrice(new BigDecimal(9.92));
  141. data.add(Arguments.of(b));
  142.  
  143. return data.parallelStream();
  144. }
  145.  
  146. public DataTests(){
  147. // testBook = book;
  148. }
  149.  
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement