package org.ieee.odm;
import static org.junit.Assert.assertTrue;
import org.ieee.odm.model.aclf.AclfModelParser;
import org.ieee.odm.model.base.ODMModelStringUtil;
import org.ieee.odm.schema.PSXfrBranchXmlType;
import org.ieee.odm.schema.XfrBranchXmlType;
import org.junit.Test;
public class FuncTest_ODMTest {
static String PSSStudyCaseHead = "<pssStudyCase xmlns=\"http://www.ieee.org/odm/Schema/2008\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">";
static String PSSStudyCaseEnd = "</pssStudyCase>";
static String BusListHead = PSSStudyCaseHead + "<baseCase xsi:type=\"LoadflowNetXmlType\"><busList>";
static String BusListEnd = "</busList></baseCase>" + PSSStudyCaseEnd;
static String BranchListHead = PSSStudyCaseHead + "<baseCase xsi:type=\"LoadflowNetXmlType\"><branchList>";
static String BranchListEnd = "</branchList></baseCase>" + PSSStudyCaseEnd;
@Test
public void castingTestCase() throws Exception {
String str = BranchListHead +
"<aclfXfr areaNumber=\"1\" zoneNumber=\"1\" circuitId=\"1\" id=\"Bus4_to_Bus7_cirId_1\">" +
" <fromBus idRef=\"Bus4\"/>" +
" <toBus idRef=\"Bus7\"/>" +
" <z re=\"0.0\" im=\"0.20912\" unit=\"PU\"/>" +
" <fromTurnRatio value=\"0.978\" unit=\"PU\"/ssss>" +
" <toTurnRatio value=\"1.0\" unit=\"PU\"/>" +
" <xfrInfo>" +
" <fromRatedVoltage value=\"132.0\" unit=\"KV\"/>" +
" <toRatedVoltage value=\"35.0\" unit=\"KV\"/>" +
" </xfrInfo>" +
"</aclfXfr>" +
BranchListEnd;
AclfModelParser parser = ODMObjectFactory.createAclfModelParser();
if (parser.parse(str)) {
XfrBranchXmlType xfr = (XfrBranchXmlType)parser.getNet().getBranchList().getBranch().get(0).getValue();
PSXfrBranchXmlType psXfr = (PSXfrBranchXmlType)ODMModelStringUtil.casting(
xfr, "aclfXfr", "aclfPSXfr", parser.getEncoding());
assertTrue(psXfr.getId() != null);
assertTrue(psXfr.getFromBus() != null);
assertTrue(psXfr.getZ().getIm() == .20912);
}
}
}