package hex; import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; import water.TestUtil; import water.fvec.Frame; public class CreateFrameTest extends TestUtil { @BeforeClass() public static void setup() { stall_till_cloudsize(1); } @Test public void basicTest() { CreateFrame cf = new CreateFrame(); cf.rows = 100; cf.cols = 10; cf.categorical_fraction = 0.1; cf.integer_fraction = 1 - cf.categorical_fraction; cf.binary_fraction = 0; cf.factors = 4; cf.response_factors = 2; cf.positive_response = false; cf.has_response = true; cf.seed = 1234; Frame frame = cf.execImpl().get(); Assert.assertTrue(frame.numCols() == 11); Assert.assertTrue(frame.numRows() == 100); // Tries to print a frame frame.toString(); frame.delete(); } @Test public void binaryTest() { CreateFrame cf = new CreateFrame(); cf.rows = 10; cf.cols = 100; cf.categorical_fraction = 0; cf.integer_fraction = 0; cf.binary_fraction = 1; cf.binary_ones_fraction = 1e-2; cf.factors = 1; cf.response_factors = 2; cf.positive_response = false; cf.has_response = true; cf.seed = 1234; Frame frame = cf.execImpl().get(); Assert.assertTrue(frame.numCols() == 101); Assert.assertTrue(frame.numRows() == 10); // Print a fame frame.toString(); frame.delete(); } @Test public void timeTest() { CreateFrame cf = new CreateFrame(); cf.rows = 10; cf.cols = 100; cf.categorical_fraction = 0; cf.integer_fraction = 0; cf.binary_fraction = 0; cf.time_fraction = 1; cf.binary_ones_fraction = 0; cf.factors = 1; cf.response_factors = 2; cf.positive_response = false; cf.has_response = true; cf.seed = 1234; Frame frame = cf.execImpl().get(); Assert.assertTrue(frame.numCols() == 101); Assert.assertTrue(frame.numRows() == 10); // Print a fame frame.toString(); frame.delete(); } @Test public void stringTest() { CreateFrame cf = new CreateFrame(); cf.rows = 10; cf.cols = 100; cf.categorical_fraction = 0; cf.integer_fraction = 0; cf.binary_fraction = 0; cf.time_fraction = 0; cf.string_fraction = 1; cf.binary_ones_fraction = 0; cf.factors = 1; cf.response_factors = 2; cf.positive_response = false; cf.has_response = true; cf.seed = 1234; Frame frame = cf.execImpl().get(); Assert.assertTrue(frame.numCols() == 101); Assert.assertTrue(frame.numRows() == 10); // Print a fame frame.toString(); frame.delete(); } @Test public void everything() { CreateFrame cf = new CreateFrame(); cf.rows = 100; cf.cols = 100; cf.categorical_fraction = 0.1; cf.integer_fraction = 0.1; cf.binary_fraction = 0.1; cf.time_fraction = 0.1; cf.string_fraction = 0.1; cf.binary_ones_fraction = 0.1; cf.factors = 5; cf.response_factors = 5; cf.positive_response = false; cf.has_response = true; cf.seed = 1234; Frame frame = cf.execImpl().get(); Assert.assertTrue(frame.numCols() == 101); Assert.assertTrue(frame.numRows() == 100); // Print a fame frame.toString(); frame.delete(); } @Test public void trainTest() { Frame frame1 = null; Frame frame2 = null; try { frame1 = createFrameFactory().execImpl().get(); frame2 = createFrameFactory().execImpl().get(); frame1.toString(); frame2.toString(); for (int i = 0; i < frame1.numCols(); ++i) { Assert.assertTrue(frame1.vec(i).get_type() == frame2.vec(i).get_type()); } // This fails... // Assert.assertTrue(isBitIdentical(frame1, frame2)); } finally { if (frame1 != null) frame1.delete(); if (frame2 != null) frame2.delete(); } } // private CreateFrame createFrameFactory() { CreateFrame cf = new CreateFrame(); cf.rows = 5; cf.cols = 100; cf.categorical_fraction = 0.1; cf.integer_fraction = 0.1; cf.binary_fraction = 0.1; cf.time_fraction = 0.1; cf.string_fraction = 0.1; cf.binary_ones_fraction = 0.1; cf.factors = 5; cf.response_factors = 5; cf.positive_response = false; cf.has_response = true; cf.seed = 123456789; cf.seed_for_column_types = 1234; return cf; } }