Package com.artemis

Source Code of com.artemis.IdeFriendlyPackingTest

package com.artemis;

import static com.artemis.Transformer.transform;
import static com.artemis.Weaver.scan;
import static com.artemis.meta.ClassMetadataUtil.instanceFields;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

import java.util.List;

import org.junit.Before;
import org.junit.Test;

import com.artemis.component.PackedToBeC;
import com.artemis.meta.ClassMetadata;
import com.artemis.meta.ClassMetadata.GlobalConfiguration;
import com.artemis.meta.ClassMetadata.WeaverType;
import com.artemis.meta.FieldDescriptor;

@SuppressWarnings("static-method")
public class IdeFriendlyPackingTest {

  @Before
  public void init() {
    GlobalConfiguration.ideFriendlyPacking = false;
  }
 
  @Test
  public void retain_fields_for_ide_friendliness() throws Exception {
    GlobalConfiguration.ideFriendlyPacking = true;
   
    ClassMetadata meta = scan(transform(PackedToBeC.class));
    List<FieldDescriptor> instanceFields = instanceFields(meta);
    assertEquals(instanceFields.toString(), 3, instanceFields.size()); // +1 for $offset
    assertEquals(WeaverType.NONE, meta.annotation);
   
    assertTrue(meta.foundReset);
    assertTrue(meta.foundEntityFor);
   
    assertEquals("com/artemis/PackedComponent", meta.superClass);
  }
 
  @Test
  public void remove_fields_no_ide() throws Exception {
    ClassMetadata meta = scan(transform(PackedToBeC.class));
    List<FieldDescriptor> instanceFields = instanceFields(meta);
    assertEquals(instanceFields.toString(), 1, instanceFields.size()); // $offset
    assertEquals(WeaverType.NONE, meta.annotation);
   
    assertTrue(meta.foundReset);
    assertTrue(meta.foundEntityFor);
   
    assertEquals("com/artemis/PackedComponent", meta.superClass);
  }
}
TOP

Related Classes of com.artemis.IdeFriendlyPackingTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.