package jetbrains.mps.baseLanguage.tuples.test;
/*Generated by MPS */
import junit.framework.TestCase;
import jetbrains.mps.baseLanguage.tuples.test.ExtendedNamedTuples.Foo;
import junit.framework.Assert;
import jetbrains.mps.baseLanguage.tuples.test.ExtendedNamedTuples.Bar;
import jetbrains.mps.baseLanguage.tuples.test.ExtendedNamedTuples.Qux;
public class ExtendedNamedTuples_Test extends TestCase {
public void test_subtyping() throws Exception {
Foo foo = new Foo(123, "abc");
Assert.assertEquals(new Foo(123, "abc"), foo);
Bar bar = new Bar(321, "CBA", "XYZ", 42.0);
foo = bar;
Assert.assertEquals(new Foo(321, "CBA"), foo);
Qux qux = new Qux(1, "asd", "xyz", 234.0, "value");
bar = qux;
Assert.assertEquals(new Bar(1, "asd", "xyz", 234.0), bar);
}
public void test_extended_tuple_component() throws Exception {
Bar bar = new Bar(-1, null, null, 0.0);
bar.num(1234);
bar.str("xyz");
bar.id("ABCDEF");
bar.size(0.123456);
Foo foo = bar;
Assert.assertEquals(1234, (int) foo.num());
Assert.assertEquals("xyz", foo.str());
Assert.assertEquals("ABCDEF", bar.id());
Assert.assertEquals(0.123456, (double) bar.size());
}
public ExtendedNamedTuples_Test() {
}
}