package main import ( "testing" ) func TestChildClassesExtract(t *testing.T) { src := CppParsedHeader{ Classes: []CppClass{ CppClass{ ClassName: "Parent", ChildClassdefs: []CppClass{ CppClass{ ClassName: "Parent::Child", ChildClassdefs: []CppClass{ CppClass{ ClassName: "Parent::Child::Grandchild", }, }, }, }, }, }, } astTransformChildClasses(&src) if len(src.Classes) != 3 { t.Fatal("expected 3 classes") } if src.Classes[0].ClassName != "Parent" { t.Fatal("expected parent class name") } if src.Classes[1].ClassName != "Parent::Child::Grandchild" { t.Fatal("expected grandchild class name") } if src.Classes[2].ClassName != "Parent::Child" { t.Fatal("expected child class name") } }