// Path: src/test/java/com/uwetrottmann/tmdb2/TestData.java
// public static final Company testCompany = new Company();
// 
// Path: src/test/java/com/uwetrottmann/tmdb2/assertions/GenericAssertions.java
// public static void assertBaseResultsPage(BaseResultsPage results) {
//     assertThat(results).isNotNull();
//     assertThat(results.page).isNotNull();
//     assertThat(results.total_pages).isNotNull();
//     assertThat(results.total_results).isNotNull();
//     assertThat(results.results).isNotNull();
//     assertThat(results.results).isNotEmpty();
// 
// 
// }
// 
// Path: src/main/java/com/uwetrottmann/tmdb2/entities/Company.java
// public class Company extends BaseCompany {
// 
//     public String description;
//     public String headquarters;
//     public String homepage;
//     public Company parent_company;
//     public String origin_country;
// 
//     public MovieResultsPage movies;
// 
// }


import static com.uwetrottmann.tmdb2.TestData.testCompany;
import static com.uwetrottmann.tmdb2.assertions.GenericAssertions.assertBaseResultsPage;
import static org.assertj.core.api.Assertions.assertThat;
import com.uwetrottmann.tmdb2.entities.BaseCompany;
import com.uwetrottmann.tmdb2.entities.Company;
import com.uwetrottmann.tmdb2.entities.CompanyResultsPage;
package com.uwetrottmann.tmdb2.assertions;



public class CompanyAssertions {
    public static void assertCompanyResultsPage(CompanyResultsPage companyResultsPage) {
        assertBaseResultsPage(companyResultsPage);

        for (BaseCompany company : companyResultsPage.results) {
            assertBaseCompany(company, false);
        }
    }

    public static void assertBaseCompany(BaseCompany company, Boolean isLogoPresent) {
        assertThat(company).isNotNull();
        assertThat(company.id).isPositive();
        assertThat(company.name).isNotEmpty();

        if (!isLogoPresent)
            return;

        assertThat(company.logo_path).isNotEmpty();
    }

    public static void assertCompany(Company company) {

        assertBaseCompany(company, true);

        assertThat(company.headquarters).isNotNull();
        assertThat(company.homepage).isNotNull();
        assertThat(company.origin_country).isNotEmpty();
        if (company.parent_company != null)
            assertBaseCompany(company.parent_company, true);
    }

    public static void assertCompanyDataIntegrity(Company company) {
// Path: src/test/java/com/uwetrottmann/tmdb2/TestData.java
// public static final Company testCompany = new Company();
// 
// Path: src/test/java/com/uwetrottmann/tmdb2/assertions/GenericAssertions.java
// public static void assertBaseResultsPage(BaseResultsPage results) {
//     assertThat(results).isNotNull();
//     assertThat(results.page).isNotNull();
//     assertThat(results.total_pages).isNotNull();
//     assertThat(results.total_results).isNotNull();
//     assertThat(results.results).isNotNull();
//     assertThat(results.results).isNotEmpty();
// 
// 
// }
// 
// Path: src/main/java/com/uwetrottmann/tmdb2/entities/Company.java
// public class Company extends BaseCompany {
// 
//     public String description;
//     public String headquarters;
//     public String homepage;
//     public Company parent_company;
//     public String origin_country;
// 
//     public MovieResultsPage movies;
// 
// }


// Path: src/test/java/com/uwetrottmann/tmdb2/assertions/CompanyAssertions.java
import static com.uwetrottmann.tmdb2.TestData.testCompany;
import static com.uwetrottmann.tmdb2.assertions.GenericAssertions.assertBaseResultsPage;
import static org.assertj.core.api.Assertions.assertThat;
import com.uwetrottmann.tmdb2.entities.BaseCompany;
import com.uwetrottmann.tmdb2.entities.Company;
import com.uwetrottmann.tmdb2.entities.CompanyResultsPage;

package com.uwetrottmann.tmdb2.assertions;



public class CompanyAssertions {
    public static void assertCompanyResultsPage(CompanyResultsPage companyResultsPage) {
        assertBaseResultsPage(companyResultsPage);

        for (BaseCompany company : companyResultsPage.results) {
            assertBaseCompany(company, false);
        }
    }

    public static void assertBaseCompany(BaseCompany company, Boolean isLogoPresent) {
        assertThat(company).isNotNull();
        assertThat(company.id).isPositive();
        assertThat(company.name).isNotEmpty();

        if (!isLogoPresent)
            return;

        assertThat(company.logo_path).isNotEmpty();
    }

    public static void assertCompany(Company company) {

        assertBaseCompany(company, true);

        assertThat(company.headquarters).isNotNull();
        assertThat(company.homepage).isNotNull();
        assertThat(company.origin_country).isNotEmpty();
        if (company.parent_company != null)
            assertBaseCompany(company.parent_company, true);
    }

    public static void assertCompanyDataIntegrity(Company company) {
        assertCompany(company);