korlov42 commented on a change in pull request #455:
URL: https://github.com/apache/ignite-3/pull/455#discussion_r756884496



##########
File path: 
modules/schema/src/test/java/org/apache/ignite/internal/schema/marshaller/MapperTest.java
##########
@@ -27,49 +32,95 @@
  * Columns mappers test.
  */
 public class MapperTest {
-    
+
     @Test
-    public void misleadingMapping() {
+    public void misleadingMapperUsage() {
         // Empty mapping.
-        assertThrows(IllegalStateException.class, () -> 
Mapper.builderFor(TestObject.class).build());
-        
+        assertThrows(IllegalStateException.class, () -> 
Mapper.buildFrom(TestObject.class).build());
+
         // Many fields to one column.
-        assertThrows(IllegalArgumentException.class, () -> 
Mapper.builderFor(TestObject.class)
+        assertThrows(IllegalArgumentException.class, () -> 
Mapper.buildFrom(TestObject.class)
                 .map("id", "key")
                 .map("longCol", "key"));
-        
+
         // One field to many columns.
-        assertThrows(IllegalStateException.class, () -> 
Mapper.builderFor(TestObject.class)
+        assertThrows(IllegalStateException.class, () -> 
Mapper.buildFrom(TestObject.class)
                 .map("id", "key")
                 .map("id", "val1")
                 .map("stringCol", "val2")
                 .build());
-        
+
         // Mapper builder reuse fails.
         assertThrows(IllegalStateException.class, () -> {
-            MapperBuilder<TestObject> builder = 
Mapper.builderFor(TestObject.class)
+            MapperBuilder<TestObject> builder = 
Mapper.buildFrom(TestObject.class)
                     .map("id", "key");
-            
+
             builder.build();
-            
+
             builder.map("stringCol", "val2");
         });
     }
-    
+
+    @Test
+    public void supportedClassKinds() {
+        class LocalClass {
+            long id;
+        }
+
+        Function anonymous = (i) -> i;
+
+        Mapper.buildFrom(TestOuterObject.class);
+        Mapper.buildFrom(NestedObject.class);
+
+        assertThrows(IllegalArgumentException.class, () -> 
Mapper.buildFrom(Long.class));
+        assertThrows(IllegalArgumentException.class, () -> 
Mapper.buildFrom(TestOuterObject.InnerObject.class));
+        assertThrows(IllegalArgumentException.class, () -> 
Mapper.buildFrom(LocalClass.class));
+        assertThrows(IllegalArgumentException.class, () -> 
Mapper.buildFrom(anonymous.getClass()));

Review comment:
       shall we verify arrays and collections as well?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to